Post

네트워크 공부 5

ARP 프로토콜

- ARP가 하는 일

  • 같은 네트워크 대역에서 통신하기 위해 필요한 MAC 주소IP 주소를 통해 알아오는 프로토콜
  • 동일 네트워크에서 통신하더라도 데이터를 전송하려면 캡슐화(Encapsulation)가 필요하며, 이때 IP 주소MAC 주소가 모두 필요함. ARP는 IP 주소만으로 MAC 주소를 알아내어 통신을 가능하게 함.

- ARP 프로토콜의 구조

  • Hardware type: 2계층에서 사용하는 프로토콜 타입 (대부분 이더넷: 0x0001)
  • Protocol type: 3계층에서 사용하는 프로토콜 타입 (대부분 IPv4: 0x0800)
  • Source Hardware Address: 출발지 MAC 주소 (6바이트)
  • Opcode: 요청(1)인지 응답(2)인지 나타내는 오퍼레이션 코드
  • Source Protocol Address: 출발지 IP 주소 (4바이트)
  • Destination Hardware Address: 도착지 MAC 주소 (6바이트)
  • Destination Protocol Address: 도착지 IP 주소 (4바이트)

ARP 프로토콜의 통신 과정

  1. ARP 요청 프레임 작성 (목적지 MAC 모르므로 주소는 비워둠)
  2. 이더넷 프로토콜로 캡슐화 (도착지 MAC 주소는 몰라서 FF:FF:FF:FF:FF:FF로 채워 브로드캐스트)
  3. 스위치는 2계층 장비이므로 2계층까지만 디캡슐화 수행
  4. 브로드캐스트이므로 스위치가 네트워크 내 모든 장치에 패킷을 전달
  5. 패킷을 받은 장치들은 3계층까지 디캡슐화하여 목적지 IP 주소를 확인
  6. IP 주소가 일치하지 않는 장치들은 패킷을 버리고, 일치하는 장치는 패킷을 처리
  7. 목적지 장치가 ARP 응답 패킷 작성
  8. 이더넷 프로토콜로 인캡슐레이션하여 응답 전송
  9. 출발지 장치는 응답 패킷을 받고 MAC 주소를 ARP 테이블에 추가

ARP 테이블

  • 통신을 한 컴퓨터의 IP-MAC 주소 매핑 정보ARP 테이블에 저장됨

* 실습

- ARP 테이블 확인

- ARP 프로토콜 분석

  • 와이어샤크로 ARP 프로토콜 캡처해서 분석
    • ARP 부분
    • Ethernet 부분