앞선 글에서 봤던 count-to-infinity를 해결하는 방법 중의 하나로는 poisoned reverse라는게 있다.
라우팅 정보를 되돌려 주기는 하되, 기존의 정보가 아니라 무한대의 값으로 전달해주어 경로가 사용될 수 없다고 인식하도록 만들어준다.
즉, 경로를 역행하여 값들이 수시로 변경되던 예시를 방지할 수 있다.
Hierarchical Routing
네트워크의 스케일이 큰 경우는 계층화(hierarchical routing)를 시킨다.
이전 글 들에서 link state, distance vector 알고리즘들을 통해 라우터들을 연결시켰었다. 이 때 잠시 말했었던 부분이 있는데, 바로 하나의 네트워크 내부에서만 이러한 알고리즘을 쓰고 외부 네트워크들을 연결하는데에는 다른 알고리즘을 사용한다고 했다.
예시로 A기관 네트워크의 주체는 A기관이므로, 내부에서 사용될 알고리즘도 A기관이 정한다. 마찬가지로 B, C기관도 동일하다. 그렇다면 A, B, C를 아우르는 연결 알고리즘으로는 link state, distance vector 알고리즘이 쓰이지 않는다고 했었다. 그렇다면 어떤 알고리즘으로 연결을 시키는 것일까?
우선 이런 자체 네트워크들을 AS(Autonomous systems)라고 한다. 내부에서 사용하는 알고리즘은 intra-AS(디스턴스, 링크) 외부에서 사용하는 것은 Inter-AS 라우팅이라고한다.
intra-AS and inter-AS
- intra-AS : RIP(distance vector), OSPF(link state)
- 목적 : 최단 경로로 연결
- inter-AS : BGP
- 목적 : 최단 경로는 아니고 정해진게 있는게 아니다. 정치 경제적인 정책적인 요소들이 들어가서 BGP라는 프로토콜이 만들어지는 것이다.
여기서 RIP, OSPF, BGP는 프로토콜에 해당된다!
AS들의 관계에 대해 살펴보자.
아까 봤던 예시를 그대로 들고와서 A, B, C 기관이 있다고 할 때 이 기관들의 위상은 다 다르다. A 기관이 더 유명(?)하거나 힘이 더 있을 수 있다는 뜻이다. 이러한 위상, 관계에 있어 중요한 요소가 아마 돈일 것 이다. 왜냐하면 우선 AS를 운영하려면 하드웨어, 인력, 데이터 센터/전력 등등이 필요하다. 이러한 요소들 뿐만 아니라 네트워크를 지속적으로 운영하는데에는 돈이 제일 많이 든다... (역시 돈..)
그렇기에 Provider-Customer 관계가 존재하게 되는 것이다. B기관이 상대적으로 provider가 될 수도 있고, customer가 될 수도 있는 것이다.
이러한 상하 관계 뿐만 아니라, 수평적인 peer관계도 있다. 비슷한 관계에서는 서로의 트래픽 맘대로 왔다 갔다하여 비용을 물지 않는 경우가 있는데, 일례로 SKT - KT사이에서 트래픽을 무료로 오가게 하는 그런 케이스를 예로 들 수 있다.
BGP (Border Gateway Protocol)
intra-AS가 최적 거리에 따라 정해지는 것과 달리, inter-AS는 정책에 따라 좌우된다.
즉 최적의 거리가 아닌 어떠한 정치/경제적인 요소에 의해 결정된다는 것이다.
AS Path에 자기 자신을 계속 추가하며 이동하고 있는 것을 볼 수 있다. 즉 이를 통해 목적지 까지의 경로를 얻을 수 있다.
물론 그 경로의 수가 적은게 좋겠지만, 수가 같다면 정책에 따라서 선택해주면 된다. 또한 비용도 고민해야하니 경제적인 부분을 선택한다.
결국 최소의 비용, 최대의 이득이 되는 경로를 선택하게 되며 최적의 거리는 사실 신경 안쓴다고 봐도 무방하다.
예를 들어, 삼성전자는 현재 두 개의 경우의 수 내에서 선택을 할 수 있다
- 1129 1755 7018 6341
- 3549 15169 7018 6341
경로의 수는 차이가 없으니 여기서 정책적인 부분에서 갈리게 된다. 예를 들어, 삼전에서 뭔가 구글을 통해 데이터가 오가는게 찝찝하다는 생각이 있다면 다른 경로를 선택할 수 있는 것 처럼 정말 그 기업의 정책에 따라 결정되는 요소이다.
아무튼 이번 강의에서 중요한 부분은 "intra-AS는 최적의 거리를 중요시하나, inter-AS는 최적의 거리가 아닌 정책을 중요시한다." 인 것 같다.