Network

[Network] MAC

meetking 2022. 12. 9. 11:05

블로그 첫포스팅은 MAC 으로 시작하려고 한다.

전혀 연관이 없지만 맥북이 사고 싶어서 애플 공홈 기웃거리던 와중...

블로그 첫 시작을 뭘로 할까 고민하던참에  MAC 주소가 떠올라서 네트워크로 첫시작을 하게되었다.

먼저 우리가 흔히 알고있는 IP 주소는 논리 주소이며 네트워크 환경에 따라 바뀔수 있다.

반면에 MAC은 랜카드의 고정적인 물리적 주소를 뜻하며 Media Access Control의 준말이다.

즉 네트워크상에서 일종의 고정적 주소 역할을 하게되며 통신을 위해 서로를 구분하고 인식하게끔 한다.

따라서 MAC 주소는 전세계에서 유일한 주소이고 PC뿐만 아니라 라우터, 스위치, 서버에도 MAC 주소가 존재한다.

<그림1>MAC주소와 IP주소 차이

인터넷은 TCP/IP로 통신을 하고 통신을 위해서는 IP주소를 사용한다.

엄밀히말하면 IP주소를 MAC주소로 변환하는 절차를 통해서 통신하게된다.

이러한 절차를 ARP 프로토콜이라고 한다. 

예를 들어 A라는 PC가 있고 B라는 PC가 있다고 가정해보자.

A는 자기자신의 MAC 주소와 B의 IP주소를 알고 있고 

이러한 정보를 바탕으로 자신이 속한 네트워크에 브로드캐스트 방식으로 B의 MAC주소를 요청 하는데 이를 ARP Request라고 한다. 브로드 캐스트 방식은 로컬 랜에 연결되어있는 모든 네트워크 장비들에게 보내는 통신을 말한다.

요청을 받은 B는 A에게 자신의 MAC 주소를 알려주고 이를 ARP Request라고 한다.

이러한 과정을 모두 거쳐 A는 B의 MAC 주소를 알게되고 비로소 통신을 시작한다.

그렇다면 만약 B가 같은 로컬 랜이 아닌 다른 네트워크 에 있는 경우를 가정해보자.

다른 네트워크에 있는 경우에는 A 라는 PC는 A에 연결된 라우터와 B에 연결된 라우터를 거쳐서 통신하게 된다.

즉, PC A가 다른 네트워크의 PC B의 MAC 주소를 알기 위해서는 A에 연결된 라우터의 MAC주소를 통해야 한다. 

그럼 A와 연결된 라우터는 A의 요청을 받아 B와 연결된 라우터로 요청을 보내게되고 B와 연결된 라우터는 요청 받은 정보를 기반으로 자신과 연결된 PC B MAC 주소를 찾아 전달하게 된다.

MAC주소는 48bit의 주소를 갖게되고 8자리마다 하이픈, 콜론, 점으로 구분한다.

<그림2>MAC주소

48bit 이기 때문에 0과 1로 이루어진 48자리로 표현하는게 맞지만 너무 길기때문에 일반적으로는 16진수로 표현하게된다.

2진수 4자리를 묶어서 16진수 한자리로 표현(2^4=16)하기 때문에 총 16진수로 이루어진 12자리로(4x12=48) 표현되게 된다.

<그림2>에서 MAC 주소는 d8:c4:97:xx:xx:xx 로 표현되어있는데 d8:c4:97 까지는 제조사를 나타내는 코드로 OUI라고 불린다.

d8:c4:97:xx:xx:xx 의 뒤 6자리는 제조사에서 각 장비에 분배한 Host identifier이다. 즉 장비의 일련번호라고 할 수 있다.