지난 파트
[후니의 쉽게 쓴 CISCO 네트워킹] Part 02.06
지난 파트https://ris-blog.tistory.com/entry/%ED%9B%84%EB%8B%88%EC%9D%98-%EC%89%BD%EA%B2%8C-%EC%93%B4-CISCO-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9-Part-0203-Part-0205 [후니의 쉽게 쓴 CISCO 네트워킹] Part 02.03 - Part 02.05https://ris-blog.tistor
ris-blog.tistory.com
내용 요약
ARP 작동 과정, MAC 주소
ARP
저번에는 MAC주소랑 간단하게 통신 방법만 소개했다면 이번에는 ARP에 대해서 소개해보려 한다.
책에서 나온 내용을 그대로 말하기보단 내 방식대로 정리해서 실습까지 해보려고 한다.
우선 ARP가 나오게 된 배경을 간단하게 서술해 보겠다.

여기 두 대의 PC가 있다.
그리고 PC 1이 PC 2에게 통신하기 위해 MAC 주소를 알아내려고 하는 상황이라고 하자.
(이 내용은 저번 파트에 나왔다.)
그런데 PC 1에겐 PC 2의 MAC 주소가 없다.
대신 IP 주소는 알고 있다.
여기서 IP 주소를 알고 있다고 한 걸 보고 오해할 수 있다. (나는 그랬다)
PC가 어떻게 상대의 IP 주소를 정확히 분별하고 있지?라고 생각하면 안 된다.
PC는 멍청하다.
그냥 정해진대로 하는 것이기 때문에 '아는 것'이 아니라 제공받은 것이다.
예를 들어서 ping이나 ssh처럼 사용자나 프로그램이 목적지 IP 주소를 제공한 상태에서 상대의 MAC 주소를 모를 때 ARP가 사용된다.
왜 MAC 주소를 알아야 하냐라고 물어본다면 이전 파트를 보면 된다.
간단히 설명하자면 L2에서는 MAC 주소를 통해 LAN에서 통신한다.
그럼 이제 통신 과정을 나누어 설명해 보겠다.
통신과정 1. (같은 네트워크)

위와 같은 LAN이 있다고 하자.
아직 아무 통신도 이루어지지 않은 상태이다.

그렇기 때문에 PC1의 ARP 테이블 (ARP 정보를 임시 저장시켜 둔 곳)은 비워져 있는 상태이다.
이제 PC1에서 PC2로 ping 통신을 보낸다면 PC1은 PC2의 MAC 주소를 모르기 때문에 ARP 패킷을 보내야 한다.
위를 보면 ping을 보냈을 때의 어떻게 진행되는 지를 알 수 있다.
ARP 과정은 ARP Request, ARP Reply로 이루어져 있다.

ARP Request PDU는 다음과 같이 이루어져 있다.
- Hardware Type : 0x0001은 Ethernet
- Protocol Type : 0x0800은 IPv4
- HLEN : MAC 주소 길이로 MAC 주소는 6바이트(0x06)
- PLEN : IP 주소 길이로 IPv4 주소는 4바이트(0x04)
- Opcode
- 0x0001 : ARP Request
- 0x0002 : ARP Reply
- Source MAC : 송신 MAC
- Source IP : 송신 IP
- Target MAC : 수신 MAC 주소. 0인 이유는 아직 MAC을 모르기 때문에 0으로 채운 것이다.
- Target IP : 수신 IP 주소
그리고 이 헤더는 L2에서 Ethernet 프레임에 감싸져 전송된다.
이 PDU가 스위치에 도달하면 Ethernet 프레임의 MAC이 1로 채워져 있으므로 브로드 캐스팅을 한다.
그리고 이는 각각 PC0, PC2가 받게 된다.
PC0은 자신의 IP가 아니므로 폐기를 하고 PC2는 수신하게 된다.
그렇다면 이제 PC2는 ARP Reply를 수신하게 된다.

구조는 위와 같으므로 생략하겠다.
이제 자신의 MAC을 적은 ARP Reply를 PC1에게 보내게 되고, 여기에는 목적지 MAC이 적혀있으므로 스위치는 포워딩을 한다.
이후 PC1은 수신하고 이제 PC2의 MAC주소를 ARP 테이블에 저장한다.
확인해 보자

스위치의 MAC 테이블을 보면
PC1 : 0050.0f98.3813
PC2 : 0060.4757.3971
PC1의 ARP 테이블

이건 PC2도 마찬가지이다.
정리하자면 ARP는 같은 네트워크에서 통신할 때 IP 주소로 MAC 주소를 알 수 있게 해주는 프로토콜인 것이다.
통신 과정 2. (다른 네트워크)

이번엔 다른 네트워크이다.
다른 네트워크의 경우는 같은 LAN이 아니기 때문에 MAC 주소로 통신할 수는 없다.
MAC 주소로 통신해야 한다는 것이다.
이미 LAN을 알고 패킷 통신 과정을 알고 있으므로 우선 글로 정리해 보겠다. (동영상 찍기 귀찮다.)
PC1에서 PC2(2)로 ping을 보낸다고 해보자.
1. 게이트웨이와의 ARP
PC1의 ARP Request

라우터의 ARP reply

이후 라우터끼리 통신을 통해 ping을 전달하고 LAN2에도 동일한 과정을 거쳐서 ARP가 이루어지게 된다.
라우터끼리 어떤 통신을 하고 있는지는 다음에 정확히 전달해 보겠다.
'Network' 카테고리의 다른 글
| [후니의 쉽게 쓴 CISCO 네트워킹] Part 02.06(1) (0) | 2026.05.26 |
|---|---|
| [후니의 쉽게 쓴 CISCO 네트워킹] Part 02.03 - Part 02.05 (0) | 2026.05.24 |
| [후니의 쉽게 쓴 CISCO 네트워킹] Part 01 - Part 02.02 (0) | 2026.05.22 |