본문 바로가기
Network tech/Ethernet

[MAC Address] MAC 어드레스 개념 알아보기

by 어깨 :) 2023. 7. 28.
반응형

중요한 네트워크 장비로써 라우터와 쌍벽을 이루는 것이 바로 '스위치'입니다. 스위치의 역할은 주로 다음의 두 가지입니다.

 

  • PC나 서버 등을 네트워크에 연결시킨다.
  • 같은 네트워크 내부의 LAN 포트 사이에서 데이터 전송을 수행한다.

 

 

스위치에는 LAN 포트가 여러 개 달려 있습니다. 가정용 스위치에는 대개 8개 정도 달려 있지만, 기업용 스위치 중에는 몇백 개나 되는 LAN 포트를 갖춘 제품도 있습니다.

 

컴퓨터를 네트워크에 연결하기 위해서는 컴퓨터와 스위치의 LAN 포트를 서로 연결하면 됩니다. 다시 말해, 스위치를 통해서 네트워크에 접속하는 것입니다. 이때 스위치가 여러 대의 컴퓨터로부터 LAN 케이블을 '모으는' 것처럼 보이기 때문에 '집선 장치'라고 불리기도 합니다.

 

 

 

스위치에 연결된 컴퓨터들은 기본적으로 같은 네트워크에 연결됩니다. 그리고 스위치를 여러 대 사용하는 경우에도 같은 네트워크로 취급됩니다.

 

스위치는 같은 네트워크에 연결된 컴퓨터들의 LAN 포트 사이에서 데이터 전송을 수행합니다. 이때 스위치가 어느 LAN 포트로 데이터를 전송할지는 판단하기 위해 이용되는 것이 바로 'MAC주소'입니다.

 

 

 

1. MAC 어드레스란?

이더넷은 이더넷 인터페이스 간에 데이터를 전송하므로, 데이터를 전송하려면 이더넷 인터페이스를 특정해야만 합니다. 이더넷 인터페이스를 특정하기 위해서 MAC 주소가 있습니다.

 

MAC 주소란 이더넷 인터페이스를 특정하기 위한 48비트 주소입니다. MAC 주소의 48비트 중 선두 24비트느 OUI, 그 뒤 24비트는 시리얼 넘버로 구성됩니다. OUI는 이더넷 인터페이스를 제조하는 벤더(메이커) 식별 코드입니다.

 

시리얼 넘버는 각 벤더가 할당합니다. MAC 주소는 이더넷 인터페이스에 미리 할당되어 있어, 기본적으로 변경할 수 없는 주소이므로 '물리 주소'나 '하드웨어 주소'라고 부르는 경우도 있습니다.

 

 

 

MAC 어드레스는 유선 LAN의 이더넷과 무선 LAN 외에도 단거리 통신에 사용되는 블루투스와 같은 다양한 데이터 통신에서 활용됩니다. 네트워크 인터페이스 계층이 보내는 데이터를 프레임(frame)이라고 부르는데, 이 프레임 안에 송신지와 수신지의 MAC 어드레스 정보가 들어갑니다.

 



● 프리앰블 - Preamble(7bytes)
: 이더넷 MAC 프레임의 첫 번째 필드로서 0과 1을 반복하는 7바이트를 포함하고, 수신 시스템에게 프레임이 도착하는 것을 알려주며, 입력 타이밍에 수신 시스템이 동기화할 수 있도록 만든다. 프리엠블은 실제로 물리층에서 추가됐고, 공식적으로 프레임의 일부분은 아니다.

● 시작 프레임 지시기 - Start of Frame Delimeter (1byte)
: 정상적인 프레임의 시작을 표시(10101011)하는 프레임 동기로, 마지막 두 비트는 11이며 수신자에게 이다음 필드가 목적지 주소임을 알려준다.

● 목적지 주소 - Destination MAC Address(6 bytes)
: 패킷을 수신하는 목적지의 물리(MAC) 주소

● 발신지 주소 - Source MAC Address(6 bytes)
: 패킷 송신자의 물리(MAC) 주소

● 길이 or 종류 - Type or Length(2 bytes)
: 길이 또는 종류로 정의되어 있다. 만약 필드의 값이 1,518보다 작으면 길이필드이고, 뒤에 따라오는 데이터 필드의 길이를 정의한다. 반면에 값이 1,536보다 크면 프레임 안에 캡슐화되어 있는 PDU패킷의 종류를 정의한다.

● 데이터 - Data / Payload(46~1500 bytes)
: 상위 계층의 프로토콜로부터 캡슐화된 데이터가 들어있다. 데이터 필드는 최소 46~1500바이트의 크기를 가지고 있다. 사위 계층의 패킷의 길이가 최소길이(46 byte) 보다 작을 때는 끝에 padding(0)로 채워진다.

● FCS(CRC)(4 bytes)
 DA+SA+Length+Data의 영역을 계산하여 에러를 판별한다. 송신 측에서 CRC를 추가하여 보내고, 수신 측은 CRC를 체크하여 에러프레임은 버린다.

※ CRC : Cyclic Redundancy Check는 에러검출 방법 중의 하나로 송신 측의 데이터로부터 다항식에 의해 추출된 결과를 여분의 오류검사필드(FCS:Frame Check Sequence)에 덧붙여 보내면 수신 측에서는 동일한 방법으로 추출한 결과와의 일치성으로 오류검사를 하는 기술이다.

 

https://mintnlatte.tistory.com/356

 

Ethernet Frame (이더넷 프레임)

■ 이더넷 (Ethernet)은 OSI 7계층 중 Layer 2 (데이터링크 계층)의 DLC(Data Link Control) 서비스의 대표적인 프로토콜 이다. (1) 이더넷 : 네트워킹의 한 방식으로 CSMA/CD라는 프로토콜을 사용한 통신방식. (2)

mintnlatte.tistory.com

 

 

MAC 어드레스의 역할은 데이터를 전달할 목적지를 가리킨다는 점에서 IP 어드레스와 유사하지만, IP 어드레스는 최종 목적지가 한번 설정되면 전송 과정 중에 변경되지 않지만, MAC 어드레스는 전송 과정 중에 통신 경로상에 다음 장비의 어드레스로 교체되는 점이 다릅니다.

 

맥 어드레스와 IP주소 왜 주소가 두 개나 필요할까?

주소라는 게 하나만 있으면 되는 거 아닌가요??

왜 굳이 IP주소를 Mac주소로 바꿔서 사용하는 걸까요?

출처: www.educba.com

[맥주소 너란 녀석 왜 필요하니]

맥주소의 다른 이름은 하드웨어 주소라고 했죠?!

한 마디로, 그 기계의 고유번호, 그 하드웨어만 가지고 있는 식별번호, 하드웨어를 구분하기 위한 주소라는 겁니다.

우리가 생활하는 삶에서 비유하자면, 사람을 식별해 주는 주민등록번호 같은 느낌인 거죠.

하드웨어 식별번호 같은 거니까? 맥주소는 컴퓨터에만 붙어있는 게 아니라 라우터 스위치 등 통신 장비 모두에게 붙어있어요. 

그런데!! 여러분이 만약에 저 한국을 넘어서, 북극 끝자락에 어떤 A라는 컴퓨터와 통신을 하고 싶다고 합시다.

IP주소가 A라는 컴퓨터라는 걸 사실 확실하게 보증할 수는 없어요. 우리 지번주소가 도로명주소체계로 바뀌었듯이, IP주소는 변동가능성이 있거든요. 결국 절대 변하지 않는 그 기계의 고유주소번호가 있어야 하는데, 그게 맥주소입니다.

 

출처: https://www.gbnews.ch/what-is-end-to-end-encryption-e2ee/

미국 어딘가에 존재하는 컴퓨터 A와 통신한다고 생각해 볼게요.

어떻게 데이터를 보낼까요? 내가 일단 옆에 사람에게 전달, 그 옆사람이 또 옆사람에게 전달, 그 옆사람이 또 전달 이렇게 해서 A까지 가는 게 우리 네트워크 통신 방법인데요. 이렇게 나와 이웃 간의 통신을 보장해 주는 프로토콜이 데이터링크 계층 프로토콜이고 이때 통신에 필요한 게 MAC주소입니다.

 

그래서 A가 B한테 데이터를 전송할 때 전송하는 데이터의 목적지 IP주소뿐만 아니라 MAC어드레스가 지정되어야 전송할 수 있어요.

 

컴퓨터는 자신의 IP와 MAC주소는 알아도 내가 통신하고자 하는 상대방의 MAC주소는 모릅니다.

우리가 보통 메일로 보내면 jhnyang@tistory.com 이런 식으로 도메인주소로 메일을 발송하게 되는데,

이 도메인주소는 전송될 때 사실 IP로 바뀌어 통신 요청을 하게 되죠~

 

난 맥주소를 별도로 전달하지 않았는데..?! 우리가 전달하지 않아도, 네트워크단에서 IP주소로 MAC주소를 알아오는 기능을 하는 프로토콜이 있고 그 프로토콜을 ARP라고 합니다.

이렇게 송수신에 필요한 IP와 맥주소를 모두 얻게 되는 거죠!

 

좀 더 IT적으로 얘기하면, 맥 주소는 직접 연결된 노드들에게 데이터를 전달하는데에 초점이 맞혀져 있습니다. 

매체를  장치가 아닌 복수 개의 장치가 공유해서 쓰고 있기 때문에 어떤  장치가 프레임(데이터)을 보내면  프레임이 어느 장치에 가는 프레임인지 알아야겠죠. 어느 장치로 가는지 알려면  프레임이 도착해야  장치의 주소를 들여다봐야 하는데 그게 목적지 Mac 주소예요. 데이터링크 계층에서 보내는 프레임에는 수신 장치의 Mac Address  프레임 전송하는 Mac Address 쓰여 있습니다.

 

[IP주소 너란 녀석 왜 필요하니]

아 맥주소가 필요하다는 건 이해를 했습니다. 그럼 맥주소를 알고 있다면 IP주소 없이 통신이 될까요?

이 세계에 장비가 얼마나 많은데!! 내가 A의 맥 주소를 알고 있다한들 통신할 수 있을까요?? 

 

만약 위 사진처럼, 직접 연결되어 있다면, 야 네가 A야??라고 물어보고 어 맞아! 이럼 나랑 통신하자! 하면 되겠지만,,,

저 두 사람 사이에 수많은 사람들이 있다면 내가 MAC주소 가지고 사람을 찾아 통신할 수 있을까요?

사진출처: https://bonlivre.tistory.com/117

맥주소는 바로 옆사람과의 통신에만 쓰이잖아요. 그럼 내가 저 미국에 있는 컴퓨터 A에게 갈려면 나랑 연결된 어떤 노드에게 데이터를 패스해야 맞는지 맥주소로는 판단할 수 없어요.   

 

이를 해결하기 위해 어찌 보면 IP주소가 존재합니다. 전체적인 맵을 보고 방향을 알려주는 게 IP주소라고 생각하면 돼요!

 

IP주소는 네트워크 계층에서 동작하는 IP프로토콜에서 사용하는 주소체계로,

우리 실생활에서 우편물이나 택배 보낼 때 사용하는 주소원리와 동일합니다.

 

IP주소로 MAC주소를 찾을 수 있는 비결도 이 주소체계에 들어있답니다~!

 

 

 

 

 

[EXAMPLE]

그림출처: https://www.prweb.com/releases/2012/5/prweb9493706.htm

자 경기도에 사는 '양햄찌'라는 어떤 사람이 친구 '겐지'에게 편지를 보낸다고 해요.

그런데 내가 겐지에게 편지를 보내줘!! 이러면 우체국은 어디로 보내야 하는지 알 수 있나요?  아뇨 ~~~!

모래사장에서 바늘 찾기도 아니고 겐지가 어딨는지 내가 어떻게 알아!!

(단순 이해를 돕기 위한 예시입니다. 여기서 겐지라는 건 변하지 않는 그의 이름으로,, MAC주소라고 생각하시면 돼요)

 

출처: https://www.freesoft.org/CIE/Course/Subnet/3.htm

그래서 우리는 큼직 큼직 지역을 파악하기 위해서 계층형 주소를 써요. 

주소를 정한 뒤, 주소로 편지를 보내주길 요청하죠. 어디 어디 사는 겐지! 요렇게~~

 

'서울특별시 중구 세종대로 어쩌고~'가 있으면,

맨 상위 계층 '서울특별시'를 보고 일단 싹 다 서울특별시 우편물 집합장소로 보냅니다.

전 세계 어디로 보내던 큰 개념을 먼저 보고 어디에 보내야 할지 알 수 있는 거죠

 

그다음엔 서울특별시에 모인 우편물들을 가지고 그 다음 단계인 중구인지, 영등포구인지, 성북구인지 분류를 한다음에 보내겠죠? 그 뒤에도 마찬가지입니다. 중구에 도착한 편지들을 가지고 그 다음 하위 단계에서 분류해서 내보내는 방식이에요. 그게 우리가 실제 쓰고 있는 주소의 정체이고, 전화번호도, 우편번호도 다 이처럼 설계되어 있습니다.

 

이런 걸 계층형 주소라고 하는데, 네트워크도 똑같다 이거인 거죠.

그래서 우리는 IP주소 체계의 네트워크를 계층구조 네트워크라고 합니다.

다만 전화번호와 우편번호는 사람이 쓰기 위한 주소라면, IP주소는 컴퓨터가 쓰기 위한 주소인 거죠~~

이런 원리로, 그 수많은 컴퓨터들 사이에서 범위를 차차 좁혀나가 겐지가 어디에 있는지 알 수 있는 거예요. 

 

결국 우편배달시스템에 해당되는 게 IP프로토콜이고,

우편배달시스템을 수월하게 하기 위해 계층형 주소를 만든 것처럼

IP프로토콜에 사용되는 게 계층형 IP주소인 겁니다. 

 

[ARP원리]

IP주소를 MAC주소로 바꿔주는 ARP 프로토콜도

계층형 주소 특징을 이용해 그 주소로 찾아가 수소문해 MAC주소를 알아내오는 겁니다.

 

목적지 도달했으면, 자기가 속한 네트워크에 있는 모든 PC에게 메시지를 보냅니다. 저기요~~~ AAA라는 IP를 가진 분 손들어주세요~~ 저한테 MAC주소 좀 보내주세요~

 

이렇게 확성기처럼 들어온 포트를 제외하고 전체에 뿌려 물어보는걸 플루딩이라고 하는데, 맥 주소를 알아내기 위해 요렇게 동작하는 프로토콜 ARP입니다 ㅎㅎ 

 

이외에 MAC관련되어서 다룰게 많은데, MAC테이블 동작 방식이라던가 ARP, CDP 이런 내용은 나중에 자세히 따로 빼서 진행하도록 할게요. 오늘은 기초 포스팅이니까~~!

 

이제 왜 우리가 MAC주소와 IP주소 두 개를 쓰는지 이해가 되었을 거라고 생각해요 ㅎㅎ 

 

 

https://jhnyang.tistory.com/404

 

맥 어드레스란 무엇인가? IP주소와 맥주소(MAC address) 차이, 맥 주소 확인하는 법 - 네트워크 기초

안녕하세요. 양햄찌 블로그 주인장입니다. ㅎㅎ 오늘은 맥 주소(=맥 어드레스 = Mac Address)를 살펴보려고 해요. [목차] 1. 맥 어드레스란 무엇인가 2. 맥 주소는 왜 하드웨어, 물리적 주소라는 이름

jhnyang.tistory.com

 

 

 

 

 

2. MAC 주소의 표기

 

MAC 주소란 'LAN 포트의 주소'를 말합니다. MAC 주소는 원칙상 변경할 수 없습니다.(단, 소프트웨어로 MAC 주소를 변경할 수 있는 LAN 포트도 있습니다). 그래서 MAC 주소는 '하드웨어 주소', '물리적 주소'라고 불립니다. 라우터와 스위치는 LAN 포트 여러 개를 가지고 있는데, 각 LAN 포트마다 MAC 주소가 존재합니다.

 

 

 

MAC 주소는 48비트이므로 48개의 '0'과 '1'의 조합으로 이루어져 있습니다. 그래서 이대로는 알아보기가 매우 어려우므로 MAC 주소를 표기할 때는 8비트씩 끊어서 16진수로 변환한 뒤에, '-(하이픈) 혹은 ':(콜론)'으로 구분 지어 표기합니다. 예를 들면 '00-00-CC-12-34-56'과 같습니다.

보통 0~9 및 A~F의 조합으로 나타냅니다. 표기 패턴은 다음과 같이 다양하므로 틀리지 않도록 주의합니다.

  • 1바이트씩 16진수로 변환하고 '-'로 구분한다. -> 00-00-01-02-03-04
  • 1바이트씩 16진수로 변환하고 ':'로 구분한다. -> 00:00:01:02:03:04
  • 2바이트씩 16진수로 변환하고 '.'로 구분한다. -> 0000,0102,0304

 

 

MAC Address를 이용하여 제조사 확인법

제조사를 확인하는 방법은 두 가지가 있습니다. 

 

1) MAC 주소 변환 제공사이트를 이용한 검색

맥주소 검색 결과 화면

MAC Segment, Vendor, Address 결괏값을 확인할 수 있습니다.

아래 주소 링크로 들어가셔서 우측 상단 중간에 있는 "MAC SEARCH"를 클릭하시면 위 화면을 볼 수 있습니다.

 

https://www.ipchecktool.com/

 

2) IEEE에 등록된 List를 검색하여 찾는 방법

IEEE에서는 표준그룹 MAC주소를 무료로 등록 진행해주고 있습니다. 즉 제조사가 IEEE 홈페이지에 등록하면 검토위원의 승인을 거쳐 IEEE 승인한 MAC 주소로 등록이 됩니다.

 

포탈은 아래와 같이 TEXT 형태로 구성되어 있고요..

<웹페이지 실행 화면>

 

 

 

 

<주요 벤더 코드>

 

 

 

 

 

3. MAC 주소 동작

스위치 내부에는 MAC 주소 테이블이 있습니다.

스위치는 MAC 주소로 데이터를 전송합니다. 아래 그림의 구성을 토대로 스위치의 데이터 전송 시스템을 살펴보도록 하겠습니다.

 

아래 그림에서는 포트 4의 스위치에 4대의 컴퓨터가 연결되어 있습니다. 여기서 각각의 MAC 주소를 'A, B, C, D'로 가정하겠습니다.

 

스위치는 MAC 주소들이 저장되는 'MAC 주소 테이블'을 가지고 있습니다.

하지만 스위치의 전원이 막 켜진 상태이거나 할 경우, MAC 주소 테이블은 텅 비어있게 됩니다.

 

<MAC 주소 필터링>

 

 

 

 

 

만일 주소테이블에 데이터를 전송하려는 목적지 컴퓨터의 MAC주소가 없을 경우 연결되어 있는 컴퓨터들 모두에게 데이터가 전송되는데 이러한 데이터 전송을 플러딩(Flooding, 홍수)라고 부릅니다.

<플러딩>

 

 

 

https://greate-future.tistory.com/32

 

[Network] 스위치의 MAC 주소 테이블

스위치는 데이터 링크계층에서 동작하고 레이어2 스위치 또는 스위칭 허브라고 불린다. 장비의 외형은 허브와 비슷하다. 출처 : https://ko.wikipedia.org/wiki/네트워크_스위치#/media/파일:2550T-PWR-Front.jpg

greate-future.tistory.com

 

728x90