본문 바로가기

Computer Network

[Lecture] IP & routing algorithm

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