맥주소
맥주소(Media Access Control Address)는 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자이다. 맥 어드레스(MAC Address)라고도 한다. 맥주소는 이더넷과 와이파이를 포함한 대부분의 IEEE 802 네트워크 기술에 네트워크 주소로 사용된다. 논리적으로 맥주소는 매체 접근 제어 프로토콜이라는 OSI 모델의 하위 계층에서 사용된다.
목차
개요
맥주소는 이더넷과 와이파이를 포함한 대부분의 IEEE 802 네트워크 기술에 네트워크 주소로 사용된다. 논리적으로 맥주소는 매체 접근 제어 프로토콜이라는 OSI 모델의 하위 계층에서 사용된다. 맥주소는 대체로 네트워크 인터페이스 컨트롤러(NIC)의 제조업체가 할당하며 하드웨어에 저장되는데, 이는 마치 카드의 읽기 전용 메모리나 일부 다른 펌웨어 구조와 같다. 제조업체에 의해 할당되면 맥주소는 일반적으로 제조업체의 등록된 식별 번호로 인코딩되며 이를 BIA(burned-in address)로 부를 수 있다. 또, 이더넷 하드웨어 주소(EHA, Ethernet hardware address), 하드웨어 주소, 물리 주소(메모리 물리 주소와 다름)로 부르기도 한다. 이는 호스트 장치가 네트워크 인터페이스 컨트롤러에 명령을 할당하여 임의의 주소를 사용하는 프로그래밍이 된 주소와는 다른 것이다. 하나의 네트워크 노드는 여러 개의 네트워크 인터페이스 컨트롤러를 가질 수 있으며, 각 네트워크 인터페이스 컨트롤러는 고유한 맥주소를 가진다. 멀티 레이어 스위치, 라우터와 같은 복잡한 네트워크 장비는 하나 이상의 영구적으로 할당된 맥주소가 필요할 수 있다. 맥주소는 전기 전자 기술자 협회(IEEE)에 관리되는 세 개의 이름 공간들 중 하나의 규칙들을 따라 만든다. MAC-48, EUI-48, EUI-64. IEEE는 EUI-48과 EUI-64라는 이름에 대한 상표를 보유하고 있으며, 여기에서 EUI는 확장 고유 식별자(Extended Unique Identifier)의 준말이다.[1]
구조
맥주소는 48bit로 구성되어 있으며 보통 편하게 접근할 수 있도록 바이트 단위를 콜론(:)으로 구분하는 16진수로 문자와 숫자를 섞어 표현한다. 첫 24bit는 조직 고유 식별자(OUI, Organizational Unique Identifier) 제조업체의 식별 코드이며, 네트워크 인터페이스 컨트롤러 제조업체의 정보를 파악할 수 있고, 24비트는 해당 업체의 랜 카드의 정보를 담고 있다. 맥주소와 IP 주소는 둘 다 고유한 주소라는 공통점이 있지만 IP 주소는 사설 IP 주소로 겹치는 경우가 있다는 차이점이 있다. 사설 IP 주소란 공인 IP 주소의 부족으로 개발되었으며 자기 네트워크망 내부에서만 사용할 수 있다. 이 네트워크로 외부와 통신을 하면 공유기에 연결된 모든 네트워크 장비는 하나의 공인 IP 주소로 통신을 하게 되기 때문에 외부에서는 IP 주소로만 해당 컴퓨터를 찾을 수 없게 된다. 이러한 이유로 맥주소가 있는 것이다. 맥주소는 유일한 주소로 겹치는 경우가 없어 통신을 할 때 사설 IP주소와 같은 문제점이 생기지 않는다.[2]
특징
모든 네트워크 인터페이스 컨트롤러에는 미디어 접근 제어를 위한 맥이라고 하는 하드웨어 주소가 있다. IP 주소가 TCP/IP 와 연결된 경우 맥주소는 네트워크 어댑터의 하드웨어에 연결된다. 맥주소는 네트워크 어댑터가 제조될 때 지정된다. 컴퓨터의 네트워크 인터페이스 카드(NIC)에 유선 연결되거나 하드 코딩되어 있으며 고유하다. 주소 결정 프로토콜(ARP, Address Resolution Protocol)이라고 하는 것은 IP 주소를 맥주소로 변환한다. 주소 결정 프로토콜은 실제 컴퓨터 하드웨어를 통해 IP주소로부터 데이터를 가져오는 여권과 같다. 하드웨어와 소프트웨어가 함께 작동하고 IP 주소와 맥주소가 함께 작동한다. 이러한 이유로 맥주소를 네트워킹 하드웨어 주소, BIA(burned-in-address) 또는 물리적 주소라고도 한다. 다음은 이더넷 NIC:00:00:0 A:45:1:0A:61:26의 예이다. 맥주소 자체는 IP 주소와 전혀 다르다. 맥주소는 일반적으로 콜론으로 구분된 2자리 또는 문자로 구성된 6세트의 문자열이다. 잘 알려진 네트워크 어댑터 또는 NIC 제조 업체로는 델(Dell), 벨킨(Belkin), 노텔(Nortel)및 시스코(Cisco)가 있다. 이러한 제조 업체는 모두 해당 제조 업체를 식별하는 맥주소에 특수 숫자 시퀀스(OUI, Organizationally Unique Identifier)를 배치한다. OUI는 일반적으로 주소의 맨 앞에 있다. 예를 들어 맥주소가 "-12-21-04-43-23"인 네트워크 어댑터를 가정해 보면, 이 라우터의 제조를 위한 OUI는 "00-14-22"의 첫 번째 세 가지 경우이다. 다음은 일부 유명 제조 업체에 대한 OUI이다. 델:00-14-22, 노텔:00-04-DC, 시스코:00-40-96, 벨킨:00-30-40. 네트워킹 장비 제조 업체가 둘 이상의 OUI를 사용하는 것은 일반적이다.[3]
구성 요소
- 스위치
- 스위치는 허브가 한 포트로 신호가 들어오면 같은 신호를 다른 모든 포트로 전달하는 것에 비해, 스위치는 신호를 필요로하는 포트로만 신호를 전달한다. 따라서 스위치에서는 불필요한 트래픽이 감소하게 되며, 이는 곧 네트워크에서의 데이터 전송 속도의 향상으로 이어진다. 이를 위해서는 지나가는 트래픽의 목적지를 정확하게 알 수 있어야 한다. 그래서 스위치에서는 자신과 연결된 장비들의 맥주소와 그 장비가 연결된 포트를 기억해 뒀다 자신이 아는 맥주소로 데이터가 오면 알고있던 포트로 데이터를 전달한다. 그리고 데이터가 들어왔는데 데이터를 보낸 장비의 맥주소가 처음 보는 맥주소면 연결된 포트와 맥주소를 저장해뒀다가 다른 장비가 그 맥주소로 데이터를 보내면 알고있던 포트로 데이터를 전달한다. 만약 데이터를 보낸 장비의 맥주소는 아는 주소인데 데이터 도착지의 맥주소가 처음 보는 맥주소면 데이터를 모든 포트로 뿌려버린다. 스위치는 신호를 필요로 하지 않는 포트로는 신호를 전달하지 않기 때문에 콜리전 도메인(collision domain)을 나누는데 사용할 수 있다.[4]
- 네트워크 카드
- 네트워크 카드(NIC, Network Interface Card)는 한 네트워크 안에서 컴퓨터간 신호를 주고받는 데 쓰이는 하드웨어이다. 이더넷 카드, 네트워크 어댑터라고 불린다. OSI 계층 1(물리 계층)과 계층 2(데이터 링크 계층) 장치를 가지는데, 맥주소를 사용하여 낮은 수준의 주소 할당 시스템을 제공하고 네트워크 매개체로 물리적인 접근을 가능하게 한다. 사용자들이 케이블을 연결하거나 무선으로 연결하여 네트워크에 접속할 수 있다. 네트워크 카드는 이전에는 보통 확장 카드로 따로 설치하였지만 요즘에는 대개 메인보드에 내장되어 쓰는 경우가 많다.[5]
- 주소 결정 프로토콜
- 인터넷을 통해 호스트 간의 데이터를 전송하기 위해서는 논리적인 IP 주소외에도 물리적인 맥주소가 필요하다. 주소 결정 프로토콜은 논리적인 IP 주소를 이용해 물리적인 맥주소를 찾아내는 프로토콜이다. 주소 결정 프로토콜은 주소 결정 프로토콜 요청과 주소 결정 프로토콜 응답이라고 불리는 두 종류의 주소 결정 프로토콜 패킷 구조를 갖추고 있다. 주소 결정 프로토콜 요청은 동일한 서브넷에 있는 호스트들에게 원하는 IP 주소에 대응되는 맥주소를 요구할 때 사용하는 주소 결정 프로토콜 패킷이다. 주소 결정 프로토콜 응답은 주소 결정 프로토콜 요청을 수신한 호스트가 그에 대한 답으로 자신의 맥주소를 주소 요청 프로토콜 요청을 보낸 호스트에게 알려주는 주소 요청 프로토콜 패킷이다. 이렇게 얻은 맥주소는 주소 요청 프로토콜 캐시에 IP 주소와 대응되어 저장되고, 데이터링크 계층에서는 데이터를 전송할 때 주소 요청 프로토콜 캐시를 참고해서 프레임을 만든다. [6]
주소의 상세 설명
원래의 IEEE 802 맥주소는 오리지널 제록스 이더넷 어드레싱 스킴에서 비롯된다. 48bit 주소 공간은 잠재적으로 2^48, 즉 281,474,976,710,656개의 사용 가능한 맥주소를 포함한다.[1]
전역 관리와 지역 관리
주소는 전역적으로 관리되는 주소(UAA, Universally Administered Address)이거나 지역적으로 관리되는 주소(LAA, Locally Administered Address) 중 하나가 될 수 있다. 전역적으로 관리되는 주소는 제조업체에 의해 고유하게 할당된다. 처음 3개의 옥텟(전송 순서대로)은 조직 고유 식별자(OUI)이며, 식별자를 발행한 조직을 식별한다. 그다음의 3개(MAC-48 또는 EUI-48) 또는 5개(EUI-64)의 옥텟은 조직이 원하는 거의 모든 방식대로 조직에 의해 할당되며 이는 고유성의 제한에 종속된다. IEEE는 MAC-48 공간 사용 시 수명을 100년으로 두고 있지만, 대신 EUI-64의 채택을 장려한다. 지역적으로 관리되는 주소는 네트워크 관리자에 의해 장치에 할당되며 기록된 주소를 무효화 할 수 있다. 지역적으로 관리되는 주소는 OUI가 포함되어 있지 않다. 전역적으로 관리되는 주소와 지역적으로 관리되는 주소는 주소의 첫 옥텟의 두 번째로 작은 비트로 설정함으로써 구별할 수 있다. 이 비트는 U/L 비트(Universal/Local의 준말)로도 부르며, 주소가 어떻게 관리될지를 식별한다. 비트가 0이면 주소는 전역적으로 관리되며, 1이면 지역적으로 관리된다. 주소 06-00-00-00-00-00의 예에서 첫 옥텟은 06(16진)이며, 이것의 이진 형태는 00000110인데 여기에서 두 번째로 작은 비트가 1이다. 그러므로 이것은 지역적으로 관리되는 주소이다.[6] 즉, 이 비트는 모든 OUI에서 0이 된다.[1]
유니캐스트와 멀티캐스트
- 유니캐스트
- 유니캐스트(Unicast)는 1:1로 데이터를 전달하는 통신 방식이다. 구체적으로 데이터를 보내는 PC는 자신의 맥주소를 적고 받는 쪽 PC의 맥주소도 적어 프레임에 감싸 데이터를 전달한다. 그다음 같은 지역의 로컬 네트워크 환경은 일반적으로 공유한 통신 방식을 취하기 때문에, 일단 같은 네트워크 서식지에 있는 모든 PC는 프레임 받게 된다. 각각의 PC는 받는 쪽 맥주소와 자신의 랜 카드 맥주소를 비교하여, 맥주소가 서로 다르다면 CPU에게 보내지 않고 프레임을 폐기처분을 한다. 만약 맥주소가 같다면 PC는 CPU 위에 프레임을 올린다. 수신자 맥주소의 첫 8bit 중 마지막 비트에 0 이 지정되 유니캐스트로 설정되면 해당 맥주소를 가진 노드만 프레임을 받고 나머지 노드들은 폐기한다. 유니캐스트 는 A, B, C 클래스가 해당한다.[7]
- 멀티캐스트
- 멀티캐스트(Multicast)는 멀티캐스트는 100명의 사용자가 있는 네트워크에서 50명의 사용자에게만 데이터를 주고 싶을 때 사용한다. 즉 특정 그룹에 데이터를 보내는 방식이다. 유니캐스트로 50명에게 각각 50번씩 보낼 수 있지만, 서버에게 큰 부담이 간다. 브로드캐스트로 한 번에 보낼 수도 있지만, 이것 역시 50명에겐 불필요한 데이터를 주어 CPU에 영향을 준다. 따라서 멀티캐스를 사용해야 하는데 멀티캐스트는 라우터와 스위치가 멀티캐스트지원을 해줘야 가능하다. 지원하지 않는 라우터는 멀티캐스트를 브로드캐스트처럼 무조건 버린다. 라우터는 기본적으로 브로드캐스트를 막는 성질이 있다. 지원하지 않는 스위치는 멀티캐스트를 브로드캐스트처럼 모든 포트에 전부 뿌려준다. 수신자 맥주소의 첫 8bit 중 마지막 비트에 1이 지정되면 멀티캐스트로 지정되어 해당 그룹의 맥주소를 가진 노드만 프레임을 받고 나머지 노드들은 폐기한다. D, E 클래스가 멀티캐스트에 해당한다.[7]
주소 확인 방법
윈도우에서 맥주소를 확인 하는 방법은 2가지가 있다.
- 명령어 입력
- 시작 버튼을 누른다
- 검색창에 cmd(command Prompt)를 입력한다.
- cmd를 실행한다.
- cmd 창이 실행되면 ipconfig/all을 키보드로 입력 후 엔터를 눌러준다.
- 맥주소(물리적 주소)를 확인한다.
- 네트워크 검색
- 시작 버튼을 누른다.
- 제어판에 들어간다.
- 네트워크 및 인터넷을 클릭한다.
- 네트워크 및 공유센터를 클릭한다.
- 연결 중인 네트워크에서 자신의 연결 네트워크를 클릭한다. 보통 이더넷이라고 뜬다. 와이파이 사용 시 Wireless라 표기될 수 있다.
- 자세히를 클릭한다.
- 맥주소(물리적 주소)를 확인한다.
문제점
화이트리스트를 사용하도록 라우터를 설정한 경우 새 컴퓨터나 모바일 장치를 구매할 때마다 또는 집 방문자에게 네트워크 권한을 부여하려면 항상 화이트리스트를 수정해야 한다. 각 PC에 대해 맥주소를 두 개 추가해야 한다. 하나는 유선 어댑터용이고 다른 하나는 무선 어댑터용이다. 즉, 필터를 사용하면 편리함을 희생하면서 보호가 강화된다.[8]
스푸핑(spoofing)은 속이기라는 의미를 가진 단어이다. 스푸핑 공격은 맥주소, IP 주소, DNS 등의 네트워크상에서 자신을 식별하는 정보를 공격자가 악의적으로 위조하는 패킷을 생성하고, 이를 이용하여 사용자의 시스템 권한을 획득한 뒤 정보를 가로채는 해킹 수법이다. 이는 TCP/IP의 구조적 결함을 이용한 공격으로써, 아직 제대로 된 해결 방법이 제시되지 못하고 있다. 스푸핑 공격의 종류에는 IP 스푸핑, 도메인 네임 서비스 스푸핑, 주소 결정 프로토콜 스푸핑 등이 있다. IP 스푸핑은 공격자가 자신의 IP 주소를 victim과 신뢰 관계를 맺고 있는 다른 호스트의 IP 주소로 위장하여 패킷을 보내는 기법을 말한다. 이를 이용하여 TCP syn flooding과 같은 서비스 거부 공격, 그리고 victim과 서버 사이의 연결된 세션에 대한 세션 끊기 공격이 가능하다. 도메인 네임 서비스 스푸핑은 victim이 이용하는 도메인 네임 서버에 가짜 도메인 네임 서비스 레코드를 전달함으로써 victim이 잘못된 주소 정보를 이용하도록 유도하는 기법이다. victim이 최종적으로 얻은 IP 주소는 공격자에 의해 위조된 IP 주소이고, 사용자가 찾아가고자 했던 홈페이지가 아닌 다른 홈페이지로 연결된다. 주소 결정 프로토콜 스푸핑은 랜 카드의 고유한 주소인 맥주소를 위조해서 정보를 가로채는 기법이다. 실제로 IP 주소를 통해 네트워크 연결을 시도하면 TCP/IP에서는 주소 결정 프로토콜을 통해 해당 IP에 대응되는 맥주소를 찾고, 주소 결정 프로토콜 캐시에 IP 주소와 맥주소를 대응 시켜 저장한다. 공격자가 주소 결정 프로토콜 캐시의 정보를 위조하게 되면 victim과 서버 사이의 트래픽을 공격자의 PC로 우회시킬 수 있다. 공격자는 우회된 트래픽으로부터 패스워드 정보 등 유용한 정보를 마음껏 획득할 수 있다. 본 연구에서 통신에 참여하는 두 호스트는 서로만이 알 수 있는 값을 이용하여 맥주소로 사용하고 IP 주소를 포함한 프레임 데이터 필드를 암호화한다. 결과적으로 공격자는 IP 주소와 맥주소를 위조하는 패킷을 생성할 수 없기 때문에, 스푸핑 공격을 시도할 수 없다.[6]
각주
- ↑ 1.0 1.1 1.2 MAC 주소 위키백과 - https://ko.wikipedia.org/wiki/MAC_%EC%A3%BC%EC%86%8C
- ↑ Phantom Network, 〈( 네트워크 ) 맥 어드레스란? ( MAC Address ) |간단하게 확인 방법〉, 《네이버 블로그》, 2019-01-03
- ↑ 〈What is a MAC Address?〉, 《What Is My IP Address》
- ↑ 스위치 나무위키 - https://namu.wiki/w/%EC%8A%A4%EC%9C%84%EC%B9%98
- ↑ 네트워크 인터페이스 컨트롤러 위키백과 - https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC
- ↑ 6.0 6.1 안재원, 〈가상 MAC 주소를 이용한 이더넷 보안 통신 방식에 관한 연구〉, 《학술연구정보서비스》, 2016-02
- ↑ 7.0 7.1 Limky Lim-Ky, 〈(Network) 유니캐스트,브로드캐스트,멀티캐스트〉, 《티스토리》, 2017-05-18
- ↑ 〈MAC 주소 필터링의 장점과 단점〉, 《computersm》
참고자료
- MAC 주소 위키백과 - https://ko.wikipedia.org/wiki/MAC_%EC%A3%BC%EC%86%8C
- 〈What is a MAC Address?〉, 《What Is My IP Address》
- 〈MAC 주소 필터링의 장점과 단점〉, 《computersm》
- 스위치 나무위키 - https://namu.wiki/w/%EC%8A%A4%EC%9C%84%EC%B9%98
- 네트워크 인터페이스 컨트롤러 위키백과 - https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC
- 안재원, 〈가상 MAC 주소를 이용한 이더넷 보안 통신 방식에 관한 연구〉, 《학술연구정보서비스》, 2016-02
- Limky Lim-Ky, 〈(Network) 유니캐스트,브로드캐스트,멀티캐스트〉, 《티스토리》, 2017-05-18
- Phantom Network, 〈( 네트워크 ) 맥 어드레스란? ( MAC Address ) |간단하게 확인 방법〉, 《네이버 블로그》, 2019-01-03
같이 보기