두 호스트가 서로 통신하려면 둘 다 IP 주소가 있어야 하고, 상대방의 IP 주소도 알아야 한다는 것을 알고 있습니다. 그러면 IP 주소로 통신할 수 있나요? 아직은 통신을 위해서는 상대방의 MAC 주소가 필요합니다. MAC 주소와 IP 주소는 필수입니다. 상대방 호스트의 IP 주소를 알면 상대방의 MAC 주소를 알아내는 방법을 알아보겠습니다.
각 호스트에는 LAN에 있는 다른 호스트의 IP 주소와 Mac 주소 간의 매핑 관계를 저장하는 자체 arp 캐시 목록이 있습니다. 이 호스트의 arp 캐시를 보려면 명령 창에 `arp -a를 입력할 수 있습니다.
arp -a 接口: 192.168.110.145 --- 0x13 Internet 地址 物理地址 类型 192.168.110.1 30-0d-9e-61-27-3a 动态 192.168.110.255 ff-ff-ff-ff-ff-ff 静态 ……
LAN에 있는 호스트 A(IP는 192.168.1.11)가 동일한 LAN에 있는 호스트 B와 통신하려고 할 때 호스트 B의 IP 주소(192.168.1.13)를 알고 나면 자체 arp 캐시를 확인하여 만약 있다면 Host B의 MAC 주소가 없습니다. 만약 있다면 Host B와 통신이 가능할 것입니다. 그렇지 않은 경우 ARP 주소 확인 프로토콜을 사용하여 호스트 B의 MAC 주소를 가져와야 합니다. arp의 작업 흐름을 살펴보겠습니다.
(1) 호스트 A는 LAN에서 브로드캐스트 패킷을 보냅니다. 메시지 내용은 다음과 유사합니다. "나는 192.168.1.11이고 mac 주소는 a0:a4:ce입니다. 42:29:56, MAC 주소 192.168.1.13"을 알고 싶습니다.
(2) 이 LAN에서 arp 프로그램을 실행하는 모든 호스트는 방송 메시지를 받을 수 있습니다.
(3) 호스트 B의 IP가 일치하고 요청이 수락되며 호스트 A의 IP와 MAC 주소 간의 매핑 관계가 기억된 arp 캐시에 기록됩니다. 그런 다음 "나는 192.168.1.13이고 내 MAC 주소는 f1:21:fa:c2:d2:ad"와 유사한 내용을 포함하는 유니캐스트 패킷을 호스트 A에 보냅니다.
(4) 호스트 A는 B로부터 유니캐스트 메시지를 수신하고 호스트 B의 IP 주소와 MAC 주소 간의 관계를 자신의 arp 캐시에 기록합니다.
LAN 호스트는 동적으로 변경되므로 ARP 캐시에는 생존 시간이 있으며 만료되면 자동으로 삭제됩니다.
당신이 말하는 것은 LAN에 있는 호스트의 상황일 뿐입니다. 그들이 다른 네트워크 세그먼트에 있다면 어떨까요? 실제로는 여전히 ARP를 통해 획득하지만 여러 ARP 요청이 필요합니다.
위 내용은 ARP 주소 확인 프로토콜의 작업 흐름에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!