MAC 주소

개발(공부) 자국·2021년 9월 16일
0

2계층에서 사용하는 주소체계인 MAC 주소에 대해 알아보려고 한다.

Mac주소란

MAC(Media Access Control)은 2계층에서 통신을 위해 NIC(Network Interface Control)에 할당된 식별자이다. 즉 NIC에 부여된 주소를 MAC 주소라고 한다. NIC에 대해서도 간단히 알아보자.

NIC는 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치다. 랜카드라고 생각하면 된다. NIC는 3가지 역할을 한다.

  • 직렬화
    전기적인 신호를 데이터 신호의 형태로 변환하고, 데이터 신호 형태를 전기적 신호 형태로 변환하는 것을 직렬화라고 하는데 이 역할을 NIC에서 한다.
  • MAC 주소
    다른 곳에서 전달받은 패킷의 주소를 확인하고 해당 패킷을 전달하거나 폐기한다. 이때 패킷의 목적지 주소와 NIC 장치의 주소와 비교해서 맞으면 상위 계층으로 올려보내고 맞지 않으면 패킷을 폐기한다.
  • 흐름 제어 (flow control)
    이미 통신 중인 데이터 때문에 새로운 데이터를 받지 못하거나 데이터 유실이 되는 경우를 대비해서 중간에 통신 중지를 요청하는 것을 흐름 제어라고 한다. 이 흐름제어를 NIC에서 담당한다.

MAC 주소 체계


Mac 주소는 48비트 16진수 12자리로 표현된다. 앞의 24비트는 국제기구 IEEE가 제조업체에 부여한 제조사 코드인 OUI 값이다. 뒤의 24비트는 제조사에서 자체적으로 할당한 UAA 값이다.

  • MAC 주소가 중복되는 경우가 있을 수 있다. 라우터를 거치게 되면 라우터의 MAC 주소가 다음 네트워크로 전달될 때 바뀌기 때문에 동일한 네트워크 안에서 중복되는 상황만 없으면 된다.
  • MAC 주소가 고정되어 있지만 여러 명령어나 설정 파일변경으로 바꿀 수도 있다.

MAC 주소의 동작

전선으로 전기신호가 들어오면 2계층에서 패킷 형태로 변환하여 내용을 구분한 후에 도착지 MAC 주소를 확인한다. 도착지와 NIC MAC 주소가 같으면 상위계층으로 넘겨주고 다르면 폐기한다.

위의 경우는 유니캐스트의 경우가 대부분이다. 도착지주소가 같거나 브로드캐스트 주소의 경우는 바로 상위계층으로 넘겨주게 된다. 브로드캐스트의 통신이 많게 되면 모두 상위계층으로 전달되기 때문에 cpu의 부하가 생긴다.

폐기되는 네트워크 통신은 패킷 분석이 되지 않는다. 하지만 무차별 모드(Promiscuous Mode)로 NIC를 구성하게 되면 모든 패킷을 분석할 수 있다. 무차별 모드로 사용한 어플리케이션 중에 네트워크 패킷 분석 어플리케이션인 와이어 샤크가 있다.

profile
기록을 중요하게 생각하는 사람입니다. 학습한 내용을 정리한 것이라 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 언제든 말씀해 주시기 바랍니다.

0개의 댓글