arp 프로토콜은 TCP/IP 모델의 IP 계층(네트워크 계층)과 OSI 모델의 링크 계층에 속합니다. arp는 IP 주소를 기반으로 물리적 주소를 얻는 TCP/IP 프로토콜입니다. 컴퓨터의 네트워크 주소(IP 주소 32비트)를 물리적 주소(MAC 주소 48비트)로 변환하는 데 사용됩니다. ARP 프로토콜은 링크 계층 프로토콜입니다. 이더넷에서는 네트워크의 한 호스트에서 다른 호스트로의 데이터 프레임이 48비트 이더넷 주소를 기반으로 인터페이스를 결정합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
arp는 어떤 프로토콜인가요? 어느 층에 있나요?
arp 프로토콜은 주소 확인 프로토콜이라고도 하며 IP 주소를 기반으로 물리적 주소를 얻는 TCP/IP 프로토콜입니다. 동일한 LAN에 있는 호스트 또는 라우터의 IP 주소와 MAC 주소의 매핑 문제를 해결할 수 있습니다. arp 프로토콜은 TCP/IP 모델의 IP 계층(네트워크 계층)과 OSI 모델의 링크 계층에 속합니다.
LAN에서 실제로 네트워크에 전송되는 것은 "프레임"이며, 프레임에는 대상 호스트의 MAC 주소가 포함됩니다. 이더넷에서 호스트가 다른 호스트와 직접 통신하려면 대상 호스트의 MAC 주소를 알아야 합니다. 그런데 이 대상 MAC 주소는 어떻게 얻나요? 이는 주소 확인 프로토콜을 통해 획득됩니다. 소위 "주소 확인"은 호스트가 프레임을 보내기 전에 대상 IP 주소를 대상 MAC 주소로 변환하는 프로세스입니다. ARP 프로토콜의 기본 기능은 원활한 통신을 위해 대상 장치의 IP 주소를 통해 대상 장치의 MAC 주소를 쿼리하는 것입니다.
ARP(AddressResolutionProtocol) 주소 확인 프로토콜은 컴퓨터의 네트워크 주소(IP 주소 32비트)를 물리적 주소(MAC 주소 48비트)로 변환하는 데 사용됩니다[RFC826]. ARP 프로토콜은 링크 계층 프로토콜입니다. 네트워크의 한 호스트에서 다른 호스트로의 데이터 프레임은 32비트 IP 주소가 아닌 48비트 이더넷 주소(하드웨어 주소)를 기반으로 인터페이스를 결정합니다. . 커널(예: 드라이버)은 데이터를 전송하기 위해 대상의 하드웨어 주소를 알아야 합니다. 물론 지점간 연결에는 ARP 프로토콜이 필요하지 않습니다.
arp 프로토콜의 기능
arp 프로토콜을 사용하면 네트워크 계층 IP 패킷 헤더의 IP 주소 정보를 기반으로 대상 하드웨어 주소(MAC 주소) 정보를 구문 분석하여 원활한 작업 진행을 보장할 수 있습니다. 의사소통.
OSI 모델은 네트워크 작업을 7개 계층으로 나눕니다. IP 주소는 OSI 모델의 세 번째 계층에 있고 MAC 주소는 서로 직접 상호 작용하지 않습니다. 이더넷을 통해 IP 데이터 패킷을 전송할 때는 세 번째 계층(32비트 IP 주소)과 두 번째 계층(48비트 MAC 주소)의 헤더를 캡슐화해야 합니다. 그러나 전송할 때는 대상 IP 주소만 알 수 있습니다. , MAC 주소는 알려져 있지 않으며 두 번째 및 세 번째 계층에 걸쳐 있을 수 없으므로 주소 확인 프로토콜을 사용해야 합니다. 주소 확인 프로토콜을 사용하면 네트워크 계층 IP 패킷 헤더의 IP 주소 정보를 기반으로 대상 하드웨어 주소(MAC 주소) 정보를 구문 분석하여 원활한 통신을 보장할 수 있습니다.
ARP 프로토콜 예시
ARP 프로토콜의 역할을 설명하기 위해서는 네트워크상의 데이터 전송 과정을 이해하는 것이 필요합니다. 다음은 간단한 PING 예입니다.
이 명령을 실행하려면 컴퓨터의 IP 주소가 192.168.1.1이라고 가정합니다. 이 명령은 ICMP 프로토콜을 통해 ICMP 패킷을 보냅니다.
이 프로세스에는 다음 단계가 필요합니다:
1. 애플리케이션은 데이터 패킷을 구성합니다. 이 예는 ICMP 패킷을 생성하고 이를 커널(네트워크 드라이버)에 제출하는 것입니다.
2. 커널은 변환할 수 있는지 확인합니다. IP 주소와 MAC 주소, 즉 로컬 ARP 캐시에서 IP-MAC 대응 테이블을 확인합니다.
3. IP-MAC 대응이 존재하는 경우 IP-MAC 대응이 존재하지 않는 경우 9단계로 이동합니다.
4. 커널은 ARP 브로드캐스트를 수행하고 대상 MAC 주소는 FF-FF-FF-FF-FF-FF이며 ARP 명령 유형은 자체 MAC 주소를 포함하는 REQUEST(1)입니다. ;
5, 192.168.1.2 호스트가 ARP 요청을 받으면 자체 MAC 주소가 포함된 ARP REPLY(2) 명령을 보냅니다.
6. 192.168.1.2 호스트의 IP-MAC 주소 대응을 얻습니다. 로컬로 저장하고
7. 커널은 IP를 MAC 주소로 변환한 다음 이를 이더넷 헤더 구조에 캡슐화한 다음 데이터를 보냅니다.
arp-a 명령을 사용하여 로컬 ARP 캐시의 내용을 확인합니다. 따라서 로컬 PING 명령을 실행하면 ARP 캐시에 대상 IP 기록이 남게 됩니다. 물론, 데이터 패킷이 다른 네트워크 세그먼트의 대상으로 전송되는 경우 게이트웨이의 IP-MAC 주소에 해당하는 레코드가 있어야 합니다.
ARP 프로토콜의 역할을 알면 데이터 패킷의 외부 전송이 ARP 프로토콜에 크게 의존하고 물론 ARP 캐시에 의존한다는 것을 분명히 알 수 있습니다. ARP 프로토콜의 모든 작업은 커널에 의해 자동으로 완료되며 다른 응용 프로그램과 아무 관련이 없다는 점을 알아야 합니다. 동시에 ARP 프로토콜은 이 네트워크에서만 사용된다는 점에 유의해야 합니다.
확장된 지식: ARP 스푸핑(보안 위험)
arp 프로토콜은 네트워크의 호스트 간의 상호 신뢰를 기반으로 하며, 네트워크의 호스트는 독립적으로 ARP 응답 메시지를 보낼 수 있으며 다른 호스트는 응답 메시지를 받습니다. 이 메시지를 통해 공격자는 가짜 ARP 응답 메시지를 특정 호스트에 보낼 수 있으며, 이로 인해 전송된 정보가 예상 호스트에 도달하지 못하거나 잘못될 수 있습니다. 이는 ARP 스푸핑을 구성합니다.
ARP 스푸핑은 대상 컴퓨터가 게이트웨이와 통신하지 못하게 할 수 있고, 통신이 리디렉션될 수도 있으므로 모든 데이터가 공격자의 컴퓨터를 통과하게 되므로 보안 위험이 커집니다.
방어하는 방법?
● IP나 MAC 기반으로 네트워크 보안 신뢰 관계를 구축하지 마세요. (RARP에도 사기 문제가 있습니다.) 이상적인 관계는 IP+MAC 기반이어야 합니다.
● 정적 MAC-->IP 대응 테이블을 설정하고 호스트가 설정된 변환 테이블을 새로 고치지 않도록 하세요.
● 꼭 필요한 경우가 아니면 ARP 사용을 중지하고 해당 테이블에 ARP를 영구 항목으로 저장하세요.
● ARP 서버를 사용합니다. 다른 시스템의 ARP 브로드캐스트에 응답하기 위해 자체 ARP 변환 테이블을 조회하려면 이 서버를 사용하십시오. 이 ARP 서버가 해킹되지 않았는지 확인하세요.
● IP 전송을 프록시하려면 "프록시"를 사용하세요.
● 하드웨어를 사용하여 호스트를 보호하세요. IP 주소가 합법적인 경로에 도달할 수 있도록 라우팅을 설정합니다(라우팅 ARP 항목을 정적으로 구성). 스위칭 허브와 브리지를 사용하면 ARP 스푸핑을 방지할 수 없습니다.
● 관리자는 정기적으로 응답 IP 패킷에서 RARP 요청을 얻은 후 ARP 응답의 신뢰성을 확인합니다.
●관리자는 정기적으로 폴링하여 호스트의 ARP 캐시를 확인합니다.
● 방화벽을 사용하여 네트워크를 지속적으로 모니터링하세요. SNMP를 사용하는 경우 ARP 스푸핑으로 인해 트랩 패킷이 손실될 수 있습니다. [6]
●ARP 바이러스에 감염된 경우 ARP 캐시 지우기, ARP 대응 지정, 라우팅 정보 추가, 바이러스 백신 소프트웨어를 사용하면 문제를 해결할 수 있습니다.
관련 지식이 더 궁금하시다면 FAQ 칼럼을 방문해 주세요!
위 내용은 arp 프로토콜은 어느 계층에 위치합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!