본문 바로가기
IT기술

ARP(Address Resolution Protocol)에 대해 알아보자

by romydady 2024. 6. 16.

ARP 개요

ARP(Address Resolution Protocol, 주소 해석 프로토콜)은 네트워크 통신, 특히 인터넷 프로토콜(IP) 스위트 내에서 중요한 구성 요소입니다. ARP의 주요 목적은 IP 주소를 로컬 네트워크에서 사용되는 하드웨어 주소(MAC 주소)로 매핑하는 것입니다. 이 과정은 로컬 영역 네트워크(LAN) 내의 장치 간 통신을 가능하게 하는 데 필수적입니다.

일반적인 환에서 장치가 동일한 LAN의 다른 장치와 통신하려면 대상 장치의 MAC 주소를 알아야 합니다. ARP는 알려진 IP 주소를 해당하는 MAC 주소로 변환함으로써 이를 용이하게 합니다.

  • ARP(Address Resolution Protocol)IP 주소를 MAC 주소로 변환하는 프로토콜입니다.
  • 네트워크 상에서 통신을 하기 위해서는 IP 주소와 MAC 주소가 필요하며, ARP는 이 두 주소를 연결해주는 역할을 합니다.
  • MAC 주소는 네트워크 장비 및 컴퓨터의 네트워크 인터페이스 카드(NIC)에 고유하게 부여되는 주소입니다.
  • 같은 네트워크 내 통신: 같은 네트워크에 있는 단말들은 중계 장치(스위치 등)의 MAC 주소 테이블을 통해 통신할 수 있습니다.
  • 다른 네트워크 간 통신: 다른 네트워크에 있는 단말들은 게이트웨이의 MAC 주소를 이용해 통신합니다.
  • ARP 요청과 응답: ARP 프로토콜은 ARP 요청(Request)과 ARP 응답(Reply)으로 구성됩니다.
  • ARP 캐싱: ARP 프로토콜은 IP 주소와 MAC 주소의 매핑 정보를 ARP 캐시에 저장합니다.

ARP의 종류

다양한 네트워크에서 다른 목적을 수행하는 여러 유형의 ARP가 있습니다.

arp 종류

  1. ARP (Address Resolution Protocol)
    • IP 주소를 MAC 주소로 변환하는 가장 기본적인 ARP 프로토콜
    • 같은 네트워크 내에서 통신할 때 사용
  2. RARP (Reverse ARP)
    • ARP의 반대 개념으로, MAC 주소를 IP 주소로 변환하는 프로토콜
    • 주로 부팅 과정에서 IP 주소를 알아내는데 사용

  1. Proxy ARP
    • 라우터가 ARP 요청을 대신 응답하여 네트워크 간 통신을 가능하게 하는 기능
    • 서로 다른 네트워크 간 통신 시 사용
  2. Inverse ARP
    • 원격 장비의 IP 주소를 알아내기 위해 MAC 주소를 이용하는 프로토콜
    • 주로 프레임 릴레이 네트워크에서 사용
  3. Gratuitous ARP
    • 자신의 IP 주소와 MAC 주소를 알리는 ARP 메시지를 브로드캐스트하는 기능
    • 주로 IP 주소 변경 시 사용하여 다른 장비들의 ARP 캐시를 업데이트
    • 동작 방식(아래 그림 참조)
      • 패킷의 소스 IP 주소와 대상 IP 주소가 모두 그레이튜어스 ARP를 전송하는 호스트의 IP 주소입니다.
      • 브로드캐스트 형태로 전송되어, 호스트의 IP-MAC 매핑 정보를 전체 네트워크에 알리거나 업데이트합니다. 대상 MAC 주소는 ff:ff:ff:ff:ff:ff입니다.
      • 스위치의 모든 포트에서 이 패킷을 수신하게 됩니다.
      • 이에 대한 회신(reply)은 없습니다.

Gratuitous ARP

 

ARP 동작 방식

ARP는 OSI 모델의 네트워크 계층(계층 3)에서 동작합니. 장치가 동일한 네트워크의 다른 장치와 통신해야 하며 IP 주소만 알고 있는 경우 다음 단계를 따릅니다.

  • ARP 프로토콜은 크게 ARP 요청(Request)과 ARP 응답(Reply)으로 구성됩니다.
  • ARP 요청 패킷에는 송신자의 IP 주소와 MAC 주소, 그리고 수신자의 IP 주소가 포함됩니다.
  • ARP 응답 패킷에는 송신자의 IP 주소와 MAC 주소, 그리고 수신자의 IP 주소와 MAC 주소가 포함됩니다.

추가로, ARP 프로토콜 외에도 네트워크 3계층에는 다음과 같은 주요 프로토콜들이 있습니다:

  • IP(Internet Protocol): 데이터 패킷의 목적지 주소 지정 및 라우팅
  • ICMP(Internet Control Message Protocol): 네트워크 상태 확인 및 오류 메시지 전달
  • IGMP(Internet Group Management Protocol): 멀티캐스트 그룹 관리

ARP frame
ARP 패킷 구조

  1. ARP 요청(Request):
    • 장치(보내는 장치)는 LAN의 모든 장치에 ARP 요청 패킷을 브로드캐스트합니다.
    • 이 ARP 요청에는 발신자의 IP 및 MAC 주소와 대상 장치의 MAC 주소가 필요합니다.
  2. ARP 응답(Reply):
    • 네트워크의 모든 장치는 ARP 요청을 수신하지만 일치하는 IP 주소를 가진 장치만 응답합니다.
    • 대상 장치는 발신자에게 MAC 주소를 포함하는 ARP 응답을 보냅니다.
  3. ARP 캐시 업데이트:
    • 발신자는 ARP 응답을 받으면 IP에서 MAC 주소 매핑으로 ARP 캐시를 업데이트합니다.
    • 발신자는 이제 이 정보를 사용하여 대상 장치의 MAC 주소를 사용하여 직접 통신할 수 있습니다.

ARP 동작 예시

 

  • 예시 1: 간단한 ARP 요청/응답
    • 장치 A(IP: 192.168.1.2, MAC: AA:AA:AA:AA:AA)가 장치 B(IP: 192.168.1.3)와 통신하고자 합니다.
    • 장치 A는 ARP 요청을 브로드캐스트합니다: "192.168.1.3은 누구입니까? 192.168.1.2에게 알려주세요."
    • 장치 B는 응답합니다: "192.168.1.3은 BB:BB:BB:BB:BB에 있습니다."
    • 장치 A는 ARP 캐시를 업데이트하고 통신을 진행합니다.
  • 예시 2: Proxy ARP
    • 장치 A는 다른 서브넷의 장치 B와 통신하려고 합니다.
    • 라우터는 장치 B를 대신하여 ARP 요청에 응답하여 장치 A가 라우터에 패킷을 보내고 라우터가 이를 장치 B로 전달할 수 있도록 합니다.
  • 예시 3: Gratuitous ARP
    • 장치 A는 IP 주소를 변경하고 그라투이토우스 ARP를 보내 네트워크의 모든 장치에 새로운 IP에서 MAC 주소 매핑을 알립니다.

 

 

 

 

반응형

댓글