본문 바로가기
Computer Network/컴퓨터네트워크

[컴퓨터네트워크] 1124

by leziwn.cs 2023. 11. 27.
Routing Protocols in the Internet

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를 도입하였다.

Hierarchical 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?

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

Inter-AS Routing

AS1에서 AS1 밖의 router 3b로 datagram을 보내고 싶어 하는 상황을 상상해보자. 이때 AS1이 알아야 할 정보는 두 가지다.

  1. 3b로 가기 위해서는 어떤 AS로 이동해야 하는가?
  2. AS3으로 이동해야 함을 알았다. AS3으로 가기 위해서는 당장 어떤 router로 이동해야 하는가?

즉, 각각의 AS들이 어떤 subnet을 담당하고 있는지 알아야 한다. (reachability information)

--> AS inter-domain routing must:

  1.  이웃 AS들을 통해서는 어떤 subnet에 닿을 수 있는지에 대한 정보를 모으고,
  2. 그 정보를 나의 AS 내에서 소문을 낸다.

 

BGP (Border Gateway Protocol)

BGP가 어떻게 동작하는지 좀 더 자세히 알아보자.

 

BGP는 "우리 AS를 통해서는 ~~~ subnet에 닿을 수 있어!"라고 외친다.

  1. eBGP: 이웃 AS들을 통해서는 어떤 subnet에 닿을 수 있는지
  2. 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을 해야 한다.

 

BGP: 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)

BGP Basic Operations

예를 들어, AS3의 gateway router인 3a는 AS2의 gateway router인 2c에게 BGP advertisement를 한다.

: "AS3을 통해서는 X subnet으로 갈 수 있어."

이는 곧, AS3이 AS2에게 "너가 나한테 보내면, 내가 X로 전달해줄게."라고 말하는 것과 같다.

 

BGP: Inter-AS Routing

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)

Full path

  • 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: 경로가 업데이트 되었을 때, 추가적인 업데이트 정보만을 보낸다.

 

BGP: Full path - Example

 

 

 

 

 

이화여자대학교 이미정교수님 컴퓨터네트워크