arp란 네트워크 상에서 ip주소를 물리적 네트워크 주소(mac)로 대응시키기 위해 사용되는
프로토콜 입니다. 로컬 네트워크에서는 단말과 단말 간 통신을 하기위해서
ip 주소와 함께 mac주소를 이용하게 되는데 ip 주소를 mac address와 매칭하여
목적지 ip의 단말이 소유한 mac 주소를 향해 제대로 찾아가기 위함입니다.
두 가지 방법으로 기본적으로 동작합니다.
위 사진 설명
1.출발지 장비에서 arp 캐시 확인
2.출발지 장비에서 arp request(sha,spa,tpa,필드값)
3. 출발지 장비에서 arp requset 메세지를 브로드캐스트
4.로컬 네트워크에 있는 각장비에서 상기 arp request 메세지 처리
5.목적지 장비에서 arp reply메세지 생성 및 arp 캐시 갱신
6.목적지 장비에서 arp reply 메세지를 아까 요청한 장비로 유니캐스트
7.출발지 장비에서 arp reply 메세지 처리 후 arp 캐시 갱신
arp 메세지포맷
mac 주소란 osi 7layer 2계층 데이터 링크 계층에서 사용되는
물리적인 주소입니다. ip가 논리적 주소라면 mac은 그 반대이겠죠.
일단 mac 주소는 컴퓨터부터 와이파이 공유기까지 모두 고유의 번호로 지정되어 있습니다.
하지만 ip주소는 유동적으로 끈임없이 변하기 때문에 이 둘을 이용하여 통신을 해야합니다.
이때 mac주소를 위해 사용되는 것이 arp 프로토콜입니다.
인터넷에서 ip주소 없이 변화하지 않은 고유한 주소인 mac 주소를 이용하여 라우팅을 한다면
각 고유한 주소를 라우팅 테이블에 일일히 입력하다간 라우터가 다운되고 말겁니다.
숫자가 매우 많으니까요. ip 주소는 연속성을 갖기 때문에 ip주소 다수를 한 줄로 지정해줄 수 있으니 편리합니다.