2024. 3. 19. 17:12ㆍNetwork
공개 표준 프로토콜로 자주 사용되는
OSPF에 대해 더 자세히 알아보자
OSPF의 메트릭
OSPF의 메트릭은 cost를 사용하는데
아래와 같이 각 경로당 cost가 주어져 있다고 가정하자
R1 에서 R4로향하는 경로는 두가지 이다.
경로 1 : R1 - R3 - R4
경로 2 : R1 - R2 - R3 - R4
경로 1은 경로 2보다 홉카운트가 낮지만
Cost의 총합이 40이다!
그에 비해 경로 2는
Cost 총합이 30이다.
그러므로 cost가 더 낮은 경로 2가 선택된다.
이 OSPF의 cost는 대역폭을 기반으로 계산된다.
기준 대역폭
Cost = ____________
실제 대역폭
위와 같이 계산된다.
기준 대역폭은 기본적으로 100Mbps 이다.
그러므로 기본 Fastethernet 경로의 비용은 1이다.
(FastEthernet의 실제 대역폭은 100Mbps이다)
그러나 문제가 하나 발생한다.
Cost의 최저 값은 1이다.
그래서 실제 대역폭이 1Gbps든 100Mbps든
모두 1의 비용으로 계산된다.
이런 경우를 위해서 기준 대역폭을 변경해주어야 한다.
Router(config)#router ospf 1
Router(config-router)#auto-cost reference-bandwidth 1000
% OSPF: Reference bandwidth is changed.
Please ensure reference bandwidth is consistent across all routers.
위 같은 명령어로 변경해주면
이제 1Gbps의 cost가 1이되고
100Mbps의 cost는 10이된다.
하지만 1Gbps보다 높은 대역폭에선 다시 무용지물이 되니,
적절히 높은 대역폭으로 설정해주도록 하자!
또, 수동으로 OSPF 경로의 Cost 값을 지정해줄 수 있다.
Router(config)#int f0/1
Router(config-if)#ip ospf cost 40
위 같은 설정으로 수동으로 Cost를 부여해
원하는 경로로 트래픽이 향하게 할 수 있다.
인터페이스의 기준 대역폭을 변경하는 것은 다른 프로토콜, 소프트웨어들도
영향을 받을 수 있다.
그래서 Cost의 값을 조절하는 것이 조금 더 안전한 방법이라 할 수 있겠다.
OSPF의 인접성
전체적인 순서는
OSPF 설정 > 탐색 > 양방향 단계 > 교환 단계 > 로딩 단계 > 완전 단계
로 이뤄진다.
탐색 단계
OSPF는
해당하는 인터페이스로 Hello 패킷을 전송 후 수신 대기한다.
이때 224.0.0.5의 멀티캐스트 주소를 사용한다.
Hello 패킷은 매 10초마다 전송되며
인접성 형성 후에도 전송된다.
Hello 패킷의 구성
라우터 ID | IPv4 형식 (고유 식별용) |
Hello interval | 기본 10초 |
Dead interval | 라우터 사용 불가능 선언까지 이웃의 패킷을 수신하기 위해 기다리는 시간 ( 기본적으로 Hello interval의 4배 = 40초 ) |
Neighbor | 자기 자신인 라우터 에게 Hello 패킷을 전송한 인접 라우터 목록 |
Area ID | 해당 인터페이스에 설정된 영역 |
Router Priority | 우선 순위 값으로 DR BDR 선저이 사용 |
DR, BDR IP Address | DR,BDR 이 존재할때 해당 라우터의 IP주소 정보 |
Authentication password | 인증 번호가 설정되있을 시 포함 |
Stub Area Flag | 영역이 스텁 영역인지 알려줌 |
OSPF는 서로
Hello, Dead interval
Area ID
Authentication password
Stub Area Flag
이 다섯가지가 같아야 인접성을 형성할 수 있다.
양방향 단계
지정 라우터 Designated Router (DR) 와
백업 지정 라우터 Backup Designated Router (BDR)
라우터에 OSPF 를 활성화 시키면
라우터는 가능한 이웃과 인접성을 형성시키게 되는데
여러 라우터가 (3개 이상) 있을시 모든 라우터가 서로 완전한 인접성을 형성하는 것은
비효율 적이다.
그래서 여러 라우터중 하나의 라우터가
지정 라우터 (DR) 로 선정되어
다른 라우터들이 DR과 정보를 공유하여 정보를 습득하는 것이 효율 적이다.
지정 라우터가 비활성화시 백업 지정 라우터 (BDR)이 역할을 대신하게 된다
DR, BDR은 각 영역 마다 선정되며
우선 순위가 가장 높은 라우터가 DR로 선정되고
그 다음이 BDR로 선정된다.
이 과정은 양방향 단계에서 이뤄진다.
우선순위 (Priority) 값은 기본적으로 1이고
0~255 의 범위를 가진다
0으로 설정하면 절대 선정되지 않는다.
우선 순위가 같을시에는 더 높은 라우터 ID를 가진 라우터가 선출된다.
( 기본적으로 우선 순위값은 1이라 라우터 ID 값으로 선출된다 )
Router(config)#int f0/1
Router(config-if)#ip ospf priority 100
Router(config-if)#exit
Router(config)#exit
Router#show ip ospf int f0/1
FastEthernet0/1 is up, line protocol is up
Internet address is 10.0.0.1/24, Area 0
Process ID 1, Router ID 10.0.0.1, Network Type BROADCAST, Cost: 50
Transmit Delay is 1 sec, State WAITING, Priority 100 <<<<<<<< 우선 순위값 100으로 변경
.
.
.
이하 생략
위의 명령어로 우선 순위값을 변경할 수 있다.
라우터 ID는 기본적으로
가장 높은 루프백 인터페이스 IP 주소를 사용한다.
없을 시에는
다른 인터페이스의 가장 높은 IP 주소를 사용한다.
Router(config)#router ospf 1
Router(config-router)#router-id 100.100.100.100
Reload or use "clear ip ospf process" command, for this to take effect
해당 명령어로 라우터 ID를 수동으로 변경할 수 있다.
적용하기 위해선 반드시
clear ip ospf process를 입력하거나 재시작 해줘야한다!
DR, BDR 로 선정된 라우터들은 같은 네트워크 프로토콜 내 있는
모든 라우터와 완전 이웃 상태를 형성한다.
다른 라우터 끼리는 양방향 상태로 유지되며 서로 경로를 교환하지 않는다.
네트워크 상에서 변경이 생기면
해당 라우터가 LSU 패킷을 224.0.0.6의 멀티캐스트로 전송한다.
DR, BDR이 수신하고 이를 업데이트 한다.
그리고 DR은 이를 224.0.0.5의 멀티캐스트로 전송해서 (BDR은 제외)
모든 라우터들이 이를 수신하고 업데이트 한다.
224.0.0.5 > 모든 DR, BDR이 수신 대기하는 멀티캐스트 주소
224.0.0.6 > 모든 그외 OSPF 라우터가 수신 대기하는 멀티캐스트 주소
'Network' 카테고리의 다른 글
Network 16. VTP (0) | 2024.03.28 |
---|---|
Network 15 . VLAN (0) | 2024.03.27 |
Network 13. Routing protocol (0) | 2024.03.18 |
Network 12. Access Control List (0) | 2024.03.17 |
Network 11. Etherchannel (0) | 2024.03.14 |