컴퓨터 네트워크
네트워크 18강 - Routing In Internet
판교가고싶어요
2020. 8. 16. 17:10
앞선 포스팅에서 라우터 내부 구조와 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 이화여자대학교 이미정 교수님의 컴퓨터 네트워크 강의를 듣고 정리한 글임을 밝힙니다.
내용상 틀린 부분이 있을 수도 있으며 이에 대한 책임을 지지 않습니다.
틀린 부분이나 오타 지적은 댓글로 남겨주세요.