4-3강. 링크 상태 라우팅 프로토콜
추천글 : 【정보기기운용기능사】 4강. 경로 설정 개요
1. 개요 [본문]
2. OSPF [본문]
1. 개요 [목차]
⑴ 정의 : 다익스트라(Dijkstra) 알고리즘 또는 최단 경로 우선(SPF, Shortest Path First) 알고리즘을 사용하여 목적지까지의 최단 경로를 계산한 후 이를 기초로 패킷을 전송하는 방법
⑵ 기본 동작
① 1st. 각각의 라우터는 자신의 활성화되어 있는 인터페이스를 통해 직접 연결된 모든 링크 상태 정보를 취듯
② 2nd. 각각의 라우터는 Hello라는 특별한 패킷을 이웃 라우터들에게 전송하며, 이 패킷을 통해 이웃하는 라우터가 자신과 동일한 링크 상태 라우팅 프로토콜을 사용하고 있는지 확인
③ 3rd. 각각의 라우터는 LSP라는 링크 상태 패킷 생성
④ 4th. 각각의 라우터는 정해진 영역 내에서 동일한 링크 상태 프로토콜로 동작하는 모든 다른 라우터들에게 자신이 생성한 LSP를 플러딩(Flooding)하며, 플러딩 정보를 수신한 라우터들은 정해진 영역 내의 모든 링크와 원격지 네트워크에 대한 상태를 학습
⑤ 5th. 각각의 라우터는 학습한 모든 링크와 네트워크 정보를 토대로 SPF 알고리즘을 수행하여 최적의 경로를 계산한 후 이를 자신의 라우팅 테이블에 반영
⑶ 링크 비용
① 가정
○ R1과 R2 간 WAN 구간 : 20
○ R2와 R3 간 WAN 구간 : 30
○ R3와 R1 간 WAN 구간 : 5
○ 로컬 LAN 구간 : 5
② 각 경로별 링크 비용
출발지 | 목적지 | 경로 | 링크 비용 |
PC1 | PC2 | PC1 → R1 → R2 → PC2 | 30 |
PC1 → R1 → R3 → R2 → PC2 | 45 | ||
PC3 | PC1 → R1 → R3 → PC3 | 15 | |
PC1 → R1 → R2 → R3 → PC3 | 60 | ||
PC2 | PC1 | PC2 → R2 → R1 → PC1 | 30 |
PC2 → R2 → R3 → R1 → PC1 | 45 | ||
PC3 | PC2 → R2 → R3 → PC3 | 40 | |
PC2 → R2 → R1 → R3 → PC3 | 35 | ||
PC3 | PC1 | PC3 → R3 → R1 → PC1 | 15 |
PC3 → R3 → R2 → R1 → PC1 | 60 | ||
PC2 | PC3 → R1 → R2 → PC2 | 40 | |
PC3 → R3 → R1 → R2 → PC2 | 35 |
③ 대역폭에 따른 비용 값
인터페이스 유형 및 대역폭 | 비용 |
56 Kbps | 1785 |
64 Kbps | 1562 |
128 Kbps | 781 |
T1(1.544 Mbps) | 64 |
E1(2.048 Mbps) | 48 |
Ethernet(10 Mbps) | 10 |
FastEthernet(100 Mbps) | 1 |
GigabitEthernet(1000 Mbps) | 1 |
10-GigabitEthernet | 1 |
2. OSPF(Open Short Path First) [목차]
⑴ 중·대규모 네트워크에서 가장 많이 사용
⑵ 개요 특징
① RFC 2328에 규정
② 모든 라우터 벤더에서 지원
③ EIGRP(참고)와 달리, Process-ID가 반드시 자율 시스템(AS) 번호와 같을 필요는 없음
④ 라우팅 정보 업데이트 시 224.0.0.5와 224.0.0.6의 멀티캐스트 주소 사용
⑤ 프로토콜 번호 89번 사용
⑥ 30분 간격으로 링크 상태 재생을 통해 라우팅 업데이팅 정보 교환
⑦ 링크 비용(Cost)을 메트릭으로 사용하여 목적지 네트워크로의 경로 결정
⑧ OSPF 패킷 헤더
○ OSPF 패킷 헤더 : 각 OSPF 패킷 유형(Type)은 모두 OSPF 패킷 헤더에 의해 캡슐화됨
○ 버전(Version) : 8 비트, OSPF의 버전 표시, IPv4에서는 버전 2이며, IPv6에서는 버전 3
○ 타입(Type) : 8 비트, OSPF 패킷 유형 결정
○ 패킷 길이(Packet Length) : 16 비트, OSPF 패킷 헤더를 포함한 OSPF 패킷 길이를 바이트 단위로 나타낸 것
○ 라우터 ID(Router ID) : 32 비트, OSPF 패킷을 생성한 라우터 ID
○ 영역 ID(Area ID) : 32 비트, OSPF 패킷이 생성된 영역 ID
○ 체크섬(Checksum) : 16 비트, OSPF 패킷의 오류 검사시 사용
○ 인증 유형(Au Type) : 16 비트, OSPF 패킷 인증 절차
○ 인증(Authentication) : 64 비트
인증(Authentication) | 설명(Description) | 참조 문서 |
0 | 인증 사용하지 않음 | RFC 2328 |
1 | 단순한 패스워드 인증 방식 사용 | RFC 2328 |
2 | 암호화된 인증 방식 사용 | RFC 2328 |
3 ~ 65535 | 예약 | - |
○ Hello : Type 1
○ OSPF 패킷 헤더 : 20 바이트
○ 네트워크 마스크(Network Mask) : 32 비트
○ 헬로 주기(Hello Interval) : 16 비트
○ 옵션 : 8 비트
○ 라우터 우선순위(Router Priority) : 8 비트
○ 라우터 데드 주기(Router Dead Interval) : 32 비트
○ DR(Designated Router) : 32 비트
○ BDR(Backup Designated Router) : 32 비트
○ 네이버 목록(List of Neighbors) : 32 비트
○ DBD(DataBase Description) : Type 2
○ LSR(Link-State Request) : Type 3
○ LSU(Link-State Update) : Type 4
○ LSAck(Link-State Acknowledgement) : Type 5
⑨ 2계층 구조
○ 목적 : SPF 알고리즘 속도 향상
○ 내부 라우터(Internal Router) : 일반 라우터, Area 1, 2, 3 등으로 그룹화
○ 통상 하나의 영역에 50-100개 정도의 라우터 권장
○ 영역 경계 라우터(ABR; Area Border Router) : 백본 영역과 내부 라우터 사이, 다른 내부 라우터들에게 패킷을 전달하기 위하여 반드시 영역 경계 라우터를 통해 전달해야 함
○ 백본(Backbone) 영역 : Area 0, 외부 인터넷(ISP)과 통신 시 통과하는 길목 라우터
○ 네이버
○ 네이버 성립 조건 : 동일한 영역, 동일한 Hello, 동일한 Dead Interval, 동일한 설정 내용으로 인증
네트워크 토폴로지 |
Hello Interval |
Dead Interval |
Point-to-Point, Broadcast |
10 |
40 |
NBMA(Non-Broadcast Multiple Access), Point-to-Multipoint, Point-to-Nonbroadcast(Frame-relay, X.25, ATM 등) |
○ 어드제이슨트 네이버(Adjacent Neighbor) : 네이버 중에서 라우팅 테이블을 교환하는 네이버
⑩ DR/BDR/DROthers
○ LSA : OSPF는 네트워크 토폴로지나 경로에 변화가 생기면 같은 영역에 있는 라우터들 간 LSA를 주고받음
○ 문제점 : 라우터가 많은 토폴로지에서 LSA 플러딩과 관련된 트래픽 발생
○ 해결방안 : 영역 구분, DR/BDR 설정
○ DR(Designated Router) : LSA 정보를 224.0.0.5의 멀티캐스트 주소로 수신
○ BDR(Backup Designated Router) : DR이 동작을 모사게 되면 BDR이 DR이 됨
○ DROthers : 한 영역에서 DR, BDR을 제외한 나머지, 자신의 LSA 정보를 224.0.0.6의 멀티캐스트 주소를 사용하여 DR과 BDR에 전송
○ DR/BDR 선정은 다음과 같이 이루어짐
○ 라우터 인터페이스에 설정되어 있는 OSPF 기본 우선순위(Priority) 값을 비교하여 가장 큰 값을 가진 라우터가 DR, 그 다음 값을 가진 라우터가 BDR이 됨, 우선순위 기본값은 1
○ 인터페이스의 우선순위 값이 같다면 라우터 ID가 가장 높은 라우터가 DR, 그 다음으로 높은 라우터가 DBR이 됨
⑶ 설정
① R1의 인터페이스 설정
○ R2, R3의 인터페이스 설정도 진행
Router>en | |
Router#conf t | |
Router(config)#hostname R1 | |
R1(config)#int loopback 0 | |
R1(config-if)#ip add 1.1.1.1 255.255.255.0 | |
R1(config-if)#exit | 루프백 인터페이스는 논리적인 인터페이스이므로 활성화를 시키지 않아도 인터페이스가 만들어지면 자동으로 활성화됨 |
R1(config)#int gi0/0 | |
R1(config-if)#ip add 203.230.7.1 255.255.255.0 | |
R1(config-if)#no shutdown | |
R1(config-if)#exit | |
R1(config)#int s0/2/0 | |
R1(config-if)#ip add 203.230.10.2 255.255.255.0 | |
R1(config-if)#no shutdown | |
R1(config-if)#exit | |
R1(config)#int s0/2/1 | |
R1(config-if)ip add 203.230.11.2 255.255.255.0 | |
R1(config-if)#clock rate 64000 | |
R1(config-if)#no shutdown |
② R1의 OSPF 설정
○ R2, R3의 OSPF 설정도 진행
R1(config)#router ospf 7 | #route ospf 7로 축약 가능 7 : Process-ID, 1-65535 사이 중 임의로 설정 |
R1(config-router)#network 203.230.7.1 0.0.0.0 area 0 | OSPF는 네트워크 설정에 있어서 와일드카드 마스크를 사용; 와일드카드 마스크는 서브넷 마크스와는 반대되는 개념 0 : Area-ID |
R1(config-router)#network 203.230.10.2 0.0.0.0 area 0 | 0.0.0.0 : 와일드카드 마스크 |
R1(config-router)#network 203.230.11.2 0.0.0.0 area 0 | |
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0 |
③ 포트 불활성화 : 특정 포트(예. fa0/0)로 라우팅 정보 또는 라우팅 프로토콜 데이터가 전송되지 않도록 할 때
○ 예 : Router(config-router)#passive-interface fa0/0
④ Hello 및 Dead Interval 수동 설정 : 이 값을 변경하면 다른 라우터와의 Hello 및 Dead Interval 값이 달라 네이버 관계가 끊어지는 메시지가 생성
R1>en | |
R1#conf t | |
R1(config)#int se0/2/1 | |
R1(config-if)#ip ospf hello-interval 10 | |
R1(config-if)#ip ospf dead-interval 20 | |
(중략) |
⑤ OSPF 보안 : 보안값이 일치하는 라우터들만 라우팅 정보를 교환
○ 평문을 사용한 네이버 인증
R1(config)#int se0/2/1 | |
R1(config-if)#ip ospf authentication | |
R1(config-if)#ip ospf authentication-key cisco |
○ MD5 방식을 사용한 네이버 인증
R1(config)#int se0/2/1 | |
R1(config-if)#ip ospf authentication message-digest | |
R1(config-if)#ip ospf message-digest-key 1 md5 cisco |
○ 평문을 사용한 영역 인증
R1(config)#router ospf 7 | 7 : Process-ID |
R1(config-router)#area 0 authentication | |
R1(config-router)#exit | |
R1(config)#int se0/2/1 | |
R1(config-if)#ip ospf authentication-key cisco |
○ MD5 방식을 사용한 영역 인증
R1(config)#router ospf 7 | |
R1(config-rouer)#area 0 authentication message-digest | |
R1(config-router)#exit | |
R1(config)#int gi0/0 | |
R1(config-if)#ip ospf message-digest-key 1 md5 cisco |
⑥ 유용한 #show 명령어
○ #show ip route
○ #show ip protocols
R1#show ip protocols | |
Routing Protocol is "ospf 7" | |
Outgoing update filter list for all interfaces is not set | |
Incoming update filter list for all interfaces is not set | |
Router ID 1.1.1.1 | 라우터 ID : 루프백 인터페이스 주소, 없으면 활성화된 인터페이스 중 가장 높은 값의 주소 |
(중략) |
○ #debug ip ospf events
R3#debug ip ospf events | |
OSPF events debugging is on | |
R3# | |
00:12:18: OSPF: Rcv hello from 1.1.1.1 area 0 from Serial0/2/0 203.230.11.2 | |
00:12:18: OSPF: End of hello processing | |
00:12:21: OSPF: Rcv hello from 2.2.2.1. area 0 from Serial0/2/1 203.230.12.1 | |
00:12:21: OSPF: End of hello processing | |
00:12:28: OSPF: Rcv hello from 1.1.1.1 area 0 from Serial0/2/0 203.230.11.2 | 헬로 패킷 간격이 10초로 설정됨 |
00:12:28: OSPF: End of hello processing | |
(중략) |
○ #show ip ospf neighbor
R1#show ip ospf neighbor | |
Neighbor ID Pri State Dead Time Address Interface | Neighbor ID : 이웃하는 네이버 라우터의 라우터 ID Pri : 해당 네이버 라우터의 우선순위 State : FULL이란 정상적으로 네이버 관계를 맺고 있음을 의미 Dead Time : 헬로 패킷을 수신하기 위해 기다리는 시간, 헬로 패킷을 수신하면 40초로 초기화 Address : 직접 연결된 네이버 라우터의 IP 주소 Interface : 네이버 라우터로 가기 위한 출구 인터페이스 정보 |
2.2.2.1 0 FULL/ - 00:00:34 203.230.10.1 Serial0/2/0 | |
3.3.3.1 0 FULL/ - 00:00:36 203.230.11.1 Serial0/2/1 |
○ #show op ospf interface : 영역 번호, Process-ID, 라우터 ID, 네트워크 유형, 링크 비용, Hello Interval, Dead Interval 등을 표시
○ #show ip ospf neighbor : Neighbor ID, Pri, State, Dead Time, Address, Interface, DR/BDR/DROthers 여부를 표시
입력: 2018.11.03 17:12
'▶ 자연과학 > ▷ 정보기기운용기능사' 카테고리의 다른 글
【정보기기운용기능사】 6강. VTP와 STP (0) | 2018.10.21 |
---|---|
【정보기기운용기능사】 5강. VLAN과 Inter-VLAN 라우팅 (0) | 2018.10.08 |
【정보기기운용기능사】 4강. 경로 설정 개요 (0) | 2018.10.08 |
【정보기기운용기능사】 4-2강. 거리 벡터 라우팅 프로토콜 (0) | 2018.10.08 |
【정보기기운용기능사】 4-1강. 정적 경로 설정 (0) | 2018.10.08 |
최근댓글