Suhwanc

본 내용은 Computer networking : a top-down approach 책을 바탕으로 정리하였습니다.

 

Index

  • 1. 인터넷 라우팅
  • 2. internet intra-AS routing : OSPF
  • 3. internet inter-AS routing : BGP

 

1. 인터넷 라우팅

 

우리가 지금까지 배운 라우팅은 상당히 이상적인 가정이 있었다.

그 가정들은 우선, 모든 라우터들이 동일하고, 네트워크들이 flat 하다는 것이다.

하지만 사실은 이렇지 않다. 라우터를 만드는 회사도 다양하고, 지방마다 네트워크가 flat하지 않기 때문이다.

 

따라서 라우터들은 동일한 라우터들의 집합끼리 서로 연결되어야 한다.

 

AS

AS는 "autonomous systems" 의 약자로, 동일한 관리와 기술제어하에서 동일한 라우팅 프로토콜을 운영하는 라우터들의 집합이다.

AS의 종류로는 intra-AS routing, inter-AS routing이 있는데, intra는 AS 내부, inter는 AS 간의 라우팅을 의미한다.

나는 가끔 intra가 외부 아닌가 헷갈릴 때가 많은데, inter의 의미를 생각하며 그 반대라고 외우고 있다.

 

2. internet intra-AS routing

intra-AS routing은 AS 내부에서 동작하는 라우터들의 집합이다.

따라서 내부에 있는 라우터들은 동일한 AS (network) 안에 있으며, 그들은 같은 intra-domain protocol을 사용한다.

또한 당연하게도 다른 AS에 있는 라우터들은 다른 intra-domain protocol을 사용할 수도 있다.

 

gateway router

게이트웨이 라우터는 intra-AS 내부에 있지만, 특별하게도 AS의 경계선에 위치해 다른 AS들과 연결되어 있다.

이들에 대한 프로토콜을 BGP(Border Gateway Protocol)이라 하는데, 밑에서 자세히 살펴볼 예정이다.

 

intra-AS routing 종류

  • RIP : routing information protocol의 약자로, distance vector 알고리즘을 사용한다.
  • OSPF : open shortest path first 의 약자로, link state 알고리즘을 사용한다.

OSPF

intra-AS routing에 널리 사용되는 OSPF 라우팅이다.

 

  • "open"은 라우팅 프로토콜이 공용으로 사용 가능함을 의미하고, 다익스트라 알고리즘을 사용하는 link state 알고리즘이다.
  • 라우터는 전체 AS의 완벽한 "방향 그래프"를 얻는다. 
  • OSPF에서 라우터는 AS에서 인접한 라우터 뿐만 아니라 다른 모든 라우터들에게도 라우팅 정보를 브로드캐스트 한다.
  • 링크 상태가 변경되거나, 30분이 지나면 라우팅 정보를 브로드캐스트 한다.

 

OSPF의 개선된 항목들

  • 보안
  • 여러 동일 비용 경로
  • 유니캐스트와 멀티캐스트 라우팅을 위한 통합된 지원
  • 단일 라우팅 도메인에서의 계층 지원

OSPF의 계층도

OSPF는 계층적 구조를 가진 라우팅이다.

이 계층은 위에서 보듯 2가지 계층으로 나누어져 있는데, 각각은 local area, backbone이라 한다.

 

먼저 OSPF AS는 "영역(area)"로 구성되어 있고, 각 영역은 각자 자신의 OSPF 라우팅을 수행한다는 것을 알아야 한다.

각 영역(local area) 내에서 하나 혹은 그 이상의 영역 경계 라우터(area border router)가 외부 영역으로의 패킷 라우팅을 책임진다.

이들은 backbone 영역으로 설정되어있고, backbone의 주요 역할은 AS의 영역 사이에서 트래픽 라우팅이다.

 

 

3. internet inter-AS routing : BGP

 

지금까지는 같은 AS 내에서의 경로 설정에 대해 배웠다.

이번엔 inter-AS routing의 핵심인 BGP(border gateway protocol)에 대해 배워 보자.

 

BGP는 경계 게이트웨이 프로토콜로서 각 AS에게 다음의 방법을 제공한다.

  • 이웃 AS로부터 서브넷 도달성 정보를 얻는다.(eBGP, external BGP)
  • AS 내부의 모든 라우터에게 도달성 정보를 전파한다.(iBGP, internal BGP)
  • 도달성 정보와 AS 정책에 근거하여 서브넷으로의 "좋은" 정보를 결정한다.

특이하게도 BGP는 각 서브넷으로 하여금 외부 네트워크에게 자신의 존재를 광고한다.

서브넷이 "I am here!"이라 외치면 BGP는 인터넷의 모든 AS가 이 서브넷에 대하여 어떻게 도달하는지를 알게 해 준다.

 

3.1 BGP 기본

 

BGP에서 라우터 쌍은 거의 영구적인 TCP 연결로 라우팅 정보를 교환한다.

 

  • BGP 세션 : 두 라우터(peer)의 연결로 BGP 메시지가 보내지는 TCP 연결
  • eBGP : 두 AS간에 걸치는 BGP 세션
  • iBGP : 같은 AS 내 라우터 간의 BGP 세션

세션은 간단히 말해 그래프의 에지라고 생각하면 편하다.

 

3.2 BGP 정보 분배 과정

 

  • 1. AS 3은 AS2에게 데이터그램을 가진 X의 위치에 대한 정보를 알려준다.(X로 가려면 나를 통하시오!)
  • 2. AS 2의 2c 라우터는 AS 3의 3a 라우터에게 위 경로를 전달받는다.(eBGP를 통해)
  • 3. AS 2 정책에 의해 모든 AS 2 라우터들은 2c가 받은 정보들을 얻게 된다.(iBGP를 통해)
  • 4. AS 1의 1c 라우터는 AS 2의 2a 라우터에게 정보를 받게 된다.(X로 가려면 AS2를 거쳐 AS3으로 가야 하오!)
  • 5. 3과 같이 AS 1의 모든 라우터도 이에 대한 정보를 얻게 된다. 

여기 나오는 AS 정책들은 "나만 가지고 있으면 안 돼!"라는 나름의 분배 법칙(?)에 근거한다.

 

 

3.3 경로 속성과 BGP 경로

 

라우터 BGP 세션을 통해 prefix를 광고할 때, prefix와 함께 몇 개의 BGP 속성을 포함한다.

이들은 합쳐 루트라고 칭한다(prefix + BGP attributes)

 

2가지 중요한 속성

  • AS-PATH : prefix에 대한 광고가 전달되어야 하는 AS들을 갖는다. 예를 들어 X에 대한 정보를 AS1이 AS2에 광고하고, AS2 가 AS3으로 광고를 했다면 AS-PATH는 AS2 AS1가 된다.
  • NEXT-HOP : 다른 AS로 가는 첫 번째 inter-AS router를 말한다. 예를 들어 AS1가 1a를 통해 AS2에 광고하고, AS2가 2a를 통해 AS3(3c)으로 광고했다면 AS3에서 AS1로 가는 NEXT-HOP은 3c가 될 것이다.

3.4 BGP 메시지

BGP 메시지는 TCP 연결 간 각 피어들 사이에 교환된다.

  • OPEN : 보안과 함께 각 피어들의 연결 설정 메시지이다.
  • UPDATE : 경로가 변경될 때 광고하는 메시지이다.
  • KEEPALIVE : update가 없을 때 연결을 유지한다는 메시지이다.
  • NOTIFICATION : 에러가 있거나, 연결 해제 시 보내는 메시지이다.

 

3.5 Hot Potato Routing

 

불타는 감자 라우팅 기법이다.

X로 가는 여러 경로가 존재하는 경우, 현재 연결된 세션 중 가장 최소 비용의 세션을 선택하여 이동하게 한다.

불타는 감자이기 때문에 시야를 넓게 보지 않고, 바로 앞에 연결된 세션의 비용만 본다고 생각하면 편하다.

 

3.6 BGP 정책

 

위 그림에서 W는 서버, x, y는 유저, A, B, C는 네트워크 제공자이다.

 

과정

  • A는 Aw 경로를 B, C에 각각 광고한다.
  • B는 이때, BAw 경로를 C에 광고하지 않는다. -> B에서의 트래픽이 늘어날뿐더러 굳이 할 이유가 없기 때문이다.
  • 따라서 C는 오직 CAw 경로만 알고 있게 된다.

 

요약

 

intra, inter-AS routing의 차이점

  • 1. 정책 : AS가 다른 AS로부터 트래픽 제어를 원하기 때문에 inter-AS routing은 정책이 중요하다.
  • 2. 성능 : intra는 성능에 초점이 맞춰져 있지만, inter는 정책이 성능을 지배할 수도 있다.
  • 3. 확장성 : 여러 개의 대형 네트워크를 다루는 문제는 inter-AS routing에서 매우 중요하다.

 

 

'Computer Network' 카테고리의 다른 글

13. Link layer  (0) 2020.06.15
12. SDN이란?  (0) 2020.06.14
10. 라우팅 알고리즘  (2) 2020.06.09
9. DHCP, NAT, IPv6  (0) 2020.06.09
8. Network Layer 개요  (0) 2020.06.06