Network

[Network]MAC_Address

Galahaad 2022. 11. 9. 14:05

MAC 주소(Media Access Control Address)

MAC 주소란 48bit로 이루어진 네트워크 카드(NIC)의 고유 물리적 주소이다.

24bit:24bit로 나누어 봤을 때, 앞 부분 24bit에는 IEEE(미 전기전자학회)에 의해 할당된

제조사별 벤더 번호(Vendor  / Organizational Unique Identifier)이고 나머지 24bit는 제조사가

일련번호를 매긴 시리얼 번호이다. MAC 주소의 표기 방식으로는 

0A-0B-0C-0D-0E-0F 혹은  0A:0B:0C:0D:0E:0F 형식의 16진법(Hexadecimal)로 표기된다.

 

** 0A => 0(4bit) + A(4bit) = 8bit = 1Byte = 1 Octet

** MAC 주소도 임의로 변경이 가능하다.

 

현재 필자가 사용중인 무선 네트워크 카드의 상위 24bit

뒷 부분은 고유 정보이기 때문에 블러처리를 해두었지만, 위에서 언급 하였듯이 상위 24bit(A0-80-69)로

제조업체가 Intel Corperate 인것을 확인할 수 있다.

 

 

● MAC 주소의 쓰임새

MAC주소는 대표적으로 'OSI 7 Layer' 중 '2계층'에 해당하는 데이터링크(DataLink) 계층에서 사용되며,

외부 네트워크(WAN)가 아닌 내부 네트워크(LAN/Segment)에서 호스트 간 통신에 사용된다. 

 

하지만 각 호스트는 IP 주소를 가지고 있기 때문에, 내부에서는 서로의 MAC 주소를 알기 위해서 

브로드캐스트로 ARP(Address Resolution Protocol)를 뿌리고

서로의 정보를 알아낸 후 이웃한 호스트의 MAC 주소를 ARP Cache 메모리에 저장하여

이후 통신 시에는 별도의 브로드캐스트 없이 바로 연결할 수 있도록 만든다. 

 

ARP(Address Resolution Protocol): IP 주소 → MAC 주소로 변환

RARP(Reverse Address Resolution Protocol): MAC 주소 → IP 주소로 변환

 

Packet Tracer로 192.168.100.0/24 대역의 Network를 구성

Node 1 에서 Ser 1 으로 ping을 요청한다.

 

(좌)Node 1에서 전체 노드에게 뿌린 ARP / (우)Ser 1에서 Node1에게 보내는 ARP

그림 상에서는 표현되지 않았지만 Node 1에서 Ser 1에 ping을 요청했을 때,

연결이 수립되기 전 최초의 연결시에는 ARP Table에 해당 노드의 MAC 주소가 없기 때문

전체 노드에 ARP를 브로드캐스트로 뿌려 Ser1이 아닌 다른 노드들은 해당 프레임(Frame)을 

폐기(Ignore)하고 Ser1은 위의 그림처럼 자신에게 온 메시지임을 확인하고,

자신의 MAC 주소를 ARP 헤더(ARP Header)에 실어서 유니캐스트(Unicast)로 Node1에게 전달한다.

 

 

Node1의 콘솔에서 'arp -a' 명령을 사용해 ARP Table을 확인

ARP를 주고 받은 Node1 과 Ser1의 ARP Table에는 서로의 MAC 주소가 저장 되어있음을 확인할 수 있다.

이후 두 노드간의 통신에서는 ARP 브로드캐스트 없이 바로 통신할 수 있다.