Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OSPF 소개

OSPF 개요

OSPF는 단일 AS(Autonomous System) 내에서 패킷을 라우팅하는 내부 게이트웨이 프로토콜(IGP)입니다. 최단 경로 우선(OSPF) 알고리즘(Dijkstra 알고리즘이라고도 함)을 사용하여 경로를 계산하기 위해 OSPF는 link-state 정보를 사용하여 라우팅 결정을 내립니다. OSPF를 실행하는 각 라우터는 해당 라우터의 연결된 인터페이스 및 라우팅 메트릭에 대한 정보를 포함하는 AS 또는 영역 전체에 걸쳐 link-state 광고를 플러딩합니다. 각 라우터는 이러한 링크 상태 광고의 정보를 사용하여 각 네트워크에 대한 최소 비용 경로를 계산하고 프로토콜에 대한 라우팅 테이블 생성합니다.

Junos OS 가상 링크, 스텁 영역 및 OSPFv2, 인증을 포함한 OSPF 버전 2(OSPFv2) 및 OSPF 버전 3(OSPFv3)을 지원합니다. Junos OS 서비스 유형(ToS) 라우팅을 지원하지 않습니다.

OSPF는 TCP/IP(Transmission Control Protocol/Internet Protocol) 환경을 위해 설계되었으며, 그 결과 IP 서브네팅과 외부에서 파생된 라우팅 정보의 태깅을 명시적으로 지원합니다. 또한 OSPF는 라우팅 업데이트의 인증을 제공합니다.

OSPF는 IP 패킷 헤더에 포함된 대상 IP 주소만을 기반으로 IP 패킷을 라우팅합니다. 최적 경로 우선(OSPF)은 라우터 인터페이스를 사용할 수 없는 경우와 같은 토폴로지 변경을 신속하게 감지하고 최소한의 라우팅 오버헤드 트래픽으로 새로운 루프 없는 경로를 신속하게 계산합니다.

참고:

SRX 시리즈 방화벽에서 OSPF 인터페이스 하에서 하나의 링크 보호만 구성된 경우 디바이스는 포워딩 테이블 대체 경로를 설치하지 않습니다. 패킷당 로드 밸런싱이 해결 수단으로 활성화되면 디바이스는 OSPF 메트릭을 모두 관찰하고 두 인터페이스를 통해 트래픽을 전송하지 않습니다.

OSPF AS는 단일 영역으로 구성되거나 여러 영역으로 세분화될 수 있습니다. 단일 영역 OSPF 네트워크 토폴로지에서 각 라우터는 AS 토폴로지를 설명하는 데이터베이스를 유지합니다. 각 라우터에 대한 Link-state 정보는 AS 전체에 플러드됩니다. 다중 영역 OSPF 토폴로지에서 각 라우터는 영역의 토폴로지를 설명하는 데이터베이스를 유지하고 각 라우터에 대한 link-state 정보는 해당 영역 전체에 플러드됩니다. 모든 라우터는 AS 내의 다른 영역의 요약된 토폴로지를 유지합니다. 각 영역 내에서 OSPF 라우터에는 동일한 토폴로지 데이터베이스가 있습니다. AS 또는 영역 토폴로지 변경 시 OSPF는 모든 라우터의 토폴로지 데이터베이스의 내용이 신속하게 통합되도록 보장합니다.

모든 OSPFv2 프로토콜 교환은 인증될 수 있습니다. OSPFv3는 IPsec을 사용하여 이 기능을 제공합니다. 즉, 신뢰할 수 있는 라우터만 AS의 라우팅에 참여할 수 있습니다. 다양한 인증 체계를 사용할 수 있습니다. 각 영역에 대해 단일 인증 체계가 구성되어 일부 영역에서 다른 영역보다 더 엄격한 인증을 사용할 수 있습니다.

외부에서 파생된 라우팅 데이터(예: BGP에서 학습한 경로)는 AS 전체에 걸쳐 투명하게 전달됩니다. 이 외부 파생 데이터는 OSPF link-state 데이터와 별도로 유지됩니다. 각 외부 경로는 광고하는 라우터에 의해 태그 처리되어 AS 경계에 있는 라우터 간에 추가 정보를 전달할 수 있습니다.

참고:

기본적으로 Junos OS RFC 1583, OSPF 버전 2와 호환됩니다. Junos OS 릴리스 8.5 이상에서는 문을 포함하여 no-rfc-1583 RFC 1583과의 호환성을 비활성화할 수 있습니다. 자세한 내용은 예: RFC 1583과의 OSPFv2 호환성 비활성화를 참조하십시오.

이 주제는 다음 정보를 설명합니다.

OSPF 기본 경로 선호 값

Junos OS 라우팅 프로토콜 프로세스는 라우팅 테이블 수신하는 각 경로에 기본 선호 값을 할당합니다. 기본값은 경로 소스에 따라 다릅니다. 선호 값은 0~4,294,967,295(232 – 1)이며, 더 낮은 값은 더 선호되는 경로를 나타냅니다. 표 1 에는 OSPF에 대한 기본 선호 값이 나열됩니다.

표 1: OSPF의 기본 경로 선호 값

경로 학습 방법

기본 기본 설정

기본 선호 수정 명령문

OSPF 내부 경로

10

OSPF 기본 설정

OSPF AS 외부 경로

150

OSPF 외부 선호

OSPF 라우팅 알고리즘

OSPF는 Dijkstra 알고리즘이라고도 하는 최단 경로 우선(SPF) 알고리즘을 사용하여 각 목적지에 대한 경로를 결정합니다. 영역의 모든 라우팅 디바이스는 이 알고리즘을 병렬로 실행하여 결과를 개별 토폴로지 데이터베이스에 저장합니다. 여러 영역에 대한 인터페이스가 있는 라우팅 디바이스는 알고리즘의 여러 복사본을 실행합니다. 이 섹션에서는 SPF 알고리즘의 작동 방식에 대한 간략한 요약을 제공합니다.

라우팅 디바이스가 시작되면 OSPF를 초기화하고 라우터 인터페이스가 기능한다는 하위 수준 프로토콜의 표시를 기다립니다. 그런 다음 라우팅 디바이스는 OSPF Hello 프로토콜을 사용하여 이웃을 획득합니다. 즉, 이웃에게 Hello 패킷을 전송하고 Hello 패킷을 수신합니다.

브로드캐스트 또는 비캐스트 멀티캐스트 멀티캐스트 네트워크(두 개 이상의 라우팅 디바이스의 첨부를 지원하는 물리적 네트워크)에서 OSPF Hello 프로토콜은 네트워크에 지정된 라우터를 선출합니다. 이 라우팅 디바이스는 네트워크를 설명하는 링크 상태 광고 (LSA)를 전송하여 네트워크 트래픽의 양과 라우팅 디바이스의 토폴로지 데이터베이스 크기를 줄입니다.

그런 다음 라우팅 디바이스는 새로 인수한 이웃 중 일부와 인접 성을 형성하려고 시도합니다. (다중 액세스 네트워크에서는 지정된 라우터 및 백업 지정 라우터만 다른 라우팅 디바이스와 인접성을 형성합니다.) 인접성은 라우팅 프로토콜 패킷의 분포를 결정합니다. 라우팅 프로토콜 패킷은 인접 항목에서만 송수신되며, 토폴로지 데이터베이스 업데이트는 인접 항목에 따라만 전송됩니다. 인접성이 설정되면, 인접 라우터 쌍은 토폴로지 데이터베이스를 동기화합니다.

라우팅 디바이스는 LSA 패킷을 전송하여 주기적으로 그리고 상태가 변경되면 상태를 보급합니다. 이러한 패킷에는 라우팅 디바이스의 인접성에 대한 정보가 포함되며, 이를 통해 비작동적 라우팅 디바이스를 탐지할 수 있습니다.

신뢰할 수 있는 알고리즘을 사용하여 라우팅 디바이스는 영역 전체에 LSA를 플러딩하여 영역의 모든 라우팅 디바이스가 정확히 동일한 토폴로지 데이터베이스를 갖도록 합니다. 각 라우팅 디바이스는 토폴로지 데이터베이스의 정보를 사용하여 루트로 자체적으로 최단 경로 트리를 계산합니다. 그런 다음 라우팅 디바이스는 이 트리를 사용하여 네트워크 트래픽을 라우팅합니다.

이 시점까지 SPF 알고리즘에 대한 설명은 알고리즘이 단일 영역(영역 내 라우팅) 내에서 어떻게 작동하는지 설명했습니다. 내부 라우터가 영역 외부의 목적지(영역 간 라우팅)로 라우팅할 수 있으려면 영역 경계 라우터가 이 지역에 추가 라우팅 정보를 삽입해야 합니다. 영역 경계 라우터는 백본에 연결되어 있으므로 백본에 대한 토폴로지 데이터를 완료할 수 있습니다. 영역 경계 라우터는 이 정보를 사용하여 영역 외부의 모든 목적지에 대한 경로를 계산한 다음 해당 지역의 내부 라우터에 이러한 경로를 보급합니다.

AS(Autonomous System) 경계 라우터는 스텁 영역을 제외하고 AS 전체에 걸쳐 외부 자율 시스템에 대한 정보를 플러드합니다. 영역 경계 라우터는 모든 AS 경계 라우터에 경로를 보급하는 역할을 합니다.

OSPF 3방향 핸드셰이크

OSPF는 OSPF 지원 링크에서 LSA를 플러딩하여 토폴로지 맵을 만듭니다. LSA는 인접한 OSPF 인터페이스에 OSPF 지원 인터페이스의 존재를 발표했습니다. LSA의 교환은 그림 1과 같이 3방향 핸드셰이크를 사용하여 모든 인접 OSPF 인터페이스(이웃) 간에 양방향 연결을 설정합니다.

그림 1: OSPF 3방향 핸드셰이크 OSPF Three-Way Handshake

그림 1에서 라우터 A는 온라인에서 OSPF가 활성화된 모든 인터페이스에서 Hello 패킷을 보냅니다. 라우터 B는 라우터 B가 라우터 A로부터 트래픽을 수신할 수 있음을 설정하는 패킷을 수신합니다. Router B는 Router A에 대한 응답을 생성하여 Hello 패킷 수신을 인정합니다. 라우터 A가 응답을 수신하면 Router B가 Router A. Router A로부터 트래픽을 수신할 수 있음을 설정합니다. 그런 다음 라우터 B에게 라우터 A가 Router B로부터 트래픽을 수신할 수 있다는 것을 알리기 위해 최종 응답 패킷을 생성합니다. 이 3방향 핸드셰이크는 양방향 연결을 보장합니다.

새로운 이웃이 네트워크에 추가되거나 기존 이웃이 연결을 끊으면 토폴로지 맵의 인접 항목은 LSA의 교환(또는 부재)을 통해 그에 따라 수정됩니다. 이러한 LSA는 네트워크의 점진적 변경 사항만 보급하여 네트워크의 OSPF 트래픽 양을 최소화하는 데 도움이 됩니다. 인접성은 공유되며 토폴로지 데이터베이스에서 네트워크 토폴로지를 생성하는 데 사용됩니다.

OSPF 버전 3

OSPFv3는 IP 버전 6(IPv6) 주소를 지원하는 수정된 버전의 OSPF입니다. OSPFv3는 다음과 같은 방식으로 OSPFv2와 다릅니다.

  • 모든 neighbor ID 정보는 32비트 라우터 ID를 기반으로 합니다.

  • 프로토콜은 서브넷이 아닌 링크별로 실행됩니다.

  • 라우터 및 LSA(network link-state advertisements)는 접두사 정보를 전달하지 않습니다.

  • link-LSA 및 intra-area-prefix-LSA의 두 가지 새로운 LSA 유형이 포함되어 있습니다.

  • 플러딩 범위는 다음과 같습니다.

    • Link-local

    • 영역

    • AS(As)

  • link-local 주소는 가상 링크를 제외한 모든 이웃 교환에 사용됩니다.

  • 인증이 제거됩니다. IPv6 인증 헤더는 IP 레이어에 의존합니다.

  • 패킷 형식은 다음과 같이 변경되었습니다.

    • 버전 번호 2는 이제 버전 번호 3입니다.

    • db 옵션 필드가 24비트로 확장되었습니다.

    • 인증 정보가 삭제되었습니다.

    • Hello 메시지에는 주소 정보가 없습니다.

    • RV6의 두 가지 새로운 옵션 비트가 포함되어 있습니다.

  • 유형 3 요약 LSA는 영역 간 접두사 LSA로 이름이 변경되었습니다.

  • Type 4 요약 LSA는 영역 간 라우터-LSA로 이름이 변경되었습니다.

OSPF 패킷 개요

LSA(link-state advertisement) 패킷에는 여러 가지 유형이 있습니다.

이 주제는 다음 정보를 설명합니다.

OSPF 패킷 헤더

모든 OSPFv2 패킷에는 공통 24바이트 헤더가 있으며, OSPFv3 패킷에는 공통 16바이트 헤더가 있으며, 여기에는 OSPF가 패킷을 수락해야 하는지 여부를 결정하는 데 필요한 모든 정보가 포함됩니다. 헤더는 다음 필드로 구성됩니다.

  • 버전 번호 - 현재 OSPF 버전 번호입니다. 이는 2 또는 3이 될 수 있습니다.

  • 유형 - OSPF 패킷 유형입니다.

  • 패킷 길이 - 패킷 길이(헤더를 포함하여 바이트 단위).

  • 라우터 ID - 패킷이 시작된 라우터의 IP 주소입니다.

  • 영역 ID - 패킷이 이동하는 영역의 식별자입니다. 각 OSPF 패킷은 단일 영역과 연결됩니다. 가상 링크를 통해 이동하는 패킷은 백본 영역 ID 0.0.0.0으로 레이블됩니다. .

  • 체크섬- 플레처 체크섬.

  • 인증—(OSPFv2만 해당) 인증 체계 및 인증 정보.

  • 인스턴스 ID—(OSPFv3만 해당) 링크에 여러 OSPFv3 영역이 구성된 경우 사용되는 식별자.

Hello 패킷

라우터는 주기적으로 가상 링크를 포함한 모든 인터페이스에서 Hello 패킷을 전송하여 이웃 관계를 수립하고 유지합니다. Hello 패킷은 멀티캐스트 또는 브로드캐스트 기능이 있는 물리적 네트워크에서 멀티캐스트로 이웃 라우터를 동적으로 검색할 수 있습니다. (비캐스트 네트워크에서는 동적 인접 검색이 불가능하므로 예: 비캐스트 멀티에이스 네트워크에서 OSPFv2 인터페이스 구성에 설명된 대로 모든 이웃을 정적으로 구성해야 합니다.)

Hello 패킷은 OSPF 헤더와 다음 필드로 구성됩니다.

  • 네트워크 마스크 -(OSPFv2만 해당) 인터페이스와 연결된 네트워크 마스크입니다.

  • Hello interval - 라우터가 Hello 패킷을 보내는 빈도. 공유 네트워크의 모든 라우터는 동일한 Hello 간격을 사용해야 합니다.

  • 옵션 - 라우터의 옵션 기능.

  • 라우터 우선 순위 - 지정된 라우터가 되도록 라우터의 우선 순위입니다.

  • 라우터 dead interval - 라우터가 다운이라고 선언하기 전에 라우터에서 OSPF 패킷을 수신하지 않고 대기하는 시간. 공유 네트워크의 모든 라우터는 동일한 라우터 dead interval을 사용해야 합니다.

  • 지정 라우터 - 지정된 라우터의 IP 주소입니다.

  • 백업 지정 라우터 - 백업 지정 라우터의 IP 주소입니다.

  • neighbor —라우터 dead interval에 의해 지정된 시간 내에 유효한 Hello 패킷이 수신된 라우터의 IP 주소입니다.

데이터베이스 설명 패킷

인접성을 초기화할 때 OSPF는 토폴로지 데이터베이스의 내용을 설명하는 데이터베이스 설명 패킷을 교환합니다. 이러한 패킷은 OSPF 헤더, 패킷 시퀀스 번호 및 link-state 광고의 헤더로 구성됩니다.

Link-State 요청 패킷

라우터가 토폴로지 데이터베이스의 일부가 오래된 것을 감지하면 정확한 데이터베이스 인스턴스를 요청하는 이웃에게 link-state 요청 패킷을 보냅니다. 이러한 패킷은 OSPF 헤더와 라우터가 추구하는 데이터베이스 정보를 고유하게 식별하는 필드로 구성됩니다.

Link-State 업데이트 패킷

Link-state 업데이트 패킷은 하나 이상의 link-state 보급을 원본에서 한 홉 더 멀리 전달합니다. 라우터 멀티캐스트는 멀티캐스트 또는 브로드캐스트 모드를 지원하는 물리적 네트워크에서 이러한 패킷을 플러드합니다. 라우터는 모든 link-state 업데이트 패킷을 인정하고 재전송이 필요한 경우 재전송된 광고 유니캐스트를 보냅니다.

Link-state 업데이트 패킷은 OSPF 헤더와 다음 필드로 구성됩니다.

  • 광고 수 - 이 패킷에 포함된 link-state 광고 수입니다.

  • Link-state 광고 - link-state 광고 자체입니다.

Link-State 승인 패킷

라우터는 link-state 업데이트 패킷에 대한 응답으로 link-state 승인 패킷을 전송하여 업데이트 패킷이 성공적으로 수신되었는지 확인합니다. 단일 승인 패킷에는 여러 업데이트 패킷에 대한 응답이 포함될 수 있습니다.

Link-state 승인 패킷은 OSPF 헤더와 link-state 광고 헤더로 구성됩니다.

Link-State 광고 패킷 유형

Link-state 요청, link-state 업데이트 및 link-state 승인 패킷은 링크 상태 광고 패킷을 안정적으로 플러드하는 데 사용됩니다. OSPF는 다음과 같은 유형의 link-state 광고를 보냅니다.

  • 라우터 링크 광고 - 라우터의 영역 링크의 상태 및 비용을 설명하기 위해 모든 라우터에 의해 전송됩니다. 이러한 링크 상태 광고는 단일 영역 전체에 걸쳐 플러드됩니다.

  • 네트워크 링크 광고 - 지정된 라우터에 의해 전송되어 네트워크에 연결된 모든 라우터를 설명합니다. 이러한 링크 상태 광고는 단일 영역 전체에 걸쳐 플러드됩니다.

  • 요약 링크 광고 - 다른 영역에서 알고 있는 경로를 설명하기 위해 영역 경계 라우터에 의해 전송됩니다. 요약 링크 보급에는 두 가지 유형이 있습니다. 즉, 목적지가 IP 네트워크일 때 사용되는 광고와 목적지가 AS 경계 라우터일 때 사용되는 광고입니다. 요약 링크 광고는 영역 간 경로, 즉 AS 내의 대상에 대한 경로를 설명합니다. 이러한 링크 상태 광고는 광고의 관련 영역에 걸쳐 플러드됩니다.

  • AS 외부 링크 광고 - AS 경계 라우터가 알고 있는 외부 경로를 설명하기 위해 전송됩니다. 이러한 link-state 광고는 AS 전체에 걸쳐 플러드됩니다(스텁 영역 제외).

각 link-state 광고 유형은 OSPF 라우팅 도메인의 일부를 설명합니다. 모든 link-state 광고는 AS 전체에 플러드됩니다.

각 link-state 광고 패킷은 공통 20바이트 헤더로 시작됩니다.

OSPF 외부 메트릭 이해

OSPF가 외부 AS(Autonomous System)에서 경로 정보를 내보내면 경로에 비용 또는 외부 메트릭이 포함됩니다. OSPF는 유형 1과 유형 2의 두 가지 외부 메트릭을 지원합니다. 두 메트릭의 차이점은 OSPF가 경로 비용을 계산하는 방법입니다.

  • 유형 1 외부 메트릭은 비용이 내부 비용과 외부 비용의 합계와 동일한 link-state 메트릭과 동일합니다. 즉, 유형 1 외부 메트릭에는 목적지에 대한 외부 비용과 AS 경계 라우터에 도달하기 위한 비용(메트릭)이 포함됩니다.

  • 유형 2 외부 메트릭은 AS 내부 경로의 비용보다 큽니다. 유형 2 외부 메트릭은 대상에 대한 외부 비용만 사용하고 비용(메트릭)을 무시하고 AS 경계 라우터에 도달합니다.

기본적으로 OSPF는 유형 2 외부 메트릭을 사용합니다.

유형 1 및 유형 2 외부 메트릭이 모두 AS에 동시에 존재할 수 있습니다. 이 경우 유형 1 외부 메트릭이 항상 우선합니다.

유형 1 외부 경로는 유형 2 외부 경로보다 항상 선호됩니다. 모든 경로가 유형 2 외부 경로인 경우, 가장 작은 유형 2 메트릭을 가진 경로가 항상 선호됩니다.

지원되는 OSPF 및 OSPFv3 표준

Junos OS OSPF 및 OSPF 버전 3(OSPFv3)에 대한 표준을 정의하는 다음 RFC 및 인터넷 초안을 실질적으로 지원합니다.

  • RFC 1583, OSPF 버전 2

  • RFC 1765, OSPF 데이터베이스 오버플로우

  • RFC 1793, 수요 회로를 지원하기 위해 OSPF 확장

  • RFC 1850, OSPF 버전 2 관리 정보 베이스

  • RFC 2154, 디지털 서명이 있는 OSPF

  • RFC 2328, OSPF 버전 2

  • RFC 2370, OSPF Opaque LSA 옵션

    계층 수준의 구성 문에 [edit protocols rsvp interface interface-name ] 의해 update-threshold 지원이 제공됩니다.

  • RFC 3101, OSPF NSSA(Not-So-Stubby Area) 옵션

  • RFC 3623, Graceful OSPF Restart

  • RFC 3630, 트래픽 엔지니어링(TE) OSPF 버전 2 확장

  • RFC 4136, 안정적인 토폴로지에서 OSPF 리프레시 및 플러딩 감소

  • RFC 4203, GMPLS(Generalized Multi-Protocol Label Switching) 지원 OSPF 확장

    인터페이스 스위칭만 지원됩니다.

  • RFC 4552, OSPFv3에 대한 인증/기밀성

  • RFC 4576, 링크 상태 광고(LSA) 옵션 비트를 사용하여 BGP/MPLS IP VPN(Virtual Private Networks)의 루프 방지

  • RFC 4577, BGP/MPLS IP VPN에 대한 프로바이더/고객 에지 프로토콜로서의 OSPF

  • RFC 4811, OSPF 대역 외 LSDB(Link State Database) 재동기화

  • RFC 4812, OSPF 재시작 신호 전송

  • RFC 4813, OSPF Link-Local 신호 전송

  • RFC 4915, OSPF에서 MT(Multi-Topology) 라우팅

  • RFC 5185, OSPF 다중 영역 인접성

  • RFC 5187, OSPFv3 Graceful Restart

  • RFC 5250, OSPF Opaque LSA 옵션

    참고:

    이 RFC에서 "해야 할" 요구 사항으로 언급된 RFC 4750은 지원되지 않습니다. 그러나 RFC 4750의 전신인 RFC 1850은 지원됩니다.

  • RFC 5286, IP Fast Reroute의 기본 사양: 루프 없는 대체

  • RFC 5340, IPv6용 OSPF (RFC 2740은 RFC 5340에 의해 사용되지 않음)

  • RFC 5838, OSPFv3에서 주소 패밀리 지원

  • 인터넷 초안 draft-ietf-ospf-af-alt-10.txt, OSPFv3에서 주소 패밀리 지원

  • 인터넷 초안 draft-katz-ward-bfd-02.txt, 양방향 포워딩 탐지

    에코 패킷 전송은 지원되지 않습니다.

  • RFC 8665, 세그먼트 라우팅을 위한 OSPF 확장

  • 인터넷 초안 draft-ietf-lsr-flex-algo-07.txt, IGP Flexible Algorithm

다음 RFC는 표준을 정의하지 않고 OSPF 및 관련 기술에 대한 정보를 제공합니다. IETF는 이를 "정보성"으로 분류합니다.

  • RFC 3137, OSPF 스텁 라우터 보급

  • RFC 3509, OSPF 영역 경계 라우터의 대체 구현

  • RFC 5309, 링크 상태 라우팅 프로토콜에서 LAN을 통한 Point-to-Point 운영

  • RFC 8920, OSPF 애플리케이션별 링크 속성

  • RFC 8920, OSPFv2 접두사/링크 속성 광고