ARP(Address Resolution Protocol, 주소 결정 프로토콜) 유니, 브로드, 멀티, 애니 캐스팅

Sungwuk·2024년 4월 20일
0

ARP란?

주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48 비트 네트워크 카드 주소를 뜻한다. ARP는 1982년 인터넷 표준 STD 37인 "RFC 826"에 의해 정의되었다. - wikipedia

  • 네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위해 사용되는 프로토콜
  • 상대방의 MAC 주소를 알아내기 위해 사용되는 프로토콜
  • 데이터 통신을 위해 2계층의 MAC 주소와 3계층 IP 주소 두 개를 사용
  • IP 주소 체계는 MAC 주소와 전혀 연관성이 없으므로 두 주소를 연계시키 주는 메커니즘이 필요

ARP 해더

1) Hardware Type : 하드웨어 주소(MAC) 유형을 나타내며, 이더넷 통신 시 항상 1로 설정된다.
2) Protocol Type : 매핑 대상인 프로토콜 주소의 유형을 나타내며 IPv4의 경우 0x0800으로 설정 된다.
3) Hardware Address Length : 하드웨어 주소(MAC)의 길이를 byte로 나타낸다. 이더넷 상에서 6으로 설정된다.
4) Protocol Address Length : 프로토콜 주소의 길이를 byte로 나타낸다. IPv4의 경우 4로 설정 된다.
5) Operation Code(Opcode) : ARP의 구체적인 동작을 나타낸다.

	1 ARP Request
    2 ARP Reply
    3 RARP Request
    4 RARP Reply

6) Source Hardware Address : 송신자의 MAC 주소
7) Source Protocol Address : 송신자의 IP 주소
8) Target Hardware Address : 수신자의 MAC주소, ARP Request 동작시 0으로 설정된다.
(이더넷 헤더의 목적지 주소가 ff:ff:ff:ff:ff:ff로 설정되면 브로드 캐스팅된다.)
9) Target Protocol Address : 수신자의 IP 주소


ARP 동작방식

#1 목적지 MAC 주소를 모르기 때문에 정상적인 패킷을 만들 수 없음

#2 ARP 요청을 네트워크에 브로드캐스터
목적지 MAC 주소를 브로드캐스트(ff-ff-ff-ff-ff-ff)(이더넷해더)로, 대상 MAC 주소를 00-00-00-00-00-00(ARP 해더)으로 채워서 전달(뿌림)

#3 ARP 요청에 있는 대상자 IP 주소가 자신의 IP와 동일한 경우, 출발지로 ARP 응답을 유니캐스트


ARP 캐시 테이블

패킷을 보낼 때 마다 ARP 브로드캐스트를 수행하면 네트워크 통신의 효율성이 크게 저하되므로 ARP Reply 정보를 메모리에 정보를 저장해서 재사용하도록 하는 것

arp -d arp 해더를 지우는 명령어

구글 DNS


arp -a arp 캐시 테이블을 확인하는 명령어


ipconfig/all

여기서 우리가 눈여겨 볼것은 IPv4, 기본 게이트웨이 이다.


ping 8.8.8.8 동작 방식

#1 출발지 IP와 목적지 IP의 네트워크 ID를 비교

출발지목적지
IP192.168.1.1308.8.8.8
Subnet Mask255.255.255.0255.255.255.0
NetworkID192.168.18.8.8

#2 게이트웨이의 MAC 주소 확인을 위해 ARP Request(질의)를 브로드캐스팅

수신처 미지정

출발지목적지
IP192.168.1.130192.168.1.1
MAC38-68-93-CE-F9-D200-00-00-00-00-00

LAN 영역의 모든 호스트는 ARP 브로드캐스팅 질의를 수신
목적지 IP 주소가 일치하는 호스트가 ARP Reply를 전송

출발지 MAC목적지 MAC출발지 IP목적지 IP출발지 MAC목적지 MAC
38-68-93-CE-F9-D2FF-FF-FF-FF-FF-FF192.168.1.130192.168.1.138-68-93-CE-F9-D200-00-00-00-00-00
브로드 캐스팅~~~ARP request~~~

#3 게이트웨이가 자신의 MAC 주소를 유니캐스트

출발지목적지
IP192.168.1.1192.168.1.130
MAC 4c-ed-fb-a3-28-0838-68-93-CE-F9-D2

MAC 주소 전송 절차

출발지 MAC목적지 MAC출발지 IP목적지 IP출발지 MAC목적지 MAC
4c-ed-fb-a3-28-0838-68-93-CE-F9-D2192.168.1.1192.168.1.1304c-ed-fb-a3-28-0838-68-93-CE-F9-D2
유니캐스팅~~~ARP request~~~

ARP 영역

ARP 요청과 응답이 일어나는 영역

LAN 영역

동일한 네트워크 ID를 공유하는 호스트가 MAC 주소에 기반해서 스위칭 방식으로 내부 통신을 수행하면서 단일 ARP 영역을 생성하는 공간

네트워크에서 출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식

유니캐스트

  • 1 → 1

  • 출발지와 목적지가 1:1로 통신

  • 대부분의 통신은 유니케스트 방식으로 진행

  • TCP, UDP 모두 지원

브로드캐스트

  • 1 → All
  • 통일 네트워에 존재하는 모든 호스트가 목적지
  • 목적지 주소가 All(ff-ff-ff-ff-ff-ff)으로 표기되어 있는 통신 방식
  • 로컬 네트워크에서 모든 호스트에 패킷을 전달해야 할 때 사용
  • 유니케스트 통신 전에 상대방(목적지)의 MAC 주소를 취득하기 위해 사용 ⇒ ARP Request
  • UDP 지원

멀티캐스트

  • 1 → N (멀티캐스트 구독 호스트 = 그룹)
  • 하나의 출발지에서 다수의 특정 목적지로 데이터를 전송- 멀티캐스트 그룹 주소를 이용해서 해당 그룹에 속한 다수의 목적지로 패킷을 전송하기 위한 통신 방식
  • IPTV와 같은 실시간 방송, 사내 방송, 증권 시세와 같은 단방향으로 다수에게 동일한 내용을 전달할 때 사용
  • UDP 사용

애니캐스트

  • 1 → 1 (동일 그룹 내의 1개 호스트)
  • 다수의 동일 그룹 중 가장 가까운 호스트에서 응답
  • 애니캐스트 주소가 같은 호스트들 중 가장 가깝거나 효율적으로 서비스할 수 있는 호스트와 통신하는 방식
  • 가장 가까운 DNS 서버를 찾을 때 사용
profile
https://github.com/John-Jung

0개의 댓글

관련 채용 정보