ICMP : internet control message protocol
[대표적인 상황]
1. Router의 dest port가 도달하지 못했을 때
2. TTL로 인해 유효화가 끝났을 때
네트워크에 일어나는 상황을 알려주기 위함; control message를 운반하기 위한 프로토콜이다
패킷을 생성해 drop했다는 정보(data안에 들어간다)를 보낸다
traceroute(유틸리티)
: 네트워크를 진단하는데 아주 유용하다
Traceroute(또는 tracert) 유틸리티는 목적지 호스트까지의 네트워크 경로를 추적하고, 각 라우터의 응답 시간을 측정하여 네트워크 문제를 진단하는 데 사용된다. 이 유틸리티는 ICMP 패킷을 이용하여 작동하며, 목적지 호스트까지의 경로를 파악하기 위해 TTL(Time to Live) 값을 활용한다.
> TTL1 , TTL2, TTL3 ... 등을 보낸다
IPv6의 가장 큰 특징은 128bit이다
지난시간에 말했던 것처럼, 라우터의 소유가 다 다르기 때문에 IPv4에서 IPv6로 한번에 바꾸는 것은 쉽지 않다
따라서, IPv4와 IPv6를 혼용해서 쓴다 : 새로운 버전의 패킷을 그 전 패킷 버전에 맞춰 전송한다
ㄴtunneling : IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers
Routing algorithms?
router는 dst adderss와 딱 맞는(longest prefix matching) forwarding table entry를 찾는다
Q. forwarding table을 어떻게 이렇게 만들었지?
Routing algorithm
1. link state / 2. distance vector
Routing algorithm이라는 것은 결국, (그래프로 추상화하면) 목적지까지 최단경로를 구하는 것과 같다
그 방법은 위와 소개한 것처럼 두가지가 존재한다
- link state
각 라우터에 (모든 라우터에 대한)전체 그래프가 있어서 최단경로를 구할 수 있는 경우
전체 네트워크 정보를 알기 위해선 모든 노드들이 자기의 link 정보를 broadcast해야한다 (따라서 link state)
=> 다익스트라 알고리즘을 따른다 (코드 : 강의교안)
해당 노드까지의 최단 경로를 확장해가는 것이다. 즉, N'이 확장되는 과정이다
이 최단경로는 메인서버가 계산하는 것이 아니라, 각각 직접 계산해 관리되는 것이다
link cost를 트래픽 양이라고 한다. ; 경미한 양의 데이터가 있다고 가정하자
그럼 아래와 같이 트래픽이 왔다 갔다 한다
핵심 : link state (전체 그래프에 대해서 알고 시작한다)
Q. 그럼 broadcast의 범위는 ?
A. 관리 주체가 동일한 하나의 네트워크이다
- distance vector (분산처리시스템)
link state는 모든 라우터들이 동일한 그림을 보고있다. distance vector는 이웃과만 메세지를 교환해서 전체 그림을 구축하고 최소거리의 table을 만든다 (직관적이지 않다)
x는 y,w,v,z에 대해서 하나라도 더 작은값(최솟값)으로 바뀌거나 자기와 직접적으로 연결된 link의 cost가 변경된 경우 update하고 이웃에게 전달한다. 어느순간 stable하게 된다(routing이 다 계산된 상황)
v가 알아서 x로 넘겨야한다
즉, v는 dv(y),dv(w),dv(z)...(distance의 vector)를 다 x(직접적으로 연결된 이웃)에게 넘겨야한다
ㄴ그래서 알고리즘이 distance vector이다
안정화가 된 상황에서, cost가 바뀌면(2=>1)
link와 이웃한 애들은 다시 distance를 계산한 후 넘겨준다. 해당 link cost부분을 다 바꿔서 적용시킨다
만약에 (2=>50)이면? 오류가 발생한다. y를 통해서 가는 길이므로 y한테 알려주면 안된다 (무한히 핑퐁하는 사건발생)
따라서 자기 자신을 통해서 가는 길이라면 무한대로 바꿔주고 계산을 적용해야한다
'Computer Network' 카테고리의 다른 글
[Lecture] DHCP (0) | 2024.02.26 |
---|---|
[Lecture] Network layer : IP(Internet Protocol) (0) | 2024.02.24 |
[Lecture] TCP : Congestion control (0) | 2024.02.23 |
[Lecture] TCP : Flow Control (0) | 2024.02.23 |
[Lecture] Connection-oriented transport: TCP (0) | 2024.02.22 |