2계층 (데이터 링크)에서 통신을 위해 네트워크 인터페이스에 할당된 고유 식별자
네트워크에 접속하는 모든 장비는 MAC 주소인 물리주소가 있어야 하고, 이 주소를 이용해 통신하게 된다.
IEEE 802 네트워크 기술에서 2계층 주소로 사용된다.
MAC 주소는 변경할 수 없도록 하드웨어에 고정되어 출하되는데 네트워크 구성 요소마다 다른 주소를 가지고 있다.
모든 네트워크 장비 제조업체에서 장비가 출하될 때마다 MAC 주소를 할당하게 되는데 매번 이 주소의 할당 여부를 확인할 수 없으므로, 한 제조업체에 하나 이상의 주소풀을 주고 그 풀 안에서 각 제조업체가 자체적으로 MAC 주소를 할당한다.
MAC 주소는 48비트의 16진수 12자리로 표현 (16진수는 4비트 이므로 12*4 = 48)
24비트 / 24비트로 나누어 구분을 하는데
쉽게 말하면
각 네트워크 장비 제조업체 코드 (24bit) / 제조업체가 자체적으로 할당한 값 (24bit)
으로 구성된다.
NIC (Network Interface Card)는 전기 신호가 들어오면 프레임(데이터)으로 변환하여 내용을 구분한 후, 도착지 MAC 주소를 확인한다.
만약 도착지 MAC 주소가 자신이 가지고 있는 MAC 주소와 다르면 프레임을 폐기한다.
프레임의 목적지 주소가 자기 자신이거나 브로드캐스트, 멀티캐스트와 같은 그룹 주소이면 처리해야 할 주소로 인지해 패킷 정보를 상위 계층으로 넘겨준다.
브로드캐스트 주소는 NIC에서 패킷을 처리하는 것이 아니라 OS나 애플리케이션에서 처리해야 하므로 시스템에 부하가 작용하는 문제가 있다.
위처럼 NIC 동작 방식은 프레임이 자신의 MAC 주소와 일치하지 않으면 폐기하게 되는데 그렇다면 네트워크 상태를 모니터링 하기 위한 디버그, 분석 용도로 네트워크 전체 패킷을 수집해 분석해야 할 경우, 다른 목적지를 가진 패킷을 분석할 수 없다.
이 경우에는 무차별 모드로 NIC를 구성하여 자신의 MAC 주소와 상관없는 프레임이 들어와도 이를 분석할 수 있도록 메모리에 올려 처리할 수 있게 하는 것이다.
대표적인 애플리케이션으로 와이어샤크(Wireshark)가 있다.
MAC 주소는 단말에 종속 되는 것이 아니라, NIC에 종속되므로 단말은 NIC를 여러 개 가질 수 있으므로 MAC 주소를 여러개 가질 수 있다.
스위치, 라우터와 같은 복잡한 네트워크 장비는 NIC가 여러 개이고, MAC 주소도 여러개 할당된다.
참조한 책 및 사이트
IT 엔지니어를 위한 네트워크 입문