상세 컨텐츠

본문 제목

OSPF DR/BDR (동적 라우팅)

네트워크 기초

by 찌르렁 2020. 10. 27. 04:26

본문

다음과 같은 네트워크 구성이 존재한다.

 

라우터는 원거리 통신에 적합한 통신 기기고 고가의 장비이다. 그러나 위의 구성은 4개의 라우터가 근거리 통신으로 연결되어 있다. 이는 굉장히 비효율적이다. 같은 대역대의 근거리 통신인 4개의 라우터 사이에서 만약 R1에 변경 사항이 발생할 경우, R1은 R2, R3, R4에게 변경 정보를 광고하면서 총 3번의 전송이 이뤄진다. 만약, 연결된 라우터에서 위와 같이 Loopback 주소가 4개 (11.11.11.11 / 22.22.22.22 / 33.33.33.33 / 44.44.44.44)가 생성될 경우 총 12번의 전송이 오고 갈 것이며, 트래픽이 낭비되는 현상이 발생한다.

 

따라서 낭비되는 트래픽을 줄이기 위해서 사용하는 것이 DR / BDR(Designated Router / Backup Designated Router)이다. DR/BDR을 사용하면 트래픽 발생을 반으로 줄일 수 있다. 따라서 12번의 전송을 6번으로 줄일 수 있게 된다. 이는 쉽게 말해서 반에서 반장 부반장 선거하는 거랑 비슷한 것이다. DR은 지정 라우터로 "반장"의 역할을 하며, BDR은 백업을 위한 지정 라우터로 "부반장"의 역할을 한다.

 

DR의 역할은 다음과 같다.

 

DR은 변경 정보를 자신에게 모두 모아 연결된 라우터로 전송해 주는 역할을 하며, 때문에 다른 라우터들은 변경정보를 일일이 다른 라우터에 보낼 필요가 없이 DR (R1 라우터)에게만 전송을 하면 된다. 따라서 모든 정보를 R1 라우터만 가지게 된다.

 

R1 라우터는 DR 역할을 하기 때문에 과부하가 발생한다. 따라서 DR은 반드시 최신형 라우터를 사용하여야 하며, 새로운 라우터가 생기거나 일정 사용 기간이 지나면 신형으로 교체를 하여야 한다. (실제 DR 라우팅 테이블을 확인하면 정보가 미친 듯이 오고 가며, 라우터 cpu 사용률을 보면 거의 100%이다. 그래서 DR의 온도가 높아져 쿨링 시스템이 필수적이다. 대신 통신은 트래픽이 감소하여 빨라지게 된다.)

 

BDR은 DR에 문제가 발생했을 때, 사용하는 것(Backup 역할)으로 DR의 라우팅 테이블 정보를 BDR 교환하여 가지고 있다.

 

DR / BDR을 사용할 수 있는 조건은 3가지이며, 다음과 같다.

 

1.  Broadcast 환경일 때, 즉 FastEthernet / Ethernet 케이블로 연결되어 있을 때
2. OSPF 동적 프로토콜을 사용할 때
3. Router가 2개 이상 존재할 때

사용 가능 조건 (1번은 Boradcast 환경 조건인데, 실제 Non-broadcast 환경에도 사용을 한다. 그러나 이것은 네트워크 기초에서 다루지 않는다.)

 

DR과 BDR을 정하는 기준은 다음과 같다.

 

1. Priority 값이 높은 것
2. Router-ID 값이 높은 것

선출 기준

 

다음 선출 기준으로 1등, 2등 라우터가 각각 DR, BDR이 된다.

 

OSPF에서는 Priority 값을 정할 수가 있는데, 이는 각 라우터의 OSPF의 서열을 정하는 것이다. 기본적으로 모든 OSPF는 기본 값이 1로 서열이 동일하다. 그러나 "ip ospf priority [번호]" 명령을 통하여 서열을 정해줄 수 있다.

 

만약 Priority 값이 모두 동일하여 선출이 불가능할 때, 두 번째 선출 기준을 사용하는데 router-id가 높은 OSPF를 선출한다. router-id는 OSPF 사용 시에 입력했던 것으로 수동 입력 또는 자동(loopback id 높은 순), 자동(실제 IP 주소 높은 순) 순으로 정해지는 값이다.

 

실제로는 priority 값을 일부러 지정하지 않고, router-id를 통해서 선출되도록 한다. 그러나 특정 라우터를 선출하고 싶을 때, priority 값을 지정해 줌으로써 강제로 선출되도록 한다.


다시 네트워크 구성을 살펴보자

 

현재 네트워크 구성에서 각각의 라우터는 근거리로 연결되어 있으며, 각각 IP 주소와 Loopback IP 주소를 가지고 있다.

 

이제 OSPF 연결 설정을 진행하겠다. 다음은 R1의 명령어 입력 과정이다.

 

다음은 R2의 명령어 입력 과정이다.

 

여기까지 입력하면 DR/BDR의 선출 조건이 모두 만족된다. 근거리 통신이며, OSPF 프로토콜을 사용하고 라우터가 2개 이상 설정이 되었기 때문이다. R2의 OSPF 연결 정보를 확인하면 다음과 같다.

 

현재 보면 11.11.11.11이 DR로 선출되어 있는 것을 확인할 수 있다. 그런데 선출 기준에서 Priority가 동일할 경우 router-id가 큰 순대로 선출된다고 하였다. Pritory는 설정한 적이 없기 때문에 router-id로 선출돼야 하는데, router-id가 더 높은 R2(22.22.22.22) 대신 R1이 선출되어 있다. 이는 사용하고 있는 Packet Tracer 프로그램의 문제이다. 실제 라우터에서 이러한 현상은 절대 발생하지 않는다. 따라서 이를 수정하기 위해서는 각각의 라우터에 OSPF 재시작을 명령하면 수정이 되어 보인다.

 

다시 확인하면 정상적으로 R2는 DR, R1은 BDR로 선출된 것을 확인할 수 있다.

 

R1 OSPF 연결 정보
R2 OSPF 연결 정보

이렇게 선출된 이후에 만약 Loopback IP 주소가 33.33.33.33 라우터 즉 router-id 가 기존 DR 보다 높은 R3가 연결되면 어떻게 될까? DR과 BDR은 바뀌지 않을 것이다. 한번 선출된 DR과 BDR은 직접 프로세스 재시작 등과 같이 변경 명령 없이 연결만 돼서는 router-id가 아무리 높아도 변경되지 않는다. (굴러온 돌이 박힌 돌 뺄 수 없다!!)

 

R1

그러나 해당 시뮬레이터 프로그램은 불안정해서 변경될 수도 있으니 변경되면 무시하고 다시 설정하면 된다.

 

프로세스를 재시작하는 명령어를 입력하면 DR/BDR이 다시 기준에 따라 재선출된다.

 

다음은 강제로 DR/BDR를 선출하는 방법을 알아보겠다. router-id와 관계없이 강제로 선출하게 하기 위해서는 priority 값을 사용한다고 하였다. 명령어는 "ip ospf priority [번호]"이다. [번호]가 높은 순으로 DR과 BDR이 선출된다. R1을 DR로 R2를 BDR로 선출해보겠다.

 

R1 라우터의 연결된 LAN port의 interface priority 값을 3으로 설정하였다.

 

R2는 2로 설정하였다.

 

다시 모든 라우터의 프로세스를 재시작하고 R4에서 연결된 OSPF 정보를 보면 다음과 같다.

 

R1과 R2의 Priority 값이 3과 2로 변경된 것을 확인 가능하며 크기에 따라 각각 DR, BDR로 선출된 것을 확인할 수 있다.

 

'네트워크 기초' 카테고리의 다른 글

OSPF 응용 문제  (0) 2020.10.27
OSPF Code O IA(동적 라우팅)  (0) 2020.10.27
OSPF Cost(Metric) 값 계산  (0) 2020.10.27
OSPF Code O (동적 라우팅)  (0) 2020.10.27
OSPF의 특징 및 LSA(동적 라우팅)  (0) 2020.10.27

관련글 더보기

댓글 영역