OSPF 라우팅 프로토콜은 Timer에 대한 내용이 많다. 일반적으로 초기 Timer 설정 값을 변경하는 것을 권장하지 않고 Default 값으로 그대로 사용하기 때문에, 국내외 서적에서 Timer에 대한 내용을 잘 다루고 있지 않다. 하지만, 이동통신망이나 증권망과 같이 무중단 네트워크 서비스를 요구하는 고객이 많아졌는데, 이런 경우는 고객의 요구조건에 맞게 OSPF의 다양한 Timer를 수정해서 사용할 필요가 있다.

  그 중에서 ‘show ip ospf interface’ 명령어로 Interface에 동작하는 OSPF Timer를 확인해 보면 다음과 같다.

Transmit Delay is 1 sec

  Transmit Delay는 Neighbor에게 OSPF Packet을 전달하는데 소요되는 시간으로 Default 값은 ‘1초’로 되어 있으며, ‘ip ospf transmit-delay’ 명령어를 사용하여 1초에서 65,535초 사이 값으로 설정할 수 있다.

  현재 LSA ‘1.1.1.1’의 Aging Time은 1,023초로 되어 있는데, R1에서 Transmit Delay를 ‘2,000초’로 변경한 후에 다시 한번 확인해 보도록 하겠다.

  2,000초가 증가하여야 하는데 증가되지 않은 것을 확인할 수 있다. Transmit Delay를 기존 설정보다 작게 설정하는 경우는 Update Packet을 던져 변경된 정보를 알려주지만, 기존 설정보다 크게 설정하는 경우는 Update 정보를 보내지 않기 때문이다. 이번에는 Neighbor 관계를 다운시키고 다시 Neighbor 관계를 수립한 후, 다시한번 살펴보도록 하겠다.

  Neighbor가 되자마자 LSA의 Aging TIme이 2,000초부터 시작하는 것을 확인할 수 있다. 여기서 R1에서의 Aging Time을 살펴보면 다음과 같다.

  즉, Transmit Delay를 2,000초로 설정한 후에 정보를 확인해 보면 LSA를 보낸 장비 R1은 Aging Time이 2초로 되어 있고, 받은 장비 R2에는 2,002초로 되어 있는 것을 알 수 있다. 이것은 R1이 LSA 정보를 보낼 때, Neighbor 까지 LSA를 전송하는데 걸리는 시간이 2,000초가 소요된다고 인지하여 자신의 LSA 정보에 Transmit Delay 만큼 추가해서 LSA를 보내기 때문이다.

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

   oob-resync timeout 40

   Hello due in 00:00:03

  Hello interval과 Dead interval은 Interface의 Network Type에 따라 차이가 있다. Network Type은 추후에 자세히 설명하기로 하고 Network Type에 따른 차이는 다음 표와 같다. 그리고, 다음 Hello Packet을 보내기 위해 남은 시간을 ‘Hello due in’으로 알려준다.

Network Type Hello Interval Dead Interval 비교
Point-to-Point 10 초 40 초 표준
Broadcast 10 초 40 초 표준
NBMA 30 초 120 초 표준
Point-to-Multipoint 30 초 120 초 표준
Point-to-Multipoint non-broadcast 30 초 120 초 시스코

  Hello Interval은 ‘ip ospf hello-interval’ 명령어를 사용하여 변경할 수 있는데 Hello Interval을 변경하면 자동으로 Dead Interval이 ‘Dead Interval = Hello Interval X 4’의 값으로 자동으로 변경된다. 그러나, ‘ip ospf dead-interval’ 명령어를 사용하여 Dead Interval을 변경한다고 해서 ‘Hello Interval = Dead Interval / 4’의 값으로 Hello Interval이 자동으로 변경되지는 않는다.

  Wait Interval은 처음 DR을 선출할 때, DR이 될 수 있는 우선순위가 더 높은 장비가 혹시나 존재할지 모르기 때문에 DR을 선출하기 전에 기다리는 시간이다. DR은 한번 선출되면 DR로 선출된 장비가 Down되지 않는한 변경되지 않기 때문에 이미 DR이 선출된 경우는 Wait Interval은 동작하지 않는다.

  Wait Interval은 별도로 설정하는 값이 없고 항상 Dead Interval = Wait Interval 값을 갖는다. 그리고, DR을 처음 선출하는 경우, Wait Interval 동안 ‘Wait time before Designated router selection’ 정보를 통해 Wait Interval이 얼마나 남았는지를 표시해 준다. 그리고, DR을 선출한 후에는 해당 정보가 사라지게 된다.

  Retransmit Interval은 LSU Packet을 보내고 LSAck Packet을 받지 못한 경우, 재전송을 하기 위한 시간으로 Default 값이 5초로 설정되어 있으나 ‘ip ospf retransmit-interval’ 명령어를 사용하여 1초에서 65,535초 사이 값으로 설정할 수 있다. 다른 표현으로 설명을 하면 LSU Packet을 전송하고 LSAck Packet을 기다리는 Maximum Interval이라고 할 수도 있다.

  ‘oob-resync timeout’은 NSF 기술을 적용하는 경우, Neighbor에 Active Route Process에 문제가 생겨 Standby Route Process로 Switchover되는 경우, Neighbor는 RP-bit를 설정한 Special Hello Packet을 전달한다. 이 Hello Packet을 받은 장비는 Neighbor의 Route Process가 제대로 동작하는 동안 Neighbor 관계를 다운시키지 않고 기다리게 되는데, 그 시간이 ‘oob-resync delay’이다. Default 값은 ‘oob-resync timeout = Dead Interval’로 되어 있으며, ‘ip ospf resync-timeout’ 명령어를 사용하여 1초에서 65,535초 사이 값으로 설정할 수 있다. 수동으로 설정하는 경우,  Dead Interval보다 작게 설정할 수 있으나 Dead Interval 보다 크게 설정하는 것을 권장한다.

Last flood scan time is 0 msec, maximum is 0 msec

  마지막 LSA를 전달하는데 소요된 시간과 하나의 LSA를 전달하는데 소요된 최대 시간을 나타낸다. 고속에서는 항상 0 msec라고 표시되어 있으나, 저속에서는 값이 나타난다. 예를 들어 1,000 byte의 LSA를 128 kbps로 전송을 한다고 가정해 보자. ‘1,000 byte = 8,000 bit’ 이므로 8 kbit가 된다. 128 kbps는 1초에 128 kbit를 전송한다는 의미이므로 8 kbit를 전송하기 위해서는 8/128초가 소요될 것이다. 이를 계산하면 62.5 ms가 되는데 이런 경우 Last flood scan time is 63 msec로 나타나게 되는 것이다.