Routing Protocols in the Internet

(1) Interior (Intra-AS routing)
Intra-AS Routing
: AS 내부에서 사용되는 routing protocol (= IGP: Interior Gateway Protocols)
▶ RIP: Distance Vector
▶ EIGRP
▶ OSPF
▶ IS-IS protocol
RIP (Routing Information Protocol)
▷ Distance vector algorithm
- 방법: hop count - hop count > 15: "unreachable" --> 작은 규모의 네트워크만 가능하다.
- DV(Distance Vector) 정보가 이웃과 30초에 한 번 교환된다. (UDP 위에서 동작하기 때문에, 변화 유무와 무관하게 정기적으로 주고받는다.)
- 하나의 advertisement는 25개의 목적지 주소만을 포함할 수 있다. --> 규모가 작다.
이렇듯, distance vector algorithm을 사용하는 RIP는 많은 문제가 있다. 따라서 그에 대한 해결책으로 link state algorithm인 OSPF가 제안되었다.
OSPF (Open Shortest Path First)
▷ Link-state algorithm
- 하나의 router는 RIP의 link-state를 TCP/UDP가 아닌 IP 위에서 바로 advertise한다.
- Link cost matric이 다양하다. --> 각 상황에 맞는 link cost가 가능하다.
+ Link cost별로 서로 다른 routing table을 필요로하기 때문에, routing table도 다양하다. - 같은 AS 내의 router들은 모두 같은 full topology map을 가진다.
- Route 계산을 위해 Dijkstra's algorithm이 사용된다.
Hierarchical OSPF: Two-level hierarchy
RIP의 문제는 15-hop만이 가능하기 때문에, 작은 규모의 네트워크만을 커버할 수 있다는 점이었다. OSPF는 RIP의 이러한 문제를 해결한다.
하지만 네트워크 규모가 커지면, 오버헤드가 커질 수밖에 없다. 따라서 이러한 오버헤드를 줄이기 위해, OSPF에서는 two-level hierarchy를 도입하였다.

▶ Backbone
- AS boundary router (ASBF): 서로 다른 AS들을 연결한다.
- backbone router
▶ Area
- area border routers (ABR)
: Two-level hierarchy는 backbone과 area로 구성된다. 즉, 하나의 AS를 여러 개의 area로 나눈 것이다. 따라서 link-state advertisement는 area 내에서만 이루어진다. (Flood link-state in 'area' only.)
- 만약 서로 다른 area 사이의 router에서 전송을 하고 싶다면: area의 ABR을 거쳐, backbone의 backbone router를 거쳐, 다른 area로 이동해야 한다.
=> ABR (for area 1) --> backbone router --> ABR (for area 3)
Link-state flooding은 하나의 area 내에서만 가능하지만, ABR과 backbone router를 통해 서로 다른 area를 통과할 수 있기 때문에, 큰 규모의 네트워크를 커버할 수 있게 된다.
Which is bettwr for your network, RIP vs. OSPF?

- RIP는 distance vector, OSPF는 link-state.
- RIP는 max hop이 15-hop으로 제한되어 있지만, OSPF는 제한이 없다.
- OSPF에서는 area 내의 flooding만 되면 되기 때문에, convergence가 빠르다.
- RIP는 30초에 한 번씩 정기적으로 routing이 업데이트되는 반면, OSPF는 routing이 바뀔 때 routing이 업데이트된다.
- RIP는 UDP 프로토콜을 이용하고, OSPF는 IP 프로토콜을 이용한다.
- RIP, OSPF 둘 다 multicast 방법이다.
- RIP는 routing 방법이 단순하므로, OSPF에 비해 오버헤드가 낮다.
- RIP는 하나의 cost matric을 갖기 때문에 path가 하나인 반면, OSPF는 다양한 cost matric을 허용한다.
(2) Exterior (Inter-AS routing)
이제 서로 다른 AS 간의 routing 즉, inter-AS routing에 대해 이야기해보자.
Inter-AS Routing: A Role In Intradomain Forwarding

AS1에서 AS1 밖의 router 3b로 datagram을 보내고 싶어 하는 상황을 상상해보자. 이때 AS1이 알아야 할 정보는 두 가지다.
- 3b로 가기 위해서는 어떤 AS로 이동해야 하는가?
- AS3으로 이동해야 함을 알았다. AS3으로 가기 위해서는 당장 어떤 router로 이동해야 하는가?
즉, 각각의 AS들이 어떤 subnet을 담당하고 있는지 알아야 한다. (reachability information)
--> AS inter-domain routing must:
- 이웃 AS들을 통해서는 어떤 subnet에 닿을 수 있는지에 대한 정보를 모으고,
- 그 정보를 나의 AS 내에서 소문을 낸다.
BGP (Border Gateway Protocol)
BGP가 어떻게 동작하는지 좀 더 자세히 알아보자.
BGP는 "우리 AS를 통해서는 ~~~ subnet에 닿을 수 있어!"라고 외친다.
- eBGP: 이웃 AS들을 통해서는 어떤 subnet에 닿을 수 있는지
- iBGP: 받은 정보를 AS 내에 소문을 낸다.
이때, BGP는 policy-based (path vector) routing을 한다. 즉, intea-AS routing과 달리, 무조건 cost가 우선되는 것은 아니라는 뜻이다.
- DV(Distance Vector)
- PV(Path Vector): 어떤 path를 거치는지 알 수 있다.
BGP는 distance vector라기보다는, path vector이다.
- Determine "good" routes to other networks based on reachability information and policy.
- Allows an AS to control traffic flow.
BGP: Peering
: 서로 다른 AS에 속해 있는 subnet들 간에 정보를 교환하기 위해서는 peering을 해야 한다.

▶ eBGP: (External BGP peering) between different AS's.
- eBGP peer들은 서로 다른 ASN(AS number)를 가진다.
- eBGP는 routing policy를 구현한다.
- AS들은 물리적인 routing link를 통해 직접적으로 연결되어 있어야 한다.
▶ iBGP: (Internet BGP peering) within the same AS.
- iBGP 내의 peer들은 동일한 ASN을 가진다.
- iBGP 내의 peer들은 논리적으로 연결되어 있다. (not necessarily directly connected)
--> Gateway router run both eBGP and iBGP protocols.
BGP Basic Operations
BGP session동안 두 개의 BGP router (peer)들은 BGP 메시지를 교환한다.
- by. semi-permanent TCP connection
- 각 목적지로 가기 위한 path 정보를 교환한다. (=/= distance vector)

예를 들어, AS3의 gateway router인 3a는 AS2의 gateway router인 2c에게 BGP advertisement를 한다.
: "AS3을 통해서는 X subnet으로 갈 수 있어."
이는 곧, AS3이 AS2에게 "너가 나한테 보내면, 내가 X로 전달해줄게."라고 말하는 것과 같다.
BGP: Inter-AS Routing

AS1의 gateway routerdls 1c는 다른 AS인 AS3으로부터도 메시지를 받고 (eBGP session),
같은 AS 내의 1b로부터도 메시지를 받는다. (iBGP session)
- 이때, 다른 AS로부터 받은 정보는 AS1 내에 소문을 내지만,
- 같은 AS 내의 subnet인 1b로부터 받은 정보는 소문을 내지 않는다. (그에 대한 소문은 1b가 이미 냈다!)
BGP Messages
- OPEN: Opens TCP connection.
- UPDATE: Advertise new path.
- KEEPALIVE: Keeps TCP connection alive.
- NOTIFICATION: Reports errors and close connection.
BGP Routes: Path Attributes
▷ Full path: 목적지로 갈 때까지 거치는 모든 AS 즉, path를 전송한다. (=/= distance vector)

- AS_PATH: A lost of ASN to reach a destination subnet.
- NEXT_HOP: IP address of eBGP peer of next-hop AS. (다른 AS로 갈 때 거치는 next hop --> 항상 gateway router!)
▷ Incremental updates: 경로가 업데이트 되었을 때, 추가적인 업데이트 정보만을 보낸다.

이화여자대학교 이미정교수님 컴퓨터네트워크
'Computer Network > 컴퓨터네트워크' 카테고리의 다른 글
| [컴퓨터네트워크] 1201 (1) (0) | 2023.12.02 |
|---|---|
| [컴퓨터네트워크] 1129 (1) | 2023.12.02 |
| [컴퓨터네트워크] 1122 (2) | 2023.11.26 |
| [컴퓨터네트워크] 1117 - Ch5. Network Layer: Control Plane (1) | 2023.11.17 |
| [컴퓨터네트워크] 1115 (0) | 2023.11.15 |