ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Unicast Routing Protocol
    CS/네트워크 2022. 12. 3. 17:31
    728x90

    Routing Protocol의 종류에는 Intradomain과 Interdomain이 있다.

     

    Intradomain에는 Distance vector(RIP) , Link state(OSPF)가 존재하고,

    Interdomain에는 Path vector(BGP)가 존재한다.

     

    Intradomain - 도메인 안에서의 경로설정 (Autonomous system 내부)

    각 라우터들이 패킷을 받았을 때, 게이트웨이까지 가는 최단 경로를 구하는 일

    Interdomain - AS 외부에서 경로설정 (AS 끼리)

    정책,비용,보안에 따라 최단경로보다 돌아가는게 더 좋을수도 있음. 따라서, AS 끼리의 경로는 최단 경로 우선이 아니라, 특정 rule에 기반한 rule-base로 결정함.

     

    Bellman-Ford algorithm

    가중치가 있는 그래프에서 최단 경로를 구하는 알고리즘으로, Dij = i와 j 사이에 최단 거리 / Cij = i와 j 사이의 비용 / N = 노드의 수

    Dij = Min( (Ci1+Dij) , (Ci2+D2j) ,,,,, (CiN + DNj) )이다.

     

    Distance vector routing tables

    각 노드들은 테이블을 관리하여 To / Cost / Next의 정보를 실시간으로 업데이트하며 테이블 정보를 변경한다.

    Ex) C 테이블의 정보를 받으면 A 테이블을 수정하고, A의 Old table과 비교하여 A의 New Table을 생성한다.

    이 때 중요한 점이 있는데 테이블에서 Next가 다를 경우에는 임시 테이블과 비교해서 비용이 작은것으로 업데이트하고, Next가 같은 경우에는 비용이 크더라도 새로 받은 값으로 업데이트 해야한다. 이러한 이유는 경로가 늘어났을 때 최신 정보가 반영이 되지 않을 수 있으므로 Next가 같은 경우에는 꼭 비용이 크더라도 최단경로가 아니라 새로 받은 값으로 업데이트 해야한다. ( 즉, 누가 보내는 table인지 아는 것이 중요.)

     

    Two-node instability

    Table을 업데이트 하는 방식에는 주기적으로 교환하는 방법과 수정이 되면 교환하는 방법이 있는데, 2개의 경로가 연결되어 있는 도중에 한 경로가 끊어지면, A와 B는 각자 테이블을 업데이트하고 서로에게 보내 줄 것이다. 이 때, packet이 오는 도중에 update가 되버릴 경우 계속 정보가 수정되기 때문에 Loop가 형성된다. (TTL이 필요한 이유) 이를 두 노드의 불안정이라고 한다.

     

    해결 방법

    1. 경로의 최대값을 16으로 설정 ( 네트워크에서 누적 경로가 16개면 엄청나게 큰 것이므로, 16까지 도달할 경우 갈 길이 없어 Loop라고 판단하고 Stop)

    2. Split horizaon ( 경로가 끊어져 A,B가 업데이트되고 서로에게 보낼 때, A에게는 A가 next로 되어있는 라우팅 정보는 보내지 않는 기법을 말한다.

    3. Split horizon & Poison reverse ( 해당하는 cost를 무한대로 보내는 것)

     

     

     

     

     

    728x90

    'CS > 네트워크' 카테고리의 다른 글

    ICMP - Internet Control Message Protocol  (0) 2022.12.03
    ARP Protocol  (2) 2022.12.03
    Internet Protocol - IP 프로토콜  (0) 2022.12.01
    Delivery & Fowarding (패킷 전송)  (0) 2022.12.01
    IP Address - IP 주소  (0) 2022.12.01
Designed by Tistory.