Network layer control plane-part1

랄라콥스·2024년 12월 11일

comnet

목록 보기
4/5
post-thumbnail
  • data plane: forwarding
    라우터 input에서 적절한 output으로 => 라우터 내에서
  • control plane: routing
    라우터에서 라우터로 어떻게 연결될지

구조

  1. Per-router control plane
    모든 라우터 내에 있는 routing 알고리즘을 따라

  2. SDN(Software-Defined Networking) control plane
    Remote controller가 계산해서 forwarding table을 만들어줌 이거를 각 라우터에 설치

routing protocols

목표: 좋은 경로를 결정하는 것

  • 경로: router packet의 순서 src부터..des까지~
  • 좋은: cost 적고, 빠르고, 혼잡도도 적고~

분류
1. global
모든 라우터가 모든 라우터 물리적 연결, link cost 정보를 알고 있음, link state 알고리즘을 따름
2. decentralized
라우터는 처음에 연결된 이웃에 대한 링크 비용만 알아서 반복적인 계산 과정을 통해 이웃 라우터와 정보를 교환합니다.
'거리 벡터' 알고리즘을 따름
3. static
라우터가 링크 계산을 천천히 함
4. dynamic
링크 계산을 빨리 함

  • 다익스트라 알고리즘
  • 네트워크 연결 상황, link cost에 대해 다 알고 있음 => 모든 node가 같은 정보를 가지고 있음
  • source에서 다른 노드로 가는 최소 비용 경로 계산
  • k번 반복 -> k만큼 떨어진 node로 가는 최소 비용 경로 알게 됨
1 Initialization:
2 N' = {u} // 초기 source 노드
3 for all nodes v
4 	if v adjacent to u // 직접 연결
5 		then D(v) = cu,v
6 	else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 	D(v) = min ( D(v), D(w) + cw,v ) // D(v): v까지의 기존 최소 비용 경로, D(w): w까지의 기존 최소 비용 경로, cw,v: w~v까지의 직접 비용 => 더 최소인 것으로 업데이트
13 until all nodes in N' // 모든 node에 대한 최소 비용 경로 확인됨

oscillations possible

  • link cost가 traffic volume에 결정된다면 oscillation 발생 가능
    => route가 계속 변동: 불필요한 반복 발생

distance vector - Bellman-Ford

  • 각 노드가 자신이 알고 있는 최단 경로를 이웃노드에게 주기적으로 전달
  • key idea: 각 노드들은 자신의 이웃 노드와 자신의 distance vector를 알림
  • 새로운 DV 정보를 받으면, 자신의 DV 업데이트 한다

    각 노드는 자신의 link state 보면서 이웃들의 DV 정보를 받고, 계산해보고, 바뀌면 주변 node에게 알림 => 필요시에만 알림

link cost가 바뀐다면?
라우팅 정보 업데이트, DV 계산
-> 좋은 경우: 바뀌면 주변에게 알림
-> 안 좋은 경우(더 큰 cost로 바뀜): 느리게..느리게...바꿈

LS vs DV algorithm

profile
일단 책을 피자

0개의 댓글