네트워크

ARP와 RARP

도도.__. 2023. 12. 30. 13:40
반응형
  • ARP와 RARP는 3계층에 속한다.
  OSI 계층 TCP/IP 계층
7 Application Application Application
6 Presentation FTP Telnet HTTP DNS RTSP etc..
5 Session
4 Transport Transport TCP UDP ICMP, IGMP
3 Network Network
(Internet)
IPv4 / IPv6
2 Data Link Network
Interface
(Internet
Access)
Ethernet: IEEE 802.x, Bluetooth, etc...
1 Physical

ARP

    • Address Resolution Protocol
    • 주소 결정 프로토콜이다.
    • 네트워크 상에서 IP 주소를 MAC 주소(물리적 주소)로 대응시켜주는 프로토콜이다.
    • MAC 주소 요청을 보내는 "ARP Request"는 "브로드캐스트 방식"을 사용한다.(단, 같은 LAN에 속해 있는 장비들에게만 전달된다.)
    • 요청에 따라 IP 주소가 일치하는 장치에서 MAC 주소를 보내는 것은 "ARP Reply"라고 한다.
    • 네트워크 계층이다.(3계층)

RARP

  • Reverse Address Resolution Protocol
  • 역순 주소 결정 프로토콜이다.
  • 네트워크 상에서 MAC 주소를 IP 주소를 대응 시켜주는 프로토콜이다.(ARP와 반대 역할이라고 생각하면 됨)
  • 하나뿐인 MAC 주소를 이용해서 IP 주소를 찾는 것이기 때문에 "유니캐스트 방식"을 사용한다.
  • 네트워크 계층이다.(3계층)

패킷 구조

Hardware Type(16bit) Protocol Type(16bit)
Hardware Length(8bit) Protocol Length(8bit) Operation(16bit)
Sender Hardware Address(32bit)
Sender Protocol Address(32bit)
Target Hardware Address(32bit)
Target Protocol Address(32bit)
  • Hardware Type : 네트워크 유형을 정의한다.
  • Protocol Type : IP 버전을 정의한다. ex. IP 프로토콜 버전4(IPv4)의 경우 0x0800
  • Hardware Length : MAC주소의 길이를 정의한다.
  • Protocol Length : 프로토콜의 길이를 정의한다.
  • Operation : 패킷의 유형이다. ARP Request=1, ARP Reply=2, RARP Request=3, RARP Reply=4
  • Sender Hardware Address : 발신자의 MAC 주소이다.
  • Sender Protocol Address : 발신자 IP 주소이다.
  • Target Hardware Address : 목적지 MAC 주소이다.(ARP Request의 경우 알 수 없음(브로드캐스트는 FF:FF:FF:FF:FF:FF로 함))
  • Target Protocol Address : 목적지 IP 주소이다.

 


ARP Table

  • 같은 LAN에 있는 장치들의 IP 주소와 MAC 주소의 일대일 매칭 정보를 정리해 둔 테이블이다.

MAC Table

  • Switch가 가지고 있는 테이블이다.
  • Switch와 연결된 각 장치의 MAC 주소를 매핑하여 저장한 테이블이다.
  • 같은 LAN 내의 트래픽을 효율적으로 관리하고, 패킷을 올바른 목적지로 전달한다.

Routing Table

  • 모든 단말들은 자신만의 Routing Table을 가지고 있다.
  • 라우터가 패킷을 올바른 목적지로 전달하는 데 사용하는 정보를 정리한 테이블이다. => 목적지 IP가 자신이 소속된 IP 대역인지 아닌지를 알 수 있다.
  • 네트워크의 주소 정보, 네트워크로의 경로, 경로의 메트릭(경로의 선호도) 등을 포함한다.

 

Hop Count

2계층 장비인 Switch는 같은 LAN으로 연결되어있다. 그러므로 PC0에서 PC3 사이는 1hop이다. 위의 그림도 PC0에서 PC3 사이는 1hop이다. 라우터는 3계층 장비로 다른 LAN으로 연결되어있다. 그러므로 PC0에

dodo5517.tistory.com

스위치와 라우터의 LAN 구분을 잘 모르겠다면 위의 글을 참고하셔요.


여기서 궁금한 것이 생기니 머리가 복잡했다.

Q. 같은 LAN은 스위치를 사용하는데 ARP는 3계층 프로토콜이 아닌가? 그럼 2계층 장치인 스위치는 ARP를 사용할 수 없어야 하는 것이 아닌가?
A. 이론적으로는 2계층 장치인 스위치는 ARP를 사용할 수 없지만 요즘엔 기술이 좋아서 많은 스위치들이 ARP를 지원하는 경우가 많다. 이런 스위치들을 멀티레이어 스위치(Multilayer Switch)라고 부르며, 이들은 2계층 기능과 3계층, 심지어 4계층 기능까지도 수행할 수 있다.

Q. 그럼 멀티레이어 스위치는 IP 주소와 MAC 주소를 가지나?
A.
스위치도 물리적인 하나의 장치이기 때문에 모두 고유한 MAC 주소는 가지고 있지만 기본적으로는 IP 주소를 가지지 않는다. 하지만 멀티레이어 스위치는 각 VLAN(Virtual Local Network)에 가상 인터페이스를 생성하고, 이 인터페이스에 IP 주소를 할당하여 각 VLAN을 독립적인 서브넷으로 만들 수 있다. 이를 통해 스위치가 라우터처럼 동작하여 서로 다른 VLAN 간의 통신을 가능하게 한다.

Q. 멀티레이어 스위치는 라우터와 비슷한 역할을 할 수 있나?
A. VLAN을 지원하는 스위치는 다른 VLAN 간의 통신을 하려면 라우팅이 필요하다. 일반 스위치는 이런 라우팅 기능을 가지고 있지 않지만, 멀티레이어 스위치는 라우팅 기능을 가지고 있기 때문에 일종의 라우터와 비슷한 역할을 하게 된다. 하지만 스위치와 라우터는 서로 다른 장치로, 동작 원리와 사용 목적이 다르므로 완전히 라우터와 똑같은 것은 아니다.

스위치 : 주로 같은 네트워크 내의 장치들 간의 통신을 관리하고 최적화한다.
라우터 : 서로 다른 네트워크 간의 통신을 가능하게 하고(라우팅), 네트워크의 연결을 확장하는 데 사용한다.


같은 LAN에서의 ARP

ARP는 같은 LAN에 속한 장치에만 ARP Request를 보낼 수 있다.

위의 그림과 같은 상황에서 PC0이 PC1의 IP주소(192.168.10.2)로 MAC 주소를 찾으려 한다고 하자.

1. PC0은 자신의 ARP Table을 확인하여 PC1의 MAC 주소가 있는지 보고, 없다면 브로드캐스트 방식으로 같은 LAN에 속한 모든 장치에 ARP Request를 전달한다.

2. ARP Request 패킷이 스위치에 도달하면, 스위치는 이 패킷을 자신에게 연결된 모든 포트로 전달하여 PC1은 ARP Request를 받는다.

3. PC1이 자신의 IP 주소와 ARP Request의 Target Protocol Address(목적지 IP)가 같은지 확인한다. 맞다면, PC1은 자신의 MAC 주소를 Sender Hardware Address(발신자 MAC)로 하여 ARP Reply 패킷을 PC0에게 보낸다. 

다른 LAN에서의 ARP

ARP가 같은 LAN에 속한 장치에만 ARP Request를 보낼 수 있다면! 어떻게 다른 LAN에 속한 단말의 MAC 주소를 찾아서 패킷을 보낼 수 있나?! 싶을 수 있지만 Router에는 ARP Request를 보낼 수 있다.

위의 그림과 같은 상황에서 PC0이 PC1의 IP주소(192.168.20.2)로 MAC 주소를 찾으려 한다고 하자.

1. PC0은 Router에게 ARP Request를 보내서 Router에서 ARP Reply가 오면 Router의 MAC 주소를 Target Hardware Address로 하고, 자신의 MAC 주소를 Sender Hardware Address(발신자 MAC)로 하여 패킷을 Router에 보낸다.

2. Router는 자신의 interface MAC Address를 지정하여 오므로 수신한다. 그 후에 Routing Table을 확인하여 목적지 IP주소가 자신의 interface에 직접 연결된 LAN임을 확인한다. 

3. Router는 PC1(192.168.20.2)에 직접 ARP Request를 보내서 PC1에서 ARP Reply가 오면 PC1의 MAC 주소를 Target MAC Address로 하고, 자신의 MAC 주소를 Sender MAC Address로 하여 패킷을 PC0에 보낸다. 


같은 LAN에 속한 단말과 통신하려면

ARP Request를 직접 해당 단말의 IP를 Target Protocol Address(목적지 IP)로, 브로드캐스팅의 물리적 주소인 (FF:FF:FF:FF:FF:FF)를 Target Hardware Address(목적지 MAC)로 하여 패킷을 보낸다.

다른 LAN에 속한 단말과 통신하려면

ARP Request를 해당 단말로 가는 길(route)에 있는 라우터의 IP를 Target Protocol Address(목적지 IP)로, MAC을 Target Hardware Address(목적지 MAC)로 하여 패킷을 보낸다.

반응형

'네트워크' 카테고리의 다른 글

IGMP  (0) 2024.01.04
ICMP  (1) 2024.01.01
Hop Count  (0) 2023.12.28
NAT  (1) 2023.12.21
리눅스 - 명령어(1)  (0) 2023.12.17