ICMP

- 사용자 데이터가 아니라 네트워크 상에서 여러 증상을 알기 위한 control message를 운반하기 위한 프로토콜
- 네트워크에서 발생하는 이벤트에 대해 소스에게 report해주기 위한 message 필요 -> 네트워크 자체에서 생성하는 message
- 네트워크 진단을 위해 사용
IPv6


- 새로운 프로토콜로 가는 과도기에 서로 해석 불가
- 두가지 프로토콜을 동시에 이해해서 변환해주는 Tunneling 과정이 필요
forwarding
- router가 패킷을 받았을 때 패킷 header destination IP address를 보고 가장 적절히 맞는 forwarding table entry와 매칭시키는 것
- Longest prefix matching 방식
forwarding table은 어떻게 만들었는가?
Graph abstraction

- node: router
- edge: link
- 목적지까지의 최소 코스를 찾는것이 routing algorithm의 목표
- 2가지 접근 방식 존재
- 전체 네트워크 상황을 이미 알고있는 경우
-> link state 알고리즘
- 이웃과만 정보를 공유하는 경우
-> distance vector 알고리즘
Link state algorithm
- 각 노드들이 자신의 link state 정보를 broadcast해서 정보를 알고 있음
- Dijkstra's(다익스트라) algortihm과 동일
- forwarding table을 채우기 위한 과정

1. N'에 u를 넣어서 초기화
2. 거리를 알고 있으면 거리, 모르면 무한대로 업데이트
3. N'에 속하지 않으면서 거리가 가장 작은 w를 N'에 넣음
4. w와 이웃한 x,y,v의 distance 값을 업데이트
5. D(v)=min(D(v), D(w)+c(w,v))
- v -> D(v)=min(7,3+3)=6
- x -> D(v)=min(5,7)=5
- y -> D(v)-min(무한대,11)=11
- 반복해 표 완성
- 최소 경로: uwxvyz

- forwarding table
v-w
x-u
y-w
w-w
z-w
- 현실적인 broadcast 범위는 하나의 도메인에 속한 network
Distance vector algorithm
- 직접 연결된 노드의 정보만 알고 있음
