상세 컨텐츠

본문 제목

IT 관련 프로토콜(2) - ARP(주소 결정 프로토콜)와 RARP(역순 주소 결정 프로토콜) 설명 (GARP 포함)

학습/IT

by 전설의백호 2021. 6. 7. 16:14

본문

이번 포스트는 ARP와 RARP에 대해 알아보겠습니다.

 인터넷을 쓰다보면 자주 듣는 단어들이 있습니다. IP주소도 그런 단어들 중 하나로, ARP와 RARP는 이 IP주소와 연관이 있습니다.

 IP주소에 대해 잘 모르시는 분들에 간략하게 설명해 드리자면, 각 컴퓨터나 스마트폰 같은 장치에 할당된 주소로 실생활에서 전화번호 같은 역할을 합니다. 즉, 이 IP주소가 잘못되면 인터넷에서 나한테 와야 되는 정보들이 미아가 되는 사태가 발생할 수 있습니다.

 

그럼 단순하게 IP주소만 있으면 되는 것이 아니냐고 생각할 수도 있는데, 이 IP주소라는 것이 고정적인 것이 아니라 유동적이라는 점에서 문제가 발생하게 됩니다. (IP는 이 외에 할당 체계에 문제가 있어 주소가 고갈되는 문제도 있지만 이런 문제점들과 자세한 원리에 대해서는 나중에 따로 포스팅해 보겠습니다.

다시 본론으로 와서 현 IP주소의 문제들과 이 IP주소가 논리적인 주소이기 때문에 IP주소를 부여할 기준이 필요하게 됩니다. 여기서 이 기준이 되는 것이 바로 MAC 주소입니다.

 

(사진 출처: https://pixabay.com/)

 

 MAC 주소는 Media Access Control Address의 약자로 하드웨어 주소나 물리 주소로 불리기도 하며, 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자입니다. 참고로 여기서 네트워크 인터페이스란 여러분의 컴퓨터에 설치된 랜카드 같은 존재들을 의미합니다.

 이 식별자는 제조업체가 할당하게 되는데, 이는 물리적으로 변경이 불가능하며, 변경 할 수도 없습니다. 왜냐하면 MAC 주소 자체가 전기 전자 기술자 협회(IEEE)에 의해 관리되는 규칙에 따라 48비트로 만들어 졌으며, 그중 첫 24비트는 제조업체 정보가 들어가고, 해당 제조업체들에서는 생산한 각 랜카드들에 대한 정보들을 관리하기 때문에 임의로 변경할 수도 없습니다.

 

따라서 IP주소는 MAC 주소를 기반으로 통신사나 인터넷 회사에서 할당되게 되는데, 이 할당에 관여하고, 이후 연결하는데 필요한 프로토콜이 ARP와 RARP 프로토콜입니다.

 먼저 ARP는 Address Resolution Protocol의 약자로 우리말로는 주소 결정 프로토콜입니다. 위에서 설명한 IP 주소를 MAC 주소로 변환시키는 것이 주임무입니다.

 구체적으로는 상대방의 요청에 의해 동작되며, 이때 요청하는 컴퓨터나 서버에서는 도착지의 MAC 주소를 알지 못하기 때문에 네트워크에 브로드캐스트로 전송합니다. 그러면 해당하는 컴퓨터에서는 자신의 MAC 주소 정보를 유니캐스트로 전송하게 되고, 해당 MAC 주소를 요청한 컴퓨터나 서버는 받은 정보를 기반으로 작업하게 됩니다.

 

 다음으로 RARP는 Reverse Address Resolution Protocol의 약자로 우리말로는 역순 주소 결정 프로토콜입니다.

단어에서 느껴지는 것처럼 RARP는 ARP와 반대되는 개념으로 MAC 주소는 알지만 IP 주소를 모르는 경우 사용하며, 주로 서버로부터 IP주소를 요청하기 위해서 RARP를 사용하게 됩니다.

 동작방법도 ARP와 유사하게 요청은 브로드캐스트로 전송하고, 요청받은 컴퓨터나 서버는 유니캐스트로 답변하게 되는데 이때 요청에 MAC 주소를 포함시키고, 상대방에게서 IP 주소를 답변받는 것이 차이점입니다.

 

 마지막으로 GARP라 불리는 Gratuious Address Resolution Protocol도 있으며, 해당 프로토콜은 송신하는 IP주소와 수신하는 IP주소가 동일한 일종의 ARP 요청으로, 자신의 존재를 알림으로써, IP 간 충돌을 감지하거나 ARP 테이블을 갱신하는 용도로 사용합니다. 

 

이상 이번 포스트에서는 ' ARP와 RARP, GARP '에 대해 간략히 알아보았습니다.

구체적으로는 ARP나 RARP의 패킷에 어떻게 정보를 넣고, ARP 테이블에 대해 알아보는 등 ARP 관련하여 심화적인 부분까지 볼 수도 있지만 해당 프로토콜이 어떤 역할을 하는지 개념적인 부분만 알고 있어도, 실제 사용하는 데는 큰 문제가 없습니다. 물론 패킷을 조작한다거나 이를 이용해 ARP Spoofing 등을 수행하려면 심화적인 부분이 필요하기 때문에 관련 부분에 대해 궁금하신 분들은 추가적으로 공부하시길 권장드립니다.

- 연관 포스트 바로가기 -

1. [학습/IT] - OSI 7계층이란? (대표 프로토콜, 대표 장비, 전송 단위 등 포함) 바로가기


2. [학습/IT] - 전송계층 프로토콜 중 TCP와 UDP 설명 (3 way handshake 포함) 바로가기

3. [정보/개발] - 라즈베리 시리즈(3) - 라즈비안 한글 입력기 설치하기(3&4호환, fcitx 입력기) 바로가기

본 포스트는 광고나 쿠팡 파트너스 등을 통해 소정의 대가를 제공받을 수 있다는 점을 알려드리며, 다음에도 다양한 소식으로 찾아 뵙겠습니다.

다음, 네이버, 빙, 구글에서 전설의 백호 집◁ 를 검색하시면 블로그/웹사이트에서 만나 볼 수 있어요!

더보기

댓글 영역