subnetting
큰 네트워크를 많은 작고 개별적인 서브 네트워크(서브넷)으로 나누는 것
서브넷 마스크를 통해 서브넷으로 나누어 사용할 수 있음
호스트 ID 가 서브넷 ID 와 호스트 ID로 다시 나누어져 개별적인 서브넷을 사용할 수 있음
CIDR
CIDR 은 1990년대 초반에 등장하여 현재 표준으로 사용되고 있음
기존에는 고정된 길이의 네트워크 ID 를 사용했었음. 그러나 네트워크를 할당해도 낭비되는 IP 공간이 생김
네트워크 ID, 서브넷 ID, 호스트 ID를 사용했던 기존 방식과 달리 CIDR 은 슬래시 표기법을 통해 /20 이면 앞의 20자리 비트를 네트워크 ID로, 나머지는 호스트 ID로 사용함
네트워크 ID 를 기반으로 라우팅이 일어나게 됨.
라우터
대상 IP 주소에 따라 트래픽을 전달하는 네트워크 디바이스
패킷을 수신하여 올바른 경로로 패킷을 전송하므로 단순하게는 2개 이상의 네트워크 인터페이스를 가진 디바이스임
일반적인 라우터의 라우팅 과정
라우터가 데이터 패킷을 수신함
목적지 IP 주소를 검사함
라우팅 테이블에서 목적지 IP 주소에 대응되는 경로를 탐색함
찾은 경로로 패킷을 전송함
데이터 전송 과정
전송하고자 하는 IP 주소로 데이터 패킷을 생성함
로컬 네트워크에 해당 IP 주소가 존재하지 않는다면 가까운 라우터의 MAC 주소로 패킷을 전송함
라우터는 목적지 MAC 주소를 보고 자신에게 온 패킷임을 판별하고 패킷을 까서 목적지 IP 주소를 찾음
라우팅 테이블을 보고 가장 빠른 경로의 다른 라우터나 네트워크의 IP 주소를 찾음
전송할 라우터나 네트워크의 MAC 주소를 ARP 테이블에서 찾음
IP 헤더의 TTL을 1 감소시키고 체크섬을 다시 계산하여 IP 헤더를 다시 패킷에 감싸고, 이더넷 헤더와 트레일러도 다시 포함시킴
목적지 MAC 주소로 패킷을 전송함
라우팅 테이블
라우터는 초기에 단순히 2개의 네트워크 인터페이스를 갖는 컴퓨터로 동작하며 수동으로 라우팅 테이블을 바꿔주는 방식으로 동작했음
라우팅 테이블은 제조하는 곳에 따라 다르게 설계될 수 있지만 공통적으로 갖는 정보들이 있음
Destination network: 목적지 네트워크, key 값으로 사용됨
Next hop: 목적지 네트워크에 가기 위해 가장 빠른 경로를 가리킴. 목적지 네트워크와 직접 연결된 라우터는 자기 자신을 가리키거나 0.0.0.0 과 같은 주소를 가리킴
Total hops: 목적지 네트워크까지 얼마나 많은 홉을 거쳐야하는지를 나타냄. 경로 최적화를 위해 필요한 정보
Interface: next hop 에 패킷을 전송하기 위한 출력 네트워크 인터페이스가 무엇인지 나타냄
라우팅 프로토콜
라우터간의 정보 교환을 위한 특수 프로토콜
다른 라우터의 정보를 알아야 라우터간 최적의 경로를 찾을 수 있기 때문에 사용됨
라우팅 프로토콜은 내부 게이트웨이 프로토콜과 외부 게이트웨이 프로토콜로 나뉨
내부 게이트웨이 프로토콜
링크 상태 라우팅 프로토콜과 거리 벡터 프로토콜로 나뉨
거리 벡터 프로토콜
옛날에 많이 사용했었음
라우터간 거리 목록을 갖고 목적지 네트워크로 가는 홉 수가 가장 작은 경로를 최적으로 선택함
홉 수만 고려하여 라우팅하면 대역폭이나 일시적인 혼잡 등에 대응할 수 없음
링크 상태 프로토콜
AS 내의 모든 라우터가 각 라우터의 정보를 공유함
더 많은 데이터를 갖고 복잡한 알고리즘을 통해 최적의 경로를 선택함
더 많은 메모리와 처리량을 필요로 하지만 하드웨어 성능이 발전함에 따라 문제가 아니게 되었음
독립적으로 동작하는 네트워크(AS) 내에서 라우터들이 정보를 교환할 때 사용함
작은 네트워크에 적합함 ex) 대기업, 은행 내부망, ISP 내부망
외부 게이트웨이 프로토콜
AS 간의 라우팅이 필요할 때 사용됨. ex) 한국 ISP와 미국 ISP 사이의 연결
AS 를 구별하기 위한 ASN 이 사용됨
IANA
IP 주소 할당을 관리하는 비영리 단체
IP 주소 뿐만 아니라 Autonomous System Number, ASN 할당도 담당함
ASN 은 AS 마다 갖는 고유한 번호이며 IP 주소와 동일하게 32 비트로 구성되지만 사람이 알아야 할 필요가 없어 단일 십진수로 표기함
라우팅할 수 없는 주소 공간
32비트의 IPv4 에서는 인터넷이 발달함에 따라 주소 공간이 부족해졌음
RFC(Request for Comments)1819 에 따라 라우팅할 수 없는 주소 공간을 명시적으로 규정하여 이 주소 공간을 사용할 경우 라우터가 라우팅하지 않기 때문에 누구든지 이 주소를 사용할 수 있음
라우팅할 수 없는 주소 공간을 사용하여 네트워크 내부에서 각각의 IP를 갖고 서로 통신할 수 있고, 외부로 라우팅되지 않고 내부 게이트웨이 프로토콜을 사용해 AS 내에서 원할한 통신이 가능하게 됨
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16