5-1. Traditional routing algorithms(per-router control)
(1) Routing algorithm classification
- Link state routing algorithm: Dijkstra's algorithm(OSPF)
- Distance vector algorithm: Bellman-Ford algorithm
- Hierarchical routing(BGP)
(2) Routing protocols
- RIP, OSPF/BGP
5-2. SDN controllers(logically centralized control)
ㄴ OpenFlow, ODL, ONOS controllers
(1) Network management, configuration
- Internet Control Message Protocol(ICMP)
- SNMP, YANG/NETCONF
ICMP
"ICMP(Internet Control Message Protocol)"
: traditional network 안에 있는 control protocol
1. host와 router 간 network-level info 주고받기 위해 사용
- Error reporting(주된 목적)
: Type 3들이 모두 ICMP와 관련된 error reporting msg들이다.
* error = unreachable host, network, port, protocol 등..
** unreachable host: 목적지 host가 갑자기 다운됐을 때
** unreachable port: 목적지 host까지 왔는데(protocol 자체는 존재) 해당 app의 port가 열려 있지 않을 때
** unreachable protocol: protocol이 존재하지 않아 목적지까지 갈 수조차 없음
** network unknown: 그런 network는 나의 forwarding table entry에는 없음
** host unknown: 그런 host 없어
- echo request/reply
: 상대방에게 request(Type 8) 또는 reply(Type 0) 요청할 때 ping 보냄 => 상대방은 pong으로 답함
- source quench(congestion control)
: congestion이 심해지고 있으면 자신에게 packet을 보내는 source들에게 congestion 심하다고 알려주도록 해 놓음
=> 알림 받으면 rate 줄임
- route advertisement/discovery
: route protocol(OSPF) 사용
: Type 9, Type 10
- TTL expired
: traceroute라는 app에 의해 사용됨
: Type 11
: 목적지로 가기 위한 각 router의 이름과 목적지 주소 알려줌 + RTT 3개씩
: 이것을 위해서는 "destination port unreachable" msg와 함께 사용하여 TTL이 좀비처럼 돌아다닐 때 expire시킴
- bad IP header
: Type 12
: IPv4의 header에는 checksum field가 있음
2. IP에 실리는 network-layer의 프로토콜
Type과 Code를 통해 ICMP msg의 종류가 뭔지 알 수 있음
ICMP msg는 type, code, 문제 일으킨 IP datagram의 첫 8byte를 포함
ICMP msg는 많은 경우 router에서 host로 감. 대부분 많은 hop 지남
=> multi-hop을 건너야 하면 host의 목적지 주소를 향해 가야 하는데 그러기 위해서는,
ICMP는 network계층의 프로토콜이지만 IP datagram에 encapsulate돼서 목적지로 전달됨
이중, TTL에 대해 자세히 살펴보자.
Traceroute & ICMP
source가 destination에 series of UDP segment 를 만드는데,
series of UDP segment = UDP 3개
- port number 안 쓰였을 것 같은 번호 아무거나 지정
- 첫 번째 series의 TTL = 1
- 두 번째 series의 TTL = 2
...
- n 번째 series의 TTL = n
n번째 series 받았을 때
- n번째 segment 받은 router은 해당 UDP segment 담긴 IP datagram의 TTL expired 되었다고 판단해 drop
- drop을 알리는 ICMP msg 전송
* (type 11, code 0): type 11, code 0 이후로 너의 메시지 drop했다는 의미
* datagram의 첫 8byte와 (type 11, code 0)를 같이 보냄
* router의 name & IP address 또한 ICMP msg에 포함됨
- ICMP msg를 받으면 source측에서 보낸 시간과 도착한 시간을 통해 RTT 계산
* stopping 기준: UDP segment가 destination host에게 도착했는데 destination이 "port unreachable"(type 3, code 3)이라는 ICMP msg를 얻었을 때 stop
'네트워크 > 컴퓨터 네트워크 수업' 카테고리의 다른 글
Chapter 6. Link Layer (0) | 2024.12.07 |
---|---|
5-2-(1) Network management - SNMP, YANG/NETCONF (0) | 2024.12.06 |
5-2. SDN controllers (0) | 2024.12.05 |
5-1-(1) Hierarchical routing(BGP) & (2) (0) | 2024.12.04 |
5-1-(1) Distance vector algorithm: Bellman-Ford algorithm (0) | 2024.11.30 |