최대 1 분 소요

Routing algorithm

Global

  • link state(LS) routing protocol
    • 각 노드가 네트워크에 대한 연결 상태만 전달해서 각자 그래프 형태의 지도를 만들고, 독립적으로 다음 최단 거리를 찾는 방식
    • algorithm: Dijkstra
      • 하나의 노드에서 시작해서 다른 노드에 대해 최단 거리를 계산하는 방식 Screen Shot 2021-08-30 at 8 30 13 PM
      • algorithm complexity
        • N’에 포함되지 않은 모든 노드를 체크해야함
        • n(n + 1) / 2: O(n^2)
        • 우선순위 큐를 사용하면 O(nlogn)

Decentralized

  • Distance vector routing protocol
    • 각 노드가 Bellman-Ford algorithm을 이용해서 DV(Distance Vector)를 업데이트하고, 이웃들에게 업데이트된 routing table을 공유하면서 최단 거리를 찾는 방식
    • algorithm: Bellman-Ford
      • 이웃을 한번 들렸다가 목적지까지 가는 방법들 중 가장 짧은 것이 최단거리이다. image
    • Distance vector image

Hierarchical routing

지금까지 routing에 대해 배운 내용은 굉장히 이상적인 내용이다

실제 세상에서는

  • 모든 라우터는 똑같지 않고
  • 네트워크도 flat하지 않다
  • 스케일도 훨씬 크다(routing table에 60억 개의 dest를 저장할 수 없음)

그래서 지방 자치를 도입했다!

autonomous systems(AS): router들을 지역별로 모은다

  • intra-AS routing protocol: 같은 AS 안에 있는 라우터들은 같은 routing protocol을 사용한다

댓글남기기