ARP는 IP 주소(논리 주소)와 MAC 주소(물리 주소) 간의 매핑을 수행하는 프로토콜로, 네트워크 상에서 IP 주소를 기반으로 MAC 주소를 찾아내는 역할을 한다. ARP는 주로 네트워크 내부에서 통신을 할 때 사용되며, 데이터를 전달하는 중요한 프로토콜이다.
ARP의 개념
- 논리 주소(IP 주소): 네트워크에서 장치들이 통신할 때 사용하는 고유한 주소로, 네트워크 간의 경로를 식별.
- 물리 주소(MAC 주소): 로컬 네트워크에서 장치 간의 통신에 사용되는 하드웨어 기반의 고유한 주소.
ARP의 동작 원리
ARP 테이블
- ARP 테이블: 네트워크 상의 IP 주소와 MAC 주소의 매핑 정보를 저장하는 테이블. ARP 테이블은 주기적으로 갱신되며, TTL(Time To Live)을 설정하여 오래된 정보를 제거한다.
ARP 요청 및 응답 과정
- ARP 요청(ARP Request): 송신자가 수신자의 MAC 주소를 알지 못할 때 네트워크에 브로드캐스트 메시지를 보내 IP 주소에 해당하는 MAC 주소를 요청한다.
- 목적지 MAC 주소는 브로드캐스트 주소인
FF:FF:FF:FF:FF:FF
로 설정된다.
- 목적지 MAC 주소는 브로드캐스트 주소인
- ARP 응답(ARP Reply): 수신자가 자신의 MAC 주소를 ARP 요청을 보낸 송신자에게 유니캐스트로 응답한다.
- 송신자는 수신자의 MAC 주소를 받은 후 ARP 테이블에 저장하여 이후 재요청 없이 데이터를 전송할 수 있다.
ARP 프로토콜의 주요 기능
- 정적 매핑(Static Mapping): 사용자가 직접 IP와 MAC 주소의 매핑을 수동으로 설정한다.
- 동적 매핑(Dynamic Mapping): ARP를 통해 자동으로 IP 주소를 MAC 주소로 매핑한다. 네트워크에서 가장 많이 사용되는 방식.
ARP 패킷 형식
- Hardware Type: 네트워크 유형을 나타냄. (예: 이더넷은 1)
- Protocol Type: 상위 계층 프로토콜을 나타냄. (IPv4는 0x0800)
- Hardware Length: MAC 주소의 길이 (이더넷에서는 6바이트)
- Protocol Length: IP 주소의 길이 (IPv4에서는 4바이트)
- Operation: ARP 요청(1) 또는 응답(2)을 나타냄.
- Sender Hardware Address: 송신자의 MAC 주소.
- Sender Protocol Address: 송신자의 IP 주소.
- Target Hardware Address: 수신자의 MAC 주소 (ARP 요청 시 빈 값).
- Target Protocol Address: 수신자의 IP 주소.
ARP 프로토콜의 캡슐화
ARP 메시지는 이더넷 프레임에 캡슐화되어 전송된다. ARP 요청 시 목적지 MAC 주소는 브로드캐스트 주소(FF:FF:FF:FF:FF:FF
)로 설정되며, ARP 응답은 유니캐스트로 전송된다.
ARP 캐시
- ARP 캐시: 네트워크 장치가 IP 주소와 MAC 주소 간의 매핑을 일정 시간 동안 저장하는 테이블. 이를 통해 네트워크 통신을 더 효율적으로 수행할 수 있다.
- 캐시 유효 기간: ARP 캐시는 보통 20분 동안 유효하며, 이후 갱신되거나 삭제된다.
Gratuitous ARP
Gratuitous ARP는 장치가 네트워크에 처음 연결될 때 자신의 IP 주소에 대한 MAC 주소를 브로드캐스트 방식으로 알리는 과정. 이 과정은 주로 IP 주소 충돌을 감지하거나 ARP 테이블을 갱신하는 데 사용된다.
ARP 공격
- ARP 스푸핑(ARP Spoofing): 악의적인 장치가 잘못된 MAC 주소를 ARP 테이블에 등록해 네트워크 트래픽을 가로채거나 변경하는 공격 방식.
- 보안 대책: ARP 스푸핑 공격을 방지하기 위해, 정적 ARP 테이블 설정, ARP 인증, 방화벽과 같은 보안 대책이 필요.
'통신 > 네트워크 프로토콜' 카테고리의 다른 글
Network Layer(2) - 주소할당 (1) | 2024.09.27 |
---|---|
Network Layer(1) - 네트워크층 기본 개념 (0) | 2024.09.27 |
Ethernet(2) - multiple access protocols (0) | 2024.09.27 |
Ethernet(1) (0) | 2024.09.27 |
Layering and Performance (0) | 2024.09.27 |