Skip to content

Latest commit

 

History

History
75 lines (42 loc) · 4.88 KB

어정윤.md

File metadata and controls

75 lines (42 loc) · 4.88 KB

[Network] ARP

0. IP 주소와 MAC 주소

목적지 컴퓨터가 위치한 네트워크를 찾기 위해 IP 주소를 사용하며, 해당 네트워크에서 실제 목적지 컴퓨터를 찾기 위해 MAC 주소를 사용한다.

IP 주소는 네트워크 계층인 3계층에서 사용되고 MAC 주소는 데이터링크 계층인 2계층에서 사용되기 때문에 ARP 프로토콜을 사용해 MAC 주소를 알아와야 한다.

1. ARP

ARP(Address Resolution Protocol)은 논리적 주소(IP 주소)를 물리적 네트워크 주소(MAC 주소)로 대응시키기 위해 사용되는 프로토콜이다.

RARP(Reverse Address Resolution Protocol)은 ARP와 반대로 물리적 네트워크 주소를 논리적 주소로 대응시키기 위해 사용되는 프로토콜이다.

2. ARP 동작 원리

  1. 요청: 송신자는 하나의 네트워크에 연결되어 있는 모든 PC로 브로드캐스트를 통해 ARP Request를 보내 IP 주소에 해당하는 MAC 주소를 찾는다.
  2. 응답: IP 주소에 맞는 PC는 송신자에게 본인의 MAC 주소를 추가해 유니캐스트를 통해 ARP Reply를 보낸다.

브로드캐스트(Broadcast)

송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식

유니캐스트(Unicast)

고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

3. ARP 사용 경우

3.1. 같은 네트워크 상에 있는 다른 호스트로 패킷 전송(논리주소는 목적지 IP주소)

arp
  1. A가 B와 통신하기 위해 같은 네트워크 대역에 ARP 요청을 브로드캐스트 방식으로 B의 10.0.0.2/24 IP 주소를 가진 단말이 있는지 물어본다.

    (IP 주소와 MAC 주소를 비교해서 확인 해달라는 요청)

    A는 상대방 B의 MAC 주소를 모르기 때문에 MAC 주소는 일단 기본 게이트웨이(FF:FF:FF:FF:FF:FF)로 기록한다.

  2. 네트워크 스위치 장비는 A의 MAC 주소 00:11:BB:00:00:AA를 자신의 MAC 주소 테이블에 저장한다.

    (저장되어 있지 않은 경우)

3-1. 네트워크 스위치 장비가 ARP 요청을 받고나서 자신이 가지고 있는 MAC 테이블에 B의 IP 주소 10.0.0.2/24에 대한 MAC 주소 00:11:BB:00:00:BB가 저장되어 있다면, A에게 B의 IP 주소 10.0.0.2/24의 MAC 주소 00:11:BB:00:00:BB를 알려준다.

3-2. 네트워크 스위치 장비가 ARP 요청을 받고나서 자신이 가지고 있는 MAC 테이블에 B의 IP 주소 10.0.0.2/24에 대한 MAC 주소 00:11:BB:00:00:BB가 저장되어 있지 않다면, 반대편의 B까지 ARP 요청이 전달된다.

이후 B는 ARP 요청을 받은 다음 자신의 IP 주소가 목적지에 기록되어 있음을 확인한 후 자신의 MAC 주소를 알려주는 응답을 하고, 네트워크 스위치는 B의 MAC 주소를 MAC 주소 테이블에 저장한다.

  1. A는 마침내 전달 받은 B의 MAC 주소를 확인하고 B와 통신을 시작한다.

3.2. 다른 네트워크 상에 있는 다른 호스트로 패킷 전송(논리 주소는 라우터의 IP 주소)

arp
  1. A가 B와 통신하기 위해 같은 네트워크 대역에 ARP 요청을 브로드캐스트 방식으로 B의 20.0.0.1/24 IP 주소를 가진 단말이 있는지 물어본다.

    (IP 주소와 MAC 주소를 비교해서 확인해달라는 요청)

    A는 상대방 B의 MAC 주소를 모르기 때문에 MAC 주소는 일단 기본 게이트웨이(FF:FF:FF:FF:FF:FF)로 기록한다.

  2. 목적지가 게이트웨이의 MAC 주소이므로 라우터는 해당 ARP 요청을 받고, 목적지 B의 IP 주소가 같은 네트워크에 있지 않기 때문에 같은 네트워크 대역대에 있는 라우터 자신의 인터페이스 MAC 주소 00:00:00:00:RR:00로 응답해준다.

  3. A는 B와 통신하기 위해 다시 라우터에게 B의 목적지 IP 주소 20.0.0.1/24와 같은 네트워크 대역의 라우터 인터페이스 MAC 주소(00:00:00:00:RR:00)를 목적지로 ARP 요청을 보낸다.

  4. 라우터는 해당 네트워크 대역까지 패킷을 보낸다. 단, 라우터도 목적지 B의 MAC 주소를 모르므로 해당 네트워크 대역대에 브로드캐스트 메세지로 20.0.0.1/24 IP 주소를 가진 단말이 있는지 물어본다.

  5. B 단말이 자신의 IP 주소가 목적지로 되어 있는 패킷을 보고 라우터에게 자신의 MAC 주소(00:11:BB:00:00:BB)를 포함하여 응답한다.

  6. 이 후 라우터를 통해 A와 B가 통신을 시작한다.

References

ARP 프로토콜 동작순서