ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5.2 Routing protocols
    Computer Networking 2018. 12. 17. 00:27

    1. link-state routin algorithm

    - Dijkstra's algorithm

    D(v) = min(D(v), D(w) + c(w, v))

    O(n^2) --> O(nlogn) 까지도 효율 향상 가능


    ※oscillations possible

    - 상기의 알고리즘은 진동 문제를 발생시킬 수 있다.

    - 혼잡을 피하기 위해 특정 상황에 한 경로로 트래픽이 몰리면 다음 상황에는 다른 경로로 변경. 이 작동이 반복됨


    2. Distance vector algorith

    - Bellman-Ford equation (dynamic programming)

    - d(xy) = cost of least-cost path from x to y

    => d(xy) = min{c(x, v) + d(vy) (v는 x의 모든 이웃)


    - 각 노드의 동작

    1) 이웃 노드에서 local link cost나 msg 전송되는 것을 대기

    2) 경로 재계산

    3) 도착 비용이 변경된 경우 이웃들에게 이를 알림


    ※ link cost changes

    - 링크의 비용 변경 시, 타 라우팅 테이블의 정보가 신속히 반응하지 않기 때문에 잘못된 가중치의 경로를 이용하는 경우가 발생

    => posoned reverse : z 가 y를 통해 x로 갈 때, z는 y에게 z->x의 가중치를 무한대로 전송



    『두 알고리즘의 비교』


    1) 메시지 복잡성

    -  LS : O(nE)

    - DV : 이웃들 끼리만 교환

    2) 수렴 속도

    -  LS : O(n^2)

    - DV : 매우 천천히 수렴, 무한 카운트 문제

    3) 강건성

    -  LS : 틀린 비용 브로드캐스트 가능하지만, 자신의 테이블만 계산

    - DV : 잘못된 최소비용경로를 여러, 혹은 모든 목적지에 알릴 수 있다.


    'Computer Networking' 카테고리의 다른 글

    5.3 intra-AS protocol  (0) 2018.12.17
    4.3 IP: Internet Protocol  (0) 2018.12.15
    4.2 What's inside a router  (0) 2018.12.14
    4.1 Network Layer 개요  (0) 2018.12.14
    3.7 TCP congestion control  (0) 2018.12.14

    댓글

Designed by Tistory.