[CISCO 보안 아카데미 1기 Part.2] 8일차 정리(OSPF)

Jin_Hahha·2024년 9월 3일
0


OSPF

개념

  • 라우터의 link 상태와 link의 metric과 연관된 정보를 포함한 link-state advertisement, 즉 LSA를 이웃한 관계(neighbor)의 라우터에게 전달하는 라우팅 프로토콜
  • LSA는 OSPF의 LSDB(link-state database)에 저장되어 라우팅에 사용됨
  • 홍보된 링크 상태에 관한 정보는 이웃한 라우터에 홍보됨과 동시에 홍보받은 라우터와 neighbor 관계에 있는 라우터로 추가되거나 삭제되는 정보 없이 받은 LSA 그대로 재홍보됨
  • 같은 영역내의 라우터들은 모두 같은 LSDB를 유지함

LSDB

  • LSDB는 네트워크의 토폴로지를 제공하고, 결정적으로 라우터에게 네트워크에 대한 map을 제공함
  • 모든 OSPF 라우터는 다익스트라 최단 경로 우선 알고리즘을 사용
    • 이는 loop가 발생하지 않는 최단 경로 loop 토폴로지를 구축하기 위함

SPT

  • 각 라우터는 본인을 SPF tree(SPT)의 최상단 또는 root로 간주함
  • 모든 SPT는 OSPF 영역내에서 모든 SPT 네트워크의 목적지를 포함하고 있음
  • 위의 사진은 맨 좌측의 토폴로지를 각각 R1의 시점(중앙), R4의 시점(우측)으로 나타낸 것임

다중 OSPF

  • 한 라우터에서 다수의 OSPF 프로토콜 과정을 실행할 수 있음
  • 생성된 OSPF들은 고유의 DB를 지니고 있음
  • 각 OSPF는 서로의 경로를 학습할 수 없으며, 재분배를 하기 전까지는 불가능
  • OSPF 프로세스 number는 고유하며 다른 라우터와 겹치지 말아야 함

Areas

  • OSPF는 라우팅 도메인 내에서 여러 OSPF areas로 토폴로지 segment를 나눔으로써 라우팅 테이블을 위한 확장성을 지니고 있음
  • Area 연동은 인터페이스 단위에서 설정됨
  • Area ID는 OSPF hello packet에 포함되어 있음
  • 각 인터페이스는 하나의 area에 포함될 수 있음
  • 같은 OSPF 영역에 속한 라우터들은 서로 동일한 LSDB를 갖고 있음

Multiple Areas

  • OSPF area는 네트워크 링크와 area 내 라우터의 증가로 확장됨
  • 단일 area의 사용은 토폴로지를 단순하게 만들어 주지만 단점이 명확함
    • Link의 연결이 불안정하면 모든 경로에 대한 SPT 계산이 발생
    • 단일 area에서는 LSDB의 크기가 관리 불가능 수준으로 커짐
    • 단일 area LSDB가 커지면 memory 낭비 문제와 SPF 계산에 더 많은 프로세스를 사용하고 계산 완수에 더 많은 시간이 걸림
    • 단일 영역에서는 경로 정보에 대한 요약이 이루어지지 않음
  • 사실상 OSPF 영역을 다수로 사용하는 것은 LSDB가 관리 가능한 수준의 크기를 유지하도록 돕기 위한 것임
  • 만약 라우터가 다수의 area 인터페이스를 지닌다면, 라우터는 그에 해당하는 LSDB들을 가질 것임
  • 한 area의 내부 토폴로지가 외부 area에서는 보이지 않음
  • OSPF 영역을 다수의 area로 나누는 것은 각 area에 관한 LSDB 크기를 줄이고, SPT 계산을 더욱 빠르게 만들기 위한 것
  • 그리고 link가 불안정할 때 라우터 사이에 LSDB flooding이 발생하는 것을 줄이기 위해 OSPF area를 다수로 지정하는 것임
  • 라우터가 여러 area에 연결된다는 게 한 area가 다른 area에 흡수된다는 의미가 아님

Specific Area

  • Area 0은 Backbone Area로 불림
  • OSPF를 설계할 때, OSPF는 two-tier 계층 구조를 사용
    • 모든 Area는 무조건 상위 계층(Area 0)과 연결되어 있어야 함

neighbor

  • 맨 처음부터 Down인 경우는 잘 없음
  • neighbor 관계 맺는 과정
  1. hello packet 전송
    • 통신 방식이 무엇인지(uni, multi, broad), 해당 패킷을 전송한 기기의 정보가 담겨 있음
  2. hello packet을 받은 기기에서 hello packet을 보낸 기기로 자신의 정보를 담은 hello packet을 전송
  3. 2번 과정을 마치면 2-way 상태로 봄
  4. 2-way 관계를 맺은 후, hello packet을 먼저 전송한 기기에서 다시 hello packet 전송(그러나 처음과는 다르게 unicast 통신으로 전송)
  5. DR/BDR 선출
  6. OSPF DB 정보 교환
    • 서로의 DB 정보를 교환하는 상태를 ExChange라고 함
    • LSR, LSU, LSACK 등을 교환하는 상태를 Loading이라고 함
    • ExChange와 Loading은 공존할 수 있음
  7. 모든 정보 교환이 끝날 때, 라우터는 Full 상태가 됨

secondaries

  • secondary 네트워크에 홍보를 할지 말지 결정하는 명령어
secondaries non
  • 위의 설정은 secondary 네트워크에 자신을 홍보하지 않겠다는 의미
  • 결과적으로 seconday 네트워크와는 neighbor를 맺지 않음

Passive Interface

  • passive interface를 설정한 구역으로는 라우팅 정보가 전송되지 않음
  • 외부 네트워크와 직접적인 연결이 없는 end device로 향하는 경로에 passive interface 거의 필수적으로 설정

OSPF Interface

  • 특정 인터페이스가 어느 Area에 속하는지, 네트워크 타입이 뭔지, hello packet interval 등에 대한 정보가 표시됨

  • ospf interface의 정보를 간략화 하여 표시

External OSPF Routes

  • Type 1, Type 2는 각각 동일 네트워크 라우터에 대한 정보, DR에서 생성한 네트워크에 대한 정보가 담겨 있음
    • Type 1이 Type 2보다 우선시 됨
    • Type 1 metric은 재분배 metric 값과 ASBR까지의 총 경로 metric값을 더하여 라우팅 테이블에 표시
    • Type 2 metric은 오직 재분배 metric과 동일, ASBR 라우터까지 30 hop만큼 떨어져 있다고 가정하고 metric 계산
  • Type 3는 ASBR 라우터로부터 들어온 다른 Area 네트워크 정보
    • 네트워크, cost, ABR에 대한 정보가 담겨져 있음
    • summary LSA라고 함
  • E1과 E2의 차이
    • E1은 E1 cost + ASBR cost 값을 계산하여 가장 작은 값을 라우팅 테이블에 표시
    • E2는 E2 cost 비교 후, cost 값이 동일하면 ASBR까지의 cost 값을 계산하여 가장 작은 값을 라우팅 테이블에 표시

Forwarding Address

  • EIGRP 네트워크와 연결된 두 대의 라우터가 있고, 각각 회선의 BW가 100, 10 Mbps일 때 재분배 명령어만 넣은 상황
  • OSPF-EIGRP 재분배 라우터에서 EIGRP 구역 인터페이스에는 아직 홍보를 하지 않음
  • 여기까지 설정하면 OSPF 라우터의 Forwarding Address가 설정되지 않음 (Forwarding Address = 0.0.0.0)
  • 이후 EIGRP 구역 인터페이스에 OSPF로 자신을 홍보하면?
    • Forwarding Address가 가장 가까운 거리에 존재하는 EIGRP 라우터의 인터페이스 주소로 설정됨

Default Route Advertisement

  • OSPF는 기본적으로 default route에 대해서 재분배 정보를 갖고 올 수 없음
  • 명령어를 통해 default route에 대한 정보를 본인 너머로 전달하도록 설정
default-information originate [always] [metric metric value] [metric-type type-value]
  • RIB으로 default route의 정보가 라우팅 테이블에 저장되어 있어야 위의 명령어가 동작함
  • External Type5의 E2로 홍보됨
  • always 옵션은 ASBR이 아니어도 설정 가능

DR/BDR

  • DR은 실제로 존재하는 것이 아닌 가상의 역할이고 puseudonode(실제로 존재하지 않는 라우터)를 DR 기능을 담당하는 라우터로 설정하고 실제 OSPF 네트워크에서 DR로 선출되는 라우터는 puseudonode와 직접적으로 연결되어 DR 기능을 한다는 개념
  • priority를 0으로 설정하면 DR/BDR 후보에 오르지 않고 무조건 Drother로 남겠다는 의미

Network Type

  • Multi Access인지, P2P인지 비교 & Broadcast(Multicast)를 할 수 있는지, 할 수 없는지 비교
    • Multi Access라면 DR/BDR 선출 가능
    • P2P면 DR/BDR 선출 X, DR/BDR 선출 불가능
    • Broadcast를 할 수 있으면 224.0.0.5로 전송 가능
    • 불가능하다면 neighbor 명령어를 통해 unicast로 특정 기기로만 통신
  • 라우터 사이의 서브넷 마스크가 달라도 루프백 주소의 서브넷 마스크가 같으면 서로 neighbor를 맺을 수도 있고, 터널도 생성할 수 있음
  • 라우터의 루프백 인터페이스를 /32로 주고 다른 /32 주소를 가진 라우터와 터널을 생성할 때, 루프백 라우터의 실제 인터페이스 주소가 /24라고 하더라도 터널이 생성됨

LAB

  • 토폴로지

  • OSPF에 관한 실험

    • Forwarding Address 확인
    • 재분배 경로 metric 조정

OSPF Network Type

  • Multi-Access(Broadcast, Nonbroadcast) Network Type은 DR/BDR 선출 가능
  • Broadcast
    • 224.0.0.5 주소로 통신
    • hello packet 교환, DR/BDR 선출 가능
  • Nonbroadcast
    • 224.0.0.5 주소로 통신 불가능
    • 모든 packet을 unicast로 전달
    • neighbor 명령어로 neighbor를 수동으로 설정해 주어야 함
  • P2P
    • 1:1 형태의 네트워크
    • Broadcast 통신 가능
  • Point to multipoint
    • 1:N의 형태를 하고 있으나, 실제로는 여러 point to point 형태의 네트워크가 하나로 묶인 듯한 형태
    • 원래는 Broadcast 통신 불가능
    • 여러 옵션을 통해 Broadcast 통신이 가능하게 만듦(map 기반의 broadcast)
    • Point to multipoint 네트워크 타입에서 nonbroadcast 옵션은 더 사용하지 않음

Failure Detection

Timers

  • Hello Timer, Dead Interval Timer
    • 라우터 사이의 Timer 시간을 맞춰 주어야 함
    • 만약 일정 시간(Dead Interval Timer) 동안 hello packet을 받지 못하면 neighbor 관계 끊어짐

Authentication Types

  • Plain text
    • dead interval timer 시간 안에 plain text 인증이 완료되어야 함
    • 그렇지 않으면 neighbor 관계 끊어짐
  • MD5 cryptographic hash
    • MD5 key 값이 같아야 함
    • plain text도 동일

Advanced OSPF

  • Type 1, router

    • network prefix 홍보
  • Type 2, network

    • area 기반의 broadcast segment를 참고하여 라우터 지정
  • Type 3, summary

    • 다른 네트워크의 network prefix 홍보
  • Type 4, ASBR summary

    • 다른 영역으로부터 ASBR 위치 특정
  • Type 5, AS external

    • OSPF로 재분배 된 network prefix 홍보
  • Type 7, local NSSA area로 재분배 된 network prefix 홍보

  • Type 1, 2는 같은 area, 네트워크

  • Type 3는 다른 area

  • Type 4는 ASBR의 위치 특정

  • Type 5, 7은 외부 네트워크

  • LSA의 Aging Time은 기기가 LSA를 한번씩 확인할 때마다 증가


  • Type 4의 내용은 다른 네트워크를 거칠 때마다 달라짐

    • ASBR이 존재하는 네트워크에서 ASBR의 위치를 모르는 네트워크로 LSA를 전송할 때, 존재하지 않던 Type 4를 생성(ASBR의 위치 기록)
    • Type 4 LSA를 받은 네트워크에서 다음 네트워크로 LSA가 전송될 때, Type 4의 정보는 ASBR에 대한 직접적인 정보가 아닌 ASBR로 가는 경로를 알고 있는 ABR에 대한 정보를 Type 4 LSA로 만들어 전송

  • LSA 전송 과정 전체 흐름도

LAB2-LSA

  • 토폴로지

0개의 댓글