유니캐스트는 하나의 sender와 하나의 receiver 사이의 통신을 의미하며, 일대일 통신을 의미한다
이 장에서는 라우터가 유니캐스트 통신을 지원하기 위해 라우팅 테이블을 만드는 방법에 대해 논의한다
즉 라우팅 프로토콜에 대해 논의한다
우리는 인터넷이 라우팅 정보의 교환을 효율적으로 처리하기 위해 autonomous 시스템으로 알려진 영역으로 어떻게 나뉘는지 보여준다
그런 다음 시스템 내에서 사용되는 두 가지 주요 라우팅 프로토콜과 시스템 간의 라우팅 정보 교환에 사용되는 한 가지 라우팅 프로토콜을 설명한다
인터넷은 라우터로 연결된 네트워크의 조합이다
데이터그램이 source에서 destination으로 갈 때, 데이터그램은 아마도 destination 네트워크에 연결된 라우터에 도달할 때까지 많은 라우터를 통과할 것이다
오늘날 인터넷은 너무 커서 하나의 라우팅 프로토콜이 모든 라우터의 라우팅 테이블을 업데이트하는 작업을 처리할 수 없다
이러한 이유로 인터넷은 autonomous 시스템으로 나뉜다
자율 시스템(AS)은 단일 관리의 권한 아래 네트워크와 라우터의 그룹이다
자율 시스템 내부의 라우팅을 intra domain 라우팅이라고 한다
자율 시스템 간의 라우팅을 inter domain 라우팅이라고 한다.
RIP
라우터간 벡터 거리
벨만 포드 이용
내부 라우팅
OSPF
BGP
모든 라우터와 네트워크가 있는 AS를 그래프로 본다
라우터는 일반적으로 두 노드를 연결하는 링크에 의해 노드와 네트워크로 표현될 수 있지만 다른 표현도 가능하다
Bellman-Ford 알고리즘을 사용하여 노드 간의 거리가 주어진 그래프에서 노드 간의 최단 경로를 찾는다
그림은 AS에 대한 초기 라우팅 테이블을 보여준다
이 그림은 모든 라우팅 테이블이 동시에 작성되었음을 의미하지는 않는다
각 라우터는 부팅될 때 자체 라우팅 테이블을 만든다
이제 라우터 A가 인접 라우터인 라우터 B, D 및 C에 4개의 레코드를 보낸다고 가정한다
그림은 이러한 레코드를 수신할 때 B의 라우팅 테이블의 변경 사항을 보여준다
다른 이웃들의 라우팅 테이블에서의 변화를 연습으로 남겨두었다.
위 과정을 거친 라우터들의 최종 라우팅 테이블이다
RIP는 UDP를 사용하고 520번 포트번호를 사용
링크 상태 라우팅은 거리 벡터 라우팅과는 다르다
링크 상태 라우팅에서 도메인의 각 노드가 도메인의 전체 토폴로지(노드와 링크 목록, 유형, 비용(메트릭), 링크 상태(업 또는 다운)를 포함하는 연결 방법)를 가지고 있다면 노드는 다이크스트라 알고리즘을 사용하여 라우팅 테이블을 만들 수 있다
OSPF(Open Shortest Path First) 프로토콜은 link state 라우팅을 기반으로 하는 intra domain 라우팅 프로토콜이다
도메인은 autonomous 시스템이다
OSPF는 라우팅을 효율적이게 하기 위해 autonomous시스템을 area으로 나눈다
area 내부의 라우터는 해당 area에 라우팅 정보를 제공
area의 경계에서 area border 라우터라고 하는 특수 라우터는 area에 대한 정보를 요약하고 다른 area로 보냄
시스템 내부의 area 중에는 백본이라고 불리는 특별한 영역이 있다
Point to Point link
transient link
stub link
그림은 7개의 네트워크와 6개의 라우터를 가진 작은 AS를 보여준다
두 개의 네트워크는 point to point 네트워크다
transient 및 stub 네트워크에 N1 및 N2와 같은 기호를 사용한다
point to point 네트워크에는 ID를 할당할 필요가 없다
그림에는 OSPF에서 볼 수 있는 AS의 그래픽 표현도 나와 있다
라우터에 컬러 노드를 사용하고 네트워크에 음영 노드를 사용했다
그러나 OSPF는 두 가지를 모두 노드로 본다
3개의 stub 네트워크가 있다
OSPF는 다양한 유형의 패킷을 사용
OSPF 패킷은 IP 데이터그램으로 캡슐화된다
거리 벡터와 링크 상태 라우팅은 둘 다 내부 라우팅 프로토콜이다
이들은 시스템 내에서 도메인 내 또는 AS 내로 사용될 수 있지만 시스템 간에는 사용할 수 없다
이러한 라우팅 프로토콜은 운영 영역이 커지면 다루기 어려워진다
거리 벡터 라우팅은 운영 영역에 홉이 몇 개 이상 있을 경우 불안정할 수 있다
링크 상태 라우팅은 라우팅 테이블을 계산하기 위해 엄청난 양의 리소스가 필요
경로 벡터 라우팅은 도메인 간 또는 AS 간 라우팅에 유용하다는 것이 증명된 외부 라우팅 프로토콜이다
거리 벡터 라우팅에서, 라우터는 상응하는 비용(홉 수)으로 동일한 AS에서 도달할 수 있는 네트워크 목록을 가지고 있다
경로 벡터 라우팅에서, 라우터는 각 네트워크에 도달하기 위해 경로(통과할 AS 목록)로 도달할 수 있는 네트워크 목록을 가지고 있다
즉, 거리 벡터 라우팅의 작동 도메인은 단일 AS이며 경로 벡터 라우팅의 작동 도메인은 전체 인터넷이다
거리 벡터 라우팅은 각 네트워크까지의 거리를 알려주고, 경로 벡터 라우팅은 경로를 알려준다.
각 AS는 해당 AS의 각 네트워크에 대한 도달 가능성 정보를 수집하는 적어도 하나의 경로 벡터 라우팅이 있어야 한다
AS는 자신의 영역에 있는 기존 네트워크 목록을 가질 필요가 있다
위 그림은 3개의 AS를 보여준다
각 외부 라우터는 AS에서 도달할 수 있는 네트워크를 보여주는 목록이 있다
AS가 서로 reachability 목록을 공유하는 경우 각 라우터에 대한 경로 벡터 라우팅 테이블을 만들 수 있다
앞선 그림에서, AS1의 라우터 R1은 그것의 도달 가능성 목록을 라우터 R2로 보낼 수 있다
라우터 R2는 도달 가능성 목록을 결합한 후 R1과 R3 모두에 결과를 전송할 수 있다 라우터 R3은 도달 가능성 목록을 R2로 전송하여 라우팅 테이블을 개선하는 등의 작업을 수행할 수 있다
현재 그림은 세 개의 라우터가 모두 라우팅 테이블을 업데이트한 후 각 라우터의 라우팅 테이블이다
라우터 R1은 패킷이 네트워크 201.2.2.0/24에 도착하면 이 네트워크가 AS1(홈)에 있다는 것을 알고 있지만, 패킷이 네트워크 130.14.0.0/16에 도착하면 패킷은 대상 네트워크에 도달하기 위해 AS1에서 AS2로 이동해야 한다
반면에, 라우터 R2가 네트워크 22.0.0.8로 향하는 패킷을 받는다면, 라우터는 목적지에 도달하기 위해 AS2에서 AS3로 이동해야 한다는 것을 알고 있다
경로 벡터 라우팅 프로토콜은 일반적으로 address aggregation을 지원한다
이것은 경로 벡터 라우팅 테이블을 더 단순하게 만들고 라우터 간의 교환을 더 빠르게 하는 데 도움이 된다
예를 들어, 그림의 경로 벡터 라우팅 테이블을 집계하여 더 짧은 라우팅 테이블을 만들 수 있습니다
범위는 또한 해당 AS에 없을 수 있는 블록을 포함할 수 있다
예를 들어, 201.2.0.0/22 범위에는 AS1의 어떤 네트워크의 네트워크 주소도 아닌 201.2.0.3/24 범위도 포함된다
그러나 이 네트워크가 일부 다른 AS에 존재하는 경우 결국 라우팅 테이블의 일부가 된다
longest path routing에 따르면, 이 네트워크 주소는 201.2.0.0/22보다 높고 먼저 검색되어 정확한 라우팅이 이루어진다
BGP(Border Gateway Protocol)는 경로 벡터 라우팅을 사용하는 도메인 간 라우팅 프로토콜이다
4가지 버전을 거쳤다
BGP는 외부 BGP(E-BGP)와 내부 BGP(I-BGP)의 두 가지 유형이 있다
E-BGP 세션은 두 개의 서로 다른 자율 시스템에 속하는 두 개의 노드 간에 정보를 교환하는 데 사용
반면, I-BGP 세션은 자율 시스템 내의 두 라우터 간에 라우팅 정보를 교환하는 데 사용
AS1과 AS2 사이에 설정된 세션은 E-BGP 세션
두 개의 라우터는 인터넷에서 네트워크에 대해 알고 있는 정보를 교환한다
그러나 이 두 라우터는 자율 시스템의 다른 라우터로부터 정보를 수집해야 한다
작업은 I-BGP 세션을 사용하여 수행
BGP는 classless 어드레싱과 CIDR(classless 도메인 라우팅)을 지원한다
BGP는 TCP를 사용하고 179 포트번호를 사용