CS/Network
[Network Security] 커버로스(Kerberos) 동작 원리 이해하기
# 커버로스(Kerberos) 란? 커버로스는 티켓(ticket) 기반의 컴퓨터 네트워크 인증 프로토콜이다. 보안이 보장되지 않은 네트워크 환경에서 유저와 서버가 서로의 신뢰성 확인을 위해 사용한다. 유저와 서버간의 양방향 인증을 제공하고 커버로스 프로토콜의 메시지는 도청과 재전송 공격으로부터 보호된다. 커버로스는 대칭 키(session key)를 주로 사용하며 TTP(Trusted third party, 신뢰할 수 있는 제 3자)를 요구한다. 특정 인증 구간에서 비대칭 키를 이용함으로써 선택적으로 공개 키 암호 방식을 사용할 수 있다. 커버로스는 기본적으로 88번 포트를 사용한다. # 커버로스 도입을 고려할 만한 상황 1. 서비스 서버가 점점 많아지고, 사용자의 수도 많아져서 사용자와 권한에 대한 관리..
[Network] 네트워크 계층 : 라우팅(Link-State Routing)
라우팅 알고리즘의 목표는 송신자로부터 수신자까지 라우터의 네트워크를 통과하는 좋은 경로를 결정하는 것이다. 일반적으로 좋은 '경로'란 최소 비용 경로를 의미한다. 그러나 현실적으로는 네트워크 정책('Y'기관에 속해있는 라우터 x는 'Z'기관이 보낸 패킷을 전달해서는 안된다.)과 같은 실제 문제가 고려된다. 라우팅 알고리즘을 분류하는 일반적인 방법 1. 중앙 집중형 vs 분산형 중앙 집중형 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이의 최소 비용 경로를 계산하는 알고리즘이다. 이러한 정보는 알고리즘이 실제로 계산을 수행하기 전에 어떠한 방법을 통해서라도 얻어야 한다. 계산 자체는 한 장소에서 수행하거나 각각의 라우팅 모듈로 복사될 수 있다. 이 알고리즘의 핵심은 연결과 링크 비용에 대한..
[Network] 네트워크 계층 : NAT(Network Address Transmission)
모든 IP 활용 장치에는 IP 주소가 필요하다. SOHO(Small Office, Home Office)네트워크의 확산으로 인해서, SOHO가 장치를 연결하기 위해 LAN을 설치할 때마다 ISP는 모든 SOHO의 IP장치(전화, 태블릿, 게임기, IP TV ..)를 수용할 수 있는 주소 범위를 할당해야 한다. SOHO가 커지면 큰 주소 블록이 할당되어야 한다. 하지만 ISP가 이미 SOHO 네트워크의 해당 주소 범위에 인접한 부분을 할당해버렸다면? 또는 특정 홈 네트워크 소유자가 IP 주소가 어떻게 관리되는지 알고자 한다면? 이러한 상황에서 네트워크 주소 변환(NAT)를 사용해서 주소를 할당할 수 있다. NAT 운영 NAT 가능 라우터는 위 그림의 오른쪽 처럼 홈 네트워크의 일부인 인터페이스를 갖는다. ..
[Network] 네트워크 계층 : 인터넷 프로토콜(IP)
인터넷 네트워크 계층 패킷을 데이터그램이라고 부른다. IP의 사용에 대해 알아보기 전에 IP 데이터그램이 어떻게 이루어져 있는지 알아보자 IPv4 IPv4 데이터그램의 주요 필드는 다음과 같다. 버전 번호(4비트) : 데이터 그램의 IP 프로토콜 버전을 명시한다. 라우터는 IP의 버전 번호를 확인하여 데이터그램의 나머지 부분을 어떻게 해석할 지 결정한다. 다른 버전의 IP는 다른 데이터그램 형식을 사용한다. 헤더 길이(4비트) IPv4데이터그램은 헤더에 가변 길이의 옵션을 포함하므로 헤더길이 필드를 통해 IP 데이터그램에서 실제 페이로드(예를 들어 데이터그램에 캡슐화 된 트랜스포트 계층 세그먼트)가 시작하는 곳을 결정한다. 대부분 IPv4 데이터그램은 옵션을 포함하지 않으므로 대체로 IPv4 데이터그램 ..
[Network] 트랜스포트 계층 : TCP 혼잡제어 알고리즘(TCP Tahoe, TCP Reno, TCP NewReno)
TCP Tahoe Slow-Start + 혼잡 회피 동작 방식 TCP 연결 window size는 1에서 시작 window size 지수적으로 증가 loss 발생시, 현재 window size의 절반을 ssthresh 값으로 설정 후 window size는 1에서 다시 시작. ssthresh 값에 다시 도달하면, window size는 1씩 증가. TCP Tahoe의 특징 fast retransmit : 타임아웃이 발생하기 전이라도 세 개의 중복된 ACK를 받으면 위와 똑같은 혼잡제어 동작 방식을 적용한다. timeout과 fast retransmit의 특징 timeout은 시간내에 패킷응답이 아예 오지 않는 것이다. 하지만 fast retransmit은 타임 아웃 전에 중복 ACK가 세개가 온다는 뜻이..
[Network] 트랜스포트 계층 : 혼잡제어
'혼잡' 이란? 너무 많은 전송자가 너무 많은 데이터를 너무 빠르게 전송해서 네트워크가 감당하지 못하는 그런 현상 혼잡제어가 흐름제어와 다른점 흐름제어는 Sender와 Receiver간의 1:1 문제이다. 하지만 혼잡제어는 네트워크를 공유하고 있는 모든 node들이 서로 양보를 해야하는 문제이다. 양보를 해야 네트워크 트래픽 양이 줄어들면서 원활하게 문제를 해결할 수 있기 때문에 이것은 전체 노드가 관련 된 글로벌한 이슈에 해당된다. 혼잡제어에 대한 방식 1. network-assisted - 라우터가 관여해서 호스트들에게 '지금 혼잡하니 네트워크양을 얼마만큼 줄이세요'라고 정보를 알려주는 방식 - 여러 복잡한 문제가 있기 때문에 잘 사용하지 않는다고 한다. 2. end-to-end - 라우터가 전혀 관..
[Network] 무선 네트워크 : Wireless LAN(Wi-Fi)
Wi-Fi 802.11: 1999년경 발표된 802.11b부터 ~ 2014, 2016년에 발표된 802.11ac까지 802.11이라는 것이 전체적으로 와이파이 기술을 의미한다. 11a, 11b, 11g 기술은 한 채널에 약 20Mhz 범위를 가진다. 하지만 n부터는 한 채널에 약 40Mhz 범위를 가지게 된다. 802.15: WPAN(Wireless Personal Area Network) 즉, 블루투스 같이 전송범위는 넓지 않지만 전력을 적게 소모하는 기술이다. 2G, 3G, 4G 등등: 휴대폰과 관련된 기술이다. 그림의 각 BSS를 보면 2개의 안테나를 가진 공유기처럼 생긴 물체가 있다. 이를 BaseStation(이하 기지국)이라고 한다. 하지만 Wifi에서는 기지국이라고 잘 부르지 않고 AP(Ac..
[Network] 네트워크 계층 : DHCP(Dynaminc Host Config Protocol)
DHCP(Dynaminc Host Config Protocol) 호스트의 주소를 자동으로 설정해주는 프로토콜이다. 2-30년전 컴퓨터를 사용할 때는 직접 컴퓨터의 IP 주소를 설정하고 여러가지 세팅을 해야만 인터넷에 접속할 수 있었다. 그런데 요즘 컴퓨터들은 전원만 꽂으면 사용할 수 있는데 이것이 DHCP 라는 프로토콜 덕분이다. DHCP의 목적은 호스트가 자신의 IP주소를 네트워크에 있는 서버로부터 자동으로 얻는 것이다. 장점주소의 재사용이 가능하다 예를 들어 한 학과에 300명의 학생이 있다고 하자. 이 학생들이 학교에서 컴퓨터를 사용하기 위해서 인터넷에 접속하고 싶다면 300대의 컴퓨터 모두 IP주소가 할당되어야 할 것이다. 결국 300개의 IP주소가 필요하다는 것이다. 하지만 300명이 동..
[Network] 가상 근거리 네트워크(VLAN)
VLAN(Virtual Local Area Network)는 하나의 물리적 근거리 네트워크 구조에서 여러 개의 가상 근거리 네트워크들을 정의할 수 있게 한다. 특정 VLAN에 속한 호스트들은 마치 하나의 물리 스위치에 자신들만 서로 연결된 것으로 인식한다. 포트 기반 VLAN에서는 네트워크 관리자가 스위치 포트를 그룹으로 나눈다. 각 그룹은 하나의 VLAN을 구성하며, 한 VLAN의 포트들은 하나의 브로드캐스트 도메인을 형성한다. 위 그림은 16개의 포트를 가진 단일 스위치이다. 포트 2~8은 전기공학과(이하 EE)에 속하고, 포트 9~15는 컴퓨터과학과(이하 CS)에 속한다. 이렇게 학과 마다 각기 다른 네트워크를 구축함으로서 트래픽을 효율적으로 처리할 수 있게 되었다. 그런데 이들은 사실상 하나의 스..
[Network] 링크 계층 스위치
1장에서 가장 먼저 공부했던 접속 네트워크에 속하며 라우터와 어떻게 다른지 감을 잡기 어려웠던 링크 계층 스위치가 드디어 나왔다. 스위치는 투명하다. 이 말은 호스트/라우터는 목적지로 보내는 도중에 자신의 프레임이 스위치에 도착하는걸 알지 못한다는 뜻이다. 스위치의 동작 방식 - 플러그 앤 플레이 1. 전달 및 여과 여과 : 프레임을 인터페이스로 전달할지 또는 폐기(drop)할지 결정함 전달 : 프레임이 전송될 인터페이스를 결정하고 프레임을 해당 인터페이스로 내보냄 스위치의 여과와 전달은 스위치 테이블을 이용한다. 스위치 테이블에는 랜상의 일부 호스트와 라우터에 대한 엔트리가 포함되어있다. 스위치 테이블의 엔트리에는 1) MAC주소, 2) MAC 주소로 가게 하는 스위치 어댑터, 3) 해당 엔트리가 테이..