본문 바로가기
Network

[Network] 외부 네트워크와의 ARP 동작 방식

by 치즈잼 2024. 7. 5.
728x90
외부 네트워크와의 ARP 동작 방식에 대해 정리해 보았습니다.

기존 ARP 동작 방식의 이론 및 기초 관련 내용은 아래 링크 참고 바랍니다.
https://cheezezam.tistory.com/entry/Network-ARP-%EB%8F%99%EC%9E%91-%EB%B0%A9%EC%8B%9D

L3 스위치가 포함된 외부네트워크와의 ARP 동작방식입니다. [해당 내용은 GARP를 제외한 동작 방식입니다.]

각 인터페이스에 맥 또는 IP가 지정되어있고 ARP Table과 MAC Table은 모두 비어있습니다.

R1에서는 각 포트에 라우팅을 지정하여 10.10.10.0/24 대역과 20.20.20.0/24 대역의 정보를 라우팅테이블에 저장합니다.

 

스위치 간의 포트가 연결될 시 STP, CDP, LLDP 등의 트래픽을 브로드캐스트로 보내면서 각 프로토콜의 정보를 습득하고 그 과정중에 인접한 포트의 MAC 주소 정보를 습득하게 됩니다.

 

PC1 [10.10.10.10] 에서 PC2 [20.20.20.20] 로 통신을 하려고 하면 PC1은 PC2가 자신의 네트워크 안에 없는 것을 확인하고 자신의 게이트웨이의 맥을 알아내기위해 10.10.10.254로 ARP Request를 요청하는 패킷을 만들어 자신의 포트에 연결된 모든 곳에 브로드캐스트로 보냅니다.

 

SW1은 PC1의 ARP를 보고 PC1의 맥을 저장하며 해당 패킷을 보내온 곳을 제외한 자신의 모든 포트에 브로드캐스트로 전달합니다.

 

R1이 패킷을 받으면 패킷의 DIP가 자신인 것을 확인합니다.

PC1의 ARP 정보를 자신의 맥 테이블과 ARP 테이블에 저장합니다.

 

R1은 해당 ARP를 Reply 하기위해 자신의 게이트웨이 포트를 Source로, PC1을 Destination으로 패킷을 만들어 ARP Reply를 보냅니다.

 

SW1은 자신의 맥테이블을 보고 Fa0/1로 ARP를 전달합니다.

 

PC1 ARP Reply를 받고 10.10.10.254 게이트웨이의 맥을 자신의 ARP Table에 저장합니다.

 

이제 PC1은 게이트웨이의 맥 주소를 알고 있으므로 20.20.20.20으로 통신을 요청합니다.

Source는 자신으로 하고 DIP는 PC2로 하지만 DMAC은 네트워크 대역이 다르므로 자신의 게이트웨이로 넣어서 패킷을 보냅니다.

 

SW1은 자신의 맥 테이블을 확인 후 Fa0/2로 패킷을 전달합니다.

 

R1은 해당 패킷을 확인 후 DIP인 20.20.20.20이 Fa0/2 쪽에 있다는 것을 라우팅 테이블을 통해 확인합니다.

하지만 R1도 PC2의 맥을 모르므로 ARP 패킷에 자신의 Fa0/2 IP와 MAC을 Source로 담고 PC2의 IP를 Destination에 담은 채 브로드캐스트로 보냅니다.

 

SW2는 ARP 패킷과 자신의 MAC Table을 확인하지만 정보를 모르므로 받은 포트를 제외한 자신의 모든 포트에 브로드캐스트로 해당 패킷을 전달합니다.

 

PC2는 ARP 패킷의 DIP가 자신인 것을 확인 후 Source에 대한 정보를 ARP Table에 저장합니다.

 

그리고 자신의 정보를 Source에 담아 게이트웨이로 ARP Reply를 보냅니다.

 

SW2는 PC2의 정보를 자신의 MAC Table에 저장 후 DMAC이 Fa0/1에 있는 것을 확인하여 전달합니다.

 

R1은 PC2의 ARP Reply를 받아 자신의 MAC Table과 ARP Table에 저장 후 PC1에서 PC2로 진행하고 있었던 통신을 이어서 진행하게 됩니다.

 

10.10.10.0/24 대역대에서 진행했던 패킷의 MAC을 20.20.20.0/24 대역대로 변환하여 R1의 Fa0/2에서 PC2로 전달합니다.

SW2는 맥 테이블을 확인 후 자신의 Fa0/2로 패킷을 전달합니다.

 

패킷을 받은 PC2는 정보를 확인 후 Reply 패킷을 만들어 자신의 게이트웨이 전달하게 됩니다.

 

SW2는 맥테이블을 확인 후 Fa0/1로 패킷을 전달합니다.

 

패킷을 확인한 R1은 패킷의 맥을 PC1의 대역대인 10.10.10.0/24 대역대의 맥으로 변경하여 패킷을 전달합니다.

SMAC을 10.10.10.0/24 대역대의 게이트웨이인 10.10.10.254의 MAC, 목적지 맥을 PC1으로 패킷을 변경하여 전달합니다.

 

SW1은 맥 테이블을 확인 후 PC1에 패킷을 전달합니다.

 

PC1에 패킷이 도달하게 되면 통신이 정상적으로 끝나게 되며 해당 통신을 통하여 각 장비들의 ARP Table과 MAC Table이 모두 갱신 됩니다.

라우팅이 포함 된 ARP 동작에서는 네트워크 대역대가 다를 때 PC는 게이트웨이로 맥을 지정해 패킷을 전달한다는 것 과 라우팅 시 SMAC과 DMAC이 변경된다는 특이점이 있습니다.

해당 내용은 GARP를 제외한 동작방식이며 중요 동작을 제외한 일부 내용은 다를 수 있는 점 참고 바랍니다.

728x90

'Network' 카테고리의 다른 글

[Network] Cisco Catalyst Switch SSH Setting  (0) 2024.07.25
[Network] Cisco Nexus Switch Checkpoint/Rollback  (0) 2024.07.25
[Network] ARP 동작 방식  (0) 2024.07.03
[Network] Cisco Nexus vPC  (0) 2024.06.05
[Network] STP (Spanning Tree Protocol)  (0) 2024.05.08