본문 바로가기

네트워크 이야기

IP 기초이론 (6편)

IP 기초이론 6편에서는 ARP 개념 및 동작에 대해 알아보도록 하겠습니다.

◆ ARP (Address Resolution Protocol)

ARP

   ARP는 Ethernet에서 매우 중요한 Protocol이고,

   Multi Access가 가능한 곳에서 유사한 Protocol이 존재합니다.

   예를 들면 WAN 구간에서 사용되는 Fram-Relay에서는 비슷한 개념이지만 전혀 다른 동작 방식을 취합니다.

   일반적으로 PC A에서 Ping을 보냈다고 가정한다면,

    Ping은 Application Layer 에 해당되므로

    Ping Command가 실행되면 곧바로 Layer 3 Protocol인 ICMP에게 전달되며,

    ICMP는 다시 IP Packet으로 Encapsulation이 되고 그다음에 Layer 2 Ethernet Frame으로 구성이 되어

    케이블로 전송이 됩니다.

    Ethernet Frame에서 사용하는 주소는 IP Address가 아니고 바로 MAC Address라고 하는 또 다른 주소가

    있고, Protocol마다 고유한 형식의 주소를 가지고 있습니다.

    주소가 왜 필요할까요?

    주소는 사람도 가지고 있고, 사람과 사람 사이에 물건을 주고받을 때 소식을 주고 받을 때 사용합니다.

    만약 주소가 없으면 어떻게 될까요? 

    물론 위와 같은 어떤 교류도 할 수 없으며 통신 단말기 사이에 정보를 주고받기 위해서는 반드시 필요한 요소입니다.

     MAC Address를 얘기할 때 흔히 이러한 표현을 많이 사용합니다.

     "Unique in the World" 즉 전 세계적으로 유일하다는 의미입니다.

     어떻게 해서 유일한 주소가 될 수 있느냐?

     바로  IANA *철저하게 관리를 하기 때문입니다.

      * IANA라고 하는 모든 주소(MAC, IP, Port, AS Number 등)를 관리하는 기관임

MAC Address의 주소 규칙

    MAC Address의 구성은 48bit로 되어 있으며 표현은 16진수로 합니다.

    16진수를 사용하기 때문에 12자리의 숫자로 표현되는데

    앞 6자리는 통신장비 제조 회사(Cisco, 삼성, Juniper 등) 고유의 번호가 등록되고,

    뒤 6자리는 각 제조회사에서 부여하는 일련번호가 되겠습니다.

    통신장비 제조회사 6자리는 OUI (Organization Unique Identifier)라고 불려집니다.

ARP Cache Table

     Ethernet Frame을 구성하려면 상대방 MAC Address를 알아야 하는데 상대방 정보는 사용자가

     알려준 IP Address (10.1.1.2) 뿐이 없어서 해당 IP의 Host MAC Address ARP Cache Table에 존재하는지를

     확인해야 합니다.

     ARP Cache Table에 상대방 MAC Address가 없는 경우, 상대방 MAC Address를 알기 위해 ARP Request

     전송하게 됩니다.

ARP Request 전송

        ARP RequestBroadcast로 전송되어집니다.

        Broadcast는 같은 Network에 있는 모든 장비와 사용자에 전달되는 특징이 있고 

        장비, PC, Server 등이 Broadcast를 받으면 반드시 확인을 하게 되어

        Broadcast가 많으면 CPU 사용량이 증가하게 되어 장비의 성능 저하가 발생하게 됩니다.

        Broadcast는 한 장비가 같은 내용을 모든 대상에게 전달할 수 있는 장점이 있는 반면에

        원하지 않은 불필요한 정보가 전송될 수 있다는 단점도 존재하는 양면성을 가지고 있습니다.

        대부분의 Network에서 Packet을 분석해 보면 Broadcast Packet이 30 ~ 50% 정도의 비율을 차지하는 경우가

        많은데 그 이유는 가장 쉽게 정보를 전송할 수 있어서 Application 개발자들이 선호하는 방식이기 때문입니다.

        Broadcast 주소는 Layer 3에서는 255.255.255.255이고, 이유는 32Bit를 모두 1로 채워서 전송함으로

        Dotted-Decimal로 환산하면 255.255.255.255 가 된다. 

        하지만 MAC Address에서는 모든 Bit를 1로 채워 16진수로 표현하면 ffff.ffff.ffff 가 됩니다.

ARP Reply

         PC A로부터 Broadcast를 받는 PC B는 목적지 IP 주소가 자신임을 알고 자신을 MAC Address를 넣어서

         PC A에게 ARP Reply 정보를 제공하고,

         PC A는 PC B로부터 받은 정보를 보고 PC B의 MAC Address 정보를 알게 되는 것입니다.  

ARP Cache Table 저장

         PC B로부터 받은 MAC Address를 PC A는 ARP Cache Table에 저장을 하고 나중에 필요시 사용합니다.

         Windows의 경우 약 3분 정도의 기간만 보관하고 3분 동안 사용하지 않으면 지워지게 됩니다.

         여기에서 보관되는 기간은 Aging Time 또는 ARP Cache Time이라고 하고 OS나 장비마다 상이합니다.

         이제 Ethernet Frame 구성에 필요한 모든 정보가 있어 Frame 구성을 완료하고 Layer 1을 통하여 Ping

         신호가 보내지게 됩니다.

         LAN 상에서 이와 같은 과정은 수 msec 내에 완료가 되기 때문에 사용자 입장에서는 알 수가 없다.

         네트워크망에서 ping 신호를 보낼 때 첫 번째 ping 신호에 Loss 발생되는 현상을 볼 수 있는대요

         이 경우는 ARP Processing에 Delay가 방생한 경우라고 볼 수 있겠습니다.

Ping Packet 성공

 

          Ping은 ICMP에 의해 Echo Request로 전송되고 PC B로부터 Echo Reply 신호를 받게 됩니다. 

         지금까지 ARP 개념과 동작 방식에 대해 간략하게 알아보았습니다.

         다음 시간에 알찬 내용으로 다시 찾아오겠습니다. *^.^*

 

     

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

고용보험 재직자 환급과정 서버 가상화와 SDN 과정  (0) 2019.10.14
IP address 이야기  (0) 2019.08.09
IP 기초이론 (5편)  (0) 2019.08.08
IP 기초이론 (4편)  (0) 2019.08.07
IP 기초이론 (3편)  (0) 2019.08.07