티스토리 뷰

네트워크/WireShark

ARP

맥밤 2016. 3. 25. 15:14
ARP(Address Resolution Protocol) 즉 주소 분해 프로토콜이라 한다.  
ARP의 통신 송수신은 IP 주소를 단서로 삼아 MAC주소를 물어보는 ARP요청 브로드캐스트와 해당 IP 주소를 사용하고 있는 기기가 
물어본 곳으로 MAC 주소 및 IP 주소를 대답하는 ARP 응답 유니캐스트 조합으로 구성되어 있다.

먼저 ARP 패킷의 형식부터 알아보자.






ARP 요청은 아래와 같은 통신순서로 이루어 진다.
1. 통신을 하고자 하는 상대의  IP 주소를 Target IP Address 로 설정하고 동시에 Target MAC Address를 비워둔 채 브로드캐스트 패킷을 LAN 전체로 보낸다.
2. LAN 내의 모든 단말이 이 요청을 수신해서 내용을 확인한다.
3. 이때 해당 IP 주소를 지닌 PC는 Source MAC Address에 자신의 맥 주소, Source IP Address에 자신의 IP 주소를 각각 설정한다.
4. ARP 요청을 보낸 상대 MAC 주소와 IP 주소를 각각 Target MAC Address와 Target IP Address에 설정해서 유니캐스트 패킷을 
회신한다.
5. 이러한 송수신에 의해 쌍방의 단말은 상대의 IP주소와 MAC 주소를 ARP 캐시라고 하는 테이블에 일시적으로 저장한다.

간단하게 말하자면 ARP 요청은 'LAN에 연결되어 있는 모든 기기 중에 이 IP를 이용중인 기기가 있다면 MAC주소를 알려주세요' 
라는 전체를 대상으로 하는 질문이다. 그리고 ARP 응답은 ARP요청에 대해 ‘네 제가 그 IP주소를 사용하는 기기입니다. 
나의 MAC주소를 당신에게 알려드리겠습니다.’라는 개별 회신과 같은 것이다.

ARP 요청은 LAN 내에서 브로드캐스트로 전송된다. 또한 ARP 요청에 대한 ARP 응답도 LAN 내에서 유니캐스트로 이루어진다.
이러한 송수신은 동일한 LAN내의 PC끼리, 데이터링크 계층으로 한정된다. 

그렇다면 인터넷에 연결된 경우에 홈페이지를 조회하거나 이메일을 수신할 때 우리는 LAN 구간 밖의 IP주소를 이용해서 통신하게 된다. 
이 때 인터넷이나 사외 네트워크로 통신할 때에는 디폴트 게이트웨이의 IP 주소를 이용해서 ARP 요청을 하게 된다. 
즉 LAN 구간 내에서 라우터나 방화벽과 같은 디폴트 게이트웨이를 Target IP Address로 지정해서 ARP 요청을 브로드캐스트 한다.

그리고 나서 ARP 응답 메시지가 디폴트 게이트웨이로부터 회신되면 이후의 통신은 디폴트 게이트웨이의 MAC 주소와 자기 PC의 MAC 주소 간에 이루어진다.  


'네트워크 > WireShark' 카테고리의 다른 글

UDP  (0) 2016.03.25
ARP의 덤프 분석  (0) 2016.03.25
패킷 헤더 확인하기  (0) 2016.01.10
실전 와이어샤크  (0) 2015.12.28
와이어샤크 사용자 인터페이스  (0) 2015.12.27
댓글