네트워크

Mac 주소의 역할과 ARP 통신

sungtg 2008. 7. 24. 19:41
                    Mac 주소의 역할과 ARP 통신

같은 LAN 안에서도 많은 컴퓨터가 존재할 수 있고,
하나의 송신부에서 하나의 수신부로 전송돼야 하는 하나의 패킷이 LAN 상의 모든 컴퓨터로 전송될 필요는 없다.

따라서 컴퓨터의 네트워크의 중간에서 이를 관리하는 네트워크 노드(node)가 있어 각각의 패킷들이 어느 쪽으로 가야할 지 관리하고 이를 수행하는 장치가 있는데, 이를 스위칭 허브(switching hub)라 한다
(그 외에도, 이 기능을 할 수 있는 여러 가지 네트워크 장비가 있지만 편의상 스위칭 허브만을 얘기하도록 한다).

스위칭 허브는 수신부 Mac 주소만을 살펴보고 패킷이 어느 쪽으로 가야할 지를 알고 있다.

여기에 사용되는 주소가 바로 Mac 주소라는 것이다.
Mac 주소는 6바이트의 길이를 가지고 있으며, Mac 주소 통신은 같은 LAN 안에서 이뤄지는 통신만을 말하며,
바깥(다른 LAN에 있는, 즉 같은 게이트웨이를 사용하지 않는 컴퓨터)으로 벗어나면 Mac 주소 통신을 할 수가 없다.
 
사용자 삽입 이미지
                                             스위칭 허브의 역할

<그림 3>은 192.168.10.1 컴퓨터 A가 192.168.10.2 컴퓨터 B로 IP 통신을 하기 전에
상대방 컴퓨터의 Mac 주소를 알아내는 ARP(Address Resolution Protocol)의 흐름도를 보여주고 있다.

이 경우 컴퓨터 A는 모든 컴퓨터에 ‘어떤 컴퓨터가 192.168.10.2 IP를 사용하고 있느냐’고 물어봐야 하며(ARP Request),
이중 B가 ‘내가 바로 192.168.10.2 IP를 사용하고 있다’고 응답하게 된다(ARP Reply).
사용자 삽입 이미지

<그림 3>에서 요청(Request)과 응답(Reply)를 보내기 전후에 A, B, C의 컴퓨터에서 상대방 컴퓨터의 Mac 주소를 알게 되는 순서를 살펴보자.

   A  B  C
처음 상태      
ARP 요청 후   192.168.10.1 - A 192.168.10.1 - A
ARP 응답 후 192.168.10.2 - B 192.168.10.1 - A 192.168.10.1 - A
<표 1> 각각의 컴퓨터가 알고 있는 상대방 컴퓨터의 Mac 주소 캐시 테이블

ARP 응답이 오고 나서야 A는 B Mac 주소를 알게 되며 이후에야 비로소 IP 통신을 할 수 있다.
참고로 현재 자기 컴퓨터가 갖고 있는 주위 컴퓨터들의 Mac 주소 캐시는 arp -a 명령을 이용해 알 수 있다.

사용자 삽입 이미지
                          자기 컴퓨터의 Mac 주소 캐시를 볼 수 있는 arp 명령어를 실행한 예제