IP 주소는 계층 적이므로 인터넷의 라우터가 패킷을 전달할 방향을 알 수 있습니다. MAC 주소를 사용하면 계층 구조가 없으므로 패킷 전달이 불가능합니다. 따라서 MAC 주소는 패킷 전송에 사용되지 않습니다.
나는 그것이 아무 이유없이 거기에 앉아 있다고 생각하지 않습니다. 그래서 제 질문은 패킷 전송 중에 MAC 주소가 정확히 어디서 사용됩니까?
IP 주소는 계층 적이므로 인터넷의 라우터가 패킷을 전달할 방향을 알 수 있습니다. MAC 주소를 사용하면 계층 구조가 없으므로 패킷 전달이 불가능합니다. 따라서 MAC 주소는 패킷 전송에 사용되지 않습니다.
나는 그것이 아무 이유없이 거기에 앉아 있다고 생각하지 않습니다. 그래서 제 질문은 패킷 전송 중에 MAC 주소가 정확히 어디서 사용됩니까?
답변:
TL; DR> MAC 주소는 이더넷 네트워크 (및 WiFi와 같은 다른 유사한 표준)의 하위 레벨 구성 요소입니다. 이를 통해 장치는 로컬 물리적 네트워크 (LAN)의 컴퓨터와 통신 할 수 있으며 인터넷을 통해 라우팅 할 수 없습니다. 물리적 하드웨어는 이론적으로 전세계 어느 곳에 나 연결될 수 있기 때문입니다.
반대로 IP 주소는 전체 인터넷을 포괄하며 라우터는 대상에 도달하기 위해 여러 홉이 필요한 경우에도 데이터를 보낼 위치를 파악하기 위해 사용하지만 로컬 네트워크의 물리적 하드웨어와의 인터페이스에는 도움이되지 않습니다.
이더넷보다 더 나은 표준을 찾은 경우 MAC 주소를 사용할 수는 없지만 인터넷의 다른 사람이 들어 본 적이없는 경우에도 인터넷의 IP 트래픽이 계속 흐를 수 있습니다.
IP보다 더 나은 표준을 찾은 경우 (예 : 모든 IPv4 주소가 소진 된 경우 IPv6) 대부분의 이더넷 하드웨어는 수정없이 새로운 종류의 트래픽을 전달할 수 있으며 간단한 소프트웨어 / 펌웨어 업데이트로 나머지 대부분을 수정할 수 있습니다.
로컬 이더넷 (또는 wifi) 네트워크 기능을 사용하려면 MAC 주소가 필요합니다. 물리적 연결이 공유 되더라도 네트워크 장치가 직접 연결된 단일 장치의 관심을 끌 수 있습니다. 단일 조직 내에서 수천 개의 장치가 함께 연결된 경우에 중요 할 수 있습니다. 더 넓은 인터넷에서는 작동하지 않습니다.
이 질문에 대한 답을 실제로 이해하려면 OSI (때로는 7 계층) 모델 을 이해해야합니다 .
물리적으로 직접 연결되지 않은 별도의 시스템에서 실행되는 두 응용 프로그램간에 통신이 이루어 지려면 많은 작업이 필요합니다.
예전에는 각 응용 프로그램이 응용 프로그램에 도달하여이를 해독 할 수있는 적절한 신호를 생성하기 위해 실행해야하는 머신 코드 명령을 정확히 알고있었습니다. 모든 커뮤니케이션은 사실상 지점 간이었으며 소프트웨어는 배포 될 정확한 상황에 맞게 작성되어야했습니다. 분명히, 그것은 지속 불가능했습니다.
대신 네트워킹 문제는 계층으로 나뉘어졌으며 각 계층은 원격 시스템에서 일치하는 계층과 대화하는 방법과 로컬 시스템에서 계층 (아래)과 통신하는 방법을 알고있었습니다. 웹 브라우저는 토큰 링, 이더넷 또는 Wi-Fi 네트워크를 사용하는 컴퓨터에서 실행되는지 여부를 신경 쓸 필요가 없으며 하드웨어가 무엇인지 알 필요가 없습니다. 원격 기계가 사용합니다.
이 작업을 수행하기 위해 7 레이어 모델은 중첩 된 봉투와 같은 시스템을 사용합니다. 응용 프로그램은 데이터를 작성하고 운영 체제가 제공 할 수 있도록 봉투에 넣습니다. OS는 이것을 다른 봉투에 싸서 네트워크 드라이버로 전달합니다. 네트워크 드라이버는 이것을 다른 봉투에 싸서 물리적 케이블에 넣습니다. 등등.
맨 아래 레이어 인 레이어 1 은 물리 레이어입니다. 이것은 전선과 트랜지스터 및 전파의 층이며,이 층에서 통신은 대부분 단지 하나의 것 및 필요의 흐름입니다. 데이터는 물리적으로 연결된 모든 곳으로갑니다. CAT-5 케이블을 사용하여 컴퓨터의 네트워크 포트를 스위치에 연결합니다.
레이어 2 는 데이터 링크 레이어입니다. 이것은 구조와 기능에 일부 구조, 오류 감지 및 수정 기능, 메시지에주의를 기울여야하는 물리적으로 연결된 장치 (여기서 실제 연결은 실제로 Wi-Fi가 될 수 있음)에 대한 일부 표시를 제공합니다. 이것은 MAC 주소가 사용되는 계층이며 나중에 다시 올 것입니다. 그러나이 계층에서는 MAC 주소 만이 유일한 가능성은 아닙니다. 예를 들어, 토큰 링 네트워크에는 다른 데이터 링크 구현이 필요합니다.
계층 3 은 네트워크 계층입니다. 이것은 IP가 작동하는 계층입니다 (단, 네트워크 계층 프로토콜 중 하나는 아니지만). 이것은 컴퓨터가 "네트워크"의 어느 시스템 에나 도착할 수있는 메시지를 보낼 수있게하는 계층입니다. 문제의 머신을 직접 연결할 필요는 없습니다.
레이어 4-7 은 상위 레벨 프로토콜입니다. 하드웨어에서 멀어지고 응용 프로그램에 더 가깝습니다. 예를 들어, TCP는 IP 위에 위치하며 누락 된 메시지를 자동으로 재전송하는 메커니즘을 제공합니다.
따라서 MAC 주소는 계층 2에서 작동하며 서로 물리적으로 연결된 두 시스템이 동일한 물리적 연결을 공유하는 다른 시스템에서 무시할 메시지를 보낼 수 있습니다.
IP 주소 8.8.8.8을 사용하여 일부 데이터를 컴퓨터로 보내려는 응용 프로그램이 있다고 가정합니다.
레이어 3은 무엇보다도 IP 주소 8.8.8.8을 포함하는 봉투에 데이터를 싸서 레이어 2로 전달합니다.
계층 2는이 IP 주소를보고 직접 연결된 시스템이이 메시지를 처리 할 수 있는지 결정합니다. 해당 컴퓨터에있는 네트워크 카드의 해당 MAC 주소와 함께 직접 연결된 IP 주소를 선택하는 조회 테이블이 있습니다. 이 룩업 테이블은 네트워크 카드가 직접 연결된 다른 장치에 대한 질문을 할 수있는 ARP라는 프로토콜을 사용하여 구성됩니다. 이더넷은 특별한 MAC 주소 인 FF : FF : FF : FF : FF : FF를 예약하여 장치가 물리적으로 연결된 모든 장치와 통신 할 수 있도록 합니다.
IP 주소가 테이블에 있거나 ARP를 통해 확인할 수있는 경우 새 헤더의 MAC 주소를 사용하여 레이어 3 봉투를 레이어 2 봉투에 싸고 전체 번들을 레이어 1의 하드웨어에 전달합니다. 일치하는 MAC 주소를 가진 네트워크 카드는 메시지를 수신하고 네트워크 드라이버는 Layer 2 엔벨로프를 열고 운영 체제의 특정 IP 주소에서 메시지를받을 것으로 예상되는 부분까지 내용을 전달합니다.
또는 IP 주소가 로컬 네트워크에 없으면 새 엔벨로프는이 네트워크 인터페이스에 대해 구성된 기본 게이트웨이 (예 : 라우터)의 MAC 주소를 갖게되고 하드웨어는 패킷을 라우터로 전송합니다.
라우터는 계층 2 엔벨로프에서 고유 한 MAC 주소를 확인하고 레벨 2 패킷을 엽니 다. 레벨 3 엔벨로프의 IP 주소를보고 메시지가 다음에 어디로 가야하는지 알 수 있습니다. 이는 아마도 ISP의 라우터 일 것입니다. 라우터가 NAT (또는 이와 유사한)를 사용하는 경우 내부 IP 주소를 개인용으로 유지하기 위해이 시점에서 레벨 3 엔벨로프를 수정할 수도 있습니다. 그런 다음 ISP의 라우터의 MAC 주소로 주소가 지정된 새 레벨 2 봉투에 레벨 3 봉투를 싸서 메시지를 보냅니다.
외부 봉투를 제거하고 체인의 다음 단계로 주소가 지정된 새 봉투에 내용을 포장하는 과정은 메시지가 대상 시스템에 도달 할 때까지 계속됩니다.
그런 다음 메시지가 의도 한 수신자에게 도달 할 때까지 메시지가 레이어를 다시 걸 으면서 봉투가 계속 찢어지게됩니다. 메시지가 거기에 도착하고 실제로 원래 기계로 응답을 얻는 데 필요한 모든 단계가 있습니다.
그러나 그것은 모두 마술처럼 작동합니다!
네트워크 스위치는 MAC 주소를 사용하여 네트워크 트래픽 흐름을 최적화 할 수 있습니다. 이더넷 허브는 단순히 모든 들어오는 트래픽을 모든 포트로 전달하는 반면, 스위치는 패킷의 대상 MAC 주소가 연결된 단일 포트로만 트래픽을 전달할 수 있습니다. 이것은 네트워크의 유효 대역폭을 증가시킵니다. 스위치는 특정 포트를 대상으로하므로 불필요한 네트워크 세그먼트에서 트래픽을 전달하지 않습니다. 스위치는 ARP 또는 패킷 스니핑을 사용하여 어떤 장치가 어떤 포트에 연결되어 있는지 식별합니다. 스위치는 레이어 2 패킷의 내용을 완전히 무시합니다.
MAC 주소는 로컬 이더넷 기반 네트워크가 작동하도록하는 기본 수준입니다. 로컬은 네트워크 장치가 케이블 또는 WiFi를 통해 또는 네트워크 허브 또는 네트워크 스위치를 통해 직접 연결됨을 의미합니다.
네트워크 카드에는 각각 고유 한 MAC 주소가 있습니다. 이더넷으로 전송 된 패킷은 항상 MAC 주소에서 전송되어 MAC 주소로 전송됩니다. 네트워크 어댑터가 패킷을 수신하면 패킷의 대상 MAC 주소를 어댑터의 자체 MAC 주소와 비교합니다. 주소가 일치하면 패킷이 처리되고, 그렇지 않으면 삭제됩니다.
특별한 MAC 주소가 있습니다. 예를 들어 ff : ff : ff : ff : ff : ff는 브로드 캐스트 주소이며 네트워크의 모든 네트워크 어댑터에 주소를 지정합니다.
IP는 이더넷 위의 계층에서 사용되는 프로토콜입니다. 예를 들어 다른 프로토콜은 IPX입니다. IP는 서로 다른 로컬 네트워크를 연결하여 회사 네트워크 또는 글로벌 인터넷을 형성합니다.
컴퓨터가 일부 IP 주소 xxxx로 패킷을 보내려고 할 때 첫 번째 확인은 대상 주소가 컴퓨터 자체와 동일한 IP 네트워크에 있는지 확인하는 것입니다. xxxx가 동일한 네트워크에 있으면 대상 IP에 직접 도달 할 수 있으며, 그렇지 않으면 구성된 라우터로 패킷을 보내야합니다.
현재 두 가지 IP 주소가 있기 때문에 상황이 더 나빠진 것 같습니다. 하나는 원래 IP 패킷의 대상 주소이고 다른 하나는 패킷을 보내야하는 장치의 IP입니다 (다음 홉, 마지막 대상 또는 라우터).
이더넷은 MAC 주소를 사용하므로 발신자는 다음 홉의 MAC 주소를 가져와야합니다. 이를 위해 사용되는 특수 프로토콜 ARP (address resolution protocol)가 있습니다. 발신자가 다음 홉의 MAC 주소를 검색하면 해당 대상 MAC 주소를 패킷에 쓰고 패킷을 보냅니다.
ARP 자체는 IP 또는 IPX와 같은 이더넷 위의 프로토콜입니다. 장치가 주어진 IP 주소에 대한 MAC 주소를 알고 자 할 때 "누가 IP 주소가 yyyy입니까?"를 묻는 패킷을 브로드 캐스트 MAC 주소로 보냅니다. 모든 장치는 해당 패킷을 수신하지만 IP 주소가 yyyy 인 장치 만 "It 's me"패킷으로 응답합니다. 요청 장치는 응답을 수신하고 ARP 패킷의 소스 MAC 주소가 사용하기에 적합한 MAC 주소임을 알게되었습니다. 물론 결과는 캐시되므로 장치는 매번 MAC 주소를 확인할 필요가 없습니다.
MAC 주소를 기반으로 한 라우팅이 없습니다. 저수준 이더넷 및 MAC 주소는 동일한 네트워크 (연결 또는 무선)의 모든 장치에만 도달 할 수 있습니다 . 사이에 라우터가있는 두 개의 네트워크가있는 경우 네트워크 A에있는 장치가 네트워크 B에있는 장치의 MAC 주소로 패킷을 보낼 수 없습니다. 네트워크 A에있는 장치는 네트워크 B에있는 장치의 MAC 주소가 없습니다. 이 MAC 주소에 대한 패킷은 네트워크 A의 모든 장치 (라우터)에 의해 삭제됩니다.
라우팅은 IP 수준에서 수행됩니다. 라우터가 위에서 설명한 "IP 주소와 MAC 주소는 어떻게 작동합니까?" 라우터는 고유 한 MAC 주소로 다른 IP 주소로 패킷을 수신합니다. 그런 다음 대상 IP 주소에 직접 도달 할 수 있는지 확인합니다. 그렇다면 패킷을 대상으로 보냅니다. 그렇지 않으면 라우터 자체에도 업스트림 라우터가 구성되어 있으며 해당 라우터로 패킷을 보냅니다.
물론 여러 라우터를 구성 할 수 있습니다. 홈 라우터에는 하나의 업스트림 라우터 만 구성되지만 인터넷 백본에는 큰 라우터에 큰 라우팅 테이블이 있으므로 모든 패킷에 가장 적합한 방법을 알 수 있습니다.
네트워크 스위치는 모든 포트에서 볼 수있는 MAC 주소 목록을 저장하고 패킷을 볼 필요가있는 포트로만 패킷을 전달합니다.
무선 액세스 포인트는 종종 액세스 제어를 위해 MAC 주소를 사용합니다. 올바른 암호로 알려진 장치 (MAC 주소는 고유하고 장치를 식별)에 대한 액세스 만 허용합니다.
DHCP 서버는 MAC 주소를 사용하여 장치를 식별하고 일부 장치에 고정 IP 주소를 제공합니다.
MAC- 주소 (미디어 액세스 제어 주소)는 일반적으로 네트워크의 장치 식별자입니다. 따라서 모든 NIC (라우터, PC, 네트워크 프린터, 서버 등에있는 네트워크 인터페이스 컨트롤러)에는 MAC 주소가 있습니다. 일부 서버에는 둘 이상의 네트워크 카드가 내장되어 있으므로 여러 MAC 주소가 있습니다. MAC 주소의 길이는 6 바이트 (6 옥텟)입니다. 왼쪽은 가장 중요한 바이트이고 오른쪽은 가장 작은 바이트입니다. 아래 그림에서 볼 수 있듯이 처음 3 바이트는 조직 고유 식별자 입니다. 이 장치를 만든 제조업체를 나타냅니다.
조직 고유 식별자 목록은 다음과 같습니다 . Standards.ieee.org
위의 대안은 다음과 같습니다. MAC-Vendor-Lookup
알려진 일반적인 제조업체의 몇 가지 예 :
마지막 3 바이트 (3 옥텟)는 제조업체에서 임의로 할당합니다.
pjc50이 올바르게 언급했듯이 이더넷 네트워크의 MAC 주소는 스위치가 어느 패킷을 어디로 보낼지를 결정하는 데 도움이됩니다. Broadcast-MAC-Address도 있습니다. ff : ff : ff : ff : ff : ff는 Broadcast-MAC-Address에 사용됩니다. MAC 주소는 변경 될 수 있으므로 명확한 장치 식별자로 사용하십시오. MAC 주소는 ARP (Address Resolution Protocol) 프로토콜과 함께 사용됩니다. 작동 방식은 PC A가 자체 IP 주소, MAC 주소, 수신기의 IP 주소 및 위에서 언급 한 브로드 캐스트 주소 (ff : ff : ff : ff : ff)를 사용하여 ARP 요청을 PC B로 보냅니다. : ff). 그 후 PC B는 패킷이 자신에게 전송되었는지 여부를 확인합니다. 그렇다면 PC B는 자체 MAC 주소, IP 주소, 수신기의 MAC 주소 및 수신기의 IP 주소를 다시 보냅니다. 다른 장치는 패킷을 폐기합니다.
PC A와 B는 일반적으로 소위 ARP-Cache에 성공적인 연결을 저장합니다. PC가 연결을 저장하는 방법은 장치마다 다릅니다. IP 주소를 모르면 RARP (Reverse Address Resolution Protocol)를 사용하여 IP 주소를 얻을 수 있습니다. RARP를 사용하면 장치가 중앙 클라이언트에 연결하여 IP 주소를 묻습니다. 그러나이 방법은 오늘날 거의 사용되지 않습니다.
다음 기술은 MAC-48 식별자 형식을 사용합니다.
이들은 되는 이더넷 네트워크에서, 다수의 디바이스가 존재하고, MAC 어드레스는 패킷을 수신해야 할 장치를 지정 패킷 전송을 위해 사용된다. 이더넷 스위치는이를 사용하여 수신 패킷을 보낼 포트를 선택합니다.
이 경우 계층 구조를 잊어 버리는 것은 그리 중요하지 않습니다.
MAC 주소는 ISO / OSI 또는 TCP / IP 모델에서 계층 2 (링크 계층)의 주소입니다. IP 주소는 동일한 모델의 계층 3 (네트워크 계층)에서 가져옵니다.
계층 2 네트워크, 예를 들어 공통 이더넷 네트워크에는 연결된 모든 장비가 모든 엔드 포인트에서 모든 프레임 (계층 2 단위 데이터)을 수신 할 수있는 충돌 도메인이 있습니다. 그러나 네트워크 외부의 누구도 이러한 프레임을 수신 할 수 없습니다. MAC 주소는이 도메인의 주소입니다.
패킷은 계층 3 단위 데이터, 일반적으로 IP 패킷입니다. 그들은 하나 이상의 충돌 도메인을 통과합니다. IP 주소는이 도메인의 주소입니다.
스위치는 MAC 주소 테이블을 사용하는 계층 2 장치 및 전달 프레임입니다. 라우터는 계층 3 장치이며 IP 주소 테이블을 사용하여 패킷을 전달합니다.
이더넷은 통신하려는 다른 컴퓨터 (다른 MAC)가 네트워크 어댑터에서 직접 연결할 수 있다고 가정합니다. IP는 그렇지 않습니다. IP는 전 세계의 다른 IP에 도달 할 수 있다고 가정하고 현재 서브넷에서 도달 할 수없는 경우 라우터가 NAT에 상관없이 IP를 전달한다고 가정합니다. 게이트웨이 개념은 계층 2 또는 이더넷에 존재하지 않습니다.
스위치에 여러 대의 컴퓨터가 연결되어 있고 라우터를 통해 다른 네트워크 / 인터넷과 트래픽을 교환 할 필요가 없다면 IP를 가동 할 필요가 없습니다. 물론 거의 모든 OS와 응용 프로그램에서 항상 TCP / IP를 사용한다고 가정하기 때문에 응용 프로그램은 계층 2 위에 자체 프로토콜을 구현하거나 제공해야합니다.
항상 IP에서 '인터넷'을 기억하는 의미 '인터'정말이 트래픽을 얻기에 관한 한 의미 사이 보다 더 많은 네트워크 에서 너무 그 사용 분명히있을 수 있지만, 네트워크를 (하고있다).
MAC 주소는 실제 전송에 사용됩니다. 이더넷 어댑터는 IP에 대해 아무것도 모릅니다. 따라서 이더넷 어댑터는 MAC 주소를 사용하여 데이터 패킷의 수신자를 지정합니다.
이더넷 어댑터가 IP에 대해 알고 있다면 IPv4에서 IPV6와 같은 새로운 프로토콜로 전환하기 위해 모든 펌웨어를 업그레이드해야합니다.
또한 MAC 주소에는 제조업체에 대한 일부 정보가 있습니다.
IPv4의 ARP (Address resolution protocol) 또는 IPv6의 NDP (Neighbor Discovery Protocol)가 IP 주소를 MAC 주소로 변환하여 프레임을 보내야하는 고유 호스트를 판별 할 때 사용됩니다.
How MAC addresses were used in packet transfer
후 이더넷 수준에 있다고 가정했습니다. 그리고 네, 그것은 간단한 대답이지만, 나는 내 자신의 수준에 맞는 수준에서 대답하고 있습니다 :)
다른 답변을 완료하려면 MAC 주소가 스위치보다 라우터에 더 중요하다고 덧붙입니다. 내가 의미하는 더 중요한 것은 스위치의 존재에 IP 네트워크에 대한 정말 필요하지 않은 것입니다. RJ-45 이전 20 년 전의 모습 로컬 IP 네트워크는 스위치없이 완벽하게 작동했습니다.
반면 IP 네트워크는 라우팅을 지원하기 위해 고안되었으며 MAC 및 IP 주소 지정 체계에 의존합니다.
IP 네트워크에서 패킷을 라우팅한다는 것은 대상 시스템에 직접 액세스 할 수 없을 때 최종 IP 대상에 가장 가까운 다른 시스템 (게이트웨이)으로 먼저 전송됨을 의미합니다.
네트워크 패킷 헤더와 관련하여 게이트웨이로 전송 된 패킷은 이더넷 레벨 헤더에서 게이트웨이의 MAC 주소를 대상으로하며 IP 레벨 헤더는 변경되지 않습니다.
또한 MAC 주소는 일반적으로 오늘날 MAC-48 (물리적 장치 주소) 또는 EUI-48 (논리적 장치 주소) 또는 더 큰 네트워크에서 사용되는 8 바이트 EUI-64 주소를 의미합니다. 역사적으로 MAC은 이더넷 기술을 위해 Xerox에 의해 개발되었으며 나중에 장치를 식별해야하는 다른 네트워크 전송 기술 (802.11, Bluetooth, FibreChannel, BlueTooth)에 재사용되었습니다.
내가 말했듯이 이더넷 대신 다른 레이어 2를 사용할 수 있지만 대부분 MAC 주소를 네트워크 식별자로 사용하고 기본 MAC / IP 대응 체계가 유지되며 여전히 ARP를 사용할 수 있습니다. 내가 아는 한 모든 IP 스택은 MAC 주소와 IP 주소 사이의 대응 테이블에 의존합니다.
비 IP 스택에는 다른 종류의 장치 노드 식별자가 있습니다. 예를 들어 X.25는 MAC 주소에 의존하지 않지만 연결별로 설정된 가상 채널에 의존하거나 ATM 장치는 SNPA를 사용하여 ATM 네트워크에서 식별됩니다. 그러나 X.25 나 ATM은 IP 스택이 아니며 ATM에서도 MAC 주소 형식을 SNA의 일부로 ATM의 IP 주소와 거의 같은 MAC 주소 형식을 사용합니다.
스위치 전 일 (허브)로 돌아가십시오.
사람들이 컴퓨터 인 경우 MAC 주소는 이름입니다.
많은 사람들 (컴퓨터)이 같은 전화 통화를하고 있다고 가정합니다. 모두가 동시에 이야기하고 있습니다.
여러분 (한 대의 컴퓨터)은이 대화 내용을 모두들을 수 있지만, 어떤 내용을들을 지 모른다면, 누군가가 문장의 시작 부분에 당신의 이름 (MAC 주소)을 말할 때까지 (패킷).
"FRED, THERE IS ICE CREAM!"
물론, 당신은 또한 방송 주소로 전송 된 문장을 듣습니다 . 누군가 고함을 지르고
"EVERYONE, THERE IS ICE CREAM!"
더 많은 사람 (컴퓨터)이 전화 회의에 참여할수록 더 많이 걸러 내야합니다. 기술 고급 및 스위치를 통해 한 사람 (컴퓨터 / MAC)과 직접 대화 할 수 있으므로 모든 노이즈를 필터링하고 더 많은 대역폭을 확보하기 위해 열심히 노력할 필요가 없습니다.
IP는 기본 비유와 매우 유사하지만 MAC 주소 지정에 더 많은 기능과 계층이 있습니다. OSI 모델 의 계층 2와 3 .
"버스"(이더넷 네트워크)에 여러 개의 주소가 연결되어 있으므로 MAC 주소가 필요합니다. 발신자는 수신자를 식별 할뿐만 아니라 수신자를 식별 할 수 있어야합니다.
여러 발신자와 수신자가 동일한 회선을 공유하고 메시지가 특정 수신자에게 전달되고 발신 발신자를 식별해야하기 때문에 모든 하드웨어 버스는 주소 지정이 필요합니다.
I2C, PCI, 이더넷으로 이름을 지정하십시오.
하드웨어 수준 주소는 특정 물리적 네트워크에만 국한되어 있기 때문에 인터 네트워킹에 여러 주소 (IP 주소 및 하드웨어 주소)가 있습니다. 데이터 그램이 네트워크에서 네트워크로 이동함에 따라 네트워크 레벨 주소를 유지하는 경향이 있지만 하드웨어 주소는 여러 번 변경됩니다. 일부 네트워크를 통과 할 때는 하드웨어 주소가 전혀없고 다른 네트워크에서는 이더넷 MAC이 아닌 하드웨어 주소가있을 수 있습니다. 물론 네트워크 주소는 NAT 게이트웨이로 다시 쓸 수 있지만 패킷이 라우터를 통과 할 때마다 하드웨어 주소가 제거되고 다른 주소로 바뀝니다.
예전에는 네트워크가 공유 버스였습니다. 네트워크로 연결된 각 장치는 동일한 회선 또는 허브에 연결되어 전송 한 모든 패킷이 네트워크의 모든 장치에서 수신되었음을 의미합니다.
네트워킹 소프트웨어는 더 간단했습니다. 모든 장치에는 고유 한 MAC 주소가 있습니다. 다른 네트워크 일 필요는 없습니다. 동일한 네트워크에있는 두 개의 장치가 동일한 주소를 갖지 않도록하는 것이 전부였습니다.
장치가 다른 장치와 통신하기를 원하면 수신자의 MAC 주소가 포함 된 패킷을 전송하고 수신자는 네트워크에서 해당 장치를 선택합니다. 다른 모든 장치는 무시합니다. MAC 주소로 주소가 지정되지 않았습니다.
시간이 지남에 따라 사람들은 너무 많은 장치를 네트워크에 연결했고 트래픽을 따라갈 수 없었기 때문에 네트워크 분리를 시작했으며 스위치가있는 두 개의 네트워크를 연결했습니다. 이 스위치에는 각 네트워크의 어느 MAC 주소를 알려주는 거대한 테이블이 있습니다. 한 네트워크에서 다른 네트워크의 MAC 주소로 주소가 지정된 패킷을 본 경우 다른 네트워크로 메시지를 복사합니다. 그러나 모든 메시지를 복사하지는 않고 다른 네트워크로 이동해야하는 메시지 만 복사합니다.
이로 인해 정체가 줄어들고 더 많은 장치를 네트워크로 연결하고 더 많은 전체 트래픽을 처리 할 수있었습니다. 이것은 패킷 교환 네트워크 입니다.
그러나 모든 문제를 해결하지는 못했고 스위치 테이블이 커질수록 네트워크 속도가 느려져 큰 단점이있었습니다. 스위치와 상호 연결된 50 개의 서로 다른 네트워크에 5,000 대의 컴퓨터를 연결 한 경우 각 스위치는 5,000 개의 MAC 주소를 모두 알고이를 기반으로 패킷을 라우팅해야했습니다.
대학과 같은 다른 기관의 사람들이 네트워크를 연결하기를 원하고 필요한 테이블이 엄청나게 될 때까지 큰 문제가되지 않았습니다. 오늘날 수십만 개의 MAC 주소를 추적하는 것은 큰 문제가되지 않지만 1970 년대에는 메모리와 속도가 제한된 컴퓨터 자체가 스위치였으며 패킷을 추적하고 신속하게 몇 개의 패킷을 전환했습니다 백은 문제였다.
해결책은 IP 네트워크로 가고 라우터를 사용하는 것입니다. 이것은 MAC 주소 기반 교환 패킷 네트워크 위에 구축됩니다. 원시 데이터가 아닌 패킷에 이제 IP 패킷 (패킷 내의 패킷)이 포함됩니다.
이제 더 큰 네트워크가 라우터에 연결되었습니다. 이들은 MAC 주소가있는 패킷을 볼 때까지 기다린 다음 IP 패킷을 꺼내고 IP 주소를 검사합니다. 그런 다음 IP 패킷을 새 MAC 주소 수신자가있는 다른 패킷으로 다시 랩핑하여 새 네트워크로 보냅니다. 해당 MAC 주소는 새 네트워크의 다른 라우터에 대한 것일 수도 있지만 IP 주소가있는 시스템 일 수도 있습니다.
오늘날의 네트워크에서는 허브와 버스가 거의 보이지 않으며 (매체가 기본적으로 공유되는 무선 네트워크 제외) 대신 내 컴퓨터가 스위치에 직접 연결되어 라우터에 연결됩니다.
내 컴퓨터에는 다양한 알고리즘과 프로토콜이 있으므로 네트워크 설정 방법을 알고 있습니다.
로컬 네트워크의 컴퓨터로 IP 패킷을 보내면 내 컴퓨터는 올바른 MAC 주소를 가진 패킷에 넣습니다. 스위치는 로컬로 올바른 네트워크로 스위치를 전환하고 올바른 MAC 주소를 가지고 있기 때문에 대상 컴퓨터가 수신합니다. IP 패킷을 꺼내고 IP 주소도 의도 된 것인지 다시 확인하고 그에 따라 조치합니다.
인터넷 어딘가에있는 컴퓨터 용 IP 패킷을 보내면 내 컴퓨터는 라우터로 보내는 것을 알고 있으므로 라우터의 MAC 주소가있는 패킷에 넣습니다. 라우터가 켜져있는 네트워크에 도달 할 때까지 네트워크에서 로컬로 다시 전환됩니다. 그런 다음 라우터가 가져와 IP 패킷을 꺼내고 IP 패킷을 검사 한 다음 인터넷에 대한 지식을 바탕으로 다른 라우터로 보냅니다. 의도 한 라우터 또는 대상 컴퓨터의 MAC 주소를 사용하여 패킷으로 포장하는 다른 네트워크.
내가 자세히 살펴본 많은 세부 사항과 모든 것이 작동하게 만드는 정말 흥미로운 알고리즘과 프로토콜이 있지만 MAC 주소가 오늘날에도 우리에게 어떤 영향을 미치는지에 대한 기본적인 이야기입니다.
근본적인 차이점은 제조시 MAC이 제조업체에 의해 할당되고 연결시 IP 주소가 할당된다는 것입니다.
MAC은 네트워크에 연결하기 전에 장치를 식별하는 데 사용될 수 있기 때문에 필요 합니다. 그러나 정적으로 할당되기 때문에 거의 무작위로 배포되므로 단일 네트워크 이상을 효율적으로 라우팅하기에 적합하지 않습니다 (행구상의 모든 장치가 지구상의 다른 모든 장치에 대한 거대한 라우팅 테이블을 가져야 함) ). 따라서 IP 주소는 연결시 할당되기 때문에 필요하며 할당 된 방식으로보다 효율적인 장거리 라우팅이 가능합니다 (IP를 사용하면 대부분의 장치는 인접한 네트워크 만 알면 됨).
IP 주소 만있는 경우 IP 주소가 할당되지 않은 장치는 자신에게 어떤 메시지가 있는지 알 수 없습니다. 이 DHCP가 귀하를위한 것이며 다른 사람도 같은 시간에 주소 할당을 요청하는 것이 아니라고 어떻게 판단하십니까?
물론 MAC은 패킷 전송의 다른 부분에도 사용되지만, 대부분의 경우는 거의 부수적이며 (적어도 이론적으로는) 동적 할당 번호 (예 : IP 주소)로 대체 될 수 있습니다.