본문 바로가기
Computer Network/컴퓨터네트워크

[컴퓨터네트워크] 1117 - Ch5. Network Layer: Control Plane

by leziwn.cs 2023. 11. 17.
Chapter 5: Network Layer Control Plane

1. Two approaches to structing network control plane.

  1. Traditional routing algorithms (per-router control)
    - Routing algorithm
    - Routing protocol
  2. SDN controllers (logically centralized control)

2. Network management, configuration
 


Traditional Routing Algorithms
  • Data plane: Forwarding
  • Control plane: Routing

 

Per-Router Control Plane (traditional routing)

Per-Router Control Plane (traditional routing)

: Traditional routing에서는 하나의 router에 control plane과 data plane이 공존한다.
--> 각각의 router마다 control plane에 routing algorithm이 존재하고, 따라서 하나의 router마다 data plane의 forwarding table이 만들어진다.
 
 

Routing Algorithms
  • Routing protocol: path selection + message format & action.
  • Routing algorithm: path selection

 

Routing Protocol

▶ 목표: Sending host로부터 receiving host까지의 "좋은" 경로를 정한다. --> forwarding table
- "좋은" 경로: minmum cost path, shortest path

  • Bandwidth (대역폭)↑ --> Good!
  • Congestion ↑ --> Bad!

 

Routing Algorithm Classification

▶ Global vs. Decentralized

  • Global: 모든 router들이 모든 네트워크 정보를 가지고 있다. (link state algorithms)
  • Decentralized: router들은 인접 router의 정보만 가지고 있다. --> 이웃들과 소통하며 네트워크 전체 목적지 경로가 설정된다.

▶ Static vs. Dynamic

  • Static: 경로 계산 cost가 변하지 않는다. --> route 계산을 자주 할 필요가 없다.
  • Dynamic: 상황에 따라 경로 계산 cost가 바뀐다. --> route 계산을 자주 해야 한다. (임계치를 넘으면, route 계산을 한다.)

 
 

Routing Algorithm Classification
  • Link state routing algorithm: Dijkstra's algorithm (OSPF)
  • Distance vector algorithm: Bellma's Ford algorithm
  • Hierarchical routing

 

Dijkstra's Link-State Routing Algorithm
  • Global: 모든 router가 전체 네트워크 정보를 가진다.
    <-- link state broadcast: 각 router는 모든 router의 broadcast를 듣는다.
  • Dynamic: 각 router 자신으로부터 최단 경로를 매번 계산해서 업데이트한다. --> forwarding table

--> k번째 탐색 이후에는, 목적지로부터 k번째로 가까운 경로가 선택된다.

  • Cx,y: 노드 X와 노드 Y 사이의 cost
  • D(v): 현재 단계에서 least-cost path
  • p(v): 목적지 노드로 direct link로 연결된 노드
  • N': 최소 비용 경로에 포함되는 router (iteration이 진행되면서, 점차 늘어난다.)

 

Dijsktra's Algorithm

Dijsktra's Algorithm

▶ 초기화:

  • 만약 source 노드와 인접하면, D(v)에 cost를 추가한다.
  • 만약 source 노드와 인접하지 않으면, cost = ∞

▶ Loop:

  • 현재 router와의 거리가 최소인 router를 추가한다.
  • 모든 router가 N'에 들어올 때까지 반복한다.

 

Dijsktra's Algorithm: Example 1

Dijsktra's Algorithm: Example 1

: source node로부터 시작하여, 현재 N'에 속한 노드와 인접하면서 목적지로의 cost가 가장 작은 노드를 N'에 추가한다.

  • 목적지로의 cost는 새로운 노드가 N'에 추가될 때마다 업데이트된다.

 

Dijsktra's Algorithm: Example 2

Dijsktra's Algorithm: Example 2

 
 

Dijsktra's Algorithm - discussion

▶ 알고리즘 복잡도:

  • Source 제외 n개의 노드가 있다면, n번의 iteration이 필요하다. --> 복잡도: O(n^2)
  • 힙(heap)으로 구현하면, O(nlogn)의 복잡도

▶ message 복잡도
: 각각의 router는 자신의 cost를 각각의 link state로 broadcast해야 한다.

  • n개의 노드, E개의 edge가 있다면, O(n*E)
  • 복잡도: O(n^2); 절약됨!

 

Problem of Dijkstra's Algorithm

Problem of Dijkstra's Algorithm

: 매번 cost가 바뀜에 따라(dynamic), packet이 서로 다른 경로에 의해 전송된다. (out of order delivery)
 
 
 
 
 
 
출처: 이화여자대학교 이미정교수님 컴퓨터네트워크

'Computer Network > 컴퓨터네트워크' 카테고리의 다른 글

[컴퓨터네트워크] 1124  (1) 2023.11.27
[컴퓨터네트워크] 1122  (2) 2023.11.26
[컴퓨터네트워크] 1115  (0) 2023.11.15
[컴퓨터네트워크] 1110  (0) 2023.11.11
[컴퓨터네트워크] 1108  (0) 2023.11.10