네트워크 계층 3

BinaryHyeok·2023년 12월 8일
0

인터넷 제어 메시지 프로토콜(ICMP)

ICMP(Internet Control Message Protocol)은 호스트와 라우터가 서로 간에 네트워크 계층 정보를 주고받기 위해 사용된다.

라우팅 알고리즘

목적지까지의 최단거리를 계산하기 전에 모든 라우터들은 네트워크 상황을 알고 있다. 따라서 사전에 서로 간의 정보를 전체 네트워크에 브로드캐스트 한다. Link-State 알고리즘은 발명자의 이름을 따서 다익스트라 알고리즘 이라고 부른다.

Distance-Vector Routing Algorithm

Link-State 알고리즘이 네트워크의 전체 정보를 이용하는 알고리즘인 반면에, DV 알고리즘은 반복적이고 비동기적이며 분산적이다. 각 노드는 하나 이상의 직접 연결된 이웃으로부터 정보를 받고, 계산을 수행하며, 계산된 결과를 다시 그 이웃들에게 배포한다는 점에서 분산적이다. 또한 이웃끼리 더 이상 정보를 교환하지 않을 때 까지 프로세스가 지속된다는 점에서 반복적이다.

Dx(y) = min{c(x,v) + Dv(y)}

  • 각 이웃 노드 v중에서 x에 집적 접속된 이웃 노드까지의 비용 c(x,v)
  • 노드 x의 거리 벡터, 즉 x로부터 N에 있는 모든 목적지 y로의 비용 예측값을 포함하는 벡터 Dx = [Dx(y): y in N]
  • 이웃 노드들의 거리 벡터들, 즉 v가 x의 이웃이라고 하면 Dv = [Dv(y): y in N]

DV와 LS 알고리즘은 경로를 계산할 때 서로 대비되는 방법을 취한다.
DV 알고리즘에서 각 노드는 오직 직접 연결된 이웃과만 메시지를 교환하지만, 자신으로부터 네트워크 내 모든 노드로의 최소 비용 추정값을 이웃들에게 제공한다.
LS 알고리즘은 전체 정보를 필요로 한다. 각 노드는 다른 모든 노드와 브로트캐스트를 통해 통신하지만, 오직 자신에 직접 연결된 링크의 비용만 알린다.

인터넷에서 AS 내부 라우팅

AS(autonomous system)은 동일한 관리 제어하에 있는 라우터의 그룹으로 구성된다. AS는 고유한 AS 번호를 가지고 있으며, IP 주소처럼 ICANN의 지역 등록 기관에 의해 할당된다.
같은 AS 안에 있는 라우터들은 동일한 라우팅 알고리즘을 사용하고 상대방에 대한 정보를 갖고 있다. AS 내부에서 동작하는 라우팅 알고리즘을 AS 내부 라우팅 프로토콜(intra-autonomous system routing protocol)이라고 한다.

ISP간의 라우팅 : BGP

인터넷의 모든 AS 간의 라우팅은 BGP(Border Gateway Protocol)라고 불리는 AS 간 라우팅 프로토콜을 사용한다.

BGP의 역할

AS 내에 있는 목적지에 대해서는 라우터의 포워딩 테이블 엔트리들이 해당 AS의 AS 내부 라우팅 프로토콜에 의해 결정된다. 하지만 목적지가 AS 외부에 있다면 BGP가 필요하다.
BGP에서는 패킷이 특정한 목적지 주소를 향해서가 아니라 CIDR 형식으로 표현된, 주소의 앞쪽 prefix를 향해 전달된다.

  1. 이웃 AS를 통해 도달가능한 서브넷 prefix 정보를 얻는다. BGP는 각 서브넷이 자신의 존재를 인터넷 전체에 알릴 수 있도록 한다.
  2. 서브넷 주소 prefix로의 가장 좋은 경로를 결정한다. 라우터는 특정한 주소 prefix를 향한 2개 이상의 경로를 알 수도 있다. 가장 좋은 경로를 결정하기 위해 라우터는 BGP의 경로 결정 프로시저를 수행한다.

AS 내부에서는 최단 루트로 이동하지만, AS를 넘나드는 상황에서는 최단루트로 가지 않는다. AS를 이동하는 것은 비용이 드는 과정이므로, 적당히 돈이 적게 드는 방향으로 이동한다.

Reference

KOCW - 컴퓨터 네트워크
컴퓨터 네트워킹 하향식 접근

0개의 댓글