✅ ARP 프로토콜은 무엇인가?
ARP(주소 결정 프로토콜, Address Resolution Protocol)은 네트워크에서 IP 주소와 MAC 주소 간의 매핑을 수행하는 프로토콜입니다. ARP는 호스트가 다른 호스트와 통신하기 위해 목적지 MAC 주소를 알아내는 데 사용됩니다.
ARP Protocol은 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP 주소를 이용해서 알아오는 프로토콜이라고 할 수 있습니다. 같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요합니다. 이때 IP주소는 알고 MAC 주소는 모르더라도 ARP를 통해 매핑하므로 통신을 가능하게 합니다.
특이하게 3계층이지만 같은 네트워크 대역에서만 동작합니다.
🔹 ARP 프로토콜의 구조
- Hardware type
2계층에서 사용될 프로토콜의 값이 저됩니다. 주로 Ethernet 프로토콜이 쓰입니다.
- Protocol type
IP Address의 type의 값이 저장됩니다. 주로 IPv4가 사용됩니다.
- Source Hardware Address (SHA)
SHA는 ARP 메시지를 보내는 호스트의 소스(MAC) 주소를 나타냅니다. MAC 주소는 네트워크 인터페이스 카드(네트워크 어댑터)에 할당된 고유한 식별자입니다.
- Source Protocol Address (SPA)
SPA는 ARP 메시지를 보내는 호스트의 소스(IP) 주소를 나타냅니다. IP 주소는 호스트를 네트워크에서 고유하게 식별하는 데 사용됩니다.
- Destination Hardware Address (DHA)
DHA는 ARP 메시지의 목적지(MAC) 주소를 나타냅니다. 목적지 주소는 ARP 요청 메시지에서는 빈 값으로 설정되며, ARP 응답 메시지에서는 목적지 호스트의 MAC 주소로 채워집니다.
- Destination Protocol Address (DPA)
DPA는 ARP 메시지의 목적지(IP) 주소를 나타냅니다. 목적지 IP 주소는 ARP 요청 메시지와 ARP 응답 메시지 모두에서 지정됩니다.
✅ ARP 프로토콜이 MAC 주소를 가져오는 과정
➡️ ARP가 MAC 주소를 찾는 과정은 다음과 같습니다.
- 호스트 A가 호스트 B와 통신하려고 할 때, 호스트 A는 B의 IP 주소를 알고 있지만 MAC 주소를 모릅니다.
- 호스트 A는 ARP 요청 메시지를 생성합니다. 이 메시지에는 호스트 A의 소스(MAC) 주소와 소스(IP) 주소가 포함되고, 목적지(IP) 주소는 호스트 B의 IP 주소로 설정됩니다.
- ARP 요청 메시지는 로컬 네트워크 상의 모든 호스트에게 브로드캐스트됩니다.
- 다른 호스트들은 ARP 요청 메시지를 수신하고, 자신의 IP 주소와 목적지 IP 주소를 비교합니다.
- 호스트 B는 ARP 요청 메시지의 목적지 IP 주소가 자신의 IP 주소와 일치함을 확인하고, ARP 응답 메시지를 생성합니다. 이 응답 메시지에는 호스트 B의 소스(MAC) 주소와 소스(IP) 주소가 포함되고, 목적지(IP) 주소는 호스트 A의 IP 주소로 설정됩니다.
- ARP 응답 메시지는 호스트 A에게 전송됩니다.
- 호스트 A는 ARP 응답 메시지를 수신하고, 호스트 B의 MAC 주소를 확인하여 자신의 ARP 테이블에 저장합니다.
- 이제 호스트 A는 호스트 B의 MAC 주소를 알고 있으므로, 향후 통신에서 IP 패킷을 호스트 B의 MAC 주소로 전송할 수 있습니다.
✅ ARP 테이블
ARP 테이블은 호스트에서 사용되는 ARP 프로토콜에 의해 유지되는 데이터 구조입니다. 이 테이블은 IP 주소와 해당 IP 주소에 대한 MAC 주소 간의 매핑 정보를 저장합니다. ARP 테이블은 호스트의 네트워크 인터페이스에 연결된 네트워크 장치(네트워크 어댑터)에서 관리됩니다.
➡️ ARP 테이블에는 다음과 같은 정보가 포함될 수 있습니다.
- IP 주소 (Destination Protocol Address, DPA): 테이블의 엔트리마다 대응하는 IP 주소가 기록됩니다. 이 IP 주소는 호스트나 네트워크 장치가 통신하려는 목적지 IP 주소입니다.
- MAC 주소 (Destination Hardware Address, DHA): 각 IP 주소에 대응하는 MAC 주소가 저장됩니다. 이는 목적지 IP 주소에 해당하는 네트워크 장치의 MAC 주소입니다.
ARP 테이블은 주로 동적으로 생성되고 업데이트되며, 호스트가 ARP 프로토콜을 사용하여 주소 해결을 수행할 때마다 업데이트됩니다. ARP 요청과 응답 메시지를 통해 호스트는 다른 호스트의 IP 주소와 MAC 주소 간의 매핑 정보를 얻고 이를 ARP 테이블에 저장합니다.
호스트는 ARP 테이블을 사용하여 효율적인 네트워크 통신을 수행합니다. 호스트가 특정 IP 주소로 패킷을 전송해야 할 때, 먼저 ARP 테이블을 확인하여 해당 IP 주소에 대한 MAC 주소를 찾습니다. 그리고 해당 MAC 주소로 패킷을 전송하여 효율적인 통신을 이룹니다.
ARP 테이블은 일정 시간이 경과하거나 호스트의 네트워크 인터페이스가 재시작되면 업데이트될 수 있습니다. 또한, 호스트에서 목적지 IP 주소로 패킷을 보낼 때 목적지의 MAC 주소가 ARP 테이블에 없는 경우 ARP 요청이 자동으로 발생하여 주소를 해결하고, 응답을 받아 ARP 테이블을 업데이트합니다.
✅ ARP 실습
- 현재 내 PC의 ARP Table
- ARP 요청과 응답
- ARP 분석
🏷️이미지 출처 및 참고한 사이트
Uploaded by N2T