CS지식/네트워크

TIL 정리_121(ARP 프로토콜)

ran4 2022. 7. 15. 15:13

https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi 

위의 강의를 듣고 정리한 내용입니다

 


 

ARP 프로토콜

같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC 주소

IP 주소를 이용해서 알아오는 프로토콜이다

->통신하기 전 필요한 프로토콜이다

 

 

ARP가 하는 일

  • 같은 네트워크 대역에서 통신을 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP 주소와 MAC 주소가 모두 필요하다
  • 이때 IP 주소는 알고 MAC 주소는 모르더라도 ARP를 통해 통신이 가능하다
  • 보안상 중요한 프로토콜이다

 

 

ARP 프로토콜의 구조

- 28bytes로 구성되어 있다

 

Hardware type Protocol type
Haraware Address
Length
Protocol Address
Length
Opcode
Source Hardware Address (Continued)
Source Hardware Address Source Protocol Address
Source Protocol Address Destination Hardware Address
Destination Hardware Address
Destination Hardware Address

 

Source Hardware Address : 출발지의 물리적인 주소를 말한다

-> 출발지의 MAC 주소를 나타낸다 6bytes를 할당한다

 

Source Protocol Address : IPv4 주소를 가리킨다

-> 4bytes를 할당한다

 

Destination Hardware Address : 목적지의 MAC 주소와 목적지의 IP 주소가 들어있다

 

이더넷 프로토콜 : 목적지 주소가 먼저 온다 //가장 자주 볼 2계층 프로토콜이다

나머지 프로토콜 : 출발지 주소가 먼저온다

 

Opcode: Operation Code

어떤 것이 동작하는지 나타내는 코드이다

-> ARP 프로토콜로 요청을 하는지 요청에 대한 응답을 하는지 나타내는 코드이다

요청 = 01, 응답 = 02로 세팅한다

 

 

 

ARP 프로토콜의 통신 과정

컴퓨터 A, B, C, D가 통신한다고 가정

A 컴퓨터가 상대 컴퓨터에게 이더넷 프로토콜로 ARP요청을 할 때

목적지 MAC 주소를 모르는 상태이다

 

ARP 요청

 

00 01 08 00
06 04 00 01(요청)
aa aa aa aa
aa aa c0 a8
00 0a 00 00
00 00 00 00
c0 a8 00 1e

-> 목적지의 주소를 모르기 때문에 0으로 비워두었다

 

 

이더넷 캡슐화

 

FF FF FF FF
FF FF aa aa
aa aa aa aa
08 06  

 

->MAC 주소를 FF로 채운다(2진수로는 1) -> 브로드캐스트

->같은 네트워크 대역에 있는 모든 컴퓨터에 전송한다 //도착지를 모르기 때문이다

 

전송받은 장비는 2계층을 확인후 3계층인 ARP 요청을 확인한다

-> 본인과 목적지 IP 주소가 일치하지 않으면 패킷을 버리고, 일치하면 버리지 않는다

 

 

일치한 컴퓨터 = C 컴퓨터는 ARP 응답을 보낸다

ARP 응답

 

00 01 08 00
06 04 00 02(응답)
cc cc cc cc
cc cc c0 a8
00 1e aa aa
aa aa aa aa
c0 a8 00 0a

 

이더넷

 

aa aa aa aa
aa aa cc cc
cc cc cc cc
08 06  

 

-> 목적지 주소를 알고있기 때문에 브로드 캐스트를 할 필요 없다

 

응답 후 ARP 캐시 테이블

상대방의 MAC 주소를 저장한다

 

 

ARP 테이블

  • 통신했던 컴퓨터들의 주소는 ARP 테이블에 남는다
  • CMD 창에 arp –a를 입력하면 조회가능하다
  • 시간이 지나면 캐시는 사라진다