본문 바로가기

Computer Science/네트워크

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

ARP 프로토콜

ARP가 하는 일

IP 주소를 이용해 MAC 주소를 알아옴

  • ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC 주소를 IP 주소를 이용해 알아오는 프로토콜
  • 같은 네트워크 대역에 통신을 하더라도, 데이터를 보내기 위해서는 7 계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC 주소 모두 필요 => IP 주소는 알고 MAC 주소는 모르는 경우에도, ARP를 통해 통신 가능

ARP의 구조

ARP의 구조


 

ARP 프로토콜의 통신 과정

IP 주소로 MAC 주소를 알아오는 과정

A 컴퓨터가 MAC 주소를 모르는 C 컴퓨터로 ARP 요청을 보내려고 함

  • ARP에는 목적지의 MAC 주소가 들어가는데 어떻게 요청을 보내지?

Ethernet의 목적지 MAC 주소를 전부다 1로 하고 (FF)  (브로드캐스트) 보냄

모르는 상태로 전달

2 계층 통신 장비인 스위치는 2 계층인 ethernet만 디캡슐레이션함.

목적지 MAC주소가 브로드캐스트로 설정되어 있으므로 같은 네트워크 대역에 전부다 전달

 

목적지에 전달해서 각 컴퓨터는 2계층 신호를 디캡슐레이션하고  맞는 것을 확인 (브로드캐스트)

그 다음 3계층 신호를 디캡슐레이션하여 확인함

그 과정에서 IP 주소를 확인하게 됨

컴퓨터의 IP 주소와 목적지의 IP 주소가 같지 않을 경우 패킷을 버림

C에서 응답을 보내줌

응답이라서 두 번째줄 끝이 1로 끝나는 것을 확인할 수 있음

응답이라서 목적지와 출발지가 바뀐 것을 볼 수 있음

목적지는 출발지이기 때문에 MAC 주소를 알 수 있음

A에서는 응답을 받고, ARP 캐시 테이블에 MAC 주소를 등록함


ARP 테이블

통신했던 컴퓨터들의 주소는 ARP 테이블에 남음


실습

ARP 테이블 확인해보기

cmd 실행

arp -a

ARP 프로토콜 분석하기

wireshark 실행 후, Protocol에서 ARP만 필터

  • Who has ~ ?: 요청
  • 나머지: 응답

 

다른 IP 주소에 ping 해보고,  wireshark 확인

ping 192.168.219.100

 Ethernet의 목적지 MAC 주소에 ff:ff:ff:ff:ff:ff 인 것을 확인할 수 있다


참고자료

https://www.youtube.com/watch?v=-M_S50Ga384&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=8

위 강의를 보고 정리한 글입니다.