Perché i creatori del protocollo Internet hanno deciso di utilizzare gli indirizzi IP per identificare un determinato computer? [chiuso]


10

Perché i creatori del protocollo Internet hanno deciso di utilizzare gli indirizzi IP per identificare un determinato computer?

Perché non solo avere un ID univoco assegnato a ciascun computer al momento della produzione, quindi utilizzare quell'ID per l'identificazione del computer?


3
Non c'è modo che funzioni nel mondo reale ...
Radu Murzea,

20
Ti piace l' indirizzo MAC ?
user694733

12
@JerryRockwell Ti rendi conto che anche gli indirizzi MAC, che si avvicinano di più a ciò che descrivi, possono essere falsificati? In altre parole, in quel mondo probabilmente ci vorrebbe solo un programma di utilità e un'ipotesi fortunata per ottenere un nuovo ID funzionante. D'altra parte, se i proxy e le VPN diventano davvero impossibili, anche molte persone oneste vengono fregate.

2
Questa domanda sembra essere fuori tema perché riguarda lo sviluppo del software come definito nel Centro assistenza . La tua domanda potrebbe essere più appropriata su superuser.com o serverfault.com
Philipp

2
L'indirizzo IP è un ID. Di solito cambia costantemente a causa dell'uso estensivo di DHCP.
Siyuan Ren,

Risposte:


34

L'IP non identifica un computer: un computer può avere più IP e un singolo IP può appartenere a più computer purché si trovino in reti diverse.

L'IP non è un identificatore, fa parte del routing. Identifica un endpoint. E deve essere configurabile in modo che un computer possa essere utilizzato in reti diverse: quando si cambia rete si cambiano gli indirizzi IP dei computer. Se questi fossero corretti, non si potrebbe avere il meccanismo di routing utilizzato nelle reti IP.

Ad esempio, il tuo nome potrebbe essere il tuo identificatore (fisso), ma il tuo indirizzo è il luogo in cui la posta viene recapitata. L'indirizzo è configurabile qui: se ti sposti, ottieni un nuovo indirizzo e chi si sposta nel tuo vecchio posto ottiene il tuo vecchio indirizzo. Se il nome di una via (configurazione di rete) cambia, cambia anche il tuo indirizzo. Ma il meccanismo di consegna rimane lo stesso.


2
In che modo ciò si collega alla domanda posta, "Perché i creatori del protocollo Internet hanno deciso"
moscerino

5
È un eccellente esempio con il nome (come MAC) e un indirizzo (come IP).
SerG,

Roba vera; ma la risposta non fa abbastanza per spiegare perché IP funziona meglio per il routing di ... non lo so. Qualunque altra cosa.
svidgen,

1
La domanda non era di spiegare come funziona il routing IP e come l'indirizzo IP ne faccia parte. Sebbene ci siano altre risposte che lo spiegano. Esistono altri modi di instradamento, non solo IP.
Aragaer,

Vedere HIP (Host Identity Protocol, RFC4423) per un tentativo di aggiungere un livello per gli identificatori host (memorizzati come indirizzi IPv6) tra il livello di rete e il livello di trasporto.
ysdx,

22

Se ogni computer avesse un ID univoco, le tabelle dovrebbero includere tutte le rotte verso tutti i dispositivi su Internet. Questo non è pratico.

Ecco perché tcp / ip utilizza un approccio a più livelli.

Se il mio computer 1.1.1.1 vuole comunicare con 2.2.2.2, in pratica chiede al gateway di inoltrare il pacchetto, quindi comunica con: 1.1.1.0, ma anche quel gateway non sa dove sia 2.2.2.2, quindi chiede al suo gateway per inoltrare il pacchetto, il gateway 1.1.0.0 lo raccoglie e chiede 1.0.0.0. 1.0.0.0 non sa nemmeno dove sia 2.2.2.2, ma sa dove si trova 2.0.0.0 (nella sua tabella di routing) quindi la richiesta va giù perché 2.0.0.0 sa dove si trova 2.2.0.0 e inoltra il pacchetto, tutto questo fino a quando il pacchetto raggiunge 2.2.2.2

(Questa è una semplificazione ESTREMA di ciò che accade e può esserci una quantità di salti tra 1.0.0.0 e 2.0.0.0).

Questo approccio a più livelli con tabelle di routing consente di individuare in modo efficiente un altro computer in una rete. Ma significa anche che deve esserci un sistema senza l'ID univoco perché le tabelle di routing non possono contenere tutti gli ID e le rotte di tutte le macchine connesse a Internet.


11

Per lo stesso motivo il servizio postale utilizza indirizzi anziché nomi .

I servizi postali (e altri vettori di pacchi) non spediscono realmente pacchi alle persone. Spediscono in luoghi e lasciano che le persone in quel luogo individuino quale persona riceve effettivamente il pacco. Il motivo per cui lo fanno è che non puoi dire da dove proviene una persona solo dal suo nome e non puoi codificarlo nel nome senza renderlo modificabile .

Internet non utilizza solo un protocollo: in realtà impila diversi protocolli, uno sopra l'altro. Ci sono protocolli che utilizzano ID univoci, e risiedono nel livello più basso, chiamato il livello di collegamento . Ethernet (che utilizza indirizzi MAC) e PPP (che utilizza più comunemente i numeri di telefono) sono due esempi popolari di protocolli a livello di collegamento. Ma il livello di collegamento ha i suoi limiti: puoi ricevere un segnale solo tra computer che sono direttamente collegati tra loro , perché tutti devono già sapere dove si trovano tutti. Questo lo rende come le persone a destinazione del pacchetto: tutti si conoscono già, quindi possono risolvere tra di loro chi otterrà effettivamente il pacchetto.

L'IP risiede a un livello superiore, a livello di rete (a volte chiamato livello Internet ). Il compito dell'IP è quello di ottenere un segnale tra posizioni che non sono direttamente connesse . Altri hanno già aderito allo schema di routing gerarchico che utilizza, ma la maggior parte dei servizi postali ha utilizzato sistemi gerarchici simili da molto prima di Internet o persino dei computer. Lo fanno perché è il modo più semplice per identificare posizioni diverse e instradare le cose tra loro.

Ma computer e posizioni non sono la stessa cosa. I computer, come le persone, possono spostarsi tra luoghi diversi : ad esempio, è possibile spostare un laptop tra casa e luogo di lavoro. Più di un computer può risiedere in una determinata posizione : se si utilizza un router wireless a casa, è possibile che siano collegati più dispositivi, ma tutti condividono un singolo indirizzo IP per quanto riguarda il mondo esterno. È anche possibile che un singolo computer abbia più di un indirizzo , in determinate circostanze.

Internet deve essere in grado di gestire tutti questi casi. Per fare questo in modo semplice ed efficiente, usano indirizzi piuttosto che ID. In questo modo, l' IP non deve sapere o preoccuparsi di ciò che si trova su ciascuna estremità della connessione: c'è solo un segnale, un luogo da cui proviene e un luogo in cui trasportarlo . Altri protocolli nello stack possono occuparsi degli altri dettagli.


grande analogia ...
Charles Salvia,

2

L'indirizzo MAC è ciò che identifica un computer, o piuttosto il suo hardware di rete.

Quello che fa un indirizzo IP è descrivere dove si trova l'hardware. I router lo usano per capire dove instradare i pacchetti in modo che arrivino alla destinazione corretta.

Poiché un indirizzo MAC non cambia quando si sposta l'hardware, non è pratico utilizzarlo per l'instradamento, poiché ciò significherebbe essenzialmente che ogni router in tutto il mondo dovrebbe tenere traccia della posizione di ogni indirizzo MAC. Gli indirizzi IP funzionano nel modo in cui ogni router non necessita di informazioni complete sul destinatario per instradarli correttamente, sanno quale intervallo IP inviare dove. In questo modo, solo un router o switch reale deve sapere quale IP si trova esattamente dove. Ogni altro router necessita solo di un'idea molto generale.


1
questo sembra semplicemente ripetere i punti sollevati e spiegati nella risposta precedente
moscerino del

Mi chiedo perché gli indirizzi MAC debbano essere assegnati in modo univoco a livello globale, dato che anche l'assegnazione di indirizzi casuali a 32 bit sarebbe molto improbabile che causi collisioni su sottoreti che non hanno migliaia di macchine (la maggior parte delle sottoreti ne hanno meno di 100) e la risoluzione delle collisioni potrebbe essere gestita semplicemente facendo in modo che qualsiasi macchina che rilevi una collisione scelga casualmente un nuovo indirizzo; se non riesce a rispondere al vecchio indirizzo, la macchina che voleva comunicare tornerà ad ARP, troverà il nuovo indirizzo e tutto andrà bene.
Supercat,

1

Perché i creatori del protocollo Internet hanno deciso di utilizzare gli indirizzi IP per identificare un determinato computer?

Non l'hanno fatto. Identifica una connessione di rete, sebbene quella stessa connessione possa avere anche altri indirizzi IP.

Perché non solo avere un ID univoco assegnato a ciascun computer al momento della produzione, quindi utilizzare quell'ID per l'identificazione del computer?

Per prima cosa non identificano i computer come sopra.

Ok, dire che volevano farlo con le schede di rete. Avrebbero dovuto convincere tutti i produttori di adattatori di rete a utilizzare un identificatore di un set controllato dalle persone coinvolte in questo particolare piano di connessione delle reti che molte persone non pensavano avrebbe funzionato, prima che potesse funzionare. Buona fortuna.

Inoltre, questi produttori di hardware di rete non si preoccupavano del TCP / IP, si preoccupavano dei propri protocolli di rete e forse secondariamente di quelli con cui erano in competizione. In alcuni casi avere uno strato superiore che rendeva le differenze tra ad esempio ethernet, ALOHAnet, token bus, ecc. Era una cosa negativa per alcune tecnologie a lungo termine, perché rendeva meno utile ciò che avevano fatto (TCP / IP potrebbe farlo invece) e le persone alla fine potrebbero spostarsi su quelle che hanno fatto esattamente ciò di cui TCP / IP aveva bisogno e poco altro (come ha fatto Ethernet). TCP / IP era un cavallo di Troia per queste compagnie; giocare felicemente con loro, ma allo stesso tempo distruggere i loro affari. Perché dovrebbero aiutare.

Inoltre, alcune di queste tecnologie hanno preceduto TCP / IP e quindi non sarebbero in grado di interagire e TCP / IP non avrebbe potuto essere utilizzato su quasi tutti i tipi di rete.

Inoltre, quale indirizzo dove? La mia macchina attualmente ha un indirizzo di 192.168.1.24 (tra gli altri), che è anche usato da migliaia di altre macchine su altre reti. Non ho bisogno di un indirizzo univoco perché non sono collegato direttamente a Internet. Con IPv6 stiamo iniziando a passare a un punto in cui avremmo potuto avere un ID veramente unico per ogni macchina, se avessimo davvero voluto, ma prima di ciò faremmo entrambi limitando il numero (quattro miliardi probabilmente sarebbero sembrati molto dei dispositivi al momento, ma ciò richiederebbe una distribuzione molto stretta dei numeri, quindi in pratica ce ne sarebbero molti meno anche se fosse una preoccupazione realistica) e inutile; l'intero punto dell'IP non è la rete ma l'inter-rete, quindi dobbiamo preoccuparci solo di una rete alla volta quando si tratta di identificatori,


0

Ma con un ID univoco come MAC esiste ancora il problema di individuare il dispositivo in una rete. È impossibile avere tutti i dispositivi collegati tra loro e cercare la destinazione uno per uno su tutti gli host del mondo. È lo scopo dell'invenzione alcuni indirizzi gerarchici come IP.


questo sembra semplicemente ripetere i punti sollevati e spiegati nella risposta precedente
moscerino del

@gnat guarda il timestamp delle ultime modifiche.
SerG,

0

La chiave per comprendere il progetto originale del protocollo di rete è che le reti esistevano già e il piano era di unire le reti usando la tecnologia esistente come DECnet. Richiedere alle persone di aggiungere un nuovo hardware con un identificatore univoco lo avrebbe handicappato e non era necessario per alcun motivo tecnologico. Il sistema utilizzato consisteva nell'allocare un prefisso (come 8.0.0.0/24) a un'organizzazione, e quindi assumersi la responsabilità di tale organizzazione di assegnare indirizzi all'interno di tale intervallo.

Consente inoltre all'amministratore di assegnare più IP allo stesso computer (per il consolidamento dei servizi) o, in alternativa, di sostituire il computer ma continuare a utilizzare lo stesso indirizzo IP o utilizzare lo stesso indirizzo IP su una rete di test separata, e così su. Legare a un determinato hardware sarebbe limitativo.

Ethernet utilizza gli indirizzi MAC per distinguere i nodi sulla stessa LAN, ma Ethernet post-data Internet e ne trae ispirazione: http://inventors.about.com/library/weekly/aa111598.htm rivendica non prima del 1973, mentre i primi RFC su Internet risalgono al 1969 ( http://www.ietf.org/download/rfc-index.txt ), all'incirca nello stesso momento degli sbarchi sulla luna.

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.