Router forwarding path

라우터는 L2 프레임을 벗기고, 목적지 IP로 다음 홉을 결정한다

스위치는 같은 L2 안에서 MAC을 보고 전달하지만, 라우터는 서로 다른 IP 네트워크를 연결한다. 그래서 프레임을 열어 IP 패킷을 검사하고, FIB 조회 뒤 새 링크 헤더를 만들어 다음 장비로 보낸다.

1

L2 프레임 수신

목적지 MAC이 자신 또는 수신 가능한 주소인지 확인한다.

2

IP 패킷 검사

목적지 IP, TTL, 헤더 오류, 정책 필터를 확인한다.

3

FIB 조회

가장 잘 맞는 prefix의 next hop과 출력 인터페이스를 찾는다.

4

TTL 감소

0이 되면 폐기하고 보통 ICMP Time Exceeded를 만든다.

5

새 L2 헤더 작성

ARP/ND로 다음 홉 링크 주소를 확인해 프레임을 만든다.

6

출력 인터페이스

MTU, 큐, ACL, QoS 정책을 거쳐 다음 링크로 내보낸다.

들어온 프레임
L2 dstRouter-in MAC
L2 src이전 홉 MAC
IP packetsrc/dst IP와 TCP/UDP payload 포함
나가는 프레임
L2 dstNext-hop MAC
L2 srcRouter-out MAC
IP packetIPv4는 src/dst 유지, TTL과 header checksum 갱신
TTL 0

무한 루프 방지

TTL이 소진되면 포워딩하지 않고 오류 응답을 만들 수 있다.

No route

일치 prefix 없음

디폴트 라우트도 없으면 패킷을 내보낼 수 없다.

Policy

ACL과 방화벽

경로가 있어도 장비 정책이 트래픽을 막을 수 있다.

MTU

출력 링크 크기

크기 초과는 조각화, PMTUD, 폐기 정책과 연결된다.

라우터의 기본 동작은 L3 유지와 L2 재작성이다

NAT나 터널 같은 예외가 없다면 IP 출발지와 목적지는 end-to-end로 유지된다. 반면 MAC 주소와 프레임은 각 링크의 다음 홉에 맞게 매번 새로 만들어진다. IPv6에서는 TTL 대신 Hop Limit을 줄이고 IP 헤더 checksum은 없다.