[네트워크] 데이터 링크 계층(Data Link Layer) - ARP(Address Resolution Protocol)

최지수·2022년 3월 12일
0

네트워크

목록 보기
5/7
post-thumbnail

ARP(Address Resolution Protocol)

IP 주소를 통해 MAC 주소를 알려주는 프로토콜이에요.

PC1PC2에게 IP 통신을 시도하고 통신을 수행하기 위해선 PC2의 목적지 MAC주소를 알아야 해요. 그래서 PC1ARP를 보내고 PC2가 이를 받아 목적지 주소를 담은 응답을 보내주는 거죠.

동작 과정

그림을 예로 들면서 설명할게요.

PC1은 동일 네트워크 대역인 목적지 IP 172.20.10.9로 패킷을 전송시도해요.

이 때, 목적지 MAC 주소를 알기 위해 우선 자신의 ARP 캐시 테이블을 확인해요. 해당 IP는 없으니 ARP Request를 Broadcast로 전송해요.

Broadcasting을 통해 전달된 Request 메시지를 해당 IP의 PC가 받으면 본인의 MAC 주소를 Unitcast 방식으로 ARP Reply를 통해 전달해요.

그렇게 Reply를 받고 목적지 MAC 주소는 ARP 캐시 테이블에 저장되고 패킷을 전송해요.

주소 변환

네트워크 주소에서 물리 주소를 가져오는 기능을 말해요. 방식은 2가지가 있어요.

  1. 정적 변환
    해당 기기의 물리 주소와 네트워크 주소를 ARP 테이블로 일일히 만드는 방식이에요.
    요즘은 스마트폰이 있어 기기가 이동해서 네트워크 인터페이스가 자주 바뀌어요. 그래서 그때 마다 일일히 테이블을 갱신해줘야 해서 이는 비효율적인 방식이긴 해요.
  2. 동적 변환
    해당 물리 주소나 네트워크 주소 처리를 프로토콜로 사용해서 파악해요. 앞서 말한 동작 방식이에요.

ARP 헤더 구조

Hardware Type

ARP가 동작하는 네트워크 환경, 이더넷에 대한 정보가 담겨 있어요.

Protocol Type

프로토콜의 종류에요. 일반적으로 IPv4가 담겨있어요.

Hardware & Protocol Length

MAC 주소의 길이6-type, IP 주소 길이4-byte가 담겨 있어요.

Operation

명령 코드가 담겨 있어요. 1ARP Request, 2ARP Reply를 의미해요.

Hardware Address & Protocol Address

이후에 송신 \to 수신측 순으로 MAC 주소와 프로토콜 주소가 담겨 있어요.

ARP에 대한 내용은 여기까지에요. 좀 힘드네요 ㅎㅎ ㅠ. 기회가 된다면 ARP 캐시 테이블에 대한 내용도 다룰게요.

profile
#행복 #도전 #지속성

0개의 댓글