컴퓨터네트워크

[컴퓨터 네트워크] LANs : addressing, ARP

ima9ine4 2024. 7. 11. 11:36
728x90

#컴네 10일차 - (3)

ARP(Address Resolution Protocol)란 주소 결정 프로토콜이다. IP주소를 MAC주소와 매칭시키기 위한 프로토콜이다.

먼저 IP 주소와 MAC 주소 각각에 대해 알아보자.

IP주소는 32bit(in IPv4)로 네트워크 계층(3계층)에서 패킷을 전달하는데 사용되는 주소이다.
MAC주소는 대부분 48bit길이이며 로컬 네트워크 내에서 물리적으로 연결된 인터페이스 간의 통신(프레임 전달)을 위해 사용된다.

중요한 차이점은 IP주소는 네트워크 3계층에서, MAC주소는 데이터 링크 2계층에서 사용된다는 것이다.

LAN(Local Area Network)란 제한된 지리적 범위 내에서 네트워크를 형성하는 것이다. 각 LAN에 연결된 장치는 고유한 LAN주소를 가지고 있는데 이를 MAC(Media Access Control)이라고도 한다. 이는 네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자이다.

아래 그림은 여러 대의 컴퓨터가 LAN에 연결되어 있는 모습이다. 각 컴퓨터에는 고유의 LAN주소(MAC주소)가 할당되어 있다.



ARP는 IP주소를 MAC주소로(로컬 네트워크 주소를 변경하는 프로토콜) 변환하는 프로토콜이다. 예를 들어 컴퓨터 A가 컴퓨터 B로 데이터를 보내고 싶을 때, 컴퓨터 A는 컴퓨터 B의 IP주소를 알고 있어야 한다. 그러나 네이버 통신에서는 MAC주소가 필요하므로 ARP를 사용하여 해당 IP주소에 대한 MAC주소를 알아낸다.

MAC주소는 IEEE에 의해 관리되며, 고유성을 보장하기 위해 제조업체가 MAC주소 공간을 구매한다. MAC주소는 고유하여 변경되지 않지만, IP주소는 네트워크 환경에 따라 변경된다. MAC주소는 장비가 네트워크를 이동해도 그대로 유지되지만, IP주소는 네트워크 서브넷에 따라 변경되어야 한다.

아래 그림을 보면 여러 대의 컴퓨터가 LAN에 연결되어 있고, 각 컴퓨터는 IP 주소와 MAC 주소, ARP 테이블을 가지고 있다. ARP 테이블에는 특정 LAN 노드에 대한 IP주소와 MAC주소의 매핑 정보가 저장된다.  테이블에 저장되는 형식은 <IP address; MAC address; TTL>이다. TTL은 주소 매핑이 기억되는 시간을 의미한다. 

 

같은 LAN에서의 ARP 프로토콜 작동 방식을 알아보자.

1. A가 B에게 데이터 그램을 보내고자 하는데 A의 ARP 테이블에 B의 MAC주소가 없다. 
2. A가 B의 IP주소가 포함된 ARP 쿼리 패킷을 broadcast한다. LAN에 속한 모든 노드가 ARP쿼리를 수신한다.
3. B가 ARP패킷을 수신하고 A에게 자신의 MAC주소로 응답한다.
4. A는 IP-to-MAC 주소 쌍을 ARP 테이블에 저장한다. 이 정보는 시간이 지나면 삭제된다.
5. 이렇게 관리자의 개입없이 노드들간에 스스로 응답을 주고 받아 ARP 테이블을 생성하는 것을 plug and play라고 한다.

 

다른 LAN으로 데이터그램을 보내는 과정에 대해서도 알아보자. A는 B의 IP주소와 R의 IP주소, R의 MAC주소를 알고 있다고 가정한다.

1. IP 데이터 그램 생성
A는 B의 IP주소(222.222.222.222)를 목적지 IP주소로 설정하여 데이터 그램을 생성한다. 이 데이터 그램은 네트워크 3계층(IP계층)에서 처리된다.

2. 링크 계층 프레임 생성
A는 생성한 IP 데이터그램을 링크 계층 프레임에 캡슐화한다. 이 프레임의 목적지 MAC주소는 첫 번째 홉 라우터인 R의 MAC주소(E6-E9-00-17-BB-4B)이다. 출발지의 MAC주소(MAC src)는 A의 MAC주소(74-29-9C-E8-FF-55)이다. 이렇게 캡슐화된 프레임은 물리 계층을 통해 전송된다.

 

3. 라우터 R에서 A가 보낸 프레임을 수신
물리 계층을 거치고 이더넷 스위치를 통과하여 프레임은 R로 간다. R은 목적지 IP주소가 222.222.222.222임을 확인한다.

4. 라우터에서 IP 계층
라우터는 MAC 계층 확인 후에 IP 계층으로 올려보내서 목적지 IP주소를 보고 다음 홉을 결정한다. 목적지 IP는 B의 IP주소이다.

5.
R은 출발지 IP가 A이고, 목적지 IP가 B인 데이터 그램을 전송한다.
R은 B의 MAC주소를 사용하여 새로운 이더넷 프레임을 생성한다. R은 이 이더넷 프레임을 B에게 전송한다.

 

IP계층에서는 IP주소를 사용하여 패킷을 라우팅하고, 링크 레이어(MAC계층)에서는 데이터 프레임을 실제 네트워크 상의 장치에 전달하기 위해 MAC주소를 사용한다.

  • A에서 R로의 전송: A는 IP 데이터그램을 생성한 후, 이를 R의 MAC 주소를 목적지로 하는 링크 계층 프레임에 캡슐화하여 전송한다.
  • R에서 B로의 전송: R은 수신한 IP 데이터그램을 확인하고, 이를 B의 MAC 주소를 목적지로 하는 새로운 프레임에 캡슐화하여 전송한다.
728x90
반응형