1. 주요 개념
- OSPF(Open Shortest Path First)
- Backbone Area
- DR(Designated Router)
OSPF(Open Shortest Path First)는 계층구조 동적 라우팅 프로토콜로 주로 대규모 네트워크에서 area를 이용하여 분할 관리할 수 있다. RIP는 Hop Count 만을 보고 경로를 결정하는 반면 OSPF는 많은 요소를 고려하여 경로를 선택하기 때문에 훨씬 효율적인 경로 선택 가능하다.
OSPF의 장점은 RIP에선 30초마다 업데이트가 발생하므로 convergence time(수렴 시간)이 길지만 OSPF는 링크에 변화가 생겼을 때만 발생하므로 상대적으로 convergence time이 RIP에 비해 짧다. 또한 OSPF는 ABR(Area Border Router)를 통해 작은 영역으로 나누어 관리하여 연결하는 방식으로 큰 네트워크에서 너무 많은 LSA(Link State Advertisement)를 주고받아 발생하는 문제를 막을 수 있다. 여기에 RIP과 마찬가지로 VLSM을 지원한다.
단일 Area는 RIP과 마찬가지로 라우터에 연결되어 있는 서브넷 네트워크 주소를 등록하되 Area0에 지정해 주기만 하면 통신이 가능하다. 기본은 Backbone Area는 반드시 1개가 존재해야 하므로 area0로 설정해 주어야 한다. 여기서 필수적으로 이해해야 하는 개념이 있는데 바로 ABR과 DR의 개념이다. ABR(Area Boundary Router)은 Area와 Area의 경계선에서 통신을 가능하도록 하는 라우터이다. 적어도 하나의 인터페이스가 Backbone Area(area0)에 포함되어야 한다. 이로 인해 OSPF는 토폴로지(Topology) 구성에 제한을 받게 된다. 또한 위와 같은 내용으로 인해 Tree를 구성해야지만 운영을 할 수가 있는 구조가 되어버린다는 단점이 있다.
DR(Designated Router)은 OSPF에 참여하는 라우터들이 알려주는 LSA를 관리하면서 링크의 상태를 항상 일치시키는 라우터. 1개의 Area에 1개의 DR이 존재해야 한다. 그리고 BDR(Backup Designated Router)이 존재하는데, 이는 DR을 주시하고 있다가 DR이 다운되면 자신이 DR이 되어 역할을 이어받는다. 이 BDR은 라우터들끼리 Priority값을 비교하여 선출한다(Priority값이 같으면 라우터 ID를 비교하여 선출한다.). DR과 BDR은 반장, 부반장의 관계와 유사하다.
아래는 미리 구상된 토폴로지의 구조이다.
위 토폴로지를 토대로 네트워크를 구축한다.
2. 구축
OSPF를 위해 우선 Loopback주소를 각각 라우터에 할당해 준다. 루프백 주소 설정 명령어는 다음과 같다.
set interfaces loopback lo address [network address/subnet mask]
R2는 2.2.2.2/32, R3는 3.3.3.3/32로 루프백 주소를 각각 할당해 주었다.
이번 실험에서 OSPF의 Area는 아래와 같이 구성하였다.
OSPF의 명령은 아래와 같다.
set protocols ospf area [area number] network [network address/subnet mask]
set protocols ospf log-adjacency-changes
set protocols ospf parameters router-id [loopback address]
set policy route-map CONNECT rule 10 action permit
set policy route-map CONNECT rule 10 match interface lo
상기 명령을 수행하여 아래와 같이 R1 라우터의 OSPF를 설정한다. 이와 같은 방법으로 R2와 R3의 설정을 반복한다.
R1은 area 1로 R2는 area0로 설정해 준다.
show protocol 명령을 통해 각 라우터의 라우팅 테이블을 확인한 내용이다.
run show ip ospf route 명령으로 각 라우터의 OSPF 라우팅 테이블을 확인한다.
run show ip ospf route
위와 같이 세팅이 완료되었다면 ping으로 다른 area로의 통신 가능여부 확인한다. 아래 테스트는 192.168.1.254(Area1)에서 210.172.1.254(Area2)로 패킷을 전달한 결과이다.
ping이 잘 가고 있다면 와이어샤크를 이용해서 패킷을 확인해 본다.
3. 고장 test
라우터의 연결을 끊어 고장내기 이전 192.168.1.254에서 210.172.1.254까지 도달하는 경로는 10.0.0.0번 대 네트워크를 통해 통신이 이루어지고 있다.
네트워크 명을 바꾸어 라우터 간의 연결을 끊는다. 이번엔 R2라우터의 10.0.0.2번 쪽 어댑터의 연결을 끊었다.
OSPF 또한 RIP와 같은 동적 라우팅 프로토콜이므로 한쪽 라우터의 연결이 끊어지더라도 다른 경로로 우회해서 목적지에 도달할 수 있음을 tracepath 명령을 통해 확인할 수 있다.
4. 네트워크 구성 초기화
다음 프로토콜을 테스트 해보기 위해 OSPF 구성을 삭제한다.
관련 포스트
2023.01.03 - [Computer Science/Computer Network] - [네트워크 실습] VyOS를 이용한 라우팅 프로토콜 실습 환경 세팅