휘성티비 2024. 11. 19. 09:48

앞서 말한 IP 주소와 맥 주소의 차이는 다음과 같이 정리할 수 있다.

구분 구성 체계 기능
IP 주소 가변적인 32비트 크기의 네트워크 ID와 호스트 ID IP 주소 기반의 라우팅
맥 주소 고정적인 48비트 크기의 OUI와 일련번호 맥 주소 기반의 스위칭

 

이번에는 IP 주소와 맥 주소 사이를 연결해주는 ARP(Address Resolution Protocol) 기능을 설명하겠다.

 

먼저 네트워크 공부에서 ping 명령어는 출발지 호스트와 목적지 호스트 사이에서 회선의 연결 상태나 목적지 운영체제의 동작 여부 등을 점검하기 위해 사용하는 명령어이다.

 

ping 8.8.8.8을 cmd 창에 입력하면 다음과 같이 나온다.

 

이후에 arp -a를 입력하면 다음과 같은 내용을 볼 수 있다.

IP 주소와 맥 주소가 대응 관계를 이루고 있는 것을 알 수 있다.

 

이처럼 IP 주소와 맥 주소의 대응 관계를 저장한 테이블을 ARP 캐시 테이블(ARP Cache Table)이라고 한다.

 

구분 출발지 목적지
IP 주소 192.168.0.13 8.8.8.8
맥 주소 00-24-1D-DF-8C-47  

 

ping 8.8.8.8을 엔터하면 운영체제는 자기가 사용하는 서브넷 마스크 255.255.255.0을 갖고 시작하고 출발지 IP 주소와 목적지 IP 주소를 각각 192.168.0.13 255.255.255.0과 8.8.8.8 255.255.255.0으로 설정한 뒤 출발지 네트워크 ID 와 목적지 네트워크 ID를 비교한다.

두 주소는 네트워크가 다르다. 목적지가 출발지와 다른 LAN 영역에 있는 것이다.

 

다른 LAN 영역에 있기에 목적지 주소의 라우터 주소로 변경한다.

구분 출발지 목적지
IP 주소 192.168.0.13 192.168.0.1
맥 주소 00-24-1D-DF-8C-47  

 

이제 목적지에 해당하는 맥 주소가 필요하다.

 

출발지 호스트에서는 목적지 맥 주소를 모르기에 자기와 동일한 네트워크 ID를 사용하는 모든 호스트, 자기가 속한 LAN 영역 전체를 대상으로 192.168.0.1번에 대응하는 맥 주소를 구하기 위해 ARP 질의를 브로드캐스트 방식을 이용해 전송한다.

192.168.0.1번을 사용하는 게이트웨이가 자신에 대한 맥 주소를 192.168.0.13에서 요청한다는 사실을 알고 자신의 맥 주소를 유니캐스트 방식으로 전송한다.

 

목적지 호스트로부터 응답받은 출발지 호스트가 자신의 ARP 캐시 테이블에 이러한 내용을 반영하면 다음과 같다.

구분 출발지 목적지
IP 주소 192.168.0.13 192.168.0.1
맥 주소 00-24-1D-DF-8C-47 00-26-66-86-F8-0C

 

ARP 캐시 테이블에 목적지 맥 주소가 올라오면 운영체제에서는 ARP 캐시 테이블을 참조핑 데이터를 유니 캐스트 방식에 따라 게이트웨이까지 전송한다. 이후부터는 게이트웨이가 IP 주소에 기반한 라우팅 통신을 통해 전송한다.

 

좀 더 쉽게 정리해보겠다.

  1. 운영체제는 출발지 서브넷 마스크를 기준으로 출발지 네트워크 ID과 목적지 네트워크 ID를 비교해 목적지가 스위칭 통신의 대사인지, 라우팅 통신의 대상인지 판단한다.
  2. 운영체제는 ARP 캐시 테이블에 접근해 목적지 맥 주소를 검색한다. 목적지가 스위칭 통신의 대상이면 실제 목적지 IP 주소에 해당하는 맥 주소를 ARP 캐시 테이블에서 검색하고, 목적지가 라우팅 통신의 대상이면 라우터 IP 주소에 해당하는 맥 주소를 캐시 테이블에서 검색한다.
  3. ARP 캐시 테이블에 목적지 맥 주소가 있다면 운영체제는 곧바로 해당 맥 주소를 참조해 목적지까지 유니캐스트 방식으로 전송한다. 만약 목적지 맥 주소가 없다면, 운영체제는 자신이 속한 LAN 영역 전체를 대상으로 ARP 브로드캐스트 질의를 전송한다.
  4. 출발지 호스트와 동일한 LAN 영역에 속한 목적지 호스트는 ARP 유니캐스트 응답을 출발지 호스트에 전송한다.
  5. 운영체제는 ARP 유니캐스트 응답을 통해 획득한 족적지 맥 주소를 ARP 캐시테이블에 반명한다.
  6. 운영체제는 사용자가 전송하고자 하는 실제 데이터를 ARP 캐시 테이블에 기반해 목적지 호스트로 유니캐스트 방식에 따라 전송한다.

ARP 동작이 동일한 네트워크 ID를 공유하는 호스트를 대상으로 맥 주소를 구하는 기능인 만큼 ARP 영역 자체가 곧 LAN 영역 자체를 의미한다. 이것은 LAN 영역에 대한 또 다른 차원의 개념에 해당한다.

 

ARP 요청과 응답이 일어나는 공간ARP 영역이라고 한다.

 

다음은 ARP 영역을 기반으로 LAN 영역을 정의한 것이다.

관점 정의
네트워크 ID 동일한 네트워크 ID를 공유하는 공간
스위칭 맥 주소에 기반해 내부 통신이 가능한 공간
ARP 영역 단일한 ARP 영역을 생성하는 공간

 

LAN 영역이란 동일한 네트워크 ID를 공유하는 공간이고, 맥주소를 기반해 스위칭 방식으로 내부 통신을 수행하는 공간이며, 단일한 ARP 영역을 생성하는 공간이다.

 

데비안 운영체제에서 ARP 캐시 테이블 관련 명령어