LAB #1
- OSPF Neighbor가 성립되는 단계에 대해 Wireshark 또는 Debug로 확인 합니다
문제1.
구성도와 같이 R1, R2 사이에 IP를 설정하고, OSPF Area0을 설정하시오.
문제2.
R1, R2 간을 Wireshark로 capture한 후, R2에서 "clear ip ospf process(ospf 재시작)"로 neighbor를 down/up 한 후 OSPF 관련 Packet을 확인하세요.
- Ethernet 구간에서 OSPF관련 packet이 어떠한 IP를 사용하는지 확인하세요.
- Serial 구간에서 OSPF관련 packet이 어떠한 IP를 사용하는지 확인하세요.
문제3.
OSPF에서 사용하는 Packet의 종류 5가지를 확인 하고, 각각이 어떤 IP를 사용하는지 확인하세요.
- Hello Packet
= 224.0.0.5 // 재시작시에는 10.1.21.1 / 10.1.21.2 가 SA/DA로 나오게 된다. (LS Update) - DBD (DB Description) Packet
= OSPF의 네트워크 정보인 LSA들의 요약된 정보를 알려줄 때 사용
= 10.1.21.1 / 10.1.21.2 - LSR (LS Request) Packet
= Neighbor에게서 수신한 DBD에 자신이 모르는 네트워크가 있을 때 상세 요청 할 때 사용.
= 10.1.21.1 - LSU (LS Update) Packet
= LSR을 받거나 자신이 알고있는 네트워크 상태가 변했을 때 해당 네트워크 정보를 전달할 때 사용.
= 224.0.0.5 - LSAck (LS Acknowledge) Packet
= OSPF 패킷을 정상적으로 수신하였을 때 사용.
= 224.0.0.5
문제4.
Debug ip ospf packet으로 OSPF 관련 Packet을 확인하세요.
LAB #2
학습 목표
◆ LAB OSPF OSPF Neighbor Discovery
문제1.
구성도와 같이. R1,R2 사이에 IP를 설정하고, OSPF AREA0를 설정하세요.
문제2.
R1,R2사이에, Neighbor가 맺어지는 단계를 확인하세요. (아래의 단계를 Wireshark를 통해 확인 하세요.)
(Down, Init, Two-way, Exstart, Exchange, Loading, Full)
문제3.
R2의 S1/0의 Hello interval 10sec 8sec로 변경해 보세요. 변경 후 R4와의 Neighbor 관계를 확인하세요.
(show ip ospf neighbor) neighbor가 맺어지지 않는 이유를 확인 하고, R1의 S1/0의 Hello interval을 8sec 변경 후에 Neighbor가 다시 맺어지는 것을 확인하세요
명령어 = R2(config-if)#ip ospf hello-interval 8
문제4.
R2의 S1/0의 AREA를 0에서 1으로 변경해 보세요. 변경 후, R1와의 Neighbor 관계를 확인하세요.
아래 그림처럼 Received invalid packet : mismatched area ID from backbone area from 10.1.12.1 e0/0이 뜨면서
라우팅 테이블에 연결이 사라지게 된다. 그리고 Neighbor도 끊어지게 된다.
하지만, 와이어샤크에서는 hello packet은 여전히 올라오고 있다. OSPF 설정이 사라진건 아니기 떄문.
다시 변경을 하니 OSPF가 바로 맺어지면서 DBD, LSR, LSU, LSAck Packet들이 교환되는걸 확인할 수 있다.
문제5.
R2의 S1/0의 MTU Size를 1500에서 1480으로 변경 해 보세요.
변경 후, R1과의 Neighbor 관계를 확인하세요. (show ip interface s1/0)
R2(config-if)# ip mtu 1480
아래와 같이 R2의 mtu size를 변경하고 꼭 clear ip ospf process 명령어를 통해 ospf 재구동을 해야한다!
(안그러면 남아 있는 데이터베이스 기록 때문에 정상적으로 표시가 나오질 않음)
시간이 지나면 아래처럼 neighbor가 Down으로 바뀐다.
하지만, R1, R2의 상태 변화를 지켜보면 Down, Exchange, Exstart 상태들이 지속적으로 바뀐다.
이는 헬로패킷이 전송은 되고 있지만 mtu size가 달라서 주고받고 있지는 않기 때문에 상태변화가 아래와 같은 내용으로 이루어지고 있는 것이다.
** OSPF 네이버간 상태는 항상 모든 상태를 거치면서 차례로 변화하는 것은 아니다.
각 상태에서 발생할 수 있는 상황에 따라 몇 단계를 건너 뛰기도 하고 다시 이전 상태로 돌아갈 수도 있다.
문제6.
R1의 Router ID를 2.2.2.2로 변경 후에, Neighbor의 상태를 확인하세요.
양쪽 다 neighbor가 맺어지지 않고, router-id가 충돌된다는 메시지가 나온다.
하지만 Hello Packet은 와이어샤크에 보이고 있다.
LAB #3
ip ospf cost 10
auto-cost reference-bandwidth 1000
distance 80 2.2.2.2 0.0.0.0 10
문제1.
구성도와 같이, R3을 연결하고, Loopback을 광고하세요.
문제2, 3
R1에서 2.2.2.0/24로 가는 경로가, E0/0으로 선택된 이유는 무엇입니까?
R1에서 E0/0, S1/0의 bandwidth를 확인 하세요, OSPF 관점에서 Fa0/0, S1/0의 cost가 얼마 인지 확인하세요.
E0/0은 OSPF Cost가 10 (10^8/10Mbps)
S1/0은 OSPF Cost가 64 (10^8/1.54Mbps)
그렇기에 R1은 E 0/0으로 가는 경로를 선택하게 된다.
확인은 sh ip route ospf | in 2.2.2.로 확인하면 된다.
** ethernet
= 하나의 인터넷 회선에 다수의 시스템이 연결되어 통신이 가능.
= 보통 LAN 이라하며 가장 많이 사용하는 이더넷 표준
** Serial
= 하나 혹은 두 개의 전송 라인을 사용하여 데이터를 송수신하는 통신 방법
= P to P 를생각하면됨. 충돌 메커니즘을 줄일수는 있지만 단순함.
** bandwidth
1. serial = 1544 Kbit
2. ethrnet = 10000 Kbit
3. fastethernet = 100000 Kbit
우선 인터넷 전송 속도를 측정하는 단위로는 'bps'가 있다.
bps는 데이터 용량 단위처럼 1024가 아닌 항상 1000 단위이다.
근거리 값이라고 원거리보다 무조건 빠른게 아니다.
실제 bandwidth를 확인해보면 LAN / WAN 선의 대역폭 값이 1544로 실제 근거리가 빠른 것을 알 수 있다.
산출한 대역폭 값을 이용하여 Cost 값을 구하는 공식은 아래와 같다.
OSPF 메트릭을 cost라 부르며, 출발지로부터 목적지까지의 각 인터페이스에 기준 대역폭을 실제 대역폭으로 나눈 값의 합계이다. 시스코 IOS의 OSPF 기준 대역폭은 10⁸ (10^8)이다. 각 인터페이스들의 대역폭은 kbit(10^3) 단위이기 때문에 예를 들어 fastethernet 0/0은 100,000,000
패스트 이더넷(100,000,000bps)의 코스트는 10⁸/100,000,000 이므로 1입니다.
루프백 인터페이스(8,000,000,000 bps)의 코스트는 10⁸/8,000,000,000 (=0.0125) 이므로
계산시 소수점 이하는 버리므로 1입니다.
문제4.
R1에서 2.2.2.0/24로 가는 경로의 Metric이 얼마인지 계산해 보세요.
R1 ---- E0/0 ---- Loopback0
(cost 10) (cost 1) = cost 11
OSPF Metric 정리
- 기준 Bandwidth = 10^8
- Metric 값 = 기준 Metric / 회선Bandwidth
- 회선 Bandwidth가 100M 이상은 Metric이 동일하게 나오므로, 기준 값을 변경해서 사용
- Router(config-router)# auto-cost reference-bandwidth [ 1 - 4294967 Mbit ] - Interface Cost변경 : 다른 벤더의 장비 연결 시 주로 사용 (Metric 값의 계산 방법이 다를 경우)
- Router(config-if)# ip ospf cost [ 1 - 65535
문제5.
R1에서 2.2.2.0/24로 가는 경로가, Fa0/0, S1/0으로 Loadbalancing 되도록 설정하세요. (cost값을 변경하세요.)
OSPF는 Variance나 offset-list를 사용할 수 없기 때문에 interface의 cost를 변경하여, cost가 상이한 경로에 대해 loadbalancing 할 수 있다.
** offset-list란?
- 라우팅 테이블에 등록된 특정 네트워크의 Metric 값을 조정하여 최적 경로를 변경하는 기능.
- offset-listㅐ는 Metric의 증가만 가능하다. (기존 값을 감소 시킬 수 없다.)
int e 0/0의 cost 값을 10으로 바꿔주고 나서 경로 확인을 해보면 cost가 더 적은 e0/0 경로만 올라온걸 확인가능.
또한 와이어샤크에서 cost 변경시 LSU와 LSAck 가 올라온걸 확인할 수 있다!
문제6.
R1에서 OSPF Bandwidth를 이용한 COST의 계산이, 10^8이 아닌 10^9으로 계산되도록 변경하고, COST 값을 다시 확인
하세요.
10^8로 계산하게 되면, 1G의 경우 소수점이 나오게 됩니다.
그렇기 때문에 Giga interface가 있는 경우, 10^9로 계산해야 정확히 계산이 됩니다.
문제7.
R1은 R2가 광고하는 경로, 2.2.2.0/24에 대해서 AD를 110에서 80으로 변경하세요.
R1(config)#access-list 2 permit 2.2.2.0 0.0.0.255
R1(config)#router ospf 1
R1(config-router)#distance 80 0.0.0.0 255.255.255.255 2
문제8.
R2에서 1.1.1.1/32와, 1.1.3.1/32만 AD가 70으로 변경되도록 설정하세요.
R2(config)#access-list 3 permit 1.1.1.0 0.0.2.255
R2(config)#router ospf 1
R2(config-router)#distan
R2(config-router)#distance 70 0.0.0.0 255.255.255.255 ?
<1-99> IP Standard access list number
<1300-1999> IP Standard expanded access list number
WORD Standard access-list name
<cr>
R2(config-router)#distance 70 0.0.0.0 255.255.255.255 3
LAB #5
학습목표
- Wireshark를 통해 Router ID를 확인 합니다
문제1. 구성도와 같이. R1,R2사이에 IP를 설정하고, OSPF AREA0를 설정 하세요.
문제2.
R2에서 show ip ospf neighbor로 보면, R1가 11.11.11.11로 보이는 이유는 무엇입니까?
* 라우터 ID를 임의로 설정하지 않을 경우 루프백 인터페이스에서 가장 높은 IP주소가 설정.
루프백 인터페이스가 없을 경우 물리적 인터페이스에서 가장 높은 IP주소가 설정 (관리용)
- R1이 OSPF에서 사용하는 Router ID는 무엇이며, 그 IP를 사용하는 이유는 무엇입니까?
* 라우터 ID를 임의로 설정하지 않을 경우 루프백 인터페이스에서 가장 높은 IP주소가 설정.
루프백 인터페이스가 없을 경우 물리적 인터페이스에서 가장 높은 IP주소가 설정 (관리용)
- R1의 Router ID를 1.1.1.1로 변경해 보세요, 확인은 R2에서 show ip ospf neighbor로 확인 하세요.
문제3.
R1,R2간에 Packet Capture를 통해 Router ID부분을 확인 하세요.
문제4.
R2에서 “show ip ospf database”를 통해 상대방의 Router ID를 확인 하세요.
LAB #7
학습 목표
- Passive interface의 설정법과, 설정 후 동작 방식에 대해 확인 합니다
문제1.
구성도와 같이 AREA0를 구성하세요. (R1의 E0/1은 OSPF에 포함하지 마세요.)
문제2.
PC에서 R2의 Loopback0 (2.2.2.2/32)으로 통신이 되는 것을 확인하세요.
확인2.1
만약 R1에서 E0/1(1.1.1.0/24)를 OSPF로 광고하지 않는 경우, PC1에서는 PC>2.2.2.2로 통신이 되지 않는 것을 확인하세요.
확인2.2
R1에서 E0/1(1.1.1.0/24)를 OSPF로 광고하는 경우, PC1에서 PC>2.2.2.2로 통신이 되는 것을 확인하세요.
문제3.
R1,SW간에 Packet Capture를 통해, Hello message를 확인하고 Hello message가 불필요하게 전송되는 것을 차단하세요. (어떠한 경우에 Passive-interface를 사용해야 하는지 확인하세요.)
R1(config)#router ospf 1
R1(config-router)#passive-interface ethernet 0/1
확인3.1
R1,SW1간에 Packet Capture를 해보면, Hello message가 보이지 않는 것을 확인 할 수 있습니다.
- R1의 e0/1로는 neighbor가 없기 떄문에 hello message가 필요 없어집니다.
확인3.2
Passive-interface는 어떠한 경우에 사용되는지 확인하세요.
- Routing으로 광고는 해야하지만, Neighbor는 필요 없는 Network를 광고하는 경우 사용합니다.
(주로 Host들이 들어 있는 Network에 사용됩니다)
- OSPF neighbor가 없는 인터페이스에 대해서 passive-interface 명령어를 사용하면 간단하면서도 강력한 OSPF 보안 대책이 된다. 이 인터페이스로는 OSPF hello packet을 전송하지 않을 뿐만 아니라, 상대가 hello packet을 전송해도 무시한다.
LAB # 8
학습 목표
문제1.
구성도와 같이 구성하고, 각각 Loopback을 광고하세요. OSPF AREA0로 설정하겠습니다.
문제2.
"show ip ospf interface e0/0“ "show ip ospf interface s1/0"의 command를 이용하여, OSPF가 각각의 interface를 어떠한 network type으로 인지하였는지 확인하세요.
= ethernet, e0/0은 broadcast
= serial, s1/0은 point to point
문제3.
ethernet의 경우, DR이 선출되는 것을 확인하고, 어떠한 Router가 DR이 되었는지 확인하세요.
Serial의 경우, DR이 선출되지 않는 것을 확인 하고, DR이 선출되지 않는 이유를 확인하세요.
= Ethernet이나 NBMA 같은 멀티 액세스 환경에서는 DR이 없는 경우 LSA를 교환할 떄 중복이 많이 발생한다.
고로, 중계 역할을 하는 DR을 만들어 사용하고, 당연히 중복이 많이 없는 PTP (serial)에서는 사용하지 않는다.
문제4.
E0/0, S1/0이 Neighbor를 맺는 단계가 서로 상이 한지 Wireshark로 확인하세요.
문제5.
E0/0, S1/0이 Neighbor를 맺는 단계가 서로 상이 한지 debug로 확인하세요.
LAB #9
학습 목표
문제1.
구성도와 같이 OSPF AREA0를 구성하세요.
문제2.
R4가 DR, R2가 BDR이 되도록 설정 하세요.
R4(config)#int e 0/0
R4(config-if)#ip ospf priority 100
R2(config)#int e0/0
R2(config-if)#ip ospf priority 50
문제3.
DR(R4)/BDR(R2)를 확인하고, DROther간에는 Neighbor의 상태가 2-way상태에 머물러 있는 것을 확인 하세요.
** 2WAY 상태
neighbor와 쌍방향 통신이 이루어진 상태.
즉, R1, R3간에는 Hello만 주고받고 있는 상태.
문제4,
R4 Fa0/0을 Wireshark로 capture한 상황에서, R1에 Loopback100을 생성하고, OSPF로 광고 하세요.
'기초 물방울 > 네트워크' 카테고리의 다른 글
IP 라우팅 공부기록 #4 (OSPF) (1) | 2023.01.09 |
---|---|
IP라우팅 공부 기록#3 (0) | 2023.01.04 |
킹오브랜스위칭 공부기록#7 (포트보안/ACL) (1) | 2023.01.04 |
킹오브랜스위칭 공부기록 #8 (STP 공격차단) (1) | 2023.01.04 |
킹오브랜스위칭 공부기록#4 (0) | 2022.12.28 |