kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Network

MAC 주소

까마기 2014. 9. 22. 22:57
728x90
반응형

 

 안녕하세요. The Grit입니다. 

 

본 포스팅에서는 MAC 주소에 대해 알아보겠습니다.


MAC 주소란?


- Ethernet 주소라고도 하며 6 Byte ( 48 bits) 로 되어 있으며 프로토콜 분석기는 이를 12개의 16진수 문자로 표기한다.

ex) 
aa-aa-aa-aa-aa-aa
aaaa-aaaa-aaa
aa:aa:aa:aa:aa:aa
aaaa:aaaa:aaaa: 

-> 표기법이 다를 뿐 전부 다 같다. 

- 8 bits 씩 6 자리로 구분한 것이 대부분이며 16 bits 씩 3자리로 구분한 것은 간혹 Linux, Unix 에서 볼 수 있는 형식이다.

- MAC 주소를 다른이름으로 Hardware Address 라고도 한다.
xxxx xxxx : xxxx xxxx : xxxx xxxx : xxxx xxxx : xxxx xxxx : xxxx xxxx 
↓ ↙
↓↙
00:00:00:00:00:00 - FF:FF:FF:FF:FF:FF (MAC 주소의 범위)


- IEEE - MAC 주소 관리.
00-0E-35-05-80-6F
첫 3 byte  00-0E-35 는 제조회사에 할당된 주소이며 한 번 할당 된 주소는 유일무이 하다.
이 제조사의 주소를 OUI( Organization Unique Identifier ) 라고 부른다.
뒤 3 byte 는 제조사 카드의 일련번호이다.

google.co.kr 검색 ----> mac vendor id -----> 첫 페이지  - IEEE ( 전세계 MAC 주소 할당한 기업들)

 물리 계층은 현재 가장 널리 이용되는 방식인 LAN Protocol 인 Ethernet을 사용한다. Ethernet은 DIX 연합 (Digital Equipment Corp, Intel, Xerox)에 의해 발전 되었다.   그리고 오늘날에는  ethernet 의 많은 Version 이 존재하고 여러 표준에 적용되어 있다.

Ethernet v1 (version 1 ) = IEEE 802.3 
Ethernet II  (version 2 ) = Ethernet 기반으로 운용되는 IP를 위한 표준으로 사용
802.3 SNAP = 선택적으로 IP를 802.3 SNAP 상에서 운용하는 것도 가능
802.3 raw ( Novell에 의해 사용되는 Version )
스마트폰의 wi-fi, Bluetooth 도 MAC 주소가 있다. 

※ Unicast = Broadcast와 Multicast 범위 제외!!!
※ MAC 주소의 범위 그중에 Broadcast = FF:FF:FF:FF:FF:FF
※ MAC 주소의 범위그중에 Multicast
0000 0001 : 0000 0000 : 0101 1110 : 0xxx xxxx : xxxx xxxx : xxxx xxxx 
0 1 : 0 0 : 5 e : 0xxx xxxx : xxxx xxxx : xxxx xxxx
01:00:5e:00:00:00 ~ 01:00:5e:7F:FF:FF

ex) 230.1.1.1 ip의 목적지
11100110.00000001.00000001.00000001

00000001:0000 0000:01011110:0???????:????????:???????? ?->23bit
11100110.00000001.00000001.00000001 ----> ip주소 230인 11100110.0 을 제외하고 뒤 에 나머지23bit가 
------------------------------------------------------------------------ MAC주소의 뒷부분 ? 23bit에 들어감 (특징)
00000001:0000 0000:01011110:00000001:00000001:00000001
=>01:00:5e:01:01:01 (MAC 주소의 목적지)
MAC 주소의 broadcast 25bit

 

< MAC Multicast >

MAC 주소의 Multicast 전송
D Class(1110) 사용
224.0.0.0 ~ 239.255.255.255

다음과 같이 시작하는 MAC 주소가 있다고 가정하고 어떤 IP 주소를 Multicast MAC 주소로 변환하려고 하면 ..

01-00-5e-0xxxxxxx-xxxxxxxx-xxxxxxxx 

00000001-00000000-01011110-0xxxxxxx-xxxxxxxx-xxxxxxxx

                                               <---------Part of IP------->

( x 부분 끝에서 부터 23 번째 bit까지  IP 주소(2진수로 바꿨을 때) 끝에서 부터 23 bits 까지의 값이 들어간다. )



1) IP: 224.1.1.1 

11100000.00000001.00000001.00000001

                 <-------Multicast MAC------->

우선 IP 주소를 2진수로 변환하고 끝에서부터 23bits 를 MAC 주소의 위의 빨간 부분에 같다 붙여넣는다.

11100000.00000001.00000001.00000001

그리고 앞에 다섯비트는 버려지고 남은 '1110' 이 MAC 주소의 3번째 옥텟 뒤 네자리에 들어가게 된다는 것.
=> 00000001-00000000-01011110-00000001.00000001.00000001
=> 01-00-5e-01-01-01

**** 2진수 8자리를 MAC 주소 16진수로 변환할 때에는 2진수를 4bit 씩 나눠서 계산

0110/0100

   |       |

   6       4

 

0000/1111

   |       |

   0      15

   |       |

   0       F

--> 밑의 0~F 로 계산

0 1 2 3 4 5 6 7 8 9 A B C D E F

                         

2) IP: 224.100.1.1

11100000.01100100.00000001.00000001

=> 00000001-00000000-01011110-01100100.00000001.00000001

=> 01-00-5e-64-01-01


3) 224.117.1.1

11100000.01110101.00000001.00000001

00000001-00000000-01011110-0xxxxxxx-xxxxxxxx-xxxxxxxxx



4) 224.245.1.1

11100000.11110101.00000001.00000001

반응형