logo
Published on

통신하기 전 반드시 필요한 ARP 프로토콜 - OSI 7계층 3계층 ARP

Authors
  • avatar
    Name
    Bora Choi
    Twitter

ARP 프로토콜

ARP가 하는 일

ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜이다.

같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서는 7계층 부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소가 모두 필요하다.

이 때 IP주소는 알고 MAC주소는 모르더라도 ARP를 통해 통신이 가능하다.

ARP 프로토콜의 구조

프로토콜구조
  • Source Hardware Address (6byte) : 출발지 MAC주소
  • Source Protocol Address (4byte) : 출발지IP주소
  • Destination Hardware Address (6byte) : 목적지 MAC주소
  • Destination Protocol Address (4byte) : 목적지 IP주소
  • Hardware type (4byte) : 2계층에서 사용할 프로토콜
  • Protocol type (4byte): 3계층에서 쓰일 프로토콜 어드레스 타입
  • Hardware Address Length (2byte) : MAC주소의 길이
  • Protocol Address Length (2byte): IPv4의 길이
  • Opcode : 동작하는지 나타내는 코드 (요청/응답)

⇒ 총 28byte로 구성

APR프로토콜의 통신과정

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

ip주소로mac주소를알아오는과정1

A는 C의 IP주소만으로 C의 MAC주소를 알아오는 과정을 알아보자

ip주소로mac주소를알아오는과정2

A는 도착지 MAC주소를 00 00 00 00 00 00 으로 하고 도착지 IP주소를 넣어서 ARP 요청한다.

ip주소로mac주소를알아오는과정3

Ethernet에서 요청을 보낼때 브로드캐스팅으로 (FF FF FF FF FF FF) 보낸다.

ip주소로mac주소를알아오는과정4

스위치가 요청을 받아 Ethernet 요청을 확인한다. 브로드 캐스트 인것을 확인하고 다른 네트워크 장비에 신호를 보낸다.

ip주소로mac주소를알아오는과정5

스위치가 보낸 신호를 다른 장비들이 받는다.

ip주소로mac주소를알아오는과정11

Ethernet 프로토콜을 확인한다. 브로드캐스트이므로 다음 프로토콜을 확인한다.

ip주소로mac주소를알아오는과정6

ARP 프로토콜을 확인하여 IP 주소를 자신의 IP와 대조한다

ip주소로mac주소를알아오는과정7

IP주소가 맞지 않는 다른 네트워크 장비는 통신을 무시한다.

ip주소로mac주소를알아오는과정8

ip주소가 맞는 네트워크 장비 C는 ARP 응답을 작성한다.

ip주소로mac주소를알아오는과정9

ARP 프로토콜에 자신의 MAC주소, IP주소 , 도착지 MAC ,IP주소를 적는다.

ip주소로mac주소를알아오는과정10

Ethernet 프로토콜에서도 브로드캐스트가 아닌 구체적인 도착지 MAC주소를 적는다

ip주소로mac주소를알아오는과정12

스위치에서 응답을 받아 목적지 주소로 전달한다.

ip주소로mac주소를알아오는과정13

목적지주소에서 응답을 확인한다.

ip주소로mac주소를알아오는과정15

ARP 테이블에 ip주소와 mac주소를 매핑시켜 캐시저장한다.

ARP 테이블

나와 통신했던 컴퓨터들

통신했던 컴퓨터들의 주소는 ARP 테이블에 남는다. ip주소와 mac주소를 매핑시켜 테이블 형식으로 저장한다.