#network > [!abstract] Introduction > MAC 주소는 Media Access Control Address를 줄인 표현으로, 데이터 링크 계층(OSI 7계층에서 2계층)에서 통신을 위해 네트워크 인터페이스(NIC)에 할당된 물리적인 고유 식별 주소다. 네트워크에 접속하는 모든 장비는 MAC 주소를 가지고 있으며, 이 주소를 이용해 서로 통신하게 된다. 이 주소는 유실이나 손상, 혹은 사용자가 마음대로 변경하는 것을 막기 위해 ROM 형태로 고정되어 출하되는 것이 일반적이라 이 주소를 BIA*Burned-In-Address*라고 부르기도 한다. # MAC 주소 체계 MAC 주소는 48비트이며 16진수 12개로 표현하는 것이 일반적이다. 그 중 앞쪽의 24비트는 OUI*Organizational Unique Identifier*라 부르는데, 이 값은 IEEE가 네트워크 장비 제조업체에 할당하는 제조사 코드*Vendor Code*이다. 나머지 24비트는 UAA*Universally Administered Address*라 부르며, 각 네트워크 장비 제조업체는 UAA 값을 자체적으로 할당하여 네트워크에서 각 장비를 구분할 수 있게 해준다. 이때 실수로 혹은 의도적으로 MAC 주소가 중복될 수 있는데, 이는 MAC 주소가 동일 네트워크에서만 중복되지 않으면 동작하는 데 문제가 없기 때문이다. ![[mac-address.png]] 그래서 모든 네트워크 장비의 MAC 주소는 제조업체가 할당받은 OUI에 UAA를 붙이면서 완성된다. 이 MAC 주소는 네트워크 장비 제조업체가 하드웨어에 ROM 형태로 고정시킨 뒤 장비를 출하하기 때문에 장비마다 하나씩 가지게 된다. # MAC 주소의 동작 방식 MAC 주소는 NIC*Network Interface Card*의 하드웨어 메모리에 할당되어 있어서 모든 NIC는 자신만의 MAC 주소를 지닌다. 전기 신호가 들어오면 2계층에서 패킷*Packet*으로 변환하여 내용을 구분한 후 도착지 MAC 주소를 확인한다. 만약 도착지 MAC 주소가 자신이 가지고 있는 MAC 주소와 다르면 그 패킷을 폐기한다. 패킷의 목적지 주소가 자기 자신이거나 같은 그룹 주소이면 처리해야 할 주소로 인지해 패킷 정보를 상위 계층으로 넘겨준다. ![[ProtocolProcessingAtABridge.png]] 이게 어떻게 가능한 것일까? 아래 그림은 2계층에서 사용하는 패킷인 이더넷 프레임*Ethernet Frame*의 구조를 나타낸 것이다. NIC는 전기 신호를 데이터 형태로 변환하는데, 그 결과 이렇게 목적지 MAC 주소와 출발지 MAC 주소를 데이터로 확인할 수 있는 것이다. ![[EthernetFrameFormat.png]]