본문 바로가기

개발👩‍💻/네트워크

13-1:Network Layer: control plane

728x90

Intra-AS routing: OSPF

실제 라우팅에서는 어떤 알고리즘을 사용하고 있는지 보자

앞에서 배웠던 라우팅 알고리즘은 이상적인 환경에서 사용할 수 있었다.

그래서 기본적으로 모든 라우터가 동일한 상황이고 네트워크도 계층화 되어있는 구조가 아닌 플랫한 구조였다. 하지만 실제로는 그런식으로 생기지 않았다. 실제로 라우터들도 굉장히 많고, 목적지로 포워딩을 하는데 도착지들에 대해선 모든 정보를 갖고 있어야 했다. 어떤 인터페이스를 골라야하는지 포워딩 테이블에 저장이 되어 있어야 했다. 그런데 물리적으로 그런 것이 불가능한 것은 인터넷 상에는 굉장히 많은 ip 가 있고 그 모든 목적지에 도달하기 위한 경로를 모두 저장을 할수가 없는 것이 문제이다. 그리고 라우팅 테이

블, 디스턴스 벡터에 정보나 다익스트라 알고리즘에서 전체 토폴로지에 대한 코스트 정보들이 있는데 이런 것을 교환을 해야할텐데 라우터들끼리 일일이 교환을 하려면 어마어마한 양이 될 것이다. 그래서 확장성 측면에서 그러한 알고리즘은 적용이 불가능하다. 

관리 상에 자치성, 이것이 의미하는 것은 인터넷은 네트워크의 네트워크로, 각각의 네트워크들, ISP를 서로서로 묶으면 일종의 인터넷의 백본이 되는 것이다. 각각의 ISP는 서로 다른 컨트롤 라우팅 알고리즘을 사용할 수도 있을 것이다. 전체 모든 네트워크가 동일한 알고리즘을 사용을 해야하기보다 자기 네트워크는 자기가 관리해야하는 문제가 있다.

라우팅을 확장성 있게 만들기 위해서 사용하고 있는 방법은 일종의 라우터들을 부분부분 묶어서 AS, autonomous systems로 묶는 것이다. 하나의 ISP가 있다고 하면 이 안에 여러개의 AS를 만들수가 있게 된다. 그리고 어떤 ISP는 하나의 AS로 구성이 될 수도 있다. 어쨋든 이렇게 일종의 그룹핑을 하게 되고, 작은 단위로 쪼게서 그 안에서만 라우팅을 하는 방법이다. 그러므로 AS를 라우팅하는 단위라고 생각하면 된다. AS에서 다른 AS로 패킷을 보내던가 다른 ISP AS로 보낸다고 할 때 라우팅을 하는 방법이 있어야 겠다.

그래서 첫번째로 이 AS내부에서 라우팅을 처리하는 Intra-AS 라우팅 방법이 존재해야하고, AS간 라우팅 정보를 교환을 하는 inter-AS도 필요하다. 

그래서 Intra-AS에서는 AS가 라우팅을 하는 최소단위인데, AS 하나 안에서는 같은 라우팅 프로토콜이 사용된다. 물론 다른 AS라면 다른 라우팅 알고리즘을 써도 상관이 없을 것이다. 결국 AS가 여러개가 있으면 얘네들끼리 서로 연결할 수 있는 어떤 라우터가 존재할 것이다. 가장 바깥쪽에서 문지기 역할을 하는 라우터를 게이트웨이 라우터라고 한다. 그래서 각각의 AS에 가장 가장자리 모서리에 존재하고 실제 링크를 통해 라은 AS와 서로 연결이되는 이 라우터들이 게이트웨이 라우터라고 이해를 하면된다.

그래서 inter AS라는 것은 결국에 게이트웨이들이 대표로 라우팅을 수행을 하게 된다.

결국 라우터들을 묶어 AS를 만들고 AS들간에 다시 라우팅 알고리즘을 수행한다.

그래서 어떻게 보면 계층화를 해서 좀더 확장성을 높혔다고 이해할 수 있다.

 

Interconnected AS

AS단위로 세개가 존재한다 각각의 AS안에서는 intra AS라우팅이 동작한다. 이렇게 동작하면 각각의 내부에서 특정 내부의 라우터로 도잘하기 위한 라우터는 다 알수가 있다. 그리고 AS 간에는 인터 AS를 통해서 게이트 웨이 라우터가 인터 에이에스 라우팅을 대표로 수행한다ㅏ. 에이에스 간에는 인터 에이에스라우팅이 동작하게 된다. 근데 각각의 라우팅의 포워딩 테이블이 존재하는데, 포워딩테이블은 실제로는 인트라 에이에스 라우팅 알고리즘이랑 인터 에이에스 라우팅 알고리즘이 둘다 동작을해서 설정을 한다. 두 알고리즘은 포워딩 테이블 업데이트에 둘다 관여를 한다. 결국 인트라 에이에스 라우팅은 내부적인 것을 세팅을 해준다. 하나의 에이에스 안에서 어떤 목적지가 주어지면 걔를 찾아가기위한 링크, 인터페이스를 리턴을 해주게된다. 인터 에이에스 라우팅은 에이에스 간의 라우팅 정보를 참고를 해서 그것과 인트라 에이에스 라우팅을 조합을해서 결국 외부에 존재하는 다른 목적지로 도달하기 위한 인터페이스를 제공을 한다.

에이에스 간에 라우팅은 어떻게 이루어지는지 간단히 살펴보면

AS1중에 1a라는 라우터가 존재하는데 이 라우터가 데이터그램을 받았다. 이 목적지는 as1외부에있는 다른 곳이다. 예를들어 2b라고 해보자 그러면 지금  1a라우터가 패킷을 받았는데 얘를 어디로 보내야 2b로 보낼 수 있을까

게이트웨이 라우터로 보내야하는 것을 알 수 있다. 그러나 어떤 게이트웨이 라우터로 보내야할까. 

1b와 1c가 게이트웨이 라우터라는 것을 알 수 있는데, 어디로 보내야 하는지에 대한 문제가 존재한다. 이것을 해결하기 위해 인터 에이에스 라우팅이 필요하다. as1입장에서 보면 as1이 as2를 통해서는 어디로 갈 수 있는지 as2한테 배우게 되는 것이고, as3한테 as3를 통해 어디로 갈수있는지를 배우는 것이다. 그 정보를 as1이 시간이 지남에 따라 as2, as3에게서 배우게 되고, 

1c, 1b가 그 정보들을 배우면 그 배운 정보들을 내부에 있는 다른 라우터들한테 as2로 가려면, 1b를통해 ,as3를 가려면 1c로 가야한다. 같은 정보들을 전파를 하게된다. 

 

그리고 이 as안에서는 어떻게 라우팅을 하는지 살펴보자.

기본적으로 자주 사용되는 라우팅 프로토콜들이 있다. 인트라 에이에스로, 

앞쪽에서 배웠던 디스턴스벡터, 링크스테이트 알고리즘을 기반으로 하고 있다

RIP라는 인트라 에이에스 라우팅프로토콜이 있다.

그리고 EIGRP, OSPF 가 있다.

RIP, EIGRP 같은 경우는 둘다 디스턴스 벡터 알고리즘을 기반으로 하고 있다. 

OSPF가 가장 많이 사용되는 알고리즘이다.

얘같은 경우 링크스테이트 라우팅(다익스트라 알고리즘)을 사용한다. 

링크스테이트 라우팅은 하나의 에이에스가 있으면 그 에이에스 안에 있는 라우터들, 내부의 모든 네트워크 토폴로지들은 모든 라우터가 완벽하게 알고있는 상태에서 최적의 라우팅을 계산하는 방법이었는데 

하나의 as 안에서 OSPF를 보통 많이 사용한다.

 

OSPF: Open Shortest path first

Open 은 아무나 쓸 수 있도록 되어 있다는 의미이고,

링크스테이트 알고리즘이고, 다른 라우터들이 서로 모든 정보를 알 수 있게 전달하는데 이때 ip를 통해서 전달한다. 그래서 직접 Ip를 통해서 정보를 뿌려주게 된다.

그리고 그 코스트 링크의 코스트가 있었는데, 이는 OSFP 프로토콜에서는 따로 정의하고 있지 않다. 이는 네트워크 운영자가 설정한 코스트를 따르게 되낟. 이 코스트는 밴드위스와 반비례해서 밴트위스가 크면 코스트가 낮도록 설정을 할 수도 있고, 딜레이가 적을수록 코스트가 낮게될 수도 있다.

중요한 것은 OSPF 프로토콜은 어떤 코스트를 결정할 때 꼭 어떻게결정해야한다 이런것을 포함을 하고 있진 않다. 

 

링크스테이트를 모든 라우터들한테 전달을 하게되면 각각의 라우터는 완벽한 네트워크토폴로지를 가질 수 있을 것이고 다익스트라 알고리즘을 사용해서 포워딩 테이블을 업데이트할 수 있다.

기본적으로 OSPF 메시지는 암호화가 되어서 보안적으로 내부 내용을 가로챌 수 없도록 되어 있다.

 OSPF같은 경우 하나의 as안에서 사용한다고 했는데 ospf도 계층화가 되어 하나의 as를 또 여러개의 area로 나눌 수가 있다.

as가 있으면 area1,2,.. 이런식으로 구성할 수 있다.

그래서 전체가 결국에 하나의 as를 의미한다. 하나의 에이에스 안에서는 결국에 OSPF를 사요하고 이 자체 계층화 되어 여러단계로 만들어질 수도 있다. 

결국에 두단계로 나눈다고 생각하면, 로컬 area랑 백본 두개로 나눌 수 있다.

area로 나누고, 얘네들을 또 정보를 합칠 수 있는 애가 존재해야하는데 그것이 백본이다.

링크스테이트를 하나의 as안에서 정보교환하는 것은 사이즈가 커 부담이 될 수 있다면, area로 더 나눠서 이 area안에서만 링크스테이트들을 서로 교환하게끔 만든다.

 

그러면 결국에 각각의 에어리어 안에 라우터들은 해당 에어리어 안에서는 그 모든 전체적인 네트워트 안에있어서는 모든 정보를 알 수 있다.

그리고 백본과 에어리어가 겹치는 애들이 에어리어 보더 라우터라고불리는데 에어리어에 결계선에 있는 라우터이다. 그래서 얘가 하는 역할은 안쪽에 있는 라우터들이 있었는데, 링크스테이트 알고리즘은 모든 정보를 갖고 있을 수가 있는데 최종적으로 에어리어 내에 있는 목적지에 도달하기위한 코스트같은 것을 다 알고있는 상태. 에어리어 보더 라우터가 대표적으로 동작을해서 백본 애들한테 요약된 정보를 날려서 취합을 할 수 있도록 한다.

 

그리고 에어리어 안쪽에 있 것들이 로컬 라우터이며, 에어리어 안에서만 링크 스테이트를 서로 전달하고, 리우팅도 그 에어리어 안에서만 계산한다. 그리고 이 에어리어 안에서 패킷을 바깥 다른 곳으로 내보내려 한다면 이 보더 에어리어 라우터를 통해서 내보내게 된다.

 

바운더리 라우터가 존재한다.

바운더리 라우터는 다른 에이에스와 연결이 되는 라우터이다. 

게이트웨이 라우터와 같다.

 

인트라 에이에스 라우팅 알고리즘은 ospf에 대한 설명이었고,

이제 ISP들간에, as들 간에는 어떻게 라우팅을 하는지 살펴보자 - 인터 AS라우팅

 

Inter-AS routing: BGP

BGP(Border Gateway Protocol): 보더에 있는 게이트웨이 역할을 하는 라우터들이 수행을 하는 프로토콜이다.

결국에는 네트워트들을 하나로 묶는 역할을 한다.

그래서 bgp 같은 경우 하는 역할이 as하나가 서브넷으로 표현할 수 있다. 어떤 서브넷에 도착하기위해서는 어떤 as를 거쳐야하는지를 알려줄 수 있게 된다.

그래서 하는 역할은 어떤 에이에스가 존재한다고하면 어디에 연결을 할 수  있고 어떻게 연결을 할 수 있는지를 알려줄 수 있다.

 

기본적으로bgp는 두가지로 구성이 된다.

eBGP, iBGP로 구분 할 수 있다.

e는 external의 약자이고,i는 internal의 약자로 외부와 내부로 나눠진다.

external GBP같은 경우에는 내 외부에 도착하기 위한 정보들을 얻기 위해서 사용하는 프로토콜이다.

iBGP같은 경우 정보를 얻었고, 그 정보를 AS안에있는 라우터들한테도 전달을 해야하는데, 그것을 통해서 게이트웨이 라우터를 통해서 다른 라우터로 패킷을 전달할 수 있기 때문에 내부적으로 전달할 수 있게 해주는 프로코톨이 iBGP이다.

 

어떤 서브넷에 접근하기 위해서는 어떤 as를 거쳐야한다. 라는 정보를 얻을수 있게되고, 

이 정보와 polish, 정책이 있다.

정책을 고려를 해서 결국에 라우팅 경로를 결정하게 된다.

 

ebgp와 ibgp가 있다고 했는데,

e는 as 외부를 연결할 때 사용하는 프로콜이고,

i는 하나의 as안에서 전파를 할 때 사용하는 프로토콜이라고 생각하면된다.

 

게이트웨이 라우터들이 as안에 존재하는데,

얘네들은 eBGP만 동작하는 게 아니라 내가 받은 접근성 정보를 as내부의 라우터들한테도 전파해주어야하기 때문에

게이트웨이 라우터들을 e, i 둘다 수행한다.

 

BGP 개념

BGP는 1대1로 연결이 된다고 생각하면 되는데 두개의 라우터가 메시지를 교환을 하는 방식으로 이뤄지는데 그게 semi-permanent TCP connection을 통해서 이뤄진다

기본적으로 TCP IP를 사용해서 BGP 프로토콜과 관련된 메시지들을 주고 받는다.

 

그래서 결국에 어떤 것을 서로 교환하냐면, 

경로가 주어지면 네트워크 프리픽스 형태로 목적지 경로가 주어지면 그 경로에 도달하기 위한 as path를 다른 as들 한테 알려준다.

 

위 그림처럼 x가 새롭게 추가가 되었다고 하면, x의 네트워크 프리픽스가 예를 들어서 138.16.67/22 라고 하자.

그래서 이런식으로 프리픽스가 주어지면 여기에 접근을 하기위해서는 as3를 통해서 x에 도달할 수 있음을 as2한테 알려주어야 한다.

이것을 하는 것은 as3의 3a가 그 게이트웨이 라우터의 역할을 하여 알려주는 역할을 하게 할 것이다.

as2가 이 정보를 받는다면 알수있게 된느 것은 as3로 보내기만하면 x에 도달할 수 있음을 알수있게되고, as3는 x로 알아서 패킷을 포워딩을 해줄 것임을 알 수 있게 된다.

 

근데 프리픽스만 전달을 하는게 아니라 attribute도 같이 전달을 한다. 

그래서 이렇게 전달을 할 때는 

profix + attribute 인데

2개의 중요한 attribute가 있다.

- AS-PATH

- NEXT-HOP

 

이 두개의 어트리뷰트를 포함을 한다.

1번째는 as경로이다. 

예들들어 위 그림에서봤듯이 as3가 있었고,

as1 -> as2 -> as3 -> x 

x라는 프리픽스에 도착을하려면 위와 같은 과정을 거쳐야 도착할 수 있는데 이러한 것이 as-path이다.

그래서 as3를 거쳐서 x에 도달할 수 있다는 것을 알려주는 역할을 했던 것이 AS3이므로 AS3가 AS-PATH가 된다.

AS-PATH는 가장 거치는 홉이 짧은 애를 나타낸다.

 

그리고 넥스트 홉같은 경우에는,

as안에 게이트웨이 역할을하는 라우터가 있다.

이 게이트웨이 라우터가 존재하는데 그 중에서도 다음 에이에스에 도착하기 위해서 필요한 내부 as라우터를 의미한다.

as3가 as2의 2c한테 알려주면, 이 2c가 as3로 가기위한 게이트웨이 라우터

그렇기 때문에 넥스트 홉이 2c라고 생각하면 된다.

 

도달할 수 있는 접근성 정보 뿐아니라 폴리시, 정책도 사용한다고 했는데,

이 것이 어떻게 활용이 되냐면,

예를 들어 어떤 라우트 정보를 다른 에이에스한테서 받을 수 있는데 받는 경우, 얘를 받아들일지 말지 결정하는 정책이 있을 수 있다.

예를 들어 asy를 거쳐 라우티를 안할 것이라고 한다면, 얘를 통했던 라우트를 받지 않게 막을 수 있다. 그렇게 얘들통해서 가야했던 라우팅 정보가 업데이트되지 않을 것이다.

그리고 또 다양한 폴리시가 있을 수 있는데, 

새로운 경로를 알게되었을 때다른 애들한테 광고를 해줄지, 말지 결정할 수 있는 폴리시가 있을 수도 있다.

이런식으로 폴리시를 통해 아예 버리도록 만들 수도 있다.

 

간단히 예시를 통해서 보면 as3의 x가 추가되어 이것을 지금 광고하는 상황이다.

as3같은 경우 2c 한테 광고를 할 것이다.

x라는 프리픽스에 도착하기 위해서는 as3를 통해서 도달할 수 있음을 eBGP메시지를 통해 알려준다.

as2는 자신에게 설정된 폴리시가 있을 것이고, 이를 as3를 통해 갈 수 있음을 받아 들인다면, 알게된 새로운 정보들을 내as안에 존재하는 다른 라우터들한테 전파를 해야할것이다. 이럴 땐 iBGP를 통해 전파를 하게 된다.

 

또 폴리시에 따라서 내가 새로 알게된 정보를 내 이웃 as한테 전파를 하지 말지를 폴리시로 정해놨을 텐데, 이 폴리시로 내 이웃한테전파를 하게 된다고 설정되어 있으면, 새로 알게된 정보를 가지고 as2는 as3를 통해서 x를 간다는 것을 알았으니까 as1한테는 as2를 통해 as3를 거치면 x에 도달할 수 있다고 알려줄 수 있게된다.

as2, 2a, as1,1c를 통해 eBGP를 통해 전파가 될 것이다.

 

as1,1c,는 as2, as3를 거치면 x에 도달할 수 있음을 알게된 상황 as3가 1c한테 직적 광고를 날리면 바로 알수 있게 된다. 1c는 as2, as3를 거치면 x로 갈수 있고, as3로 바로 갈 수 있는 경로 두개를 모두 알 수 있게 되고, 

폴리시에 따라서 두개중에 어떤 것을 선택할지 정하게 되고,

만약에 위쪽의 것을 선택해서 

바로 as3로 가게 된다면 그 정보를 내 as들한테 전파를 또 하는 식으로 동작을 한다.

 

BGP 메시지는

TCP 커넥션을 통해서 통신을 하고,

BGP 메시지는 

open, update, keepalive, notification 이런 종류의 메시지들이 존재를 한다.

 

그래서 실제로 어떻게 동작을 하는지보면

1a랑 1b랑 1d 최종적으로 x로 가기위해서는 as3를 거쳐야 한다는 것을 알 수 있었다.

1a에는 인터페이스(포트)가 두개가 있다. 그래서 1과 2가 있는 것을 확인할 수 있다. 1d도 1이 있고 2가 있다.

그래서 우리가 알고 있는 정보는 1c로 가려면 인터페이스 1로 가야한다는 것은 이미 알고 있다.

intra-AS routing을 통해서 우리는 이미 as안에서 어떤라우터에 도달하기 위한 경로는 포워딩 테이블은 이미 업데이트한 상태로 가지고 있다.

이상태에서 x로 가려면 AS3를 가야하고, 넥스트홉에 1c를 통해서 가야한가는 것이 적혀있다.

이경우에는 1c로가면 x로 갈수있음을 알고 있다.

inter-AS, Intra-AS 알고리즘이 반드시 두개가 필요함을 알 수 있다. 

이렇게 두개를 조합하면 새로운 포워딩테이블엔트리를 만들수있다. 

x가기 위해서는 인터페이스 1로 포워딩을 해야함을 업데이트할 수 있게된다.

 

Intra-AS routing + Inter-AS routing 두개가 다른식으로 동작하는 이유

기본적으로 중요한 문제가 폴리시적인 문제이다.

Inter-as는 상대적으로 폴리시문제가 중요하고,

intra-as같은 경우 상대적으로 폴리시문제가 덜 중요하다.

 

그리고확장성 측면에서도 계층화를 통해서 구현을 한것인데,

inter, intra를 나눠서

intra-as 같은 경우 완벽한 정보를 통해서 작은 단위로 정보들을 교환을 하고

그정보들을 종합을 해서 상대적으로 구조화해서 라우터 간에 전달되는 데이터 양을 줄일 수 있게 된다.

성능 측면에서봐도 intra-as같은 경우 링크스테이트알고리즘을 썼기때문에 모든 정보를 알고 어떻게 하면 빨리 패킷을전달할 수 있을까에 집중한다면

inter as 같은 경우  성능보다는 폴리시가 더 중요해서 어떤 에이에스를 거쳐야하는지, 안되는지가 더 중요하기 때문에 그러한 측면에서 성능보다 폴리시를 더 중시한다.

 

어떤 경로를 택할지를 폴리시에서 택한다고 했는데, 어떤 경로를 결정할지를 선택하는 알고리즘도 존재한다.

이름은 Hot potato routing이다.

 

그래서 간단히 설명하면, 

as3는 x로 가려면 자신을 거쳐서 가야함을 알려줬고, as1은 x로가려면 as1을 거쳐 as3를 거치면 갈수있다는 것을 알려준 상태이다.

 

그러면 이제 결국에 2d는 2a게이트웨이 라우터를 통해 혹은 2c 라우터를 통해서 x에 도달할 수 있다는 것을 알 수 있다.

이중에서 어떤 것을 고르냐고할때

hot potato 는 as안에서만따져서 가장 빠르게 코스트가 적게 게이트웨이라우터에 도착할 수 있는 경로를 선택을 하는 것이다.

코스트가 2a쪽으로가면 201, 2c로 가면 263이니 더 적은 201을 선택하게 된다.

실제로 생각해보면 2a로 가는것은 2a로 가서 1c로 가서 다시 3a로 가는 방식으로 도착을 할 것이다. 

실제로 전체적인 라우팅 경로를 보면 2c로 가는 것이 더 빠르다.

전체적으로 봤을 땐 2c쪽으로 가는 게맞는데,

핫 포테이토는 내부에서최소로 하는것을 가장 우선시 한다.

 

hot potato가 의미하는 것은 패킷을 내 as밖으로 최대한 빨리 내보내는데 집중한다는 것이다.

이런식으로 전체를 생각하지 않고 일단 가장 빨리 패킷을 내 as밖으로 내보내는 것이 중요한 것이다.

 

 

어떤 ISP가 존재를 한다고 했을 때 트래픽을 모든 경로로 다 전파를 하는 것이 아니라 내 고객들한테만 전파를 하고 싶을 때가 있을 것이다.

내 ISP 내의 고객에게만 전달해서 트래픽을 줄일 수도 있을 것이다.

그림을 보면A,B,C가 인터넷 서비스 프로바이터 네트워크라고 생각하면되고, w,x,y가 사용자 네트워크라고 생각해보자.

A가 w라는 사용자가 새로 추가가 되어서 w에 도달하기위한 경로를 B,C한테 알려준다 가정해보자 w는 a를 통해서 접근할 수 있음을 b,c에게 알려줄 것이다.

b는 a로 부터 경로를 받았으면 c한테 전달을 해줄 수도 있을 것이다. b->a-w도착가능함을 알려줄수도 있을 것이다. 실제로는 굳이 알려주지 않을 수도 있다. c는 나와 상관없는 인터넷 서비스 프로바이더이기 때문에, b는 세로 이러한 정보를 알려줄 필요가 없다.

w로 내 고객도 아니로, A,C또한 아니기 때문에 굳이 이렇게 할 필요가 없는 것이다.

C입장에서는 B를 통해서 C->B->A->w 를 알수가 없는 것이다. 하지만 굳이 걱정을하지않아도 되는것이 A로 부터 전파를 받기 때문이다. A를 통해서 w로 갈 수 있다는 것을 알 수 있기 때문에 문제 없다.

 

그리고 똑같은 상황에서 x는 ISP를 2개를 사용하는 사람이다. 그래서 2개가 연결이 되어 있다. 

이렇게 되면 B가 지금 x한테 어떤 경로를 알려줄수가 있게될 것이다. w로 도착하기 위해서 거쳐야할 경로에 대해서

 

그러면 이 경로를 x가 만약 받았으면 x가 C한테 알려줄수도 있을 것이다. 하지만 굳이 알려주지 않도록 폴리시를 설정할수있다. 왜 이렇게 하냐면 사용자 네트워크 입장에서는 자신은 사용자인데 B,C에 있는 라우팅에 필요한 트래픽이 사용자 네트워크까지 침투를 할 것이다. 그러면 사용자 입장에서는 굳이 그렇게할 필요를 못느끼기 때문에, x입장에서는 광고가 들어왔을 때 무시를 하게 된다.

 

그렇게 폴리시를 설정해서 동작할 수 있다.

 

그리고 뜨거운 감자 라우팅 하나만 말했지만 실제 BGP 라우팅을 할 때는 순서대로 동작한다.

순서는 중요도와 같다.

1. 폴리시 어떻게 설정했냐에 따라 어떤 라우트를 선정할지가 결정이 된다.

네트워크 사용, 운영자가 어떤 경로를 더 선호함을 세팅하면 그경로를 우선시한다. 만약 비겼다면, 같은 선호도를 가진다면 그중에서 

2. 가장 AS-Path가 짧은 애를 선택하게 된다. --> as-path는 경로가 있으면 어떤것이 더 짧은지, as안에서 코스트가 얼마나 들지 신경쓰지않고 몇개의 as를 지나는지만 신경 쓴다. 이것도 비겼다고 한다면

3. hot potato routing: NEXT-HOP

내부에 intra as 안에서 발생하는 코스트를 최소화하는 경로를 택하게 된다.

4. 여러가지 추가적인 기준을 통해서 결정을 하게 된다.

 

 

반응형