CCNA16_OSPF

리냥·2022년 8월 9일
0

CCNA16_OSPF




  • OSPF (Open Shortest Path First)
  1. OSPF는 IETF(국제 인터넷 표준화 기구, Internet Engineering Task Force) 표준이다. (RFC 2328)
    ; 표준 프로토콜로 대부분의 라우터들이 이 OSPF 라우팅 프로토콜을 지원

  2. Shortest Path First(SPF) 알고리즘을 사용한다.
    ; 알고리즘(Dijkstra 또는 SPF)을 통해서 가장 cost가 적게 드는 경로를 최적 경로로 계산한다.
    ; 계산된 값을 라우팅 테이블에 적용한다.

  3. Link-State Routing Protocol이다(링크 상태)
    ; Routing Table을 구성할 때 Routing 정보를 전달받지 않고 라우터 간의 LSA(링크 상태 광고,
    ; Link-State Advertisement) 패킷을 통해서 Link-State Database를 구축하여 SPF알고리즘을 통해서
    ; 최적경로를 계산하고 이 값을 Routing Table에 등록, 사용하는 방식으로 동작하는 Protocol이다.
    ; Update Pack을 LSA라고 한다.

  4. Link-State Database에 상태가 변화되면 즉시 LSA를 전달하여 다른 Router들에게 알린다.
    ; Link-State Database에 있는 정보를 가지고 스스로 최적 경로를 계산한다.
    ; Link(라우터의 I/F), State(I/F와 이웃된(Neighbor)) 연결관계를 설명한다.

  • OSPF의 패킷
  1. Hello packet

    OSPF가 설정된 인접한 라우터간 네이버 관계를 형성하고 네이버 관계를 유지하는데 사용. OSPF가 설정된 인터페이스로 서로 hello packet을 교환하여 네이버를 맺는다. 네이버를 맺은 후에도 일정 주기(hello 주기)로 hello 패킷을 전송하고 정해진 주기안에 (dead 주기) 상대방에게 hello 패킷을 수신받지 못하면 해당 네이버에 문제가 생긴걸로 간주하고 네이버 관계를 끊는다. 라우터ID, area ID, 인증 암호, 서브넷 마스크, hello 주기, dead 주기, stub area flag, 라우터 Priority, DR, BDR, 네이버 리스트의 정보를 담고 있다.

  2. DBD (DDP:Database Description Packet)

    OSPF의 네트워크 정보를 LSA(Link state advertisement)라고 부르는데 OSPF는 자신이 만든 LSA와 네이버에게서 받은 LSA를 link state DB에 저장한다. DBD는 OSPF 라우터의 link state 데이터 베이스에 있는 LSA들의 요약된 정보를 알려주는 패킷이다. 즉, 네이버간 LSA를 교환하기 전에 자신의 link state 데이터베이스에 있는 요약된 LSA목록을 상대방에게 알려주기 위해서 사용한다.

  1. LSR (Link State Request)

    네이버에게 전송받은 DBD에 자신의 link state 데이터베이스에 정보가 없는 네트워크가 있다면 그 네트워크에 대한 상세정보(LSA)를 요청할 때 사용되는 패킷이다.

  2. LSU (Link State Update)

    네이버에게 LSA를 요청받는 LSR을 받거나 자신이 알고 있는 네트워크의 상태가 변했을 경우 해당 라우팅 정보를 전송할 때 사용하는 패킷. 즉, LSA를 실어나를 때 사용하는 패킷이다.

  3. LS ACK (Link State Acknowledgment)

    OSPF 패킷을 정상적을 수신했음을 알려줄 때 사용. DBD, LSR, LSU 패킷을 수신하면 LS ACK 패킷을 사용하여 수신받았음을 알려준다.

  • OSPF Hierarchical Routing(OSPF 계층적 구조의 필요성)

    SPF 계산 빈도가 줄어든다.
    ; Backbone Area를 중심으로 계층화 구조를 구성함으로써 전체 네트워크를 각각의 Area별로 나눈다.
    ; 각 Area별로 각각의 라우터에 Link-State에 의한 OSPF 계산의 빈도를 나눠서 처리한다.
    ; 크기를 줄여서 라우터가 SPF알고리즘 계산 시 적용된느 부하는 줄여주기 위해서 계층화 구조를 가진다.

    Routing Table이 더 작다.
    ; 계층화를 통해서 각 Area별로 경로를 계산하게 되면 백본 Area를 중심으로 Area와 Area 사이를
    ; 연결하고 있는 ABR(Area Border Router)은 Area 내에 있는 네트워크 경로를 축약해서 전달 가능하다.
    ; 축약된 라우팅 정보로 라우팅 테이블의 크기를 줄여서 광고할 수 있다.
    ; 즉,'라우팅 테이블의 크기를 줄인다'는 말은 많은 정보를 필요로 하지 않기 때문에 그만큼
    시간을 줄여서 통신 상태를 개선할 수 있다.

    Link-State Update 과부하가 줄어든다.
    ; 계층화를 통해서 나눠진 각 Area내에서만 LSA 패킷이 전달이 되고 이는 전체 네트워크에 과부하가
    ; 걸리지 않도록 해 준다.

→ SPF 알고리즘을 통한 목적지까지의 최단 경로 계산

각 라우터는 자신이 Root가 되는 SPF Tree를 만들고 이 트리를 통해서 Root인 각 라우처가 목적지까지 필요한
누적 Cost를 기반으로 각 네트워크까지 최단 경로를 계산하고 이것을 사용한다.

경로 계산을 위해서 사용되어지는 Cost는 기본값(Default)이 10^8/bandwidth(bps)

Cost 계산 시에 소수점 이하는 버린다.

계산값이 소수점 미만인 경우에는 cost값은 1로 계산한다.
10Mbps인 경우, Cost값은 10^8/100,000,000 bps = 1
1Gbps인 경우, Cost값은 10^8/1,000,000,000 bps = 0.1
Cost 값이 1미만이기 때문에 그냥 1로 표시한다.


  • OSPF 사용법
    : Router ospf 명령을 사용하여 OSPF Routing Process를 시작하고, Network 명령을 사용하여 Address들을 연결시킨다.
    Router(config)# router ospf
    - 일반적으로 1 ~ 65335 사이에서 사용하면 된다.
    - 하나의 라우터에서 여러개의 OSPF 프로세스를 설정할 경우 서로 구분하기 위해서 사용한다.
    - 라우터간 서로 달라도 상관이 없다.
    Router(config-router)# router-id <router-id값>
    - OSPF에서 router-id는 매우 중요하다.
    - 어떤 라우터가 정보를 생성했는지 또 정보를 전달했는지의 정보를 알려준다.
    - 즉, 식별자의 역할을 한다.(하지 않을 경우 자동으로 선출 우선 순위가 높은 것을 라우터 ID로 잡음)
    우선 순위 선출: 1순위("router-id") > 2순위(Loopback 주소) > 나머지(물리적인 I/F 주소)
    Router(config-router)# network area
    Router(config-router)#

: Wildcard Mask (Wildcard bit)

; bit 0은 대응 bit값을 검사하라는 것을 의미한다.
; bit 1은 대응 bit값을 검사하지 말고 무시하라는 것을 의미한다.

: 보기
; 기본 사용법 예)
Router(config)# router ospf 100 : ospf 프로세스 100으로 생성
Router(config-router)# router-id 1.1.1.1 : 1.1.1.1이란 '임의의 주소'로 지정(neighbor)
Router(config-router)# network 10.1.1.2 0.0.0.0 area 0 : 지역 0에 소속된 대역에게만 10.1.1.2란 주소를 광고
; 하나의 IP를 지정할 경우 (address wildcard-mask)
192.168.1.5 0.0.0.0
; 192.168.1.0/24 서브넷의 모든 IP를 지정
192.168.1.0 0.0.0.255
; 모든 IP주소 지정
0.0.0.0 255.255.255.255


profile
안녕하세요. 일로 인해 잠시 쉽니다 :)

0개의 댓글