MAC 및 IP 주소 모두에 대한 이유


25

컴퓨터에 IP 주소가 있으면 왜 MAC 주소가 필요합니까?


2
귀하에게 최상의 답변을 제공하기 위해 컴퓨터에 IP 주소가있는 경우 MAC 주소가 필요하지 않다고 생각하는 이유를 포함하도록 질문을 확장 할 수 있습니까?
Brett Lykins

1
나는 네트워킹에 관한 좋은 기본 책을 집어 읽고 읽는 것이 좋습니다. 그만한 가치가 있습니다. : 그것은이 질문에 많은 응답 할 것이다 amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/...
마노 펜디 교수

4
이것은 삐걱 거리는 소리로 들리지만 혼동을 줄이는 가장 간단한 방법입니다. 왜 컴퓨터에 이더넷 NIC 를 넣었 습니까? 그 질문에 대답하면 mac 주소의 필요성에 대한 질문에 대답합니다.
Mike Pennington

4
@Reprovo는 의견 / 응답이 실제로이 진술을하는 유일한 장소는 OP가 답변에서 네트워킹 모델을 피하려는 욕망으로 Teun Vink의 답변에 응답 할 때입니다. 네트워크 모델의 이유와 방법을 모르는 경우 네트워크를 이해하지 못하고 "작업 완료"가 훨씬 더 고통 스럽거나 추가 문제가 발생할 수 있습니다. 네트워크 전문가로서 실제로 알 필요가없는 많은 것들이 있지만 (예를 들어, 비트가 와이어에 어떻게 배치되는지 등), 네트워크 모델은 최소한 기본적인 이해를 피할 수있는 것이 아닙니다.
YLearn

2
@ user1369975, 요점을 놓친 것 같습니다. 우리는 그 질문이 유효하지 않다고 말하거나 사람들이 배울 필요가 없다고 말하지 않습니다. 그러나이 사이트는 네트워크 엔지니어 / 전문가를위한 사이트이며 네트워킹의 기본 기초를 무시하면서 여기서 답을 구하도록 요구하는 것은 합리적이지 않습니다. 다른 네트워크 전문가를 대상으로 답변을받지 않으려면 SuperUser 와 같은 다른 사이트 중 하나에서 질문해야합니다 .
YLearn

답변:


13

OSI 모델, TCP 레이어 등으로 들어 가지 않고 :

과거에는 네트워크가 만들어졌습니다. 일부 컴퓨터는 서로 통신하여 무언가를 공유합니다. 그러기 위해서는 누가 말하고 있고 누가 말하고 있는지 알아야 합니다. 따라서 각 컴퓨터에 이름을 지정하는 대신 ID를 부여했습니다. 이 ID를 MAC 주소라고하며 각 컴퓨터를 고유하게 식별해야합니다.

(각 네트워크 카드를 식별하지만 그때는 각 컴퓨터마다 하나의 MAC 주소를 생각할 수 있습니다).

컴퓨터가 서로 통신하는 방법에 대한 고유 한 사양은 없었습니다. TCP / IP, IPX / SPX 등 많은 프로토콜이 나타났습니다. 각 프로토콜은 정상이라고 생각한 것을 지정할 것입니다. 예를 들어, IPX / SPX는 MAC 주소 및 추가 정보를 사용하여 각 컴퓨터를 처리합니다.

그러나 TCP / IP 프로토콜은 약간 다르게 설계되었습니다. 4 바이트 (0.0.0.0 ~ 255.255.255.255)로 이루어진 가상 주소를 갖는 것으로 충분하고 관리하기가 더 쉽다고 결정했습니다. 네트워크 카드는 모두 비슷한 MAC 주소를 갖거나 갖지 않습니다. 10.0.xx로 시작한 모든 TCP / IP 주소가 엔지니어링 그룹에 속하고 10.1.xx의 주소가 프린터가되도록 컴퓨터를 그룹화합니다. ..

따라서 TCP / IP 주소가 다른 주소와 통신해야하는 경우 TCP / IP 주소 만 사용합니다. 그러나 네트워크 장치는 해당 메시지가 어떤 네트워크 카드로 전달되는지 알아야하므로 어떻게 든 TCP / IP 주소를 MAC 주소로 변환합니다.

단순히 MAC을 제거하고 대신 TCP / IP 만 사용하는 것이 어떻습니까?

몇 가지 이유 :

  • TCP / IP 주소를 쉽게 그룹화
  • 모든 장치는 저수준 요구 사항에서 MAC 주소를 관리하도록 만들어 졌으므로 변경해야합니다.
  • 대다수 (임의의 생각 :-P)에도 불구하고 일부 다른 프로토콜은 여전히 ​​사용 중이며 MAC 주소에 의존합니다.

25

MAC 주소 및 IP 주소는 인터넷 프로토콜 제품군 의 다른 계층에서 작동합니다 . MAC 주소는 계층 2에서 동일한 브로드 캐스트 네트워크 내에서 시스템을 식별하는 데 사용되고 IP 주소는 계층 3에서 서로 다른 네트워크에서 시스템을 식별하는 데 사용됩니다.

컴퓨터에 IP 주소가 있더라도 모든 계층이 기본 계층을 사용하므로 동일한 네트워크 (특히 나머지 네트워크 / 인터넷의 라우터 / 게이트웨이)에있는 다른 시스템을 찾으려면 여전히 MAC 주소가 필요합니다. 온 페이지는 앞서 언급 당신은 세부의 프로토콜 제품군을 설명 멋진 다이어그램을 찾을 수 있습니다.


, 귀하의 답변에 많은 감사를 표하지만 OSI 계층 또는 TCP 계층의 사양에 들어 가지 않고 누군가가 대답 할 수 있다면 더 좋습니다
user1369975

11
그것이 너무 어렵다면, 이것은 당신을위한 사이트가 아닙니다. 이 질문은 네트워크 엔지니어에게 일반적인 지식으로 간주되기 때문에이 주제가 다른 주제라고 주장 할 수 있습니다.
Teun Vink

11
@ user1369975에서 참조하는 모델은 네트워크가 어떻게 작동하도록 설계되었는지에 대한 프레임 워크입니다 (하드웨어 및 소프트웨어 모두). 기본적인 이해가 없으면 질문에 대한 의미있는 답변이 없을 것입니다. 그것은 정부의 언급을 허용하지 않고 "미국 사회자에 대해"(사회 이름이 필요한 이유가 있다면) 묻는 것과 유사 할 것입니다.
YLearn

5
MAC 주소는 거리의 집에 대한 설명으로 생각하십시오. 이웃들에게는 모두 "그린 하우스"또는 "존슨 씨 집"또는 "코너의 듀플렉스"를 이해할 것입니다. 이들은 MAC 주소와 비교할 수 있으며 로컬에서만 설명 할 수 있습니다. IP 주소는 공개적으로 라우팅이 가능하므로 전체 주소를 사용하는 것과 같습니다. 123 Main St, Somewhere, CA 92069. 그러면 MAC에 대한 IP는 우체부가 길거리에 와서 "WHO IS AT 123 MAIN? !?!? " 존슨 씨가 그를 듣고 "여기 온실이 있습니다!" 내 생각 엔? 끔찍한 비유.
David Houde

3
현재 아키텍처가 필요한 이유를 설명합니다. 그러나 왜 아키텍처가 처음에 그렇게 설계 되었습니까? 로컬 IP 주소와 WAN IP 주소 만있는 세상을 쉽게 상상할 수 있습니다. 기술적으로 가능합니다.
Hello World

17

IP-to-IP 통신이 실제로 각 라우터 홉에서 발생하는 일련의 MAC-MAC 통신이라는 것을 이해하면 왜 두 가지가 모두 필요한지 알 수 있습니다.

워크 스테이션을 다른 서브넷의 IP로 향하게하는 패킷의 IP 헤더는 현재 NAT를 잊어 버린 원본 IP 및 대상 IP를 유지 관리합니다. [나중에 대상이 동일한 서브넷 내에있을 때 발생하는 상황에 대해 설명하겠습니다.] 이더넷 헤더에는 소스 MAC과 기본 게이트웨이의 대상 MAC이 포함됩니다. 당신의 관점에서 최종 목적지 MAC에 대한 지식이 없습니다. 첫 번째 라우터는 패킷이 대상 서브넷에 직접 연결된 마지막 라우터에 도착할 때까지 원본 MAC을 자신에게, 대상 MAC을 다음 라우터 홉 등에 다시 씁니다.

간단한 설명을 시도하려면 패킷이 소스 IP (sIP)에서 대상 IP (dIP)로 이동하고 소스 및 대상 MAC이 fs = first-source 및 ld 방식으로 다시 쓰여짐에 따라 L2 / L3 헤더를 고려하십시오. = 마지막 목적지이고 r1-r3은 라우터입니다.

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

관련된 L2 스위치는 MAC 주소를 수정하지 않습니다.

이제 서브넷 내 다른 IP와 통신하려면 직접 MAC 통신이 필요하지만 MAC addr을 얻으려면 서브넷에서 브로드 캐스트를 사용하는 ARP 프로토콜이 있어야합니다. 그건 그렇고, 이것은 워크 스테이션이 동일한 서브넷에 있어야하는 기본 게이트웨이의 MAC 주소를 얻는 방법입니다.


3
요약하면, MAC한 홉에서 다른 홉으로 메시지를 가져 오는 반면 IP는 원래 소스 및 대상을 추적합니다. 이것은 우체국과 비슷해 보입니다. 피닉스의 할머니에게 편지를 보내면 우편함에서 편지를 가져 오는 우체부는 우체국으로 가져 오는 것에 대해서만 관심이 있고 우체국은 분류에 가져 오는 것에 대해서만 관심이 있습니다. center etc ...
CodyBugstein

3
그러나 내 질문은 왜 MAC에 대해 별도의 프로토콜이 있습니까? 홉할 다음 IP 주소를 결정하고 원래 소스 / 대상 IP와 함께 현재 소스 / 대상 IP를 저장하는 이유는 무엇입니까?
CodyBugstein 2016 년

@Imray : MAC 프로토콜을 제거하는 첫 번째 문제는 이더넷 및 TCP / IP 표준의 재 설계 / 재 작성이 필요합니다. 둘째, L2의 MAC 주소를 사용하여 통신하는 L3의 IP는 IP만이 아닙니다. 셋째, MAC 주소는 일반적으로 NIC의 하드웨어 (번인 (burn-in)) 주소와 연결되어 있으며 높은 수준의 IP는 유연성을 위해 다소 임의적입니다. 넷째, MAC은 로컬에만 관련되고 IP는 전 세계적으로 관련이 있습니다 (원래 디자인의 일부가 아닌 NAT 및 개인 주소의 최근 변경 사항은 고려하지 않음).
generalnetworkerror

14

L2 및 L3에 대한 IP 주소 만있는 네트워크를 설계하는 데 물리적으로 방해가되는 것은 없습니다. 그런 다음 '이더넷 스위치'는 들어오는 패킷의 SIP 주소를 배우고 DIP 주소로 넘치거나 전달합니다.

그러나이 네트워크는 IP를 지원할 것입니다. 차세대 IPvX가 출시되면 '이더넷 스위치'가 해당 프로토콜을 지원할 수 없으므로 작동하지 않습니다. 또한 IPX 및 AppleTalk와 같은 다양한 다른 프로토콜이나 가정에서 개발하고 테스트하는 새로운 프로토콜을 실행할 수 없습니다.

창을 변경하기 위해 집 전체를 재건축 할 필요가 없으므로 추상화 계층은 개발 속도를 높이고 혁신을 장려합니다.

이제 LAN을 전혀 건드리지 않고도 동일한 이더넷 스위치를 실행하고 네트워크를 IPX에서 IPv4로 IPv6로 마이그레이션 할 수있었습니다.


아무것도 물리적 단지 당신의 상상력에 존재하는 이러한 구성 요소 이외의이 네트워크 설계에서 당신을 중지하지 있습니다 : A) 이더넷 스위치를 배운다 소스 IP 주소의 B) MAC 주소가없는 이더넷 NIC 그
마이크 페닝 턴

3

IP 주소와 MAC 주소는 다른 (그러나 중요한) 목적으로 사용됩니다.

MAC 주소는 한 NIC에서 다음 NIC로 프레임을 가져옵니다. IP 주소는 한 컴퓨터에서 서버로 패킷을 가져옵니다.

따라서 다음을 고려하십시오.

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

패킷을 "소스"에서 "대상"으로 보내는 것은 IP 주소입니다. 그러나 소스 컴퓨터에서 RouterA로, 그런 다음 RouterA에서 RouterB로, 라우터 B에서 대상으로 패킷을 가져 오는 것은 MAC 주소입니다.

그림 에서 관계를 볼 수 있습니다 .

패킷 이동-패킷이 인터넷을 통해 이동하는 방법-pracnet.net/pt


물론 라우터 간 링크가 MAC 주소가없는 프로토콜을 사용하는 것이 매우 일반적입니다.
Ron Maupin

@RonMaupin 네. 당연하지. 그러나 ... MAC 주소 =)에 대한 질문이 주어진 이유는 무엇입니까?
Eddie

귀하의 답변에 따르면 모든 홉에 MAC 주소가 할당되어 오해의 소지가있을 수 있습니다. 다이어그램에 첫 번째 및 마지막 홉의 MAC 주소 만 표시되는 경우에도 작동합니다. 약간 불완전하기 때문에 의견을 말한 것입니다.
Ron Maupin

1

IP 프로토콜은 서브넷라우팅 개념을 지원하는 토대를 제공합니다 . 즉, IP는 목적지가 동일한 네트워크에 있다고 가정하지 않습니다. 그렇지 않은 경우 라우터와 같은 중개 장치를 통해 트래픽을 전달해야합니다. IP에는 TTL / Hop Limit 필드가 있으며이를 지원하는 필드가 있습니다.

이더넷은 데이터가 인터페이스에서 제공 될 때 대상 MAC에 직접 도달 할 수 있다고 가정합니다. 이더넷은 원래 네트워크에서 컴퓨터를 연결하는 가장 일반적인 방법이 물리적 버스 토폴로지를 통해 설계되었을 때 설계되었습니다. 거의 모든 유선 이더넷 트래픽이 현재 전환되었지만 논리적으로 여전히 버스 토폴로지처럼 작동합니다. 따라서 이더넷의 기본 가정은 대상 MAC이있는 노드가 물리적으로 동일한 네트워크에 있다는 것입니다. IP에는 그러한 가정이 없습니다.

이더넷을 해킹하여 서브넷과 라우팅을 수행 할 수 있다고 생각하지만, 이더넷의 낮은 수준의 세부 사항과 가정에 의존하지 않는 프로토콜을 설계 할 수도 있습니다. 이것이 IP를 보유한 이유입니다.


0

가능한 간단하게 :

Mac 주소는 귀하의 NIC 카드 나 네트워크 인터페이스의 물리적 또는 가상 주소입니다. 네트워크 관점의 컴퓨터에서 해당 컴퓨터 NIC 카드의 실제 주소입니다. OSI 모델의 계층 2에서 해당 컴퓨터로 정보를 가져 오는 데 사용됩니다.

IP 주소가 서로 다른 서브넷과 devices.The에 컴퓨터와 통신하는 데 필요 층 (3)에 필요한 IP 주소 장치가 네트워크에 위치해 있습니다 ""확인합니다.

IP 주소MAC 주소는 직렬로 사용된다. 주소 확인 프로토콜 은 단일 네트워크 내의 링크 계층 내에서 IP 주소Mac 주소 로 확인하여 두 주소 를 서로 연결하는 데 사용됩니다 .

더 자세한 설명을 보려면 여기 를 확인 하십시오 .


1
단순하게 유지하기 : 이름이 있으면 지역에서 자신을 식별하십시오. SSN이 있어야 전 세계적 수준을 유지할 수 있습니다.
pulsarjune

-2

MAC 주소는 하드웨어 벤더가 구성한 일정하고 서로 다른 시스템으로 구성된 하드웨어를 나타냅니다. 우리는 맥 주소를 외부 네트워크로 보낼 수 없습니다.


-2

우선, 이것은 기본적인 네트워크 기초에 대해 다루는 매우 좋은 질문입니다. 귀하의 질문에 대한 결론은 연결을 달성하기 위해 실제로 MAC 주소가 필요하지 않다는 것입니다. 이론적으로 IP 주소 만 구현하는 네트워크를 구축 할 수 있습니다! 그러나 이러한 체계를 사용하면 실질적인 어려움이 발생할 수 있습니다. 각 네트워크 장치에 IP 주소를 수동으로 할당하려는 경우 큰 위험을 피할 수 있습니다. 그러나 수동으로 관리 할 네트워크 노드가 너무 많을 때와 같이 IP 주소를 자동으로 할당해야하는 경우 각 노드에 정확히 하나의 IP 주소 또는 미리 정해진 수의 IP 주소를 할당 할 수있는 방법이 없습니다. 주소 분배 엔티티가 요청 장치를 독특하고 명백하게 식별 할 수 없다면, 서로에게 말할 수 없다. LAN의 모든 장치에 고유 한 것으로 간주되는 MAC 주소로 이러한 식별 할 수없는 장치는 반복적으로 추가 IP 주소를 요구할 수 있으며 결국 네트워크 실행 가능성에 혼란을 줄 수 있습니다. 이 주제로 돌아 가면 IP 전용 네트워크를 설정하기 위해 필요한 모든 MAC 인터페이스 주소 유형에 관계없이 네트워크 인터페이스 어댑터의 데이터 링크 계층이 수신하는 모든 데이터 프레임을 네트워크 계층으로 직접 전달할 수 있습니다. 데이터 계층에서 필터링되지 않고 대상 IP 주소에 따라 필터링됩니다. 개념을 설명하기 위해 RS-232 UART 포트를 상호 연결하여 네트워크를 설정했다고 가정하십시오. UART 장치에는 MAC 주소 또는 다른 고유 식별자가 없지만 UART 및 IP 주소를 사용하여 로컬 네트워크를 구성 할 수 있습니다 혼자, 적절한 UART 드라이버 설치를 제공합니다. 이 구절이 그 주제에 대한 통찰력을 주었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.