ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ARP : IP 주소와 MAC 주소를 매핑해준다.
    CS💻/Network🛰️ 2023. 12. 21. 14:55
     

    허브와 스위치의 작동방식 차이를 OSI 7 Layer 랑 같이 알아보자.

    스위치는 기기들 사이에서 데이터의 전달을 중개해주는 기기이다. 서로 연결하고자하는 기기들에 아래와 같이 생긴 이더넷 케이블을 이용해 한쪽은 기기, 한쪽은 스위치의 구멍(포트)에 꽂으면

    people-analysis.tistory.com

     

    이전 포스트에서 탐구해봤던 허브와 스위치의 차이를 OSI 7 layer와 관련지어 간단하게 다시 정리하면

     

    허브는 Layer 1, 물리 계층에 속하는 기기이기 때문에 전기적 신호의 전달만 할 뿐 전달하고 있는 데이터의 목적지를 알 수가 없다. 따라서 허브를 이용해 기기간의 데이터를 전달하면 해당 허브에 연결되어 있는 모든 기기에게 데이터가 전달 된다.

    스위치는 Layer2, 데이터 링크 계층에 속하는 기기이다. 데이터 링크 계층에서는 기기의 물리적 주소를 결정한다. 2 계층에 속하는 스위치는 기기의 물리적 주소인 MAC 주소 식별이 가능하기 때문에 기기간의 구분이 가능하다. 따라서 목적지 MAC 주소에 해당하는 기기로만 데이터 전달이 가능하다.

    근데 지난 포스트에서 케로로 친구들이 스위치를 통해 데이터를 주고 받을 때 이상한 점이 있다.

    • 다시 케로로가 타마마에 ping을 쐈다. ping 10.1.1.5

    스위치는 Layer 2 데이터링크계층에 속하는 기기이기 때문에 MAC주소 만 식별이 가능하다.
    근데 케로로는 ping 을 쏠 때 목적지 지정을 MAC 주소가 아닌 IP 주소를 이용했다.
    스위치는 IP 주소를 알수가 없는데 어떻게 케로로는 스위치를 통해 타마마까지 정상적으로 메시지를 보낼 수 있었을까?

     

    ARP ( Address Resolution Protocol )

    네트워크 상의 통신에서 양쪽 끝에 놓여진 기기는 IP를 이용하여 목적지를 지정하지만 실제 데이터의 이동을 위해서는 MAC 주소를 함께 이용한다. 이를 위해 필요한 것이 바로 Address Resolution Protocol(ARP)이며 IP 주소와 MAC 주소를 일대일로 매칭하여 IP 주소로 목적지를 지정하여도 Layer 2에서 해당 IP 주소에 매칭되는 MAC 주소를 이용해 목적지를 찾을 수 있다.

    케로로의 컴퓨터에는 ARP Table(IP 주소와 MAC 주소를 매핑한 테이블)이 저장되어 있어 케로로가 타마마의 IP주소로 핑을 쏴도 해당 IP 주소에 매칭되는 MAC주소를 알 수 있으며 이를 이용해 Layer 2에서 스위치를 통해 정상적인 데이터 전달이 가능한 것이다.

    케로로의 컴퓨터에는 IP 주소와 MAC 주소를 매핑해둔 ARP Table이 있기 때문에 IP 주소로 ping을 쏴도 MAC 주소를 이용, 스위치를 통해 데이터 전달이 가능하다.

     

    ARP 테이블 매핑 과정

    당연히 처음부터 ARP 테이블에 IP 주소와 MAC 주소가 매핑되어 있지는 않다.
    그러면 어떤 과정을 거쳐 ARP 테이블을 작성할까?

    ARP 테이블이 작성되기 이전 케로로는 타마마의 IP 주소만 알고 정확한 MAC 주소는 모르는 상태이다.
    이때 타마마의 IP 주소 ping을 날리면

    원래 Layer 2에는 출발지와 도착지의 MAC 주소만 표기 되지만 이번경우에는 다르다.
    첫번째로 출발지 MAC 주소는 있는데 도착지 MAC 주소가 FFFF.FFFF.FFFF 로 되어 있고 두번째로 출발지, 도착지의 IP 주소 정보가 있는 ARP Packet이라는게 추가 되었다.

    FFFF.FFFF.FFFF 는 Broadcast Address이다. 같은 네트워크에 속한 기기들에게
    “이 IP 주소를 가진 애야, MAC 주소좀 알려줘보렴!!!” 하고 요청을 보내는 것으로 ARP Request라고 한다.

    • ARP Request가 layer 2 계층의 스위치에 도착하면 스위치와 연결된 모든 기기에 대해 ARP Request를 전달한다.

    • ARP request를 받은 기기중에 IP 주소가 자신과 일치하는 타마마가 자신의 MAC 주소와 함께 응답을 보내면 이제 케로로 컴퓨터의 ARP Table에 타마마의 IP 주소와 MAC 주소간의 매핑이 완료되어 다음부터는 ip주소로 ping을 쏴도 곧바로 타마마의 MAC 주소를 찾아 타마마에게만 layer 2를 통해 메시지 전달이 가능해진다.

     

    댓글

Designed by Tistory.