앞선 포스팅에서 라우터 내부 구조와 IP, 라우팅 알고리즘을 배웠다. 이것들은 미시적 관점에서의 라우팅이고 거시적 관점, 인터넷에서 어떻게 라우팅이 이루어지는지 살펴보자.
Hierarchical Routing
- 계층적인 라우팅의 필요성
- 앞서 프로토콜은 복잡한 시스템이므로 기능별로 계층을 나누어서 구현했다.
- 인터넷도 복잡하고 거대한 시스템이므로 계층을 나누어서 라우팅하는 것이 적합할 것이다.
- 네트워크가 커지다보면 실제 데이터를 교환하는 것보다 라우팅 데이터를 더 많이 교환하는 상황이 올 수도 있다.
- 두 가지 문제
- Scale Problem
- Administrative Autonomy
- 인터넷은 Network of Networks이다.
- 인터넷을 이루는 각 네트워크마다 관리자가 있다.
- 현실의 네트워크는 여러 어른들의 사정으로 이상적인 이론과는 다르다.
- Autonomous System
- 네트워크들은 AS들로 구성되어 있다!
- 같은 AS내의 라우터들은 같은 라우팅 프로토콜을 사용한다.
- Interconnected AS들
- 라우팅 테이블에서 Subnet들은 두가지로 나뉘어진다.
- 자신의 AS 내에 있는 Subnet ( Inter AS Subnet)
- 자신의 AS 밖에 있는 Subnet ( Intra AS Subnet)
- Intra AS 라우팅과 Inter AS 라우팅의 프로토콜은 다르다.
- Intra AS Routing Protocol과 Inter AS Routing Protocol이 협력해서 Fowarding Table을 구성한다.
- 라우팅 테이블에서 Subnet들은 두가지로 나뉘어진다.
-
Inter AS Protocol`s Task
- AS들 끼리의 라우팅 프로토콜은 무슨 일을 해야하는지 살펴보자
- 다른 AS들을 통해서 어느 Prefix Subnet으로 갈 수 있는지 배운다.
- 자신의 AS 내의 라우터들에게 Reachability 정보를 전파한다.
- 목적지까지 어느 AS들을 거쳐서 갈건지 결정한다.
Intra - AS Routing Protocol
- RIP : Routing Information Protocol
- 가장 기초적인 Intra AS 라우팅 프로토콜이다.
- Distance Vector를 사용한다.
- 소규모, 균일한 네트워크에 적합하다.
- UDP를 사용한다.
- OSPF : Open Shortest Path First
- Link State 알고리즘을 사용한다.
- Link State Packet을 네트워크 전체에 전파한다.
- 각 라우터는 자신에 대해 다익스트라 알고리즘을 계산해서 모든 목적지까지의 최단경로를 알아낸다.
- OSPF Advertisement는 이웃 링크의 코스트를 알고있다.
- 라우타가 모든 라우터의 LS Packet을 받아야 Link State를 적용할 수 있다.
- OSPF 는 IP 데이터그램에 실린다.
- OSPF의 특징
- Hierarchical OSPF로 큰 AS에 적용할 수 있다.
- 다양한 링크 코스트를 사용할 수 있다.
- 라우팅 테이블을 여러개 생길 수 있다.
- Type Of Service를 사용할 수 있다.
- 메세지는 인증된다.
- Multicast 를 위한 OSPF (MOSPF)는 OSPF와 같은 Topology를 사용한다.
- Mutiple Same Cost Path가 허용된다.
- Hierarchical OSPF
- Link State 알고리즘은 엣지 수와 노드 개수가 많아질 수록 LS Packet 또한 늘어난다.
- OSPF를 Hierarchical ISP처럼 구성하면 된다!
- AS를 Area로 나누고 Area들끼리의 연결은 Area Border Router가 담당한다.
- Area Border Router는 Backborn 라우터로 연결된다.
- 다른 AS로는 Boundary Router로 연결된다.
Inter - AS Routing Protocol : BGP
- BGP : Border Gateway Protocol
- AS내에선 각 AS에 맞게 RIP든 OSPF든 IGRP(시스코용)를 사용할 수 있다.
- 하지만 AS들끼리 연결을 위해서는 프로토콜을 통일해야한다.
- 인터넷에선 BGP라는 단 하나의 Inter - AS 라우팅 프로토콜을 사용한다.
- Inter - AS 라우팅 프로토콜의 두 기능
- 외부 AS들에게서 Reachability를 알아온다.
- eBGP가 담당한다.
- 내부 라우터들에게 Reachability를 전파한다.
- iBGP가 담당한다.
- 좋은 경로를 결정한다.
- 외부 AS들에게서 Reachability를 알아온다.
- BGP Session
- 이웃한 두 BGP 라우터 (Gateway Router)들은 BGP 메세지를 교환한다.
- 반영구적인 TCP 커넥션을 사용한다.
- BGP advertisement를 교환한다.
- Advertisement의 의미
- 어떤 목적지의 prefix를 알려준다는 것은 자신의 AS를 통해서 데이터그램을 전송해준다는 약속이다.
- BGP의 경로 정보 전파
- AS3 - AS1 - AS2 로 연결되어 있다고 생각하자.
- AS3는 AS1에게 eBGP Session으로 Reachability를 전파한다.
- AS3에 연결되어있는 AS1라우터는 iBGP를 이용해서 AS내부에 새로운 Reachability를 전파하거나 안할 수 있다.
- AS2에 연결되어있는 AS1라우터는 AS2에게 새로운 Rechability를 전파하거나 안할 수 있다.
- 라우터가 새로운 Prefix를 받으면 포워딩 테이블에 새로운 엔트리를 생성한다.
- 라우팅 테이블의 엔트리
- 엔트리는 Prefix와 Attribute를 가지고 있다.
- Attribute
- AS - Path : 목적지까지 어떤 AS들을 거쳐서 가는지
- NEXT HOP : 첫번째 AS의 게이트웨이 라우터 주소
- 다음 AS로가는 Gateway가 여러개일 수 있기 때문이다.
- Import Policy
- Reachability Info를 받아들이는 것을 Import라고 한다.
- 거치면 안되는 라우터가 있는 경우등에 대해서 Import하거나 안할 수도 있다.
- BGP Route Selection
- 1. Policy Decision
- 2. Shortest AS-Path
- 3. Closest Next Hop ( Hot Potato Routing)
- 4. Additional Criteria
- BGP Message
- BGP 메세지는 Peer(이웃한 게이트웨이)들간 반영구적 TCP 커넥션 위에서 교환된다.
- BGP Message의 종류
- OPEN : TCP 커넥션을 맺는다.
- UPDATE : 새로운 경로를 Advertise하거나 기존 경로를 철회할 때 사용한다.
- KEEP ALIVE : OEPN에 대한 ACK이기도 하고 커넥션이 종료되는 것을 방지하기 위해 주기적으로 보내기도한다.
- NOTIFICATION : 세션을 종료하거나 오류 보고용으로 쓰인다.
이번 글에서는 BGP를 자세히 다루진 않았다 다음 글에서 조금 더 자세히 살펴보자
더보기
본 게시물은 kocw 이화여자대학교 이미정 교수님의 컴퓨터 네트워크 강의를 듣고 정리한 글임을 밝힙니다.
내용상 틀린 부분이 있을 수도 있으며 이에 대한 책임을 지지 않습니다.
틀린 부분이나 오타 지적은 댓글로 남겨주세요.
'컴퓨터 네트워크' 카테고리의 다른 글
네트워크 20강 - 링크 계층 (0) | 2020.08.16 |
---|---|
네트워크 19강 - 라우팅과 브로드캐스팅 (0) | 2020.08.16 |
네트워크 17강 - 라우팅 알고리즘 (0) | 2020.08.16 |
네트워크 16강 - ICMP 와 IPv6 (0) | 2020.08.12 |
네트워크 15강 - IP 주소 할당 (0) | 2020.08.11 |