네트워크 기초

05. 통신하기 전 반드시 필요한 ARP 프로토콜

따라학잇 2021. 7. 30. 17:19

 

 

ARP(Address Resolution Protocol)

IP주소를 MAC 주소로 변환

ARP 구조

하드웨어 타입 : 2계층 주소의 타입, MAC 주소밖에 없다. 0x0001 프로토콜 타입 : 3계층 주소의 타입, IPv4 주소밖에 없다. 0x0800 하드웨어 주소 길이 : 2계층 주소의 길이, 0x06 프로토콜 주소 길이 : 3계층 주소의 길이, 0x04 오퍼레이션 코드 : ARP 요청 패킷인지 ARP 응답 패킷인지 알려주는 필드, 0x0001이면 요청 패킷, 0x0002이면 응답 패킷 출발지 MAC 주소 출발지 IP 주소 목적지 MAC 주소 목적지 IP주소

ARP 통신 과정

시스템A 시스템B 10.10.10.10 10.10.10.20 255.255.255.0 255.255.255.0 AA:AA:AA:AA:AA:AA BB:BB:BB:BB:BB:BB 시스템 A가 시스템 B로 통신을 시도하는 과정(IP 주소는 알고 있는 상태, MAC 주소는 모르고 있는 상태)

  1. 시스템 A는 ARP 테이블을 확인한다. (cmd에서 arp -a 명령어로 확인 가능)
  2. ARP 테이블에 존재하면 해당 MAC 주소로 통신, 없으면 ARP 요청 프로토콜을 작성[ETH 헤더][ARP 요청 프로토콜] 형식으로 캡슐화한 패킷을 전송 *tip : FF:FF:FF:FF:FF:FF 은 MAC 주소의 브로드캐스트 주소
  3. 작성한 ARP 요청 패킷을 시스템 A는 브로드캐스트로 전송
  4. 같은 네트워크에 있는 모든 시스템은 브로드캐스트로 전송된 패킷을 모두 받는다. 이 때 모든 시스템은 Decapsulation 과정을 수행하고 ARP 프로토콜에서 IP주소를 확인한다. 받은 ARP 프로토콜과 IP주소가 다른 시스템들은 해당 패킷을 버리고 IP주소가 같은 시스템은 ARP 응답 프로토콜을 작성
  5. 응답 프로토콜을 받은 시스템 A는 ARP 응답 프로토콜에 작성된 내용을 ARP 테이블에 등록한다.




실습 1 - ARP 테이블 확인해보기


시작 메뉴 -> cmd 검색 -> cmd 실행
cmd에서 arp -a 로 확인


실습 2 - ARP 프로토콜 분석하기


Wireshark를 이용해서 ARP 프로토콜을 캡쳐하고 분석해보기

 

반응형