Om du fortfarande är ny på hela nätverkssaken kan det vara lite överväldigande när du först börjar lära dig om de olika typerna av adresser som är inblandade och hur de fungerar tillsammans. Dagens SuperUser Q & A-inlägg försöker rensa förvirringen för en nyfiken läsare.
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Bild med tillstånd av Wikipedia .
Frågan
SuperUser-läsaren user2449761 vill veta mer om behovet av Ethernet / MAC-adresser:
Jag förstår inte varför Ethernet / MAC-adresser behövs. Visst kunde alla datorer bara anslutas till ett enhetligt nätverk och använda IP-adresser för att kommunicera?
Till exempel finns det följande mekanism i Ethernet:
- En dator med IP-adressen 192.168.1.1 (X.1) vill skicka ett paket till adressen 192.168.1.2 (X.2).
- X.1 använder ARP för att få MAC-adressen till X.2.
- För att göra det behöver X.1 skicka ett paket till alla datorer i nätverket och bara en kommer att svara.
- X.1 får en MAC-adress och skickar paketet.
Det skulle vara enklare att bara göra det i ett steg:
- X.1 skickar ett paket till alla datorer i nätverket och endast X.2 bearbetar det, de andra ignorerar det.
Min andra fråga är: Varför behövs IP-adresser om alla enheter har unika MAC-adresser?
Varför finns det behov av Ethernet / MAC-adresser?
Svaret
SuperUser-bidragsgivaren Paul har svaret för oss:
De olika nätverkslager finns där för att låta dem bytas mot olika tekniker. De två skikten du pratar om här är lager 2 och 3. Layer 2 i detta scenario är Ethernet - från vilket MAC-adresser uppstår och Layer 3 är IP.
Ethernet fungerar bara på lokal nivå mellan nätverksenheter som är anslutna till ett "datalänk" för ett sändningsnätverk, medan IP är ett routbart protokoll och kan rikta in sig på enheter i fjärranslutna nätverk.
Kraven för vart och ett av dessa lager är olika. Ethernet specificerar en familj av tekniker som gör det möjligt att sända och ta emot paket mellan nätverksenheter, medan IP definierar ett protokoll som tillåter datapaket att korsa flera nätverk.
Inget är beroende av det andra, vilket är det som ger nätverk dess flexibilitet. Du kan till exempel välja att ansluta till din internettjänst med IP över Ethernet, men i ditt interna nätverk kan du välja att använda IP över papper (där någon skriver ner innehållet i varje paket och fysiskt går över det till en annan maskin och skriver in det). Uppenbarligen skulle detta inte vara särskilt snabbt, men det skulle fortfarande vara IP förutsatt att den person som bär runt pappersbitarna respekterade IP-routningsregler.
I den verkliga världen finns det olika datalänkprotokoll som du redan använder (även om deras adresseringsscheman är desamma): 802.3 - Ethernet och 802.11 - Wi-Fi.
IP bryr sig inte om vad det underliggande lagret är. På samma sätt kan IP bytas ut mot olika nätverkslagerprotokoll (förutsatt att det händer för alla deltagare) som Asynkron överföringsläge (ATM) .
Det finns inget som direkt hindrar skapandet av ett protokoll som omfattar både lager 2 och 3, men det skulle vara mindre flexibelt, mindre attraktivt och därför osannolikt att det skulle användas.
Se till att läsa igenom resten av den livliga diskussionstråden via länken nedan!
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .