이 문서에서는 프록시 ARP(Address Resolution Protocol)를 사용하여 호스트 경로 또는 기본 게이트웨이 없이 호스트가 원격 서브넷에 도달하는 방법을 설명합니다.
이 문서에는 ARP 및 이더넷 환경에 대한 지식이 필요합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco IOS® 소프트웨어 릴리스 12.2(10b)
Cisco 2600 Series 라우터
참고: 이 문서에서 설명하는 동작은 이러한 구성 요소에 국한되지 않습니다. 프록시 ARP는 여러 Cisco IOS 및 Cisco IOS XE 플랫폼에서 사용할 수 있습니다. 기능 가용성, 기본 동작 및 명령 지원은 플랫폼 및 소프트웨어 릴리스에 따라 달라질 수 있습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
프록시 ARP은 일반적으로 라우터인 한 호스트에서 다른 시스템을 위한 ARP 요청에 응답하는 기술입니다. 라우터가 자체 MAC 주소로 응답하고 패킷을 실제 대상으로 라우팅합니다. 프록시 ARP는 라우팅 또는 기본 게이트웨이를 설정할 필요 없이 서브넷의 시스템이 원격 서브넷에 연결되도록 지원할 수 있습니다. 프록시 ARP는 RFC 1027에 정의되어 있습니다.
다음은 프록시 ARP 작동 방식의 예입니다.
네트워크 다이어그램
서브넷 A의 호스트 A(172.16.10.100)는 서브넷 B의 호스트 D(172.16.20.200)로 패킷을 전송해야 합니다. 네트워크 다이어그램에 표시된 것처럼, 호스트 A에는 /16 서브넷 마스크가 있습니다. 이는 호스트 A가 모든 네트워크 172.16.0.0에 직접 연결되어 있다고 믿는다는 것을 의미합니다. 호스트 A가 직접 연결되어 있다고 생각하는 디바이스와 통신해야 하는 경우, 호스트 A는 목적지에 ARP 요청을 보냅니다. 따라서 호스트 A가 호스트 D에 패킷을 전송해야 하는 경우, 호스트 A는 호스트 D가 직접 연결된 것으로 간주하므로 호스트 D에 ARP 요청을 전송합니다.
호스트 D(172.16.20.200)에 도달하기 위해 호스트 A는 대상 IP 주소와 연결된 MAC 주소를 요청합니다.
따라서 호스트 A는 다음과 같이 서브넷 A에서 ARP 요청을 브로드캐스트합니다.
| 발신자 MAC 주소 | 발신자 IP 주소 | 대상 MAC 주소 | Target IP address |
|---|---|---|---|
| 00-00-0c-94-36-aa | 172.16.10.100 | 00-00-00-00-00-00 | 172.16.20.200 |
이 ARP 요청에서 호스트 A(172.16.10.100)는 호스트 D(172.16.20.200)가 MAC 주소를 전송하도록 요청합니다. 그런 다음 ARP 요청 패킷은 호스트 A의 MAC 주소를 소스 주소로 사용하고 브로드캐스트(FFFF.FFFF.FFFF)를 대상 주소로 사용하는 이더넷 프레임에 캡슐화됩니다. ARP 요청은 브로드캐스트이므로 라우터의 이더넷 0(e0) 인터페이스가 포함된 서브넷 A의 모든 노드에 도달하지만 호스트 D에는 도달하지 않습니다. 기본적으로 라우터는 인터페이스 간에 레이어 2 브로드캐스트 프레임을 전달하지 않으므로 브로드캐스트가 호스트 D에 도달하지 않습니다.
프록시 ARP가 수신 인터페이스에서 활성화되고 라우터에는 다른 인터페이스를 통해 호스트 D(172.16.20.200)에 대한 경로가 있으므로 라우터는 자체 MAC 주소로 호스트 A에 응답합니다.
| 발신자 MAC 주소 | 발신자 IP 주소 | 대상 MAC 주소 | Target IP address |
|---|---|---|---|
| 00-00-0c-94-36-ab | 172.16.20.200 | 00-00-0c-94-36-aa | 172.16.10.100 |
이는 라우터가 호스트 A로 전송하는 프록시 ARP 응답입니다. 프록시 ARP 응답 패킷은 라우터의 MAC 주소를 소스 주소로 사용하고 호스트 A의 MAC 주소를 대상 주소로 사용하여 이더넷 프레임에 캡슐화됩니다. 이 교환의 프록시 ARP 회신은 원래 요청자에게 유니캐스트됩니다. 이 ARP 응답을 수신하면 호스트 A는 다음과 같이 ARP 테이블을 업데이트합니다.
| IP 주소 | MAC 주소 |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
ARP 항목이 만료되거나 변경될 때까지 호스트 A는 172.16.20.200(호스트 D)에 대한 패킷을 라우터에 속하는 MAC 주소 00-00-0c-94-36-ab로 전송합니다. 라우터는 호스트 D에 연결하는 방법을 알고 있으므로 라우터는 패킷을 호스트 D로 전달합니다. 서브넷 A에 있는 호스트의 ARP 캐시에는 라우터가 프록시 ARP 응답을 제공하는 각 원격 대상에 대한 라우터 MAC 주소가 포함됩니다. 따라서 서브넷 B로 향하는 모든 패킷이 라우터로 전송됩니다. 라우터는 해당 패킷을 서브넷 B의 호스트로 전달합니다.
다음 표에는 호스트 A의 ARP 캐시가 나와 있습니다.
| IP 주소 | MAC 주소 |
|---|---|
| 172.16.20.200 | 00-00-0c-94-36-ab |
| 172.16.20.100 | 00-00-0c-94-36-ab |
| 172.16.10.200 | 00-00-0c-94-36-bb |
참고: 여러 IP 주소는 이 라우터의 MAC 주소인 단일 MAC 주소에 매핑됩니다. 이 토폴로지에서 이 패턴은 프록시 ARP가 사용 중임을 나타낼 수 있습니다.
라우터가 원격 대상 대신 응답하려면 Cisco 라우터 인터페이스에서 프록시 ARP를 활성화해야 합니다. Cisco IOS에서 프록시 ARP는 ARP 지원 인터페이스에서 기본적으로 활성화되어 있습니다. 프록시 ARP를 비활성화하기 전에 영향을 받는 호스트에 유효한 경로 또는 기본 게이트웨이가 있는지 확인합니다. 프록시 ARP가 필요하지 않은 인터페이스에서 ip proxy-arp 없이 비활성화합니다.
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet 0 Router(config-if)#no ip proxy-arp Router(config-if)#^Z Router#
인터페이스에서 프록시 ARP를 활성화하려면 ip proxy-arp interface 컨피그레이션 명령을 실행합니다. 출력에 프록시 ARP가 활성화된 것으로 보고되는지 확인하려면 show ip interface <interface>를 실행합니다.
참고: 서브넷 A의 호스트 B(172.16.10.200/24)가 서브넷 B의 호스트 D(172.16.20.200)로 패킷을 전송하려고 시도하면 해당 IP 라우팅 테이블을 확인합니다. 대상이 호스트 B 이더넷 인터페이스에 구성된 서브넷 외부에 있으므로 호스트 B는 호스트 D에 대한 ARP 요청을 보내지 않습니다. 호스트 B는 구성된 다음 홉으로 패킷을 전송합니다. 일치하는 경로 또는 기본 게이트웨이가 없으면 통신이 실패합니다.
프록시 ARP의 주요 장점은 네트워크의 단일 라우터에서 활성화할 수 있고 네트워크에 있는 다른 라우터의 라우팅 테이블을 변경하지 않는다는 점입니다.
프록시 ARP는 IP 호스트에 기본 게이트웨이 또는 원격 대상에 대한 다른 경로가 없는 네트워크에서 사용할 수 있습니다.
호스트는 물리적 네트워크 토폴로지에 대한 가시성을 가지지 않으며, 네트워크를 ARP 요청이 모든 대상 주소를 확인할 수 있는 플랫 세그먼트로 취급합니다.
프록시 ARP 동작에는 몇 가지 단점이 있습니다.
이는 세그먼트에서 ARP 트래픽의 양을 늘립니다.
호스트가 IP-MAC 주소 매핑을 처리하기 위해서는 더 큰 ARP 테이블이 필요합니다.
보안이 손상될 수 있습니다. 머신은 패킷을 가로채기 위해 다른 머신이라고 주장할 수 있는데, 스푸핑이라고 하는 행동입니다.
이는 주소 확인에 ARP를 사용하지 않는 네트워크에서는 작동하지 않습니다.
여러 라우터가 동일한 대상에 대해 프록시 ARP 응답을 제공할 경우 예측할 수 없는 next-hop 선택을 생성할 수 있습니다.
| 개정 | 게시 날짜 | 의견 |
|---|---|---|
6.0 |
09-Sep-2026
|
고정 링크 및 확인된 맞춤법/문법 검사 |
5.0 |
29-May-2025
|
몇 가지 서식 문제가 해결되었습니다. |
4.0 |
06-Mar-2025
|
오타를 수정했습니다. |
3.0 |
02-Jun-2023
|
재인증 |
2.0 |
28-Mar-2022
|
끊어진 링크를 수정하거나 제거했습니다. |
1.0 |
02-Dec-2013
|
최초 릴리스 |