Arp를 사용하여 Raspberry Pi의 ARP 캐시를 봅니다.
그래도 pi@raspberrypi:~ $ man arp 발췌, get
arp, 이 명령은 시스템의 ARP 캐시(ARP 캐시)를 제어하는 데 사용됩니다. 인수가 지정되지 않은 경우 현재 테이블의 내용을 (화면에) 인쇄합니다.
다음을 시도해 보세요.
ARP 캐시에 이러한 정보가 저장되어 있는 것으로 나타났습니다. ARP 캐시에 있는 이러한 정보는 무엇을 의미하며 무엇을 사용합니까? 을 위한? 위의 pi@raspberrypi:~ $ man arp 출력은 다음과 같습니다.
ARP(참고, 대문자)는 네트워크 이웃을 찾는 데 사용되는 주소 확인 프로토콜(Address Resolution Protocol)을 의미합니다. 주어진 IPv4 주소에 해당하는 제어 주소입니다.
위 문장은 무슨 뜻인가요? ARP는 이 프로토콜을 준수하도록 개발된 소프트웨어의 경우 소프트웨어에 IPv4 주소를 제공하면 네트워크 이웃에서 IPv4 주소에 해당하는 미디어 액세스 제어 주소를 찾는 데 도움이 될 수 있습니다.
IPv4 주소가 IP 주소인 것은 알지만 여전히 두 가지 질문이 있습니다.
네트워크 이웃은 귀하와 동일한 LAN에 있는 호스트를 참조합니다.
이더넷은 동일한 LAN에 있는 호스트가 다른 호스트와 직접 통신하려는 경우 대상 호스트의 미디어 액세스 제어 주소(MAC 주소)를 알아야 한다고 규정합니다.
MAC 주소는 48비트(6바이트)로, 처음 24비트는 IEEE에서 특정 네트워크 장비 제조업체에 할당하고, 마지막 24비트는 실제로 네트워크 장비를 생산하는 제조업체에서 할당합니다. . 쉽게 말하면 네트워크 카드가 생산되면 네트워크 장비 제조업체는 네트워크 카드에 MAC 주소를 부여합니다. 여기에서 MAC 주소가 실제로 전 세계적으로 고유하다는 것을 알 수 있습니다.
요약하면 MAC 주소를 통해 LAN상의 호스트를 식별할 수 있으므로 지정된 MAC 주소를 가진 호스트와 통신할 수 있습니다.
위에서 LAN상의 호스트를 식별하여 통신한다고 하지 않았나요? 왜 아직도 이 자막을 사용하시나요?
실제로 우리는 호스트를 식별하기 위해 MAC 주소를 사용하지 않지만, 이더넷에서 호스트를 식별하기 위해 MAC 주소를 사용합니다. 생각해 보세요. 식별에 관해 이야기하면 IP 주소도 호스트를 식별할 수 있습니다. 여기서 호스트를 식별하기 위해 MAC 주소를 추가해야 하는 이유는 무엇입니까?
이더넷은 사설망이기 때문에 CSMA/CD라는 미디어 접속 방식을 사용합니다.
자세한 내용은 다음을 참조하세요. 충돌 감지 기능이 있는 Carrier Sense Multiple Access(CSMA/CD)란 무엇입니까?
호스트가 통과할 때 *** 때. 데이터가 이더넷 회선을 통해 전송되면 해당 회선에 연결된 모든 호스트는 송신 호스트가 보낸 데이터를 받게 됩니다.
질문: 네트워크 환경의 모든 호스트는 내 호스트가 보낸 메시지를 받을 수 있는데, 내 호스트가 보낸 데이터가 자신을 위한 것인지 어떻게 알 수 있나요?
답변: 그들은 귀하가 보내는 데이터의 "대상" 주소 열이 자신의 주소인지 확인합니다. 그렇다면 그들은 귀하가 보낸 데이터를 수신하고 그렇지 않으면 데이터를 직접 폐기합니다. . (이러한 간단한 처리 방법은 이더넷 카드를 저렴하게 만들고 이더넷의 대중화를 촉진합니다.)
전송된 데이터의 "대상" 주소 열에 채워진 주소는 미디어 액세스 제어 주소(Media Access Control 주소)를 구별하는 데 사용됩니다. ) 이더넷 네트워크에 있는 호스트의 영어 약어 MAC 주소 또는 널리 사용되는 이름인 하드웨어 주소를 더 자주 듣습니다.
사진을 보여주세요...
사진 속 목적지 주소와 원본 주소가 MAC 주소로 채워져 있습니다. 그 아래에 숫자 "6"이 표시되어 있습니까? 이는 이 주소가 6바이트 = 48비트라는 것을 의미하며 이는 위에서 언급한 48비트 MAC 주소와 일치합니다.
실제로 일부 민간 네트워크에는 아래와 같이 SLIP, PPP 등 MAC 주소가 필요하지 않습니다.
사진은 PPP 인터페이스를 보여줍니다. 사진의 영어 전체 이름은 이름에서 알 수 있듯이 지점 간 프로토콜이므로 이 인터페이스가 종료되면 다음 인터페이스는 해당 인터페이스여야 합니다. 사용된 MAC 주소를 구별할 필요가 없습니다.
그림의 첫 번째 인터페이스인 eth0 이더넷 인터페이스를 보면 링크 패킷화 방식 뒤에 HWaddr(하드웨어 주소) 하드웨어 주소(즉, MAC 주소)가 명확하게 기록되어 있습니다. 아래 인터페이스인 w1g1 인터페이스에는 뒤에 MAC 주소가 없습니다.
마찬가지로 w1g1 인터페이스의 두 번째 줄에서 대문자 중 마지막 단어인 NOARP는 이해하고 ARP는 지원되지 않습니다. 매우 간단합니다. MAC 주소도 없습니다. 어떻게 ARP를 지원할 수 있습니까?
좋아요, 이제 돌아와서 이 문장을 읽으시면 됩니다
먼저, 제공한 IP 주소가 네트워크 이웃에 있는 호스트의 IP 주소라면 IP 주소에 따라 귀하가 제공한 주소 이 IP 주소, 제 소프트웨어는 ARP 프로토콜을 준수하므로 이 IP 주소에 해당하는 MAC 주소를 알려드릴 수 있습니다.
여기서 ARP 캐시(ARP 캐시)의 의미도 매우 명확합니다. 이는 내 쿼리 결과(MAC 주소에 해당하는 네트워크 이웃의 IP 주소)를 저장하는 데 사용되는 장소입니다. 필요할 때 사용할 수 있도록, 때가 되면 최대한 빠르게 알려드리겠습니다.
실제로 ARP가 작동하는 방식은 먼저 ARP 캐시에서 이를 찾은 다음, 찾을 수 없으면 LAN에 "도움을 요청"하는 것입니다.
여기에 arp 명령을 입력하면 표시되는 내용을 이해할 수 있습니다.
내 인터페이스 wlan0에 연결된 네트워크 이웃 중 IP 주소는 192.168입니다. 253.1 호스트, 호스트 이름이 무엇인가요? , 네트워크 카드의 하드웨어 유형은 이더넷 유형이고 해당 MAC 주소(하드웨어 주소: 하드웨어 주소)는 b0:d5:9d:37:5d:2e입니다.
ARP가 네트워크 이웃을 쿼리하는 방법은 IP 기반 다음에는 MAC 주소에 대해 이야기해 보겠습니다.
먼저 휴대폰을 라즈베리파이와 동일한 무선랜에 연결하고 휴대폰의 로컬 IP 주소가 192.168.253.6인지 확인한 후 연결을 끊습니다.
라즈베리 파이에서 SSH를 사용해 휴대폰의 IP 주소에 연결하면, 휴대폰 연결이 끊기므로 당연히 연결할 수 없게 됩니다. 이번에는?
자, 이제 휴대폰을 연결하겠습니다...
재미있는 일이 일어났습니다
로컬 IP가 아니면 어떻게 되나요? ARP 캐시의 데이터가 업데이트되지 않은 것 같습니다. 보시겠습니까? 직접 시도해 보세요. 예를 들어...ssh...