OSPF(Open Shortest Path First)

코코볼·2023년 5월 19일
0
post-thumbnail

1. OSPF(Open Shortest Path First)란?

*다이나믹 라우팅 프로토콜(Dynamic Routing Protocol)의 방식 중, 링크 상태를 확인하여 최단 경롤르 찾는 알고리즘을 통해 확인된 최단 경로를 바탕으로 패킷을 전달해주는 라우팅 프로토콜이다.

* Dynamic Routing Protocol

다이나믹 라우팅 프로토콜, 관리자가 일일이 경로를 지정하지 않아도 알아서 패킷이 길을 찾아나가는 방식)

* DHCP(Dynamic Host Configuration Protocol)

DHCP란 동적 호스트 구성 프로토콜의 약자로, IP 네트워크에 사용되는 네트워크 프로토콜입니다. DHCP는 IP 주소 및 기타 통신 매개변수를 네트워크에 연결된 장치에 자동으로 할당합니다

2. OSPF의 주요속성

  • AS(Autonomous System) 내부를 구성하는 내부용 라우팅 프로토콜 (IGP:Interior Gateway Protocol)이다.
  • Link State 기술에 의한 최단경로 선택 라우팅 알고리즘(링크 상태 라우팅 라우팅 프로토콜)이다. 특히 최단 경로를 선택하기 위해 다익스타라(Dijkstra)의 SPF(Shortest Path First) 알고리즘을 사용한다.

3. OSPF의 장점

  • 빠른 재수렴(Fast Reconvergence) : 네트워크의 모든 라우터간에 정보를 주고 받는데 걸리는 시간을 컨버전스 타임(Convergence Time)이라고 한다. (즉, 라우팅 테이블이 완성되는데 소요되는 시간) OSPF는 변화가 생기면 바로 해당 정보를 전파하기 떄문에 즉시 변경된 라우팅 정보를 반영하여 빠른 컨버전스 타임을 가집니다.
  • 부분 갱신(Partial Update) : 링크상태(Link State)의 변화시에만 라우팅 정보를 전송하므로 리소스의 낭비를 방지할 수 있습니다. (브로드캐스트가 아닌 멀티캐스트로 전송)
  • Area 개념을 사용 : Area라는 개념을 사용하여 OSPF 네트워크를 더 작은 영역으로 나눈 다음 관리를 하기 때문에 더 효율적인 라우팅, 관리가 가능합니다. 따라서 큰 네트워크에 적합합니다. (다른 영역에서 변화가 일어나더라도 라우팅 테이블을 업데이트 하지 않아도 됨) 단, 반드시 백본 영역이 존재해야 하며, 연결되지 못하는 경우에는 Virtual 링크를 통해 연결되어야 한다.
  • Stub Area 개념을 사용 : 내부 라우터에게 외부 경로에 대한 정보를 차단하고 기본 라우팅만 전달합니다. 따라서 라우팅 테이블의 크기를 대폭 감소시켜 네트워크의 안정성이 확보 되며 라우팅 성능도 좋아지고 장애처리가 쉬어진다.
  • VLSM 지원 : 서브넷을 더 잘개 쪼개는 VLSM을 지원하므로 IP 주소를 효과적으로 사용할 수 있을 뿐 만 아니라 라우팅 테이블을 줄일 수 있으므로 효율적인 리소스 사용이 가능합니다. 또한 라우트 요약(Route Summarization/최적화) 기능을 제공하므로 여러 개의 라우팅 경로를 하나로 묶어줄 수 있다.
  • RIP 프르토콜의 경우 홉 카운트가 15로 제한되어 있지만 OSPF에서는 제한이 없어 네트워크 크기의 제한이 없다.
  • 경로 결정의 효율성 : 홉 카운트 만을 고려하는 RIP과는 달리 링크 비용(Link cost) 개념으로 다양한 변수를 기반으로 한 메트릭을 산정하여 최단 거리를 구하는 OSPF의 알고리즘 특성상 더 효율적이고 빠른 경로 산축이 가능할 수 있다.

4. OSPF 라우터의 종류

(1) 위치에 따른 구분

  • IR(Internal Router) : 특정 Area에만 속한 라우터
  • ABR(Area Border Router) : 두 개 이상의 Area에 속한 라우터. 즉 Area 경계선에 걸쳐져 있다.
  • ASBR(Automous System Boundary Router) : 외부 네트워크와 연결되는 라우터(AS 끼리 연결)

(2) ID와 역할에 따른 구분(DR,BDR)

  • ID(라우터 ID)
    OSPF를 통해 경로 정보를 서로 주고 받을 때 특정 라우터를 구분하는 고유의 값으로 사용됩니다.
 ID 값이 지정되는 순서는 다음 과 같다.
1. 물리적 인터페이스 보다 논리적 인터페이스인 루프백 인터페이스 (가상의 인터페이스) 를 라우터 ID로 지정합니다.
2. 루프백 주소가 여러개 있으면 높은 값의 주소가 라우터 ID로 사용된다.
3. 루프백 주소가 없을 경우, 활성화된 인터페이스의 주소 중 가장 높은 값을 가지는 주소를 라우터 ID로 사용한다.

* 라우터 인터페이스의 주소가 잦은 변경이 일어난다면 라우터 ID가 자주 변경되게 된다. 이렇게 되면
주변의 OSPF 라우터들이 정보를 수정해야 하는 일이 빈번하게 발생하여 리소스를 낭비하게 된다. 이를 막기 위해
루프백 인터페이스를 사용하는 것이 더 효율적이다.
(루프백 인터페이스는 가상의 인터페이스므로 다운되지 않으며, 주소의 높고 낮음에 관계 없이 무조건 이 주소가 라우터 ID가 된다.)
  • DR(Designated Router) & BDR(Backup Designated Router)
    OSPF에서는 기본적으로 네트워크 관리의 책임을 지는 DR과 BDR을 선출합니다. 이후 OSPF에 참여하는 모든 라우터들은 DR과 BDR에 자신의 링크 상태를 알린다. DR과 BDR을 사용하는 목적은, 모든 라우터와 링크 상태를 교환할 경우 발생하는 트래픽을 줄이고 링크 상태의 Sync 상태를 올바로 관리하는데 있다. 또한 DR은 이 정보를 관리하고 링크상태를 항상 일치시키는 역할을 수행한다. BDR은 DR이 제대로 동작하는지, 업무를 제대로 수행하는 지를 관찰하다가 DR에게 문제가 발생하면 바로 DR의 역할을 대신 수행한다.
DR과 BDR의 선출과정은 다음과 같다
1) 라우터의 우선순위는 기본1로 설정
2) 어떤 라우터가 이보다 높은 우선순위를 갖는다면 그 라우터가 DR이 되고 그 다음이 BDR로 선정
3) 두 라우터의 우선순위가 같다면 ID가 높은 라우터가 DR이 됨
4) DR, BDR 선출 이후 우선순위가 높은 라우터가 네트워크에 추가되면 이미 위 과정이 끝난 상태이므로 다음 번 선출 때에 참여 가능
5) 특정 장비가 DR이나 BDR에 참여하지 않게 하려면 우선순위를 0으로 설정하면 됨

5. OSPF 이웃(Neighboer)

라우팅 정보를 서로 교환하는 인접한 이웃의 다른 라우터를 의미한다. (직접 연결된 다른 라우터) 이웃 관계를 정상적으로 맺어야만 라우팅 정보를 주고 받을 수 있습니다. 이웃을 성립하는 단계는 다음과 같이 정리할 수 있다.

1. Down : 서로 간에 어떤한 정보도 주고 받지 못하는 상태
2. Attempt(NBM:NON-Broadcast Multi-Access Network만 해당)
3. Init : Hello 패킷을 보내기도 받기도 하는 상태 (이웃의 발견)
4. Two-way : 양방향 통신이 이루어짐. 주고받는 Hello 패킷 내 이웃 리스트 필드에 자신들의 라우터 ID를 퐇마하여 전달하거나 이를 수신 확인하는 상태
5. Exstart : 양 라우터 간에 주/종 관계가 성립되는 상태. 이때 양자간에 DDP(Database Description Packet:링크 상태에 관련된 요약 정보(LSA 목록) 패킷을 서로 교환(Database synchronization)
6. Exchange : 링크 상태 정보를 요청 및 응답하고, 요청을 잘 받았다는 확인을 보내는 과정
7. Loading
8. Full : 이웃 관계의 완성 단계(Fully Adjacent)

출처 : https://www.stevenjlee.net/2020/06/25/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EB%9D%BC%EC%9A%B0%ED%8C%85-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-ospf-open-shortest-path-first/

0개의 댓글