OSPF

심채운·2023년 7월 9일
0

학점은행제 컴공

목록 보기
23/40

OSPF(Open Shortest Path First)

OSPF 라우팅 프로토콜은 현재 가장 많이 쓰이는 라우팅 프로토콜이며, 설정이 복잡하긴 하지만 많은 기능을 가지고 있는 라우팅 프로토콜이다. 특히 EIGRP의 경우에는 Cisco 장비를 가지고 있는 라우터들끼리만 연결되었지만, OSPF의 경우 모든 라우터 장비에서 지원하는 장점을 가지고 있다. 또한 계층적인 구조로 설계를 하도록 되어 있다는 점도 장점이라 할 수 있다.

DR/BDR

OSPF는 네트워크 토폴로지나 경로에 변화가 생기면 같은 영역에 있는 라우터들 간에 LSA를 주고받는다. 그런데 모든 라우터가 LSA를 주고받으면 간단한 토폴로지를 가지는 네트워크는 크게 영향을 받지 않지만 라우터를 많이 가지고 있는 토폴로지에서는 과도한 LSA 플러딩이 네트워크 운영에 영향을 줄 수 있다. 이를 해결하자 DR/BDR를 선출하여 특정 네트워크에서 사용한다.

Backbone Area0

OSPF의 모든 네트워크는 Area에 속해 있고, 반드시 Area 0와 물리적으로 연결되도록 구성되어야 한다. 즉, Area 0를 통해서만 패킷을 전달받을 수 있는 계층적인 구조도 되어 있다.

OSPF의 개념

OSPF란?

  • IP Network 기반에서 동작하는 IGP Protocol 중 가장 널리 사용되고 있는 Link-state Algorithms를 사용하는 표준 개방형 Protocol
  • 네트워크 토폴로지의 변화가 빠름
  • 네트워크 토폴로지에 변화가 생기며 변화된 부분, 증가된 부분만 업데이트를 실시함
  • 업데이트할 내용이 없더라도 30분 간격의 링크 상태재생(Link-State Refresh)를 이용하여 Update 정보를 주기적으로 교환
  • RIP이나 EIGRP보다 설정이 복잡하지만 계층화된 라우팅 동작을 수행하기 때문에 중대규모 네트워크에 사실상 가장 많이 사용되는 라우팅 프로토콜임
  • OSPF는 라우팅 정보 업데이트 시 224.0.0.5와 224.0.0.6의 멀티캐스트 주소를 사용함
  • OSPF는 링크의 비용을 메트릭으로 사용하여 목적지 네트워크의 경로를 결정
  • OSPF에서는 라우팅 테이블의 생성, 유지, 관리를 위해 다음과 같은 5가지의 독특한 패킷 유형을 사용
    • Hello : OSPF가 설정된 이웃 라우터들과의 인접 관계를 맺기 위해 사용하는 패킷
    • DBD(DataBase Description) : 링크 상태 정보에 대한 데이터베이스, OSPF 라우터들 간의 데이터베이스 동기화를 검사하기 위해 사용
    • LSR(Link-State Request) : DBD를 받은 후, 자신에게 없는 경로가 있을 경우 이 경로에 대한 상세한 링크 상태 정보를 요청할 때 사용
    • LSU(Link-State Update) : LSR에 대한 응답으로 사용되며, 이웃 라우터와 경로 비용과 같은 경로 상태 정보를 LSA (Link State Advertisement)로 전송하는 것을 포함
    • LSAck(Link-State Acknowledgement) : 상기의 다른 패킷 유형에 대한 수신 확인을 위해 사용
  • OSPF의 동작 방식
    • OSPF를 설정한 Router끼리 Hello Packet을 교환해서 Neighbor를 맺음
    • Neighbor Router간 라우팅 정보(LSA)를 서로 교환하고, 전송 받은 LSA를 Link-state DataBase에 저장
    • LSA를 모두 교환하고 SPF(Shortest Path First) 또는 다익스트라(Dijikjstra) 알고리즘을 이용해서 각 목적지까지의 최적 경로를 계산 후 Routing Table에 올림
    • 그 후에도 주기적으로 Hello packet을 교환하면서 정상 동작을 확인
    • 네트워크의 상태가 변하면 다시 위의 과정을 반복해서 Routing table을 생성
  • OSPF의 Process-ID는 1부터 65535 사이의 숫자를 사용할 수 있으며, 이 번호가 라우터 마다 동일할 필요는 없음

OSPF의 구조

OSPF에서 사용되는 테이블

  • Neighbor Table
    • 인접성을 맺은 이웃한 라우터의 정보 확인
    • Hello Packet을 교환하여 인접성에 대한 조건이 일치 하면 네이버 성립
    • Dead-Interval안에 Hello를 수신하지 못하면 네이버 삭제
  • Database Table
    • 목적지까지 가는 경로들의 경우의 수를 각각의 Link 상태 별로 관리함
    • LSA를 통해서 다른 라우터와 네트워크 정보 인식
    • LSA 패킷은 LSDB에 저장 후 관리
  • Routing Table
    • Database Table 정보 중 최적 경로 선출 후 라우팅 테이블에 등록
    • 라우터는 최적화된 경로를 사용하여 패킷 전달

OSPF 디자인

  • OSPF는 반드시 Area 0 를 경유하도록 디자인 해야 함

Network Type

  • Broadcast Multi Access
    • 하나의 Broadcast 패킷을 전송할 경우 동일 네트워크 상의 모든 장비에게 전달되는 네트워크를 Broadcast 네트워크, 하나의 인터페이스를 통해 다수의 장비와 연결된 네트워크를 Multi Access 네트워크라고 함 (ex. Ethernet)
  • Non Broadcast Multi Access
    • Broadcast가 지원되지 않는 Multi Access 네트워크를 의미 (ex. ATM, X.25, Frame Relay)
    • 대부분 내부에 Virtual Circuit (가상 회로) 방식을 사용
  • Point-to-Point
    • 하나의 Interface와 연결된 장비가 하나뿐인 네트워크

DR/BDR

  • Broadcast Multi Access 환경
    • Ethernet, NBMA 등의 Multi Access 네트워크에 접속된 라우터가 1:1로 LSA를 교환할 경우 중복된 LSA와 ACK가 많이 발생
  • DR/BDR 선출
    • 중계 역할을 하는 DR(Designated Router)를 선출하여 LSA를 DR을 중심으로 주고 받게 하고, DR에 문제가 발생할 경우를 대비하여 BDR(Backup DR)를 선출하여 서비스에 중단이 없도록 함
    • OSPF Router Priority 값이 가장 높은 라우터가 DR (Designated Router)가 되고, 두번째로 높은 라우터가 BDR(Back Designated Router)가 됨
    • 만약 Priority값이 동일하다면 Router-ID가 높은 라우터가 DR로 선출됨
    • Priority값이 0이면 항상 DROTHER가 되겠단 의미
    • DR 또는 BDR이 선출되고 난 이후에 더 높은 순위의 라우터가 추가 되거나 설정이 변경되어도 기존에 선출된 DR과 BDR은 변경되지 않음
    • OSPF의 Process를 재시작 하거나 라우터를 재부팅하면 DR 선출을 다시 하고 이때 기존의 DR 또는 BDR이 변경될 수 있음
    • DR이 다운될 경우 DBR이 DR의 역할을 대신하고 다시 BDR만 선출함
profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글