본문 바로가기

Ryu's Tech

라우팅 기본개념 정리 [RIP EIGRP OSPF]

  • Routing이란?
    • 네트워크에서 패킷이 올바른 경로로 (혹은 최적의 경로로) 찾아가기 위해서 다양한 방법을 통해 길을 찾아주는 것.
  • Routing Protocol의 분류
    • Static Routing Protocol
      • 말그대로 정적으로 라우팅 경로를 지정해 주는 것
      • 구성이 매우 간단하고 엔지니어가 원하는 경로로 패킷을 보낼 수 있다.
      • 만약 토폴로지에 문제가 있을 경우 해결할때까지 라우팅이 불가능하다.
      • 주로 Stub network에 적용한다.
        • Stub Network란 네트워크로 들어가는 길과 나가는 길이 하나인 것을 말하며,
          네트워크로 들어갈때는 네트워크 안의 주소로 Static Routing,
          네트워크에서 밖으로 빠져나갈때는 Default Static Routing(0.0.0.0/0)을 사용한다.
      • Static routing의 명령어 형식
        • #ip route A.B.C.D [mask] [address or interface] {수동AD값} {permanent}
        • #ip route 0.0.0.0 0.0.0.0 [add or int] {AD} {permanent}
          • permanent는 상대방 인터페이스가 다운되었을 때도 유지해준다. (미확인)
    • Dynamic Routing Protocol
      • 동적으로 라우팅 경로를 할당할 수 있게 해주는 프로토콜
      • 기본적으로 라우팅 프로토콜을 올리면 알아서 경로를 선택할 수 있도록 해준다.
      • RIP,EIGRP,OSPF 와 같은 프로토콜을 말한다.
  • IGP vs EGP
    • AS [Autonomous System] 이란 일정규모의 한 네트워크를 말하는 것으로 한 관리자에 의해서 관리되는 라우터들의 집단을 말한다. -> 회사 규모나 사이트 규모를 말한다.
    • IGP [ Interior Gateway Protocol ]
      • AS 안에서 돌아가는 라우팅 프로토콜을 말하며 RIP, EIGRP, OSPF등을 말한다.
    • EGP [ Exterior Gateway Protocol ]
      • AS 사이를 연결해 주는 라우팅 프로토콜을 말하여, BGP와 같은 프로토콜을 말한다.
    • IGP 와 EGP의 예
      • 예를들어 A회사에서 B회사로 간다고 쳤을때, IGP->EGP->IGP 를 통해 상대방에게 연결이 된다.
      • AS를 쓰는 목적은 A회사에서 안에서 subnet을 하여 세분화 하여 복잡한 네트워크를 가진 네트워크 간 통신이라도 IGP의 Gateway만 알면 된다. 즉, AS내부에서의 통신은 IGP를 통해서, AS간의 통신은 EGP로 통신을 해서 세분화되고 좀 더 효율적인 구성을 위하여 구분되는 것이다.
  • Distance Vecter VS Link-State
    • Distance Vecter
      • 말 그대로 Distance(거리) Vecter(방향) -> 거리와 방향을 사용하는 방식으로 라우터 자신에게서 목적지로 어느 방향이 어느정도 거리인지를 안다고 생각하면 쉽다.
      • 주기적인 라우팅 테이블을 교환한다.
      • 라우터간 Full-Routing table을 교환한다.
      • 자신과 주변만을 참고 하기 때문에 Looping에 빠질 수 있다.
    • Link-State
      • 말 그대로 Link(링크) State(상태) -> 링크의 상태를 보는 라우팅 프로토콜로 앞의 DV와는 달리 링크의 Bandwidth나 Delay와 같은 링크의 세부정보를 따져서 라우팅을 결정한다.
      • 전체적인 Topology를 참고하여 라우팅을 한다. 이 말은 DV는 나침반이라고 볼수 있고, LS는 네비게이션과 같다고 할 수 있다.
      • 라우팅 테이블을 교환할 때는 어떠한 토폴로지에 변화가 있을 때 교환한다. 이를 Event-Triggered 방식이라 한다.
      • 전체적인 토폴로지를 보고 결정하기 때문에 DV 보다 계산이 많기 때문에 부하가 크다.
  • RIP
    • Metric = Hop count (몇개의 라우터를 지나는지)
    • 최대 Hop count 는 15를 넘어갈 수 없다. 15를 넘어가면 Unreachable로 간주된다.
    • 라우팅 테이블을 30초마다 업데이트 하기 때문에 잘못된 정보가 전달되어 Looping이 생기기 쉽다.
    • RIP v1 vs RIP v2
      • RIP v1은 Classful 한 네트워크만을 광고한다. RIP v2는 VLSM을 지원하여 Classless하게 광고가 가능하다.
      • RIP v2는 MD5 인증을 지원하는 것에 비해 RIPv1은 아무런 인증도 지원하지 않는다.
        • 패킷을 가로채면 모든 데이터를 볼 수 있다.
      • RIP v1은 Broadcast를 사용하여 광고하였으나 RIPv2는 Multicast를 사용하여 광고한다.
        • 불필요한 네트워크 트래픽을 줄일 수 있게 하였다.
  • EIGRP
    • EIGRP는 어떤 라우팅 프로토콜인가?
      • Distance Vecter와 같이 거리와 방향을 가지고 라우팅 테이블을 만들어 라우팅을 한다
      • Link-State와 같이 Event Triggered 방식으로 업데이트를 진행한다.
      • 위의 두 개념이 합쳐 만들어진 것으로 Balanced Hybrid Protocol이라 불린다.
      • 이는 IGRP에서 Enhanced 된것으로, 기존에는 Distance Vecter 만을 사용하는 라우팅 프로토콜이었다.
    • EIGRP는 메트릭을 bandwith,delay,relability,load,MTU를 사용하여 계산하지만 사실 EIGRP의 metric을 계산하는 공식은
      • Metric = 256*((K1*Bandwidth) + (K2*Bandwidth)/(256-load) + (K3*delay)*(K5/(Reliability + K4)))
    • 이다. K1의 값을 설정하여 이를 변화시킬 수 있는데 default 값은 K1, K3 만 1이다.
    • 그래서 실제적인 Metric은 Bandwidth와 Delay만을 참고한다.
    • 라우팅 테이블에 EIGRP가 올라오기 전 행동
      • IP EIGRP Neighbor Table에 근처의 Neighbor들을 어느 Interface로 통해 연결될 수 있는지 기록한다.
      • IP EIGRP Topology Table에 FD(Feasible Distance)와 AD(Advertised Distance=Reported Distance)를 기록한다.
        • FD = 자신을 중심으로 목적지 까지의 Metric
        • AD = 자신의 다음 라우터 (next hop) 로부터 목적지까지의 Metric
      • IP Routing Table에 Toplogy를 참고하여 경로를 라우팅 테이블에 올린다.

 

Successor - 
1. 부하 분산이 이루어질 경로의 조건은 Feasible Successor 이어야 한다. 보조AD < 메인FD
2. 부하 분산이 이루어질 경로들의 FD 는 Successor FD * varience 보다 값이 작아야한다.
 
1. 각 AD < Successor FD
 - 이것이 되면 Feasible Successor가 된다. -> EIGRP Toplogy에 들어감.
2. Successor FD * varience > Feasible Successor FD

한쪽의 Feasible Successor AD < Successor FD 를 맞추면 반대 방향은 Successor FD가 감소하여 
          Feasible Successor AD > Successor FD가 되어버려 로드 밸런싱이 안된다.

 

  • OSPF는 전체적인 토폴로지를 생성하는데 Dijkstra Algorithm을 사용한다.
    • Link-state DB를 사용하여 모든 토폴로지에 대한 정보를 모은다.
    • Shortest Path First [ Dijkstra ] 를 사용하여 최단 우선 경로를 찾는다.
    • 그리고 나서 알고리즘으로 찾은 최적의 값을 라우팅 테이블에 등록한다.
  • OSPF는 네트워크의 상태를 LSA (Link State Advertisement)를 통해 광고한다.
  • OSPF 는 네트워크 AREA 안에서 DR과 BDR을 선출한다.
    • DR ( Designated Router ) 는 반장과 같은 개념이다. 
    • BDR (Backup Designated Router ) 는 백업으로 부반장과 같은 개념이다.
    • DR 선출은
      • Router Priority ( default = 1 )
      • Logical IP Address (Loopback)
      • Physical IP Address (흔히 쓰는 IP add)
  • OSPF 에서 네트워크는 DR/BDR과 adjacency를 맺어야 한다.
    • 여기서 adjacency와 neighbor의 개념이 조금 다른데 이것을 이해해야한다. OSPF에서 Area 안에 있는 네트워크들은 각자 Neighbor을 맺게 되고 DR/BDR과 adjacency를 맺는다.
  • COST
    • 100,000,000 를 bandwidth로 나눈 값을 사용한다.
  • DR 선출시
    • OSPF Priority 가 0이면 DR 선출에 참여하지 않는다.
    • DR/BDR 이 아닌 라우터를 DROTHER (DR other)이라고 표기하며
    • Area의 경계선상의 라우터를 ABR(Area Border Router)
    • 바깥 경계선상의 라우터를 ASBR(AS Boundary Router)
    • 왠만하면 Hub&Spoke 되는 지점을 DR로 선정하는 것이 좋다.
    • Priority는 수동으로 설정할때만 사용한다.
  • OSPF는 절대적으로 Area 0 ( Back-bone Area ) 와 연결되어야 한다.
  • OSPF 네트워크 토폴로지의 종류
    • BMA [ Broadcast Multi Access ]
      • 이더넷 환경을 생각하면 된다. LAN에서의 기본 설정이다.
      • 자동으로 이웃을 맺는다.
      • 같은 서브넷에 있다.
      • DR을 가진다.
    • NBMA [ Non-broadcast Multi Access ]
      • Frame Relay와 같은 환경이며, F/R에서 기본으로 설정된다.
      • 정적으로 이웃을 설정해 주어야 한다.
      • 같은 서브넷에 있다.
      • DR을 가진다.
    • Point-to-point
      • F/R이 아닌 serial에서 default로 설정된다.
      • 자동으로 이웃을 선출한다.
      • 분리된 서브넷이다.
      • DR이 없다.
    • Point-to-multipoint
      • F/R에서 적용된다.
      • 자동으로 이웃을 결정한다.
      • 같은 서브넷이다.
      • DR이 없다.