맥 어드레스(MAC Address)란? 여기서 말하는 MAC이라는것은 뭘까요? 바로 Media Access Control이라는 약자로 네트워크 인터페이스에 할당되있는 물리적 고유 식별 주소입니다. 이러한 MAC 주소는 데이터 링크 계층에서 통신을 위한 것입니다.
그러면 이 MAC Address 를 왜 사용하는거지?🍎 이러한 MAC Address를 사용하는 이유는 네트워크 상에서 구분하고 인식하여 통신을 위한 주소로 사용됩니다. 여기서 생각 나실겁니다. "아니 IP주소가 있는데 뭔 MAC Address야?" 네 컴퓨터는 IP주소로도 통신을 합니다. 하지만 이 경우에도 MAC Address를 사용합니다. 우리는 IP주소만 있으면 통신이 될거 같지만, 하지만 IP주소를 다시 MAC으로 바꾸는 절차를 밟고 있습니다. 이러한 절차를 ARP(Address Resolution Protocol)라고 합니다.
맥 어드레스(MAC Address) 그럼 바로 본론으로 들어가서 그림을 보면서 알아보겠습니다. APR요청/응답
이 그림은 단독 네트워크일때입니다. 라우터를 거치지 않고 하나의 네트워크 안에서의 통신이다. PC A가 PC B를 연결해본다고 가정해보겠습니다. 다만, PC A는 PC B의 IP주소를 알고 있습니다. 그럼 이때 PC A는 자신에 속한 네트워크의 모든 PC에게 메시지를 보냅니다. 어떻게 보내냐면 "나의 네트워크에 속한 PC B와 통신을 해야하니 MAC 주소를 알려줘 " 이렇게 보냅니다. 이때 B는 A와 같은 네트워크 있기 떄문에 A가 보낸 브로드 캐스트를 받았을 겁니다.(브로드캐스트는 같은 네트워크 PC만 받을 수 있습니다.) 그럼 B는 A에게 자신의 맥어드레스를 알려주게 됩니다. 그리고 A는 B의 맥어드레스를 아니 통신을 시작하게 될 것 입니다.
그리고 또다른 예로 ARP 요청/응답1
그렇다면 이런 예는 어떨까요 라우터를 넘어서 다른 네트워크에서 통신하고 싶은 PC가 있는 겁니다. 저희는 아까 브로드 캐스트는 같은 네트워크에 있는 PC에게만 보낼 수 있다고 했습니다. 그러면 라우터를 넘어서 있는 PC에게는 브로드 캐스트를 보낼 수 없을 것 입니다. 왜냐하면 라우터가 브로드캐스트를 통과시키지 않기 때문입니다. 그러면 어떻게 PC A💻와 PC B 💻가 통신을 할 수 있을까요? PC A 💻가 "우리 네트워크에 PC B 💻 가 있다면 통신하게 MAC Address🍎 좀 알려줘"라고 보면 PC A 💻와 연결되어있는 Router가 PC B 💻의 IP를 보고 이 PC는 우리 네트워크에 살고 있지 않기에 아무도 이 질문에 대답하지않습니다. 이것을 알게된 라우터는 PC A 💻에게 자신의 MAC Address 🍎를 보내줍니다. "PC A 💻 야 PC B 💻 에게 뭘보내고 싶으면 나한테 보내 내가 보내줄게" 이렇게 말할 것 입니다. 그렇기에 PC A 💻는 PC B 💻에게 정보를 보낼때 맥어드레스를 라우터의 맥어드레스로 하여 보내게 됩니다. 그럼 PC A 💻에게 받은 정보를 PC B 💻가 있는 네트워크에게 넘겨주게 되는것입니다. 그럼 라우터는 다시 자기 네트워크 안에 있는 PC B 💻의 맥어드레스를 찾게 됩니다. 그리고 PC B 💻의 맥어드레스를 알아낸 후 B의 맥어드레스를 이용해서 전달하게 되는것입니다. 이렇게 통신이 일어나는 것입니다. 이래서 MAC Address가 필요한 것입니다.
아니 그래서 MAC Address 가 자세히 뭔데!!!???🥶🥶 다시 본론으로 넘어가서 여기서 네트워크에 붙는 각 장비들은 48bit의 주소를 갖습니다. 이 주소는 랜카드 또는 네트워크 장비에 이미 고정되어 있는 주소입니다. 이 주소를 바로 맥어드레스, 하드웨어 주소 라고 합니다. 모든 랜 또는 디바이스들은 반드시 유일한 MAC Address를 가져야합니다. (맥주소는 랜카드를 바꾸지 않는 이상 바뀌지 않습니다.) 모든 랜의 디바이스는 반드시 유일한 MAC Address를 가져야 합니다.따라서 랜카드마다 다른 MAC Address가 있고 스위치, 라우터 등 MAC Address가 들어있습니다. 물론 서버또한 말입니다. MAC Address는 하이픈(-), 콜론(:), 점(.)으로 구분됩니다. 예로들어
이 3개의 주소는 똑같은MAC Address 입니다. 말씀드린데로 MAC Address는 48bit로 이루어져있습니다. 하지만 원래데로라면 이진수로 표현되는것이 맞았을 것입니다.(48bit의미가 이진수 48개 의미) 근데 왜 16진수일까요? 왜냐하면 너무길고 복잡하기에 관리하고 편하게 16진수를 쓰게 됩니다. 그럼 48자리의 4개씩 묶으니 12자리의 MAC Address 가 되겠네요. 자, 이때 나타내는 앞쪽 6개 16진수가 벤더 생산자를 나타내는 코드입니다 이코드를 OUI(Organizational Unique Identifier)라고 합니다. 그렇기에 이건 메이커마다 고유번호가 다를것입니다. 그렇기에 저희는 이 고유주소를 보고 회사에서 만든 제품인지 알 수 있습니다. 그리고 뒤에 있는 나머지 자릿수가 메이커에서 각 장비에 분배하는 Host Identitier입니다. 즉, 시리얼 번호입니다. 그래서 00-42-45는 회사가 부여받은 것이고,마지막 이런 시리얼 번호를 줄때 00-42-45-00-00-00 부터 00-42-45-FF-FF-FF 까지 부여하는 겁니다.