Motivo sia per un indirizzo MAC che per un indirizzo IP


25

Se il mio computer ha un indirizzo IP, perché ha bisogno di un indirizzo MAC?


2
Per darti la risposta migliore, potresti espandere la tua domanda in modo da includere il motivo per cui pensi che non avresti bisogno di un indirizzo MAC se il tuo computer ha un indirizzo IP?
Brett Lykins,

1
Consiglierei di prendere un buon libro di base su Networking e leggerlo; ne varrà la pena. Risponderà a questa domanda ea molte altre: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/…
Manoj Pandey,

4
Sembra un po 'snarky, ma è il modo più semplice per ridurre la confusione. Perché hai inserito una scheda di rete Ethernet nel tuo computer? Rispondi a questa domanda e risponde alla domanda sulla necessità di un indirizzo mac.
Mike Pennington,

4
@Reprovo, l'unico posto in cui commenti / risposte fanno davvero questa affermazione è quando l'OP risponde alla risposta di Teun Vink con il desiderio di evitare modelli di rete nelle risposte. Se non conosci il perché e il come dei modelli di rete, non capisci davvero la tua rete e "portare a termine il lavoro" sarà molto più doloroso o creerà ulteriori problemi. Esistono molte cose che non è necessario conoscere come professionisti della rete (ad esempio, come i bit vengono inseriti sul filo, ecc.), Ma i modelli di rete non sono qualcosa che possono evitare di ottenere almeno una comprensione di base.
YLearn

2
@ user1369975, penso che manchi il punto. Non stiamo dicendo che la domanda non sia valida, né stiamo dicendo che le persone non hanno bisogno di imparare. Tuttavia, questo è un sito per ingegneri di rete / professionisti e chiedere di inquadrare una risposta qui ignorando le basi di base della rete non è ragionevole. Se vuoi una risposta non indirizzata ad altri professionisti della rete, dovresti chiederla su uno degli altri siti come SuperUser .
Impara

Risposte:


13

senza entrare nel modello OSI, livello TCP, ecc .:

Indietro nel tempo, sono state create reti: alcuni computer avrebbero comunicare tra loro per condividere qualcosa. Per farlo, hanno bisogno di sapere chi stava parlando e con chi si stava parlando. Quindi, invece di assegnare un nome a ciascun computer, abbiamo assegnato loro un ID. Questo ID si chiama indirizzo MAC, deve identificare in modo univoco ogni computer.

(ok, identifica ogni scheda di rete, ma a quel tempo, potresti pensare un indirizzo MAC per ogni computer).

Non c'era una specifica unica su come i computer si sarebbero scambiati l'un l'altro: apparvero molti protocolli: TCP / IP, IPX / SPX e così via. Ogni protocollo avrebbe specificato le cose come pensavano fosse ok. Ad esempio, IPX / SPX indirizzerebbe ogni computer utilizzando l'indirizzo MAC e alcune ulteriori informazioni.

Ma il protocollo TCP / IP è stato progettato in modo leggermente diverso: hanno deciso che avere un indirizzo virtuale, composto da 4 byte (da 0.0.0.0 a 255.255.255.255) era abbastanza ed era ancora più facile da gestire: non importa se le tue schede di rete hanno tutte un indirizzo MAC simile oppure no, raggrupperemo il nostro computer in modo che tutti gli indirizzi TCP / IP che iniziano con 10.0.xx facciano parte del gruppo tecnico e quelli di 10.1.xx siano le stampanti e. ..

Quindi, se un indirizzo TCP / IP deve comunicare con un altro, utilizza solo l'indirizzo TCP / IP. Ma i dispositivi di rete devono sapere su quale scheda di rete sta andando quel messaggio, quindi, in qualche modo, traducono l'indirizzo TCP / IP con l'indirizzo MAC.

Perché non semplicemente eliminare il MAC e utilizzare invece solo TCP / IP?

alcuni motivi:

  • facile raggruppare gli indirizzi TCP / IP,
  • tutti i dispositivi sono costruiti per occuparsi dell'indirizzo MAC, in quel requisito di basso livello, e dovrebbero essere cambiati
  • nonostante sia la stragrande maggioranza (penso :-P), alcuni altri protocolli sono ancora in uso e si basano sull'indirizzo MAC

25

Gli indirizzi MAC e IP funzionano su diversi livelli della suite di protocolli Internet . Gli indirizzi MAC vengono utilizzati per identificare le macchine all'interno della stessa rete di trasmissione sul livello 2, mentre gli indirizzi IP vengono utilizzati sul livello 3 per identificare le macchine su reti diverse.

Anche se il tuo computer ha un indirizzo IP, ha ancora bisogno di un indirizzo MAC per trovare altre macchine sulla stessa rete (in particolare il router / gateway verso il resto della rete / internet), poiché ogni livello utilizza i livelli sottostanti. Nella pagina menzionata in precedenza puoi trovare alcuni diagrammi che spiegano in dettaglio la suite di protocolli.


, grazie mille per la risposta, ma sarebbe meglio se qualcuno potesse dare una risposta, senza entrare nelle specifiche del livello OSI o del livello TCP
user1369975

11
Se è troppo difficile, questo non è davvero il sito per te. Si potrebbe sostenere che questa domanda sia off-topic così com'è, dal momento che questa è considerata conoscenza comune per gli ingegneri di rete.
Teun Vink

11
@ user1369975, i modelli a cui si fa riferimento sono le strutture per il funzionamento delle reti (sia hardware che software). Senza quella comprensione di base, non ci sarebbe una risposta significativa alla tua domanda. Sarebbe simile a chiedere (a proposito di un cittadino americano), "se hanno un nome perché hanno bisogno di un numero di previdenza sociale" senza consentire la menzione del governo nella risposta.
Impara

5
Pensa a un indirizzo MAC come a una descrizione di una casa sulla tua strada. Ai tuoi vicini capiranno tutti "La serra" o "La casa del signor Johnsons" o "Il duplex all'angolo" - Questi sono paragonabili a un indirizzo MAC, descrittivo solo a livello locale. Un indirizzo IP è pubblicamente instradabile, quindi sarebbe come usare gli indirizzi completi: 123 Main St, Somewhere, CA 92069. Quindi suppongo che IP to MAC sarebbe come il postino che viene in strada e urla "CHI È A 123 MAIN? !?!?" e il signor Johnson sentendolo e dicendo "Ecco, la serra!" Suppongo? Analogia orribile.
David Houde,

3
Questo spiega perché è necessario data l'architettura attuale. Ma perché l'architettura è stata progettata in questo modo in primo luogo? Potrei facilmente immaginare un mondo in cui ci sono solo indirizzi IP locali e indirizzi IP WAN. È tecnicamente possibile.
Ciao mondo,

17

Quando capisci che la comunicazione da IP a IP è in realtà solo una serie di comunicazioni da MAC a MAC che avvengono su ciascun router router, allora capirai perché entrambi sono necessari.

L'intestazione IP di un pacchetto che lascia la workstation destinata a un IP in una sottorete diversa manterrà l'IP di origine e IP di destinazione, dimenticando per il momento il NAT. [Più avanti discuterò cosa succede quando la destinazione si trova nella stessa sottorete.] L'intestazione Ethernet contiene il MAC di origine e il MAC di destinazione del gateway predefinito. Non c'è conoscenza del MAC di destinazione finale dal tuo punto di vista. Quel primo router riscriverà il MAC di origine su se stesso e il MAC di destinazione sull'hop router successivo, e così via, fino a quando il pacchetto arriva all'ultimo router direttamente collegato alla sottorete di destinazione.

Per tentare una semplice illustrazione, considera le intestazioni L2 / L3 mentre un pacchetto si sposta dall'IP di origine (sIP) a un IP di destinazione (dIP) e i MAC di origine e destinazione vengono riscritti lungo il percorso - fs = first-source e ld = last-destination e r1-r3 sono router:

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

Eventuali switch L2 coinvolti non modificheranno gli indirizzi MAC.

Ora per comunicare con un altro IP all'interno della tua sottorete, è necessaria la comunicazione MAC diretta, ma per ottenere quell'add MAC è necessario il protocollo ARP che utilizza una trasmissione nella sottorete per trovarlo. A proposito, è così che la tua workstation ottiene l'indirizzo MAC del tuo gateway predefinito che deve esistere nella tua stessa sottorete.


3
Quindi, per riassumere, MACè ciò che porta il messaggio da un hop all'altro, mentre l'IP tiene traccia dell'origine e della destinazione originali. Questo sembra analogo a un ufficio postale, dove rivolgo la mia lettera alla nonna a Phoenix, ma il postino che lo prende dalla cassetta postale si preoccupa solo di portarlo all'ufficio postale, e l'ufficio postale si preoccupa solo di portarlo allo smistamento centro ecc ...
CodyBugstein,

3
La mia domanda però è: perché avere un protocollo separato per MAC? Perché non solo determinare il prossimo indirizzo IP su cui saltare e archiviare gli IP di origine / destinazione attuali insieme agli IP di origine / destinazione originali?
CodyBugstein,

@Imray: il primo problema con l'eliminazione del protocollo MAC richiede una riprogettazione / riscrittura degli standard Ethernet e TCP / IP. In secondo luogo, IP non è l'unico protocollo su L3 che utilizza gli indirizzi MAC su L2 per comunicare. In terzo luogo, gli indirizzi MAC sono normalmente legati agli indirizzi hardware (burn-in) delle schede di rete, mentre l'IP di livello superiore può essere in qualche modo arbitrario per la flessibilità. In quarto luogo, i MAC sono rilevanti solo a livello locale mentre gli IP sono rilevanti a livello globale (non considerando le modifiche più recenti con NAT e indirizzi privati ​​che non facevano parte del progetto originale).
generalnetworkerror,

14

Non c'è nulla che ti impedisca fisicamente di progettare una rete che ha solo un indirizzo IP per L2 e L3. Quindi 'switch ethernet' apprenderebbe l'indirizzo SIP dei pacchetti in entrata e si inonderebbe o inoltrerebbe verso l'indirizzo DIP.

Tuttavia, questa rete supporterà sempre l'IP, quando arriverà la prossima generazione di IPvX, non funzionerebbe, poiché lo "switch ethernet" non potrebbe supportare quel protocollo. Inoltre, non puoi eseguire vari altri protocolli, come IPX e AppleTalk, o alcuni nuovi protocolli che stai sviluppando e testando a casa tua.

Gli strati di astrazione aumentano la velocità di sviluppo e incoraggiano l'innovazione, poiché non è necessario ricostruire l'intera casa per cambiare finestra.

Ora avresti potuto eseguire gli stessi switch Ethernet e migrare la tua rete tra IPX, IPv4 e IPv6, senza toccare affatto la tua LAN.


Non c'è nulla che ti impedisca fisicamente di progettare questa rete, oltre a questi componenti, che esistono solo nella tua immaginazione: A) uno switch Ethernet che apprende gli indirizzi IP di origine B) una scheda di rete Ethernet senza un indirizzo mac
Mike Pennington

3

L'indirizzo IP e l'indirizzo MAC hanno scopi diversi (ma cruciali):

L'indirizzo MAC ottiene un frame da una scheda NIC alla successiva. L'indirizzo IP ottiene un pacchetto da un computer al server

Quindi, dato il seguente:

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

Ciò che dirige il pacchetto da "Origine" a "Destinazione" è l'indirizzo IP. Ma ciò che ottiene il pacchetto dal computer di origine a RouterA, quindi da RouterA a RouterB, quindi da RouterB a Destinazione sono gli indirizzi MAC.

Puoi vedere la relazione in questa illustrazione:

Pacchetti di viaggio - Come si spostano i pacchetti attraverso Internet - pracnet.net/pt


Ovviamente, è molto comune che i collegamenti router-router utilizzino un protocollo che non ha indirizzi MAC.
Ron Maupin

@RonMaupin Sì. Ovviamente. Ma ... come è rilevante data la domanda posta specificamente sugli indirizzi MAC =)?
Eddie,

Sembra solo che la tua risposta implichi che ci sarà un indirizzo MAC assegnato ad ogni hop, il che può essere fuorviante. Funziona anche se il diagramma mostra gli indirizzi MAC solo sul primo e sull'ultimo hop. È un po 'incompleto, motivo per cui ho fatto il commento.
Ron Maupin

1

Il protocollo IP fornisce le basi per supportare la nozione di sottoreti e routing . Questo significa che l'IP non presume che la tua destinazione sia nella stessa rete; in caso contrario, il tuo traffico deve essere inoltrato attraverso un dispositivo intermedio come un router. IP ha campi TTL / Hop Limit e tali che lo supportano.

Ethernet presuppone che il MAC di destinazione sia direttamente raggiungibile quando i dati vengono spediti dalla sua interfaccia. La rete Ethernet è stata originariamente progettata quando il modo più comune per collegare i computer in una rete era attraverso una topologia di bus fisico. Anche se quasi tutto il traffico Ethernet cablato viene commutato ora, logicamente funziona ancora come una topologia di bus. Quindi il presupposto di base con Ethernet è che il nodo con il MAC di destinazione si trova fisicamente sulla stessa rete. Non esiste tale presupposto con IP.

Immagino che potresti "hackerare" Ethernet nel fare sottoreti e routing, ma potresti anche progettare un protocollo che non si basa sui dettagli e sui presupposti di basso livello di Ethernet, ed è per questo che abbiamo IP.


0

Per essere il più semplice possibile:

Un indirizzo Mac è l'indirizzo fisico o virtuale della scheda NIC o dell'interfaccia di rete. Dal punto di vista di una rete, è l'indirizzo fisico della scheda NIC di quel computer. È usato per portare informazioni a quel computer sul Livello 2 del modello OSI.

L' indirizzo IP è richiesto al livello 3. È necessario che comunichi con i computer su diverse sottoreti e dispositivi. L' indirizzo IP verifica "dove" si trova il dispositivo all'interno di una rete.

Gli indirizzi IP e gli indirizzi Mac vengono utilizzati in tandem. Il protocollo di risoluzione dell'indirizzo viene utilizzato per collegare i due elementi risolvendo gli indirizzi IP agli indirizzi Mac all'interno del livello di collegamento all'interno di una singola rete.

Potresti voler controllare anche qui per una spiegazione più approfondita.


1
Semplificando: se hai un nome, ti identifichi nella località. Devi avere un SSN, per tenerti identificato a livello globale
pulsarjune

-2

L'indirizzo MAC rappresenta quelli hardware che ha assemblato è che i sistemi costanti e diversi nella nostra rete realizzati da diversi fornitori hanno una gamma molto diversa di mac addrees in modo che siano difficili da organizzare come rete. Ma utilizzando gli indirizzi IP possiamo sistemare i dispositivi nella nostra rete in arange ovvero indirizzi simultanei. Inoltre non possiamo inviare i nostri componenti aggiuntivi a reti esterne


-2

Per cominciare, questa è un'ottima domanda, che tocca le basi della rete di base. La linea di fondo per la tua domanda è che non abbiamo davvero bisogno di un indirizzo MAC per raggiungere la connettività. Teoricamente, una rete potrebbe essere costruita implementando solo indirizzi IP! Tuttavia, alcune difficoltà pratiche possono derivare dall'utilizzo di un tale schema. Se si prevede di assegnare manualmente un indirizzo IP a ciascun dispositivo di rete, è possibile evitare le principali insidie. Tuttavia, se è necessario assegnare automaticamente gli indirizzi IP, come quando ci sono troppi nodi di rete da amministrare manualmente, allora non c'è modo di assicurarsi che a ciascun nodo sia assegnato esattamente un singolo indirizzo IP, o un numero predeterminato, perché non possono distinguere l'uno dall'altro, a meno che l'entità di distribuzione dell'indirizzo non sia in grado di identificare in modo univoco e inequivocabile il dispositivo richiedente, ad es. dal suo indirizzo MAC, che si presume sia univoco per qualsiasi dispositivo in una LAN. Un dispositivo così non identificabile può richiedere ripetutamente indirizzi IP aggiuntivi e, infine, provocare danni alla vitalità della rete. Tornando all'argomento, tutto ciò che serve per stabilire una rete solo IP, è lasciare che il livello di collegamento dati dell'adattatore di interfaccia di rete passi attraverso qualsiasi frame di dati che riceve, direttamente al livello di rete, indipendentemente da qualsiasi tipo di indirizzo MAC comparabile, dove può essere filtrato in base all'indirizzo IP di destinazione, anziché essere filtrato a livello di dati. Giusto per illustrare il concetto, supponiamo che una rete sia stabilita collegando le porte UART RS-232: i dispositivi UART non hanno indirizzi MAC o qualsiasi altro identificatore univoco, tuttavia, è possibile costruire una rete locale utilizzando UART e indirizzi IP solo, fornendo l'installazione dei driver UART corretti. Spero che questo passaggio ti abbia dato alcuni spunti sull'argomento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.