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 주소는 무엇입니까?
MAC 주소는 로컬 이더넷 기반 네트워크가 작동하도록하는 기본 수준입니다. 로컬은 네트워크 장치가 케이블 또는 WiFi를 통해 또는 네트워크 허브 또는 네트워크 스위치를 통해 직접 연결됨을 의미합니다.
네트워크 카드에는 각각 고유 한 MAC 주소가 있습니다. 이더넷으로 전송 된 패킷은 항상 MAC 주소에서 전송되어 MAC 주소로 전송됩니다. 네트워크 어댑터가 패킷을 수신하면 패킷의 대상 MAC 주소를 어댑터의 자체 MAC 주소와 비교합니다. 주소가 일치하면 패킷이 처리되고, 그렇지 않으면 삭제됩니다.
특별한 MAC 주소가 있습니다. 예를 들어 ff : ff : ff : ff : ff : ff는 브로드 캐스트 주소이며 네트워크의 모든 네트워크 어댑터에 주소를 지정합니다.
IP 주소와 MAC 주소는 어떻게 작동합니까?
IP는 이더넷 위의 계층에서 사용되는 프로토콜입니다. 예를 들어 다른 프로토콜은 IPX입니다. IP는 서로 다른 로컬 네트워크를 연결하여 회사 네트워크 또는 글로벌 인터넷을 형성합니다.
컴퓨터가 일부 IP 주소 xxxx로 패킷을 보내려고 할 때 첫 번째 확인은 대상 주소가 컴퓨터 자체와 동일한 IP 네트워크에 있는지 확인하는 것입니다. xxxx가 동일한 네트워크에 있으면 대상 IP에 직접 도달 할 수 있으며, 그렇지 않으면 구성된 라우터로 패킷을 보내야합니다.
현재 두 가지 IP 주소가 있기 때문에 상황이 더 나빠진 것 같습니다. 하나는 원래 IP 패킷의 대상 주소이고 다른 하나는 패킷을 보내야하는 장치의 IP입니다 (다음 홉, 마지막 대상 또는 라우터).
이더넷은 MAC 주소를 사용하므로 발신자는 다음 홉의 MAC 주소를 가져와야합니다. 이를 위해 사용되는 특수 프로토콜 ARP (address resolution protocol)가 있습니다. 발신자가 다음 홉의 MAC 주소를 검색하면 해당 대상 MAC 주소를 패킷에 쓰고 패킷을 보냅니다.
ARP는 어떻게 작동합니까?
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 주소를 사용합니다. 올바른 암호로 알려진 장치 (MAC 주소는 고유하고 장치를 식별)에 대한 액세스 만 허용합니다.
-
DHCP 서버는 MAC 주소를 사용하여 장치를 식별하고 일부 장치에 고정 IP 주소를 제공합니다.
답변
MAC- 주소 (미디어 액세스 제어 주소)는 일반적으로 네트워크의 장치 식별자입니다. 따라서 모든 NIC (라우터, PC, 네트워크 프린터, 서버 등에있는 네트워크 인터페이스 컨트롤러)에는 MAC 주소가 있습니다. 일부 서버에는 둘 이상의 네트워크 카드가 내장되어 있으므로 여러 MAC 주소가 있습니다. MAC 주소의 길이는 6 바이트 (6 옥텟)입니다. 왼쪽은 가장 중요한 바이트이고 오른쪽은 가장 작은 바이트입니다. 아래 그림에서 볼 수 있듯이 처음 3 바이트는 조직 고유 식별자 입니다. 이 장치를 만든 제조업체를 나타냅니다.
조직 고유 식별자 목록은 다음과 같습니다 . Standards.ieee.org
위의 대안은 다음과 같습니다. MAC-Vendor-Lookup
알려진 일반적인 제조업체의 몇 가지 예 :
- 00-05-5D (D-Link Systems Inc.)
- 00-09-5B (넷기어 주식회사)
- 00-E0-4C (Realtek Semiconductor Corp.)
- 00-E0-4F (Cisco Systems Inc.)
- 00-E0-64 (삼성 전자)
마지막 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 식별자 형식을 사용합니다.
- 이더넷
- 802.11 무선 네트워크
- 블루투스
- IEEE 802.5 토큰 링
- 대부분의 다른 IEEE 802 네트워크
- FDDI
- ATM (NSAP 주소의 일부로 전환 된 가상 연결 만 해당) 파이버 채널 및 직렬 연결 SCSI (World Wide Name의 일부로)
답변
이들은 되는 이더넷 네트워크에서, 다수의 디바이스가 존재하고, 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 주소에는 제조업체에 대한 일부 정보가 있습니다.