병훈's Blog

[CCNA] The Life of a Packet | Day 12 본문

자격증/CCNA

[CCNA] The Life of a Packet | Day 12

thdqudgns 2024. 5. 25. 11:38

https://www.youtube.com/playlist?list=PLxbwE86jKRgMpuZuLBivzlM8s2Dk5lXBQ

 

Free CCNA 200-301 | Complete Course 2023

A free and complete CCNA course covering everything you need to pass the latest version of the CCNA exam (exam code 200-301). There's no better way to start ...

www.youtube.com


이번에는 패킷을 원격 목적지로 전송하는 과정을 다룰 것이다.

여기에는 ARP, 캡슐화, 캡슐화 해제 등이 포함된다.

이번에 다룰 네트워크 토폴로지다.

PC와 라우터에 MAC 주소 추가, 스위치의 MAC 주소는 이번에 생략함

 

PC1은 일부 데이터를 PC4로 보내고, 이 IP 헤더에 캡슐화하려고 한다.

Src와 Dst가 다른 네트워크에 있음을 확인하고, 기본 게이트웨이인 R1에 패킷을 보내야 한다는 것을 알게 된다.

그러나 이 예시에서 PC1은 아직 트래픽을 전송하지 않았으므로, 주소확인 프로토콜인 ARP를 사용해야 한다.

기본 게이트웨이인 R1의 MAC 주소를 알기 위함이다.

 

ARP 요청

PC1은 ARP 요청을 만든다.

소스 IP는 자신의 주소이고, 목적 IP는 PC1에 구성된 기본 게이트웨이인 R1의 G0/2 인터페이스다.

MAC 주소는 목적지 주소가 Src보다 앞에 온다.

그 이유는 IPv4 헤더에서는 소스 IP 주소가 먼저 오지만 이더넷 헤더에서는 목적지 MAC 주소가 먼저 오기 때문이다.

목적지 MAC 주소는 R1의 MAC 주소를 모르기 때문에 브로드캐스트로 설정하고, 소스 MAC은 자신의 MAC 주소다.

 

따라서 SW1은 프레임을 수신한 인터페이스를 제외한 모든 인터페이스로 브로드캐스트 프레임을 보낸다.

이때 SW1의 G0/1로 들어온 MAC 주소를 학습한다.

 

ARP 응답

ARP 요청 메세지가 브로드캐스트 되었지만, R1은 ARP 요청 메세지에서 PC1의 IP 및 MAC 주소를 학습했기 때문에 ARP 응답은 PC1에 직접 유니캐스트로 전송될 수 있다.


 

이제 PC1은 기본 게이트웨이의 MAC 주소를 알고 있으므로 이 이더넷 헤더로 캡슐화 한다.

원본 패킷은 변경되지 않으며, 목적지 IP 주소는 PC4의 IP 주소로 유지된다.

L2에서만 목적지가 R1의 MAC 주소로 설정된다.

 

그래서 프레임을 R1으로 보낸다.

R1은 이 프레임을 수신하고 이더넷 헤더를 제거한다.

그리고 라우팅 테이블에서 목적지를 조회한다.

가장 구체적으로 일치하는 항목은 192.168.4.0/24 네트워크에 대한 항목이다. 다음 홉 192.168.12.2를 지정한다.

따라서 R1은 이 패킷을 192.168.12.2에 대한 적절한 MAC 주소가 있는 이더넷 프레임으로 캡슐화해야 한다.

그러나 R1은 아직 R2의 MAC 주소를 모른다. 또 ARP를 사용한다.


 

소스 IP는 R1이 되고, 목적지 IP는 R2가 된다.

아직 R2의 MAC 주소를 모르기에 요청을 보낼 때 MAC 주소는 브로드캐스트 주소다.

이렇게 ARP 요청을 보내고, R2는 이를 수신한다.

 

 

R2는 브로드캐스트를 수신하고, 목적지 IP가 자신의 IP와 일치하므로 이 ARP 응답을 R1에게 보낸다.

다시 한 번 말하지만, ARP 요청을 통해 R1의 IP와 MAC 주소를 학습했기 때문에 유니캐스트로 응답한다.


 

이제 R1은 R2의 MAC 주소를 알고 있으므로 패킷을 이더넷 헤더로 캡슐화하여

목적지 필드에 R2의 MAC 주소를 삽입하고, 소스 필드에 R1의 G0/0 인터페이스 MAC 주소를 삽입하여 R2로 보낸다.

프레임을 수신한 후 R2는 이더넷 헤더를 제거한다.

그 후 R2는 라우팅 테이블에서 목적 IP를 조회하고 가장 구체적으로 일치하는 주소를 찾는다.

 

그 항목은 192.168.4.0/24에 대한 것이며 다음 홉은 192.168.24.4 이다.

192.168.4.0/24는 R2에 연결된 네트워크이지만, R4의 MAC 주소를 모른다.

R2는 ARP를 사용하여 R4의 MAC 주소를 검색한다.


 

소스 IP는 R2이 되고, 목적지 IP는 R4가 된다.

목적지 MAC 주소는 브로드캐스트 주소다.

이렇게 ARP 요청을 보내고, R4는 이를 수신한다.

 

 

R4는 브로드캐스트를 수신하고, 목적지 IP가 자신의 IP와 일치하므로 이 ARP 응답을 R2에게 보낸다.

ARP 요청을 통해 R2의 IP와 MAC 주소를 학습했기 때문에 유니캐스트로 응답한다.


 

이제 R2는 R4의 MAC 주소를 알고 있으므로

R4의 G0/1 인터페이스인 eeee의 목적 MAC 주소와

R2의 G0/1 인터페이스인 dddd의 소스 MAC 주소를 사용하여

이더넷 헤더로 PC1의 패킷을 캡슐화한다.

 

R4는 프레임을 수신하고 이더넷 헤더를 제거한다.

 

라우팅 테이블에서 192.168.4.1을 찾고, 가장 구체적으로 일치하는 항목은 

G0/2 인터페이스를 통해 직접 연결된 192.168.4.0/24에 대한 항목이다.

그러나 R4는 PC4의 MAC 주소를 모르기에 ARP 요청-응답을 해야 한다.


 

소스 IP는 R4가 되고, 목적지 IP는 PC4가 된다.

목적지 MAC 주소는 브로드캐스트 주소다.

이렇게 ARP 요청을 보내고, PC4는 이를 수신한다.

 

SW4는 이 이더넷 프레임의 소스 MAC 주소 필드에서 G0/0 인터페이스로 들어오는 R4의 MAC 주소를 학습한다.

PC4는 프레임을 수신한 후 목적 IP를 확인한다. 자신의 IP 주소이므로 ARP 응답을 보낸다.

 

 

목적지 IP와 MAC 주소를 알고 있으므로 유니캐스트로 응답을 보낸다.

SW4는 이 이더넷 프레임의 소스 MAC 주소 필드에서 G0/1 인터페이스로 들어오는 PC4의 MAC 주소를 학습한다.


 

이제 R4는 PC4의 MAC 주소를 알고 있으므로

G0/2 인터페이스의 자체 MAC 주소를 소스로 사용하고, PC4의 MAC 주소를 목적지로 사용하여

패킷에 이더넷 헤더를 추가한다.

 

R4는 프레임을 PC4로 보내고 마침내 목적지에 도달했다.


 

전체 과정을 살펴보면

이더넷 프레임은 MAC 주소를 새로 알게 될 때마다 변했다.

그러나 원본 패킷은 한 번도 변하지 않았다. 항상 Src IP: 192.168.1.1 이고 Dst IP: 192.168.4.1 이었다.

 

또한 스위치가 어떤 시점에서도 프레임을 변경하지 않았다.

스위치는 프레임을 전달하고 MAC 주소를 학습했지만

실제로 패킷을 캡슐화 해제한 다음 새 이더넷 헤더로 캡슐화하지 않았다.

 

반대의 상황으로, PC4가 PC1으로 패킷을 보내는 상황을 보자.

패킷을 PC4 - SW4 - R4 - R2 - R1 - SW1 - PC1의 경로를 따라서 보낼 때에는

위 장치들은 이미 ARP 프로세스를 거쳤으므로 똑같은 ARP 요청-응답이 필요하지 않다.

패킷은 단순히 장치에서 장치로 전달되고, 캡슐화 해제 된 다음 다시 캡슐화 되며 각 라우터에 전달된다.

 

 

728x90
728x90

'자격증 > CCNA' 카테고리의 다른 글

[CCNA] Routing Fundamentals | Day 11 (2)  (0) 2024.05.21
[CCNA] Routing Fundamentals | Day 11  (0) 2024.05.14
[CCNA] IPv4 Header | Day 10  (0) 2024.05.14
[CCNA] Switch Interfaces  (0) 2024.05.13
[CCNA] IPv4 Addressing  (0) 2024.04.13