Tiny Bunny

Rookies/시스템, 네트워크 보안 기술

[SK shieldus Rookies 19기] 04 - ARP

bento 2024. 4. 4. 02:09
[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정

01. ARP

: 네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위해 사용되 프로토콜

타겟의 정보가 필요하니까.. 사용하는거임

2계층의 MAC, 3계층의 IP를 이어주는 역할..

 

ARP 헤더

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1) Hardware Type 2) Protocol Type
3) Hardware Address Length 4) Protocol Address Length 5) Operation Code (Opcode)
6) Sender Hardware Address
  7) Sender Protocol Address
  8) Target Hardware Address
 
9) Target Protocol Address
  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의 구체적인 동작을 나타냄 - ARP Request / ARP Reply / RARP Request / RARP Rely
  6. Source Hardware Address : 송신자의 MAC 주소
  7. Source Protocol Address : 송신자의 IP 주소
  8. Target Hardware Address : 수신자의 MAC주소, ARP Request 동작 시 0으로 설정 - 모르니까..
  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 헤더 

 

대상자 MAC의 00을 보고 대상자 IP를 봐야겠다고 판단해서

자기 IP면~

 

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

전송자 MAC을 채워서(2단계의 대상자 MAC)

이걸 다시 보내줌

 

4. ARP 캐시 테이블 갱신 후 패킷을 생성해 전송



ARP 캐시 테이블

: 패킷을 보낼 때 마다 ARP 브로드캐스트를 수행하면 네트워크 통신의 효율성이 크게 저하되므로

ARP Reply 정보를 메모리에 정보를 저장해서 재사용하도록 하는 것

 

 

728x90