Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Снимката е предоставена от Уикипедия.
Въпроса
Потребителят на четец SuperUser user2449761 иска да знае повече за необходимостта от Ethernet / MAC адреси:
I do not understand why Ethernet/MAC addresses are needed. Surely all computers could just be connected to a unified network and use IP addresses to communicate?
For example, there is the following mechanism in Ethernet:
- A computer with the IP address 192.168.1.1 (X.1) wants to send a packet to the address 192.168.1.2 (X.2).
- X.1 uses ARP to get the MAC address of X.2.
- To do so, X.1 needs to send a packet to all computers in the network and only one will answer.
- X.1 gets a MAC address and sends the packet.
It would be simpler to just do it in one step:
X.1 sends a packet to all computers in the network and only X.2 will process it, the others will ignore it.
My other question is: Why are IP addresses needed if all devices have unique MAC addresses?
Защо има нужда от Ethernet / MAC адреси?
Отговорът
Сътрудникът на SuperUser Пол има отговора за нас:
The different network layers are there to allow them to be swapped for different technologies. The two layers you are talking about here are Layers 2 and 3. Layer 2 in this scenario is Ethernet – from which MAC addresses arise, and Layer 3 is IP.
Ethernet only works at the local level between network devices connected to a broadcast network “data link”, whereas IP is a routable protocol and can target devices on remote networks.
The requirements for each of these layers is different. Ethernet specifies a family of technologies that allow packets to be sent and received between network devices, whereas IP defines a protocol that allows packets of data to traverse multiple networks.
Neither is reliant on the other, which is what gives networking its flexibility. For example, you may choose to connect to your Internet service using IP over Ethernet, but in your internal network, you might choose to use IP over paper (where someone writes down the contents of each packet and physically walks it over to another machine and types it in). Clearly this would not be particularly fast, but it would still be IP provided the person carrying around the bits of paper respected IP routing rules.
In the real world there are different data link protocols that you are already using (although their addressing schemes are the same): 802.3 – Ethernet, and 802.11 – Wi-Fi.
IP does not care what the underlying layer is. Equally, IP can be swapped out for different network layer protocols (provided it happens for all participants) such as Asynchronous Transfer Mode (ATM).
While there is nothing directly preventing the creation of a protocol that encompasses both Layers 2 and 3, it would be less flexible, less attractive, and therefore unlikely to be used.
Уверете се, че сте прочели останалата част от живата дискусия по темата чрез връзката по-долу!
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.