네트워킹에 IPv4 | 6 대신 MAC 주소를 사용할 수없는 이유는 무엇입니까? [닫은]


184

TCP / IP 및 기타 관련 프로토콜 및 기술을 읽고 있습니다. MAC 주소는 (합리적으로 :) 고유하며, 가능한 모든 공간 (수백 조)을 갖는 동시에 모든 네트워크 인터페이스에 할당되는 것으로 설명됩니다. 인터 네트워크 통신을 위해 MAC 주소 대신 IPv4 또는 IPv6 주소를 사용하는 과거 및 기술적 이유는 무엇입니까?

내가 근본적인 것을 놓치고 있거나 어리석은 이유입니까 (예 : 레거시 기술을 기반으로 구축)?


55
Pedantic correction : 합리적으로 독특합니다. 동일한 HW MAC 주소를 가진 카드가 야생에서 발견되었습니다. 이것은 디버그하기에 "재미있는"네트워크 문제입니다.
Piskvor

9
나는 개인적으로 동일한 MAC 주소를 다른 컴퓨터의 다른 네트워크 카드 (해당 드라이버를 설치하기 전에 고유 한 HW 주소가 있음)에 할당 한 버그가있는 드라이버를 직접 목격했습니다 . 글쎄, 그것은 고통 스러웠다 .
Massimo

3
마시모, 나는 똑같은 것을 보았습니다. 드라이버가 개발 과정에서 그렇게하는 것은 드문 일이 아니며 프로그래머는 생산 과정에서 그 구성 요소를 바꾸는 것을 잊어 버립니다. @Felix는 제조업체가 시간이 지남에 따라 전 세계의 다른 지역에서 MAC을 재사용하는 것이 일반적입니다. 예를 들어 미국에서 2005 년에 판매 된 카드는 2013 년에 중국에서 판매 된 카드와 동일한 MAC을 가질 수 있습니다.
Robert Kaucher

30
MAC 주소로 패킷을 처리하는 것은 사회 보장 번호로 편지를 처리하는 것과 같습니다.
Mikey

14
특정 MAC 주소가 현재 어디에 있는지 어떻게 알 수 있습니까? 다른 인터넷으로 옮길 때 인터넷상의 모든 노드에 알릴 필요가 없습니다.
Thorbjørn Ravn Andersen

답변:


345

MAC 주소는 고유 할 수 있지만 그 위치를 나타내는 숫자에 대해서는 특별한 것이 없습니다. MAC 00-00-00-00-00-00은의 행성 반대편에있을 수 있습니다 00-00-00-00-00-01.

IP는 컴퓨터 그룹을 논리적으로 그룹으로 구분하기 위해 컴퓨터 그룹에 계층 적 방식으로 부과되는 임의의 번호 지정 체계입니다 (서브넷이 무엇인지). 이러한 그룹간에 메시지를 보내는 것은 라우팅 테이블에 의해 이루어지며, 자체적으로 여러 수준으로 나뉘어 모든 단일 서브넷을 추적 할 필요가 없습니다. 예를 들어 17.x.x.xApple 네트워크 내에 있습니다. 거기에서 Apple은 수천 개의 서브넷 각각의 위치와 서브넷을 얻는 방법을 알 것입니다 (다른 사람은이 정보를 알 필요가 없으며 17. 모든 것이 Apple에 있다는 것을 알아야합니다).

이것을 다른 시스템 쌍과 관련시키는 것도 매우 쉽습니다. 주정부 발행 ID 번호가 있는데, 그 ID 번호가 이미 귀하에게 고유 한 경우 왜 우편 주소가 필요합니까? 우편 주소는 통신을위한 고유 한 목적지가 어디로 가야 하는지를 설명하는 임의의 시스템이므로 우편 주소가 필요합니다.


23
이것은 좋은 대답입니다. 컴퓨터가 동일한 서브넷에 있다고 판단되면 MAC 주소가 궁극적으로 IP 통신에 사용된다고 덧붙였습니다. 이것이 ARP 중독이 공격으로 작용하는 이유입니다. 기본 게이트웨이와 마찬가지로 컴퓨터는 다른 서브넷으로 향하는 패킷을 기본 게이트웨이 IP에 대한 ARP 조회에서 반환 한 MAC 주소로 지정합니다. 레이어 3 / IP 주소 지정은 주로 라우터에서 사용하며 대상이 동일한 서브넷에 있는지 확인하기 위해 호스트에서만 사용합니다.
Sean C.

7
@SeanC, MAC 주소는 궁극적으로 802.1 기반 회선 프로토콜 (이더넷, WiFi, 토큰 링 등)을 통한 IP 통신에 사용됩니다. 그러나 PoSDH 및 IPoATM과 같은 ATM 프로토콜은 아닙니다.
Chris S

25
또한 네트워크 카드 (또는 전체 컴퓨터)를 교체해야 할 때 동일한 IP 주소를 유지할 수 있습니다. IP 추상화가 없다면 얼마나 귀찮을 지 상상해보십시오.
OrangeDog

3
@ChrisS 저는 sys 관리자로서 단일 공급 업체로부터 여러 개의 카드를 받았으며 카드에는 전체 팔레트에 하나의 MAC 주소 만있는 친구가 있습니다. 벤더는 주문이 공장에서 직접 인하 되었기 때문에 카드가 소매 유통에 올바르게 혼합되지 않아 중복이 발생했다고 말했다. 카드가 소매 유통에 들어가기 전에, 그들은 속임수를 퍼 뜨리기 위해 함께 혼합되어야했습니다. 따라서 특정 공급 업체의 MAC 주소 수신자는 고유하지 않으며 공급 업체 전체에서 훨씬 적습니다.

4
벤더 펌웨어 버그를 포함하여 중복 된 mac-address 발생에 대한 여러 가지 역사적 이유가 있습니다.
Mike Pennington

73

라우팅 테이블이 엄청나게 커지기 때문입니다.

IP 주소는 계층 적으로 할당되므로 라우터는 주소 접두사별로 경로를 그룹화 할 수 있습니다. 현재 인터넷에 존재하는 자율 시스템의 수는 오늘날의 하드웨어에 적합 할 정도로 합리적입니다.

다른 한편으로, 네트워크를 통한 MAC 주소의 분배는 무작위이며 토폴로지와 완전히 관련이 없습니다. 경로 그룹화는 불가능하며, 모든 라우터는 트래픽을 통과하는 모든 단일 장치에 대한 경로를 추적해야합니다. 이것이 계층 2 스위치가하는 일이며 특정 수의 호스트를 넘어서는 확장이 불가능합니다.


이것에 대해 자세히 설명해 주시겠습니까? 왜 그런가요? IPv *의 경우에는 왜 그렇지 않습니까?
Félix Saparelli

2
MAC 형식의 주소를 사용하는 라우터 테이블이 IPv4 / 6 형식에 비해 "아마도 큰"이유는 없습니다. 문제는 IP 주소 할당이 WAN 라우팅을 가능하게하는 계층 구조와 연결되어 있다는 것입니다. MAC 주소는 제조업 자에 의해 이더넷 장치에 할당되며 (소프트웨어에서 변경 될 수 있음) 하드웨어 장치가 이동함에 따라 WAN 라우팅 테이블에 대한 임시 개정은 "아마도 큰"작업이 될 것입니다.
hardmath

34

세계는 (적어도 역사적으로는) 이더넷에서만 독점적으로 운영되지는 않습니다. IP 계층은 그 아래의 하드웨어 계층과 무관합니다.

PPP 노드에는 Mac 주소가 없습니다. arcnet, token ring, fddi, hppi도 마찬가지입니다. 이러한 다른 표준은 오늘날과 관련이 없을 수도 있지만 이더넷은 향후 다른 기술로 대체 될 수 있으며 IP 계층에 투명 할 것입니다.

우리가 새로운 하드웨어 프로토콜을 발명하고 이더넷이라고 부르는 방법에 대한 더 긴 토론이 있지만, 나는 ...


5
토큰 링에는 MAC 주소가 있습니다.
크리스 S

PPP 노드에 v6 주소가 없기 때문에 ipv6으로 전환 할 수 없습니까? (적어도 5-10 년 전에는 하나도 없었습니다). 내가 지금까지 ipv6의 배포를 중단하지 않았다는 것을 알 수있는 한. 이것은 MAC에도 영향을 미치지 않습니다.
Dorus

6
@Dorus : 귀하의 의견이 이해가되지 않습니다. PPP 노드는 IPv4 및 IPv6 주소를 모두 가질 수 있습니다. IP는 이더넷 또는 PPP와 같은 기본 프로토콜을 기반으로하기 때문입니다. 그러나 PPP 표준에는 MAC 주소가 없기 때문에 PPP 노드에는 MAC 주소가 없습니다.
sleske

3 년 (그리고 좀 더 지식이 풍부한) 3 년 동안 "새로운 하드웨어 프로토콜을 계속 발명하고이를 이더넷이라고 부르는 방법에 대한 더 자세한 논의"를 읽고 싶습니다. ; P
Félix Saparelli

이것은 좋은 출발입니다- 표준
.ieee.org / events / ethernet / history.html

30

IP의 계층 적 라우팅 외에도 MAC 주소와 분리 된 IP 주소를 사용하면 동일한 IP 주소 (논리적 네트워크 토폴로지)를 유지하면서 네트워크 카드 또는 전체 컴퓨터를 변경할 수 있습니다.

이 추상화는 훨씬 더 유연하고 유지 관리 가능한 네트워킹을 허용합니다.


22

OSI 모델을 살펴보십시오 : http://en.wikipedia.org/wiki/OSI_model

이것은 물리적 계층 2 메커니즘을 기반으로 라우팅, 계층 3 개념, 의사 결정을하는 것이 의미가없는 이유를 설명합니다.

최신 네트워킹은 엔드 투 엔드 커뮤니케이션을 수행하기 위해 여러 계층으로 나뉩니다. 네트워크 카드 (mac 주소 [실제 주소]로 주소가 지정된)는 실제 네트워크의 피어와 통신하는 데만 책임이 있습니다.

MAC 주소로 수행 할 수있는 통신은 컴퓨터와의 물리적 접촉 내에있는 다른 장치로 제한됩니다. 예를 들어, 인터넷에서는 물리적으로 각 컴퓨터에 연결되어 있지 않습니다. 그렇기 때문에 물리적으로 연결되지 않은 머신과 통신해야 할 때 TCP / IP (계층 3, 논리 주소) 메커니즘을 사용합니다.


6
OSI 모델을 언급하면 ​​+1입니다.
Massimo

7

MAC 주소가 항상 고유하지는 않기 때문에 b0fh도 맞습니다.

예를 들어 가상화 시나리오를 참조하십시오. 여기서 여러 호스트가 동일한 MAC 주소를 가진 가상 머신을 제공 할 수 있습니다.


4

MAC 주소의 라우팅 테이블에는 MAC 주소가 나열된 거의 모든 단일 장치가 필요합니다. IP 용 인터넷으로의 라우팅은 단일 항목 0.0.0.0/0입니다. 네트워크 클래스의 경우 10.0.0.0/8 172.16.0.0/16 및 192.168.0.0/24로 분류됩니다. 이 중 다수는 172.16.0.0/12 및 192.168.0.0/16과 같이 집계되어 라우팅 테이블 크기를 추가로 줄일 수 있습니다.

라우트는 마스크에서 1 비트 수로 역순으로 검색됩니다. 192.168.0.0/16에 대한 경로가 있고 0.0.0.0/0 (기본 경로)에 대한 경로가있는 경우 192.168.100.0/24 로의 라우팅이 작동합니다.

편집 : 원래 IP 범위는 여러 클래스로 나뉩니다. A, B 및 C가 가장 중요합니다. A 클래스는 주소 범위의 전반부를 구성하고 B 범위는 다음 분기를, C 범위는 다음 8을 구성합니다. 이 클래스에는 각각 8, 16 및 24 비트의 마스크가있었습니다. 나중에이 마스크의 엄격한 사용이 중단되고 주소 할당이 다양한 크기로 수행되었습니다.

할당 크기는 항상 2의 거듭 제곱이며 각 할당에서 가장 낮은 주소와 가장 높은 주소가 예약됩니다. 각 할당에는 라우터 주소도 있습니다. 이 주소는 예약되지 않은 가장 낮은 주소이거나 가장 높은 주소입니다. 가장 작은 실제 할당은 / 30 주소입니다.

IPv6은 인터넷에 나타날 수있는 최소 할당량 인 / 64와 동일한 형식의 할당을 사용합니다. 일반적으로 ISP에는 훨씬 더 큰 할당이 주어지며 이는 모든 인터넷 라우터가 알아야 할 것입니다. 예상 할당은 RFC에 지정되어 있습니다. ISP는 자체 서브넷을 라우팅하는 방법과 상호 연결 라우터로 라우팅 할 주소를 알아야합니다. 이것은 각 mac 주소를 라우팅하는 방법을 아는 것보다 훨씬 간단합니다.


7
더 이상 네트워킹 에는 수업 이 없으며 1994 년 이래로 수업 이 없습니다 . = [
Chris S

@ChrisS IPv4 PTR 조회는 위임이 가능하지만 여전히 클래스별로 수행됩니다. 집계는 클래스와 함께 또는 클래스없이 계속 적용되며 B 및 C 집계는 클래스없는 네트워크 이전에도 여전히 적용됩니다.
BillThor

2
PTR 조회는 Octet에서 수행하며 클래스는 없습니다. RFC 1517에서 1520을 참조하십시오.
Chris S

2
@ChrisS 함께 일하는 사람들 중에서 클래스는 넷 마스크 A = 1, B = 2 및 C = 3의 옥텟 수를 나타내는 데 사용됩니다. 우리는 그것들을 역사적 범위와 연관시키지 않으며 A 클래스 10.0.0.0을 B와 C 청크로 나눕니다. 수업은 원래의 의미가 아닌 경우 전통적으로 진행됩니다.
BillThor

2

MAC 주소는 공급 업체에 의해 결정되므로 인터페이스를 만드는 수많은 제조업체로 인해 로컬 서브넷에서 준수 할 수있는 일관된 주소 지정 체계가 없다고 생각합니다.

MAC 주소는 대상 주소가 로컬 서브넷에있을 때 사용됩니다 (예 : 192.168.0.x). 트래픽이 로컬 서브넷과 일치하지 않으면 컴퓨터는 라우팅 테이블을 참조합니다. 일반적으로 라우팅 테이블은 로컬 서브넷 (0.0.0.0)과 일치하지 않는 트래픽을 로컬 게이트웨이로 향하게하므로 MAC 주소에 대한 모든 연결이 완전히 제거됩니다. MAC 주소를 전 세계적으로 사용할 수있는 유일한 방법은 전체적으로 작동 할 수없는 하나의 거대한 플랫 서브넷을 보유하는 것입니다.


2

MAC 주소는 동일한 시스템의 다른 이더넷 어댑터에서 동일 할 수 있습니다. SUN은 각 시스템마다 하나의 uniqe MAC 주소를 가졌습니다. 따라서 SUN 컴퓨터 용 이더넷 카드에는 고유 한 MAC 주소가 없었습니다.

따라서 기기를 두 개의 다른 네트워크에 연결하면 두 네트워크 모두에서 동일한 MAC 주소를 갖게됩니다.


2

MAC 주소는 ISO / OSI 모델TCP / IP 모델 에서 링크 계층 (2n)의 주소입니다 . 이는 MAC 주소가 로컬 네트워크 내부의 노드를 연결하는 데 사용됨을 의미합니다 (포인트 투 포인트). IP 주소는 인터넷 내부 (끝에서 끝까지)의 네트워크 계층 (3 번째) 주소입니다.

두 주소는 모두 해당 계층에서만 사용되며 외부에서 사용해서는 안됩니다.


1

대상 IP 주소의 MAC 주소는 단일 로컬 브로드 캐스트 도메인 내에서만 패킷 전달에 유용합니다.


1

여기서 사람들은 라우팅 테이블이 커질 것이기 때문에 IPv4 주소 대신 MAC 주소를 사용하는 문제가 라우팅이라고 언급했지만 IPv4 라우터를 가정합니다. 작은 라우팅 테이블을 가질 수 있으며 원하는 경우 플랫 네임 스페이스 라우팅을 찾으십시오. 이 기술을 설명하는 논문 중 하나는 다음과 같습니다. http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf


2
ROFL은 AS 내의 모든 라우터가 해당 AS 내의 모든 단일 호스트를 추적하고 호스트 식별자에 대해 암호화 해시를 사용하도록 제안합니다. 그러나 테이블을 해석하려면 암호화 알고리즘이 필요합니다. 저자는 마음에 없습니다. IP에는 단점이있을 수 있지만 최소한 기본 설계에는 미친 가정이 없습니다.
Chris S

ROFL에서는 첫 번째 홉 라우터 만 AS의 모든 노드가 아니라 연결된 노드 세트를 유지해야합니다. 섹션 2는 캐싱에 대해 언급하지만 최적화입니다. 암호화는 라우팅 테이블 해석이 아닌 노드가 라우터에 참여할 때만 필요합니다. 라우팅은 DHT에서 수행되며 계층 라우팅보다 훨씬 탄력적입니다.
Nikola Knezevic

1

MAC 주소는 실제로 이더넷 주소입니다. 이더넷 주소는 두 부분으로 나뉩니다. 공급 업체 부분-이더넷 카드의 공급 업체를 식별하고 공급 업체가 할당 한 주소 부분입니다. 그것들을 독특하게 만드는 것은 공급 업체에 달려 있습니다.

따라서 48 비트 MAC 주소 공간은 효율적으로 또는 위에서 여러 번 언급 한 것처럼 계층 적으로 사용되지 않습니다.

주소는 로컬 CSMA 네트워크 네트워크에서 고유 한 주소를 갖도록 설계되었습니다.

적어도, 나는 가장 기억 나게한다.

IP 주소는 훨씬 더 일반적으로 확장되고 다른 문제를 해결하도록 설계되었습니다.


MAC 주소는 고유해야합니다. 다른 주소에서 언급 한 것처럼 항상 발생하는 것은 아니지만 요구 사항입니다. 제조업체는 둘 이상의 공급 업체 ID를 얻을 수 있습니다. 약 4 백만 건의 공급 업체 ID가 있으며 (MAC48 주소 공간에는 예정된 MAC64 주소 공간도 있음) 10 분의 1 미만이 할당되었습니다. 각 공급 업체 ID 내에 1,600 만 개의 장치 ID가 있으며, 심지어 많은 공급 업체가 소진되기까지 시간이 걸립니다.
크리스 S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.