본문 바로가기
공부/Network

[Network] AS, OSPF, BGP

by 웅대 2023. 6. 12.
728x90
반응형

https://growth-coder.tistory.com/194

 

이전 포스팅에서 라우팅 알고리즘에 관한 포스팅을 작성했었다.

 

라우터의 예시로 다음과 같은 그림을 제시했었다.

하지만 실제 라우터가 위와 같은 모습은 아닐 것이다.

 

destination이 굉장히 많기 때문에 위와 같은 모습이라면 라우팅 테이블이 굉장히 커질 것이다.

 

그래서 라우터들은 region 단위로 집계하는데 이러한 집합을 Autonomous System (AS)라고 한다.

 

실제 라우팅은 AS안에서 이루어지는 라우팅과 AS끼리 이루어지는 라우팅으로 나뉜다.

 

https://docs.ruckuswireless.com/fastiron/08.0.60/fastiron-08060-l3guide/GUID-E3108E83-EC3F-408A-A3B5-6250A65473EA.html

intra-AS routing

같은 AS 안에서 host끼리 이루어지는 라우팅이다.

 

같은 AS 안이라면 반드시 같은 intra-domain protocol을 사용해야 하고. 서로 다른 AS 라면 반드시 다른 intra-domain protocol을 사용해야 한다.

 

AS의 가장자리에 존재하는 라우터를 gateway router 혹은 border router라고 하는데 다른 AS 안에 있는 라우터와 연결되어 있다.

 

inter-AS routing

서로 다른 AS끼리 이루어지는 라우팅이다.

 

gateway router가 inter-AS routing을 담당한다.

 

Interconnected ASes

AS와 AS를 연결해주는 gateway router의 forwarding table은 intra-AS routing 알고리즘과 inter-AS routing 알고리즘을 모두 사용하여 결정된다.

 

intra-AS routing 알고리즘에는 OSPF와 RIP가 사용되는데 OSPF는 이전 포스팅의 link state 알고리즘을 사용하고 RIP에는 Distance Vector 알고리즘을 사용한다.

 

inter-AS routing 알고리즘에는 BGP (Path Vector)를 사용한다.

OSPF(Open Shortest Path First)

OSPF는 intra-AS routing 즉 같은 AS 안에서 이루어지는 라우팅 중 하나로 link-state(Dijkstra's Algorithm)을 사용한다.

 

모든 OSPF 메시지들은 인증이 필요하다.

 

Hidrarchical OSPF의 구조는 다음과 같다. 

https://www.cs.umd.edu/~shankar/417-F01/Slides/chapter4b-aus/sld015.htm

크게 보면 Backbone과 local area로 나누어져 있다.

 

backbone router는 backbone 안에서 OSPF 라우팅을 실행한다.

 

area border router는 area 안의 거리 정보들을 요약해서 다른 area border router에게 뿌린다.

 

boundary router는 다른 AS와 연결된다.

 

network layer에 속한다. 

 

BGP (Border Gateway Protocol)

BGP는 inter-AS routing 즉 서로 다른 AS끼리 이루어지는 프로토콜 중 하나이다.

 

주변 다른 AS에 접근 가능성 정보를 얻어오는 eBGP (external BGP)와 같은 AS 안의 모든 내부 라우터들에게 접근 가능성 정보를 뿌리는 iBGP (internal BGP)로 나뉜다.

 

접근 가능 정보정책을 바탕으로 라우터를 결정한다.

 

https://learn.microsoft.com/ko-kr/windows-server/remote/remote-access/bgp/border-gateway-protocol-bgp

application layer에 속한다. 

 

이제 BGP를 사용하면 어떤 식으로 라우팅이 일어나는지 알아볼 차례이다.

 

우선 두 BGP 라우터는 반영구적인 TCP connection을 맺는다.

 

라우터 X가 존재하는 AS3의 gateway router가 X까지의 경로를 알고 있다.

 

해당 라우터가 다른 AS2의 gateway router에게 eBGP를 통해서 해당 경로를 알려준다.

 

AS2의 gateway router는 iBGP를 통해서 AS2의 정책을 바탕으로 AS2 내부 라우터들에게 X까지 도달하기 위한 경로를 알려준다.

 

iBGP를 통해서 경로를 알려줄 때 두 가지 중요한 정보를 알려준다.

 

  1. AS-path : path vector를 의미한다. 어떤 prefix advertisement를 지나왔는지 AS의 list로 알려준다.
  2. next-HOP : 다음 AS로 가기 위해 거쳐야 하는 AS 내부의 라우터 정보

그리고 이러한 과정은 정책을 바탕으로 진행된다.

 

예를 들어 특정 AS로는 라우팅하지 않는 정책을 설정할 수 있다.

 

만약 목적지 AS 까지의 경로가 여러 개라면 라우터는 그 중 다음과 같은 기준 중 하나로 경로를 선택한다.

 

  1. local preference value attribute (policy)
  2. shortest AS-path
  3. closest next HOP router (hot potato)
  4. additional criteria

intra-AS routing과 inter-AS routing의 차이점

 

  intra-AS routing inter-AS routing
policy policy가 필요하지 않다. admin이 routing의 주체와 방식을 제어한다.
scale 계층 구조라 테이블의 크기와 트래픽을 줄일 수 있다. 계층 구조라 테이블의 크기와 트래픽을 줄일 수 있다.
performance  성능에 집중한다. 성능보다 정책이 우선시 될 수도 있다.

 

728x90
반응형

'공부 > Network' 카테고리의 다른 글

[Network] Link layer, error detection (parity, CRC)  (0) 2023.06.22
[Network] SDN(Software Defined Networking)  (0) 2023.06.14
[Network] Routing Algorithms  (0) 2023.06.10
[Network] IPv6와 ICMP  (0) 2023.06.08
[Network] DHCP와 NAT  (0) 2023.06.06

댓글