본문 바로가기
Network/Network기초

25. OSPF란 ?

by JINJINC 2022. 12. 30.
728x90
반응형

■ OSPF(Open Shortest Path First)

  • OSPF는 규모가 크고 성장하는 Network를 위해 고안 되었다.
    RIP의 한계를 극복하기 위해서 고안되었다.
  • 각 라우터는 OSPF 데이터베이스를 토대로 Dijkstra Algorithm을 수행하여 최적경로를 산출하여 라우팅 테이블에 적재한다.
  • IGP (Interior Gateway Protocol)이다.
  • Open Architecture로서 특정 Vendor에 종속적이지 않다.
  • Convergence의 속도는 Routing Change가 즉시 Flooding 되어 각 Router에서 병렬계산 되므로 대단히 빠르다. (Default : 5초 ~ 46초)
  • VLSM 및 CIDR을 지원한다.
  • OSPF는 Network 확장에 한계가 없다.
  • Network에 변화가 있을 때만 Multicast (224.0.0.5)로 Link State Update를 하기 때문에 대역폭 사용이 적다.
  • OSPF는 Bandwidth에 기초한 Cost Value 를 Path Selection Method로 사용한다.
    (OSPF는 Equal-Cost Multiple Path 를 최대 4 까지 지원함)

▶ OSPF 라우팅 테이블을 만들고 유지하는 과정.

  • OSPF 가 설정된 라우터간에 헬로 패킷을 주고 받아 네이버 및 어드제이션트 네이버 관계를 구성한다.
  • 다른 라우팅 프로토콜들과는 달리 OSPF는 모든 네이버간에 라우팅 정보를 교환하는 것은 아니다.
  • 라우팅 정보를 교환하는 네이버를 어드제이션트 네이버라 한다.
  • 어드제이션트 라우터끼리 라우팅 정보를 교환한다.
  • OSPF 에서는 라우팅 정보를  LSA(Link State Advertisement)라고 한다.(★)
  • 각 라우터들은 전송받은 LSA를 링크 상태 데이터베이스에 저장한다.
  • LSA 교환이 끝나면 이를 근거로 SPF (Shortest Path First) 또는 디지크스트라(Dijkstra)라는 알고리즘을 이용하여 각 목적지가지의 최적 경로를 계산하고 이를 라우팅 테이블에 저장한다.
  • 이후 주기적으로 헬로 패킷을 전송하여 각 라우터가 정상적으로 동작하고 있음을 인접 라우터에게 알린다.

▶ AREA(영역) 개념

  • OSPF에서는 네트워크를 여러 AREA로 나누고 OSPF 라우팅 정보를 몇 가지로 구분하여 적당히 작은 라우팅 테이블을 구현한다.
  • AREA를 나누는데 있어서 중요한 기준 중 하나는 AREA 0 (중심이 되는 AREA)가 있어야 하며, 다른 AREA들은 모두 AREA 0와 붙어있어야 한다.(★)
  • 만약 그렇게 되지 않은 경우, 가상링크(Virtual Link)를 통해 연결해야 한다.
  • IR(Internal Router)
    AREA 내에 포함되어 있는 라우터를 IR이라 한다.
    IR의 인터페이스는 모두 해당 AREA의 번호를 가진다.
  • ABR(Area Border Router)
    AREA와 AREA 경계선에 있는 라우터를 ABR이라 한다.
    ABR은 적어도 하나의 인터페이스는 AREA 0에 속해야 한다는 것이다.
    만약 AREA에 붙지 못하는 경우 가상링크(Virtual Link)를 통해 속하게 한다.
  • ASBR(Autonomous Systmem Border Router)
    라우터의 인터페이스 중 일부가 OSPF영역 밖에 있는 경우의 라우터를 ASBR라고 한다.
    예를 들면 RIP과 OSPF는 다른 프로토콜이므로 재분배를 해야하며 이럴때 ASBR이 된다.
    ABR/ASBR . ABR이면서 ASBR인 경우로, AREA경계와 AS경계 모두 있는 경우 이다

▶ OSPF 에서 사용하는 패킷

hello

  • 헬로 패킷을 이용하여 인접한 라우터와 먼저 네이버를 구성한다.
  • 물리적으로 직접 연결된 인터페이스를 통하여 네이버를 구성한다.
  • 물리적으로 직접 연결되어 있지 않으면 네이버 관계가 구성되지 않는다.
  • OSPF 네이버를 형성하고 유지하는데 사용되는 패킷이다.
  • 기본 값으로 hello패킷은 10초, 데드주기는 hello패킷의 4배를 사용한다

DDP(Link State Advertisement) = DBD

  • OSPF의 네트워크 정보를 LSA라고 부른다.
  • 자신이 만든 LSA 및 네이버에게서 수신한 LSA를 모두 링크 상태 데이터베이스라고 하는 곳에 저장한다.
  • DDP는 OSPF 라우터의 링크 상태 데이터베이스에 있는 LSA들을 요약한 정보를 알려주는 패킷이다.
  • OSPF 네이버 라우터간에 LSA들을 교환하기 전에 자신의 링크 상태 데이터베이스에있는 LSA 목록을 상대 라우터에게 알려주기 위해서 사용한다.

LSR(Link State Request)

  • 상대 라우터가 보낸 DDP를 보고, 자신에게 없는 네트워크 정보(LSA)가 있으면, 상세한 내용(LSA)을 요청할 때 사용하는 패킷이다.

LSU(Link State Update)

  • 상대 라우터에게서 LSR을 받거나 네트워크 상태가 변했을 경우 해당 라우팅 정보를 전송할 때 사용하는 패킷이다. 즉 LSU는 LSA를 실어 나를 때 사용하는 패킷이다.

LS ACK (Link State Acknowledgement)

  • OSPF는 DDP, LSR, LSU 패킷을 수신하면 반드시 LS ACK 패킷을 사용하여 상대에게 정상적으로 수신했음을 알려야 한다.

▶ OSPF 단계별 사용하는 OSPF 패킷 종류

INIT → 2WAY → EXSTART       → EXCHANGE → LOADING → FULL
HELLO 패킷      DBD, LSR, LSU, LSAck 패킷

 

▶ OSPF 메트릭

OSPF 의 메트릭을 코스트(cost)라고 부르며, 출발지부터 목적지까지의 각 인터페이스에서 기준 대역폭을 실제 대역폭으로 나눈 값의 합계이다.

시스코 IOS의 OSPF 기준 대역폭은 10^8 이다.! 코스트 계산시 소수점 이하의 수는 버린다. 그러나 전체 코스트 값이 1미만이면 1로 계산한다.

▶ OSPF 구성하기

router ospf process-id network networkIP Wildcardmask area 0

※ 프로세스 ID (Process ID)

  • 라우터 내부적으로 사용하는 ID 이며, 다른 라우터와 동일한 필요가 없다.
  • 운용상의 편리성을 위해 서로 동일하게 사용하는 것이 좋다.
  • 한 라우터는 여러 개의 OSPF 프로세스를 운용할 수 있는데, 이는 여러 개의 OSPF 데이터베이스를 사용한다는 것이다

< OSPF DR/BDR/DROther 개념

LSA 중계 역할을 하는 라우터를 DR(Designated Router)이라고 하며, DR에 장애가 발생하면 대신 DR역할을 하는 라우터를 BDR(Backup DR)이라고 한다.

DR이 반장이라고 하면 BDR은 부반장 역할이다 DR, BDR은 브로드캐스트 및 논브로드캐스트 네트워크에서만 사용되며, 포인트 투 포인트 네트워크에서는 사용하지 않는다.

 

< OSPF DR/BDR/DROther 선출 순서 > 

스텝 1.

OSPF 우선순위가 가장 높은 라우터가 DR이 된다. 다음 순위의 라우터가 BDR이 된다. OSPF 우선순위가 0 이면 DR이나 BDR이 될 수 없다. [ int s0/0 -> ip ospf priority (0 - 255) ]

스텝 2.

OSPF 우선순위가 모두 동일하면(기본값 1), 라우터 ID가 높은 것이 DR, 그 다음이 BDR이 된다. Router ID = 지정한 Router-ID > Loopback 높은 IP > Interface높은 IP

스텝 3.

한 번 DR/BDR이 선출되면 더 높은 우선순위의 라우터가 추가되어도 라우터를 재부팅하거나 clear ip ospf process 명령어를 사용하기 전에는 DR/BDR을 다시 선출하지 않는다. (단, DR/BDR 우선순위를 0으로 조정하면 해당 DR/BDR을 새로 뽑는다.)

⇒ 재부팅이나 프로세스 클리어하면 다시 조정가능하다.

스텝 4.

DR이 다운되면 BDR이 DR이 되고, BDR을 새로 선출한다. BDR이 다운되면 BDR을 새로 선출한다. DR/BDR이 아닌 라우터를 DROTHER 라우터라 한다.

# show ip ospf neighbor ⇒ /dr/bdr 확인가능
#show ip ospf interface e0/0
#show ip ospf database

DR/BDR/DBOther 선결되는 환경

  • Broadcast network = eth0/0 , fa0/0
  • NonBroadcast network = frame-relay 환경에서 multipoint 인터페이스

DR other간에는 라우팅 교환하지 않습니다

⇒ DRother 간은 서로서로 2Way로 표시 됩니다.

DROTHER R3에서 R4 는 2WAY로 표시됩니다.
DROTHER R4에서 R3 는 2WAY로 표시됩니다

수동으로 DR-BDR을 재선출 하고 싶을때 => 선출 기준 순으로 교체한다

  1. priority 값 수정 한다 DR(반장)이 되고 싶은 라우터로 가서 int f0/0 ip ospf priority 3하고 나면 나머지 DROTHER 인 라우터들은 priority 값이 기본 1이기 때문에 영향이 없다.
  2. BDR(부반장)이 되고 싶은 라우터로 가서 int f0/0 ip ospf priority 2
  3. Router-ID 값 수정한다 => 수정 값을 실제로 반영할려면 ? clear ip ospf process or reload a. 더 높은 값으로 수동 입력 b. 자동 loopback IP 더 높은값으로 수정 c. 자동 실제 IP 더 높은값으로 수정

 

네트워크 타입별 OSPF 동작 방식

  • 인터페이스의 종류에 따라 자동으로 OSPF 네트워크 타입이 결정된다.
  • 기본적인 네트워크 종류와 상관없이 OSPF 네트워크 타입을 다른 것으로 변경시킬 수 있다.

※ 기본적으로는 상대방과 Network Type이 같아야 통신이 가능하지만, 다음의 규칙이 지켜지면 달라도 통신이 가능하다. . 반드시 Hello/Dead Interval이 같아야 한다.

int s0/0

ip ospf hello-interval 10 (dead값은 자동 4배로 변경됨) .

Neighbor간의 Network Type이 모두 DR을 선출하거나 모두 선출하지 않아야 한다.

show ip ospf int s0/0

 

interface s0/0 ip ospf network [ broadcast | point-to-point | point-to-multipoint | non-broadcast ]

타입 1. 논브로드캐스트 네트워크에서의 OSPF 설정

- 논브로드캐스트 네트워크에서 OSPF를 설정할 때는 네이버를 지정해주어야 한다.

- 모든 라우터와 직접 연결된 라우터가 DR로 동작할 수 있도록 해야 한다.

 

타입 2. 브로드캐스트 네트워크에서의 OSPF 설정

- 브로드캐스트 네트워크에서 OSPF를 설정할 때는 네이버가 자동으로 지정된다.

- 모든 라우터와 직접 연결된 라우터가 DR로 동작할 수 있도록 해야 한다.

 

타입 3. 포인트 투 멀티포인트 네트워크에서의 OSPF 설정

- Point-to-Multipoint 네트워크에서 OSPF를 설정할 때는 네이버가 자동으로 지정된다.

- DR 뽑지 않는다

- 포인트 투 멀티포인트 네트워크에서는 모든 IP주소가 서브넷 마스크가 32비트인 host route 로 광고된다.

  (로컬 인터페이스만 /24 이다.)

 

타입 4. 포인트 투 포인트 네트워크에서의 OSPF 설정

- Point-to-Point 네트워크에서 OSPF를 설정할 때는 네이버가 자동으로 지정된다.

- DR 뽑지 않는다

728x90
반응형

'Network > Network기초' 카테고리의 다른 글

26. OSPF AREA 개념( ABR, ASBR,IR )  (0) 2023.01.01
24.EIGRP - 보안  (0) 2022.12.30
23.EIGRP-축약  (0) 2022.12.30

댓글