OSPF 라우팅 프로토콜을 설정하기 위한 기본 단계는 장비에 OSPF 라우팅 프로토콜 프로세스를 구동시키는 단계와 Interface에 OSPF 라우팅 프로토콜을 구동시키는 단계가 있다. 그 중 첫번째 단계인 장비에 OSPF 라우팅 프로토콜 프로세스를 구동시키는 명령어는 장비의 OS와 관계없이 다음 명령어를 수행하면 된다.

1단계. 장비에 OSPF 라우팅 프로토콜 프로세스 구동하기

  ‘process-id’는 16 bit 숫자로 구성되어 1~65535의 값을 가지며, 하나의 장비내에 여러 개의 OSPF 라우팅 프로토콜이 구동되는 경우 각 프로세스를 구분하는 용도로 사용되기 때문에 Neighbor와 동일할 필요는 없다. 하지만, 일반적으로 관리목적 상 하나의 회사 내에서는 동일하게 설정하여 사용한다.

  장비에 OSPF 라우팅 프로토콜 프로세스를 구동시킨 후에는 ‘show ip protocol’ 명령어를 사용하여 프로세스가 제대로 올라가 있는지 확인할 수 있다. ‘show ip protocol’의 결과는 라우팅 프로토콜마다 조금씩 다르게 표시되는데, 여기서는 OSPF 라우팅 프로토콜에 대한 부분만 설명하기로 하겠다.

*** IP Routing is NSF aware ***

  장비가 Routing에 대한 NSF 기능이 있음을 표시하는 것으로 OSPF 라우팅 프로토콜에 대한 정보가 아니다.

Routing Protocol is “ospf 1”

  Process-id가 ‘1’인 OSPF 라우팅 프로토콜이 동작하고 있음을 의미한다.

Outgoing update filter list for all interfaces is not set

  ‘distribute-list’ 등을 통해 Outgoing 방향으로 Route filtering 기술이 적용되어 있는지를 표시하는 부분으로 OSPF 라우팅 프로토콜은 Outgoing 방향으로 Route filtering을 적용할 수 없기 때문에 항상 ‘not set’으로 표시된다.

Incomming update filter list for all interfaces is not set

  ‘distribute-list’ 등을 통해 Incoming 방향으로 Route filtering 기술이 적용되어 있는지를 표시하는 부분으로 Incoming 방향으로 Route filtering 기술이 적용되면 다음과 같이 표시된다.

Router ID 10.2.2.77

  해당 OSPF 라우팅 프로토콜의 Router-ID를 표시된다.

Number of areas in this router is 0. 0 normal 0 stub 0 nssa

  장비와 직접 연결되어 있는 Area 정보를 표시하는 부분으로 Area가 설정되면 다음과 같이 표시된다.

Maximum path: 4

  Best-Path에 대하여 다중 경로를 가지고 있는 경우, 최대 몇 개의 경로를 라우팅 테이블에 등록하여 Load-Balancing을 할 것인지를 표시하는 부분으로 장비와 OS version에 따라 설정할 수 있는 값이 다르다. 해당 장비에 설정할 수 있는 최대값을 확인하기 위해서는 ‘maximum-path’ 명령어 뒤에 ‘?’를 사용하여 확인할 수 있다.

Routing for Networks:

  Interface에 OSPF 라우팅 프로토콜을 구동시키기 위하여 어떠한 설정을 했는지를 표시하는 부분으로 Interface에 OSPF를 설정하는 경우는 Interface 정보가 Area 단위로 구분되어 표시되고, ‘network’ 명령어를 사용하였을 경우에는 설정한 명령어가 그대로 표시된다.

Routing Information Sources:

Gateway         Distance      Last Update

  OSPF 라우팅 프로토콜은 OSPF 데이터베이스에 있는 LSA 들을 전달한 장비들의 Router-ID를 표시되는데, 모든 LSA의 Advertising Router들이 표시된다.

Distance: (default is 110)

  OSPF 라우팅 프로토콜의 Administive Distance를 표시하는 부분으로 Administive Distance 값을 변경하면 다음과 같이 표시된다.

2단계. Interface에 OSPF 라우팅 프로토콜 구동하기

  ‘IOS’나 ‘XE’의 경우는 ‘network’ 명령어를 사용하여 여러개의 Interface에 OSPF 라우팅 프로토콜을 한번에 구동시킬 수 있으나, ‘IOS-XR’이나 ‘NX-OS’의 경우는 향후에 만들어 질수는 있겠지만 아직까지는 ‘network’ 명령어가 존재하지 않는다. 그런데, 많은 사람들이 ‘network’ 명령어에 대해 다음과 같이 이해하고 있지만, 이는 잘못된 것이다.

잘못된 이해 : ‘network’ 명령어 뒤에 나오는 범위는 Interface가 가지고 있는 Subnet의 범위이다.

  다음 예제들을 통해 무엇이 잘못된 것인지 확인해 보도록 하자.

  우선 3개의 Interface를 10.1.0.0/16, 10.2.1.0/24, 10.2.2.72/29로 설정을 한다.

  다음으로 ‘network’ 명령어를 사용하여 10.0.0.0/8 안에 있는 모든 Interface를 한번에 Area 0로 설정하여 OSPF 라우팅 프로토콜을 구동시킨 후 ‘show ip ospf interface brief’ 명령어를 사용하여 결과를 확인해 보도록 하겠다.

  ‘10.0.0.0/8 ⊇ 10.1.0.0/16, 10.2.1.0/24, 10.2.2.72/29’이기 때문에 모든 Interface가 Area 0로 구동된다고 이해하기 쉽다.

  다음으로 ‘network’ 명령어를 사용하여 10.2.0.0/16 안에 있는 모든 Interface를 한번에 Area 2로 설정한 후 ‘show ip ospf interface brief’ 명령어를 사용하여 결과를 다시 확인해 보도록 하겠다. ‘network’ 명령어는 보다 범위가 작은 정보를 우선하기 때문에 설정된 값을 변경하지 않고 바로 설정하여도 된다.

  역시 마찬가지로 ‘10.2.0.0/16 ⊇ 10.2.1.0/24, 10.2.2.72/29’이기 때문에 모든 Interface가 Area 0로 구동된다고 이해하기 쉽다.

  이번에는 ‘network 10.2.1.1 0.0.0.0 area 1’ 명령어를 설정한 후 ‘show ip ospf interface brief’ 명령어를 사용하여 결과를 다시 확인해 보도록 하겠다.

  ‘10.2.1.1/32’ 내에 포함되는 Interface Subnet은 존재하지 않는데 Fa1/0이 Area 1으로 바뀌는 것을 확인할 수 있다. ‘network’ 명령어 뒤에 설정되는 범위는 Interface Subnet이 아니라, Interface IP address의 범위이다. 즉 ‘network’ 명령어의 의미는 다음과 같다.

‘network’ 명령어 뒤에 나오는 범위 내에 Interface가 가지고 있는 IP address가 포함되면 해당 Interface에 OSPF 라우팅 프로토콜이 구동된다.

  ‘network’ 명령어의 의미를 이해했다면 Interface에 메뉴얼하게 설정하는 방법은 이해하기가 쉽다. 어차피 ‘network’ 명령어가 어떤 Interface에 OSPF 라우팅 프로토콜을 구동시킬지 설정하는 것이라면, OSPF 라우팅 프로토콜을 구동시킬 Interface에서 설정을 하자는 것이다.

  만일 ‘network’ 명령어와 Interface에 설정하는 명령어가 둘 다 설정되어 있는 경우는 Interface에 설정된 정보를 우선하게 된다.