토폴로지
설정
Router(config)#int g0/0
Router(config-if)#ip add 1.0.0.254 255.255.255.0
Router(config-if)#no shut
Router(config-if)#int se0/0/0
Router(config-if)#ip add 200.0.0.1 255.255.255.0
Router(config-if)#no shut
(왼쪽)라우터 Router2의 설정입니다. 일반 ip만 설정해 주고 그 다음에 rip 설정을 할겁니다.
Router(config)#int g0/0
Router(config-if)#ip add 1.0.3.254 255.255.255.0
Router(config-if)#no shut
Router(config-if)#int se0/0/1
Router(config-if)#ip add 200.0.0.2 255.255.255.0
Router(config-if)#no shut
(오른쪽)라이투 Router2(1) 설정입니다.
각각의 네트워크 구역에서는 핑이 잘 가지만 PC끼리는 핑이 안갑니다. 이는 네트워크 구역이 달라서 발생하여 라우팅을 통해서 연결을 해줘야합니다. 여기서 우리는 동적 라우팅(rip)을 사용할 것 입니다.
정적 라우팅(RIP)
라우팅 프로토콜은 여러 종류가 있으며 그 중에 하나가 RIP입니다. RIP는 매우 설정이 쉽고 표준화된 것이기 때문에 라우터 기종에 상관없이 호환이 잘됩니다. 하지만 시스코 장비끼리만 가능하다는 단점이 존재합니다.
RIP에서 발생하는 무한 루프를 방지하기 위한 기술이 있습니다.
- Split Horizon : 네트워크 정보를 받은 곳으로 네트워크에 대한 라우팅 업데이트를 하지 않습니다.
- Poison Reverse : 16이라는 홉의 라우팅 값을 받으면 역으로 라우터가 고장났다고 알려주는 기능입니다.
- Triggered Update : 토폴로지의 변화를 즉시 이웃한 라우터에 알려줍니다.
이 외에도 존재합니다. 이러한 것들이 있다고 해서 루프방지가 완전히 되는 것은 아닙니다.
RIPv2
RIP은 라우팅 정보를 전달할 때 서브넷 마스크 정보를 주지 않고 클래스풀 방식을 따릅니다. 앞의 8비트가 뭐냐에 따라서 서브넷 마스크가 자동으로 결정되어 그로인한 문제가 생길 수도 있습니다. 이러한 문제를 해결해주기 위해 RIPv2를 사용합니다. RIPv2는 서브넷 마스크 정보를 같이 주어 클래스리스 방식을 사용할 수 있어 A클래스 서브넷으로 광고했을 때 같은 네트워크를 다른 네트워크로 구분지어 줄 수 있습니다.
Router(config)#route rip
Router(config-router)#no auto-summary
Router(config-router)#version 2
Router(config-router)#net 200.0.0.0
Router(config-router)#net 1.0.0.0
(왼쪽)라우터 Router2 RIPv2 설정입니다.
Router(config)#route rip
Router(config-router)#version 2
Router(config-router)#no auto-summary
Router(config-router)#network 1.0.0.0
Router(config-router)#net 200.0.0.0
(오른쪽)라우터 Router2(1) RIPv2설정입니다.
이제는 핑이 잘가는 걸 볼 수 있습니다.
분석
PC1 → PC2로 핑을 보내고 시뮬레이션으로 확인해 봅시다.
PC에서 시작이기 때문에 Outbound밖에 존재하지 않습니다. SRC(시작지) IP가 1.0.0.1이고 DST(도착지) IP가 1.0.3.1인것을 확인할 수 있습니다. Ethernet2를 확인해 보면 여기도 DEST ADDR과 SRC ADDR이 있는데 이것들이 mac 주소입니다. 하지만 IP와는 다른점은 시작점 SRC은 PC1의 맥주소로 일치합니다.
DEST ADDR이 PC2 맥주소와 다른 것을 알 수 있습니다. 그렇다면 저 맥주소는 어디일까요?
(왼쪽)Router2의 맥주소와 일치하는 것을 알 수 있습니다. 그렇다면 이 핑의 1차 목적지는 (왼쪽)Router2라고 볼 수 있습니다.
스위치입니다. Inbound와 Outbound가 존재합니다. IP도 똑같고 Ethernet2도 똑같아보이네요. 스위치는 패킷의 큰 것으로, 네트워크 단위 들을 연결하는 통신 장비입니다. 그렇기에 Inbound와 Outbound가 똑같을 수 밖에 없습니다.
IP는 똑같겠지만, Ethernet2에서 HDLC로 변경되었습니다. 라우터에서 나갈 포트가 시리얼 0/0/0포트 밖에 존재하지 않습니다.
HDLC란?
HDLC는 Hight-level Data Link Control 프로토콜로 컴퓨터가 일대일 혹은 일대다로 연결된 환경에서 데이터의 송수신 기능을 제공합니다.
HDLC 프로토콜을 사용하는 호스들은 3가지 형태로 구분할 수 있습니다. 주국(Primary Statio), 종국(Secondary Station), 혼합국(Combined Station)으로 나누어지게 되는데 주국은 명령을 전송하는 호스트입니다. 종국은 명령에 대한 응답을 회신하는 호스트이고, 혼합국은 주국과 종국 기능으 모두 지닌 호스트라고 합니다.
HDLC 프로토콜을 사용하는 프레임 구조는 비트 프레임 방식으로 사용합니다. 프레임의 시작과 끝을 알리는 플래그(01111110)이 사용됩니다.
위 라우터를 보아도 맨 처음과 맨 끝에 FLAG : 0x7E가 존재하는데 이도 마찬가지로 2진수로 01111110입니다.
이제 다시 Outbound에서 Ethernet2로 변경되었습니다. SRC ADDR은 당연히 이 라우터 맥주소이고 이제 DEST ADDR이 PC2의 맥주소로 되있는 것을 확인 할 수 있습니다. 그 이후 똑같이 스위치를 거쳐 PC2로 이동하게 됩니다.
Inbound에서 PC1에서 PC2까지 전송이 완료하고 다시 PC2에서 PC1으로 전송될 겁니다. Outbound를 보면 SRC IP와 DST IP를 바뀐것을 볼 수 있습니다. 이것은 다시 PC1로 전송하겠다는 뜻입니다. 그에 따라서 DEST ADDR과 SRC ADDR이 바뀐 것을 볼 수 있습니다. 이러한 형태로 다시 PC1로 돌아오면 PC1의 terminal에서 핑이 성공적으로 왔다고 뜨겠죠.
결론
서로 다른 네트워크대의 PC끼리 통신할 때 시작점은 현재 출발지의 맥주소 도착점은 핑을 보내는 곳이 아니라 중간에 있는 라우터의 맥주소로 되있는 것을 볼 수 있습니다. 라우터를 통해 이동하면 다시 라우터에서 자신의 시작점이 맥주소로 되있고 이제 같은 네트워크대에 목적이 IP가 있는 PC가 있기에 그 PC의 맥주소를 목적지로 되있습니다.
PDU의 IP에서 시작지의 IP와 도착지의 IP를 유지해 가면서 Ethernet2의 요청이 바뀌는 것을 확인해 보았습니다. 뭔가 신기한거 같았네요. 처음으로 시뮬레이션을 써보았습니다.
아래는 실습했던 패킷트레이서 파일입니다. (version : 8.1.1)
'기능반공부 > 네트워크' 카테고리의 다른 글
[network] IT 네트워크 심화 수업 - 2 ( DNS, DHCP, DMVPN ) (1) | 2022.11.15 |
---|---|
[network] IT 네트워크 심화 수업 - 1 ( GRE, IPSec ) (0) | 2022.11.14 |
[네트워크] VLAN, Inter-VLAN (0) | 2022.02.09 |
[기능반] 서버구축 3. (0) | 2022.01.28 |
[네트워크] NAT에 대해서 (0) | 2022.01.27 |