거리-벡터 알고리즘을 기반으로 하는 RIP(Routing Information Protocol), 링크-상태 알고리즘을 기반으로 하는 OSPF(Open Shortest Path First), 그리고 경로-벡터 알고리즘을 기반으로 하는 BGP(Border Gateway Protocol)의 세가지 통상적인 프로토콜에 대해 살펴보도록 하자.
1. 인터넷 구조
인터넷은 하나의 백본을 사용하는 트리와 같은 구조에서 서로 다른 개인회사의 다중 백본 구조로 변경되고 있다.
오늘날의 인터넷 구조는 아래와 같은 그림과 같이 유사한 구조로 되어 있다고 볼 수 있다.
- 계층적 라우팅
오늘날 인터넷은 거대한 수의 네트워크와 네트워크를 연결하는 라우터들로 이루어져 있다. 확장성 이슈와 운용상의 이슈의 두 가지 이유 때문에 인터넷에서 라우팅은 하나의 단일 프로토콜만을 사용할 수 없다. 확장성문제(Scalability Problem)는 포워딩 테이블의 크기가 거대화되고, 포워딩 테이블에서 목적지를 검색하는 것에 시간이 소모되며, 갱신 시 엄청난 양의 트래픽을 발생시킨다. 운용상의 이슈(Administrative Issue)는 회사마다의 정책을 고려해야하는 이슈가 있다.
- 자율 시스템(AS)
ISP가 네트워크와 라우터들을 관리할 때 각 ISP는 AS로 동작한다. 작은 크기, 중간 크기, 큰 크기의 AS가 있기는 하지만, AS는 ICANN으로부터 ASN(Autonomous System Number)가 할당받는다. AS의 종류는 스터브(stub), 다중홈(multihomed), 임시(transient)가 있다.
- 스터브 AS 스터브 AS는 오직 다른 AS하나와만 연결을 할 수 있다. 데이터는 스터브 AS를 지나가지 못한다.
- 다중홈 AS 다중홈 AS는 다른 AS들과 하나 이상의 연결 상태를 가질 수 있다. AS들이 정한 규칙은 데이터가 AS를 지나도록 허락하지 않는다.
- 임시 AS 임시 AS는 하나 이상의 AS와 연결되어 있고, 데이터가 그들을 통과하도록 허락한다.
2. 라우팅 정보 프로토콜(RIP)
라우팅 정보 프로토콜(RIP, Routing Information Protocol)은 가장 널리 사용되는 거리-벡터 라우팅 알고리즘에 기반한 인트라 도메인 라우팅 프로토콜이다.
- 홉 카운트
AS에서 라우터는 AS에서 어떻게 다른 네트워크(서브넷)로 전달할 것인지를 알아야 하기 떄문에 RIP 라우터들은 이론적인 그래프처럼 다른 노드에 도달하는 대신, 다른 네트워크에 도달하는 비용을 전달한다. 다시 말해, 라우터와 네트워크 사이에 정의된 비용은 목적지 호스트의 위치에 달려 있다.
- 포워딩 테이블
AS에서 라우터는 그들의 목적지 네트워크에게 패킷을 전송하기 위해 포워딩 테이블을 유지해야 할 필요가 있다.
각각의 세로 단에서 첫 번째 세로줄은 목적지 네트워크의 주소를 나타내며, 두 번째 줄은 패킷이 전송되어야 할 다음 라우터의 주소를 나타낸다. 그리고 세 번째 줄은 목적지 네트워크에 도달하기 위한 홉 수로 나타내는 비용을 의미한다.
- RIP 구현
RIP는 잘 알려진 포트 번호 520에서UDP의 서비스를 사용하는 프로세스로 수행된다. BSD에서는 RIP는 라우티드라 불리는 백그라운드에서 동작하는 프로세스인 데몬 프로세스이다. 이것은 비록 IP 데이터그램 안에 차례로 캡슐화되는 RIP가 IP가 AS를 통과하여 데이터그램을 전송하도록 돕는 라우팅 프로토콜이지만, RIP 메시지는 UDP 사용자 데이터그램 안에 캡슐화 되어 있다는 의미이다. 다시 말해, RIP는 응용층에서 동작하지만, IP는 네트워크층의 포워딩 테이블에서 만들어진다.
- 성능
- 갱신 메시지
- 포워딩 테이블의 통합
- 견고성
3. 개방 최단 경로 우선(OSPF)
개방 최단 경로 우선(OSPF, Open Shortest Path First)은 RIP와 같은 인트라 도메인 라우팅 프로토콜이지만, OSPF는 링크-상태 라우팅 프로토콜을 기반으로 한다. OSPF는 개방형 프로토콜로 사양이 공개되어 있다는 의미이다.
- 메트릭
RIP처럼 OSPF에서도 호스트로부터 목적지까지 도달하는 비용은 발신지 라우터에서부터 목적지 네트워크까지로 계산된다. 그러나 각 링크(네트워크)는 처리량, 왕복시간, 신뢰성 등을 기반으로 가중치를 할당 받을 수 있다.
- 포워딩 테이블
각 OSPF 라우터는 자신의 목적지 사이에서 다익스트라 알고리즘을 사용하여 최단-경로 트리를 찾은 후에 포워딩 테이블을 작성한다.
그러나 OSPF에서 최단-경로 트리 방식은 모든 라우터에게 글로벌 LSDB를 만들어 주기 위해 LSP들을 가진 모든 AS에게 플러딩할 것을 요구한다. 비록 이러한 방식이 작은 AS에서는 문제가 안되지만, 이것은 큰 규모의 AS에서 커다란 트래픽을 유발시키게 된다.이러한 문제를 대응하기 위해 AS는 지역(area)이라고 불리는 작은 부분으로 나눠진다.
- 링크-상태 광고(Link-State Advertisement)
OSPF는 라우터가 LSDB의 형식으로써 각 링크의 상태를 모든 이웃들에게 알리는 것을 요청하는 링크-상태 라우팅 알고리즘을 기반으로 한다. 라우터 링크, 네트워크 링크, 네트워크 요약 ㄹ이크, AS의 요약 링크, 외부 링크의 다섯 가지 종류의 링크 상태 광고가 있다.
- 성능
- 갱신 메시지 먄약 지역이 크다면, 메시지들은 네트워크에 혼잡을 가져오며, 많은 대역폭을 소비할 것이다.
- 포워딩 테이블의 통합 LSP의 전달이 완료되면, 각 라우터는 자신의 최단-경로 트리와 포워딩테이블을 작성할 수 있다.각 라우터는 다익스트라 알고리즘을 수행하여야 하기 떄문에 계산을 위한 시간이 소모된다.
- 견고성
4. 경계 게이트웨이 프로토콜 버전 4
경계 게이트웨이 프로토콜 4(BGP4, Border Gateway Protocol version 4)는 현재 인터넷에서 사용하고 있는 유일한 인터도메인 라우팅 프로토콜이다. BGP4는 경로-벡터 알고리즘을 기반으로 하고 있지만, 인터넷에서 네트워크의 접근성에 대한 정보를 제공하기에 알맞다.
AS2, AS3와 AS4는 스터브 AS이고, AS1은 임시 AS이다. AS2, AS3, AS4 사이에서 데이터 교환은 AS1을 통해 이루어진다.
8.4 멀티캐스트 라우팅
1. 유니캐스팅
유니캐스팅에는 하나의 발신지 네트워크와 목적지 네트워크가 있다. 발신지 네트워크와 목적지 네트워크의 관계는 1대1이다.
2. 멀티캐스팅
멀티캐스팅에는 하나의 발신지와 목적지 그룹이 존재한다. 둘의 관계는 1대다의 관계이다. 이런 유형의 통신에선느 발신지 주소는 유니캐스트 주소이지만 목적지 주소는 하나 이상의 목적지 주소로 이루어진 그룹 형태이다.
- 멀티캐스팅 응용
- 분산 데이터베이스 접근 정보는 생성되는 시점부터 한 곳 이상의 위치에 저장된다. 사용자가 특정 정보를 요청하면 분산되어 있는 모든 데이터베이스에 멀티캐스트하여 해당 정보가 있는 위치가 응답한다.
- 정보 보급 특정 소프트웨어 패키지를 구매한 구매자들에게 소프트웨어 갱신을 한 번에 전송할 수 있다.
- 원격 회의 원격회의에 참여하는 모든 사람들은 동시에 같은 정보를 받아야 한다.
- 원격 교육 한 교수가 진행하는 수업을 특정 그룹의 학생들이 들을 수 있다.
3. 거리-벡터 멀티캐스트 라우팅 프로토콜
거리-벡터 멀티캐스트 라우팅 프로토콜(DVMRP, Distance Vector Multicast Routing Protocol)은 유니캐스트 라우팅에서 사용되는 라우팅 정보 프로토콜(RIP)를 확장한 것이다.
4. 멀티캐스트 개방 최단경로 우선
멀티캐스트 개방 최단경로 우선(MOSPF,Multicast Open Shortest Path First)은 유니캐스트 라우팅에 사용되는 개방 최단경로 우선(OSPF)프로토콜의 확장 형태이다. 유니캐스트 링크 상태 라우팅에서 인터넷의 각 라우터는 최단-경로 트리를 생성하기 위한 링크 상태 데이터베이스(LSDB)를 가진다.
'Study > Networking' 카테고리의 다른 글
9.3 사용자 데이터그램 프로토콜(UDP) (0) | 2023.06.03 |
---|---|
9.1 전송층 서비스(TransportLayer Service) & 9.2 전송층 프로토콜 (2) | 2023.05.30 |
8.2 라우팅 알고리즘 (0) | 2023.04.15 |
7.5 IPv6 & 7.6 IPv4 to IPv6 (0) | 2023.04.14 |
7.4 IPv4 - (3) (0) | 2023.04.14 |