IP 주소로 패킷이 전달될 때의 과정을 알아본다.
Direct Delivery: 동일한 네트워크 안에서 패킷이 전달되는 것을 의미한다.
라우터 또는 스위치를 통해 전달된다. 목적지가 device여야 한다.
Indirect Delivery: 목적지가 device가 아닌 경우이다. 라우터에서 라우터 또는 디바이스에서 라우터 등 전달을 의미한다.
딜리버리 포워딩은 목적지로 패킷을 전달하기 위해 next hop에 패킷을 전달하는 것을 의미한다.
이미지와 같이 다음 hop(router)으록 가기 위해 routing table을 봐야한다.
전자는 route를 미리계산하는 routing table이다.
후자는 next-hop을 위해 사용되는 routing table이다.
다음과 같이 Next Hop을 매핑할 때, 목적지의 네트워크 id 또는 host의 IP address가 사용될 수 있다. 각각 Network-specific, Host-specific routing table이다.
두 개가 혼용되어 관리된다.
다음과 같이 두 개가 혼용된 것을 볼 수 있다.
또한 목적지에 대한 정보가 routing table에 존재하지 않으면 default router로 보낸다.
이 routing table은 유동 IP를 할당받으면 DHCP 서버가 알아서 해주는데, 고정 IP를 사용한다면 서브넷 마스크와 첫 번째로 가야할 라우터 등을 설정해줘야 한다.
interface number는 스위치 번호이다.
Classful의 경우, 목적지 주소를 통해 class와 네트워크 id를 추출한다. 그리고 table에서 찾아본다. 그리고 IP에 맥주소가 매핑되어 있는 ARP 테이블을 통해 다음 hop에 대한 맥주소를 알아온다.
그럼 Routing table에서 목적지 IP 주소에 대한 next hop IP 주소 가져옴 ARP 테이블을 통해 next hop의 맥주소 가져옴 맥 주소에 대한 프레임 생성 전달
Next-hop address가 존재하지 않으면 direct delivery이다. 바로 device에게 보내진다.
class가 존재하고, device가 subnet에 존재할 때, router는 subnet에 대한 정보를 가지고 있으므로 이를 통해 subnet 주소를 얻을 수 있다. 그리고 routing table에서 IP 주소, 이에 대한 맥주소를 ARP 테이블에서 가져온다.
classless routing table은 간단하게 하나의 열이 더 추가된다. Mask에 대한 정보이다.
서브넷이 아니지만, 비슷한 네트워크끼리 가까이 몰려 있는 경우에도 마치 서브넷인 것처럼 처리해주면 된다.
140.24.7.192/26이 도착지일 때, 만약 라우팅 테이블에 140.24.7.0/24가 먼저 있으면 패킷이 이상한 곳으로 갈 수 있다. 이러한 경우엔 mask가 더 큰 순으로 테이블에 저장해주면 된다.
이더넷과 IP 헤더 사이에 추가된다.
MPLS가 가능한 빨간색 라우터들은 D,A 바로 앞 router들부터 시작해서 in-label과 dest에 대한 정보를 저장한다. 그럼 알아서 propagation 된다. out-label과 out interface는 상상해봐라.