240 likes | 517 Views
Chapter 22 Network Layer: Delivery, Forwarding, and Routing. 라우터를 통한 패킷의 전달. Source routing 과 Next-Hop routring. Fowarding. 라우터는 패킷을 받았을 때 목적지로 이 패킷을 보내기 위해서 라우팅 테이블의 정보를 조사하여 이 패킷의 다음 라우터 (next hop) 를 결정하고 이 패킷을 포워딩한다. R1 의 라우팅 테이블. 라우팅 테이블 예. Linux 에서의 예. 앞의 예의 실제 망 구성.
E N D
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
Fowarding • 라우터는 패킷을 받았을 때 목적지로 이 패킷을 보내기 위해서 라우팅 테이블의 정보를 조사하여 이 패킷의 다음 라우터(next hop)를 결정하고 이 패킷을 포워딩한다.
R1의 라우팅 테이블
정적 라우팅(static routing) 라우팅 테이블의 정보는 변하지 않는다. 동적 라우팅(dynamic routing) 라우팅 테이블의 정보는 망의 상황에 따라서 변한다. 라우터들은 라우팅 정보를 주고 받으면서 이에 따라 라우팅 테이블을 구성한다. 라우팅 프로토콜 라우터들 간에 라우팅 정보를 주고 받는 방식을 규정한 것 라우팅 프로토콜
라우팅 관점에서 인터넷 망 구성 • AS(Autonomous System) • 하나의 관리 기관에 소속된 라우터들의 집합 • AS는 고유한 주소를 갖는다. • AS내의 라우터 간에는 동일한 라우팅 프로토콜이 동작한다.(IGP) • 각 AS는 border router가 존재하면 border router 간에는 각 AS 간의 라우팅 정보를 주고 받는다.(EGP)
Autonomous System 1 Autonomous System 2 Subnet 1.2 Subnet 2.1 R3 R2 R6 Subnet 1.1 Subnet 1.3 Subnet 2.2 R5 R7 R1 R8 Subnet 2.4 R4 Subnet 1.4 Subnet 2.3 LEGEND: Interior Gateway Protocol Exterior Gateway Protocol
라우팅 프로토콜의 분류 Interior Gateway Protocol (IGP) Exterior Gateway Protocol (EGP)
Distance Vector Algorithm • (assume that the metric is delay) • 1단계: 각 라우터는 ECHO 패킷을 이웃하는 라우터에 전송하여 링크의 시간 • 을 측정한다. • 2단계: 각 라우터는 자신의 정보를 이웃하는 라우터에게 주기적으로 전송한다. • 이 정보는 모든 라우터에 도달하기 위한 시간을 포함한다. • 3단계 : 각 라우터는 이웃 라우터의 정보를 이용하여 모든 라우터에 이르는 시간을 계산 • 하여 자신의 정보를 갱신한다.
Echo 패킷 m sec (TAB, TAC, TAD, TAE) 각 라우터에 이르는 시간의 계산 B C A J Ti sec D TB = m + TAB TC = m + TAC TD = m + TAD TE = m + TAE E
이웃 라우터를 찾는다. (주기적으로 Hello message 를 보낸다.) 각 이웃 라우터와의 링크 비용(link cost)를 계산한다. Link cost는 여러가지가 될 수 있다.(시간, 대역폭, 트래픽 양 등등) Link State packet을 구성한다. Link State packet을 망의 모든 라우터에게 전송한다. (broadcast) 모든 라우터로부터 받은 Link State Packet을 사용하여 link state database를 구성한다. Link state database를 사용하여 모든 라우터에 이르는 최단 경로(shortest paths)를 계산한다. Link state Routing Algorithm
Step1: Collect the link state information from the neighboring nodes and make the link state packets. D seq# age A 2 B 2 C 3 E 1 E seq# age C 1 D 1 F 1 A seq# age B 2 C 5 D 2 B seq# age A 2 C 3 D 2 C seq# age A 5 B 3 D 3 E 1 F 1 F seq# age C 1 E 1 Link state routing의 예(1) 5 B C 1 3 F 3 2 2 1 3 A 2 1 D E Link state packets
Step 2: Propagate the link state information to all other nodes. Make the link state packet. Use the flooding. Step 3: Compute the shortest path. Based on the link state information, the node makes the link state database that represents the whole network topology. Compute the shortest path using the Dijkstra algorithm. Link state routing의 예(2)
Link # Cost Link # Cost Link # Cost A-B A-C A-D B-A B-C B-D C-A 2 5 2 2 3 2 5 C-B C-D C-E C-F D-A D-B D-C 3 3 1 1 2 2 3 D-E E-C E-D E-F E-C E-E 1 1 1 1 1 1 Link State Database 5 B C 1 3 F 3 2 2 1 3 A 2 1 D E