Da quello che posso dire, ogni processo potrebbe ottenere il proprio indirizzo IP, con un sacco di IP da risparmiare.
Quali sarebbero gli svantaggi?
In sostanza, il tuo host diventerebbe un router e ogni processo è un host (nel sistema attuale).
Da quello che posso dire, ogni processo potrebbe ottenere il proprio indirizzo IP, con un sacco di IP da risparmiare.
Quali sarebbero gli svantaggi?
In sostanza, il tuo host diventerebbe un router e ogni processo è un host (nel sistema attuale).
Risposte:
IPv6 non ha uno standard NAT come IPv4 (NAT rompe la premessa end-to-end di IP e IPv6 è stato progettato per ripristinarlo). Esiste un RFC sperimentale per NAT IPv6, ma è un NAT one-to-one a livello di rete, piuttosto che qualcosa come il NAPT IPv4 che traduce anche gli indirizzi delle porte e, di fatto, il NAT RFC IPv6 sperimentale proibisce espressamente che .
Se si pensa ai vari protocolli di trasporto, TCP e UDP utilizzano le porte, che in realtà sono indirizzi per quei protocolli di trasporto. Altri protocolli di trasporto possono utilizzare altri indirizzi e alcuni non utilizzano indirizzi.
La tua idea potrebbe funzionare con TCP o UDP, ma solo con uno, e probabilmente non con altri protocolli di trasporto. IPv6 è privo di connessione, come UDP, quindi potrebbe funzionare con UDP, ma TCP è orientato alla connessione e svolge molto lavoro che altrimenti dovrebbe essere eseguito dall'applicazione.
Esistono requisiti per i protocolli di trasporto sia senza connessione che orientati alla connessione. Il predecessore di IPv4 aveva effettivamente l'equivalente di IP e TCP come protocollo singolo, ma è diventato necessario dividerli perché alcuni protocolli di trasporto devono essere senza connessione.
Uno svantaggio è che i livelli superiori dovrebbero essere consapevoli degli indirizzi IP, che in qualche modo violano il principio di stratificazione. Cosa succederebbe se passassi a IPv4? O qualcos'altro?
In che modo i livelli superiori direbbero al livello di rete che dovrebbe iniziare a rispondere a un indirizzo IP? Supponiamo che venga avviata una nuova applicazione. Come fa il livello di rete a sapere che c'è un nuovo indirizzo a cui rispondere?
IPv6 potrebbe teoricamente eliminare NAT, ma ci sono ancora ragioni per cui un'organizzazione potrebbe voler nascondere i suoi indirizzi IP interni.
La necessità di NAT come modo per condividere indirizzi IP pubblici sarà eliminata con IPv6, ma i NAT potrebbero ancora avere alcuni usi per motivi di sicurezza.
La rimozione dei porti potrebbe essere teoricamente possibile, ma sarebbe un'impresa enorme. Anche se riservi gli ultimi 16 bit dell'indirizzo IP per il numero di porta + 1 bit per il flag TCP / UDP, dovrai rielaborare tutto il software che decomprime il pactet dal 3 ° livello al 4 ° per usare i bit dall'IP indirizzo per numero di porta e protocollo, anziché dati nel pacchetto.
E questa è la soluzione "semplice" quando si inseriscono i nubmer delle porte nell'indirizzo IP, se si desidera eliminare del tutto i numeri di porta, è necessario modificare tutti i software e le librerie che utilizzano porte, siano essi server, client, firewall , ecc. ecc. Sarebbe sostanzialmente impossibile, ogni software che dice "apri server sulla porta X" che funzionerebbe bene quando si passa da IPv4 a IPv6 si romperà all'istante se si rimuovono del tutto le porte.
È infinitamente più semplice mantenere le porte.
Non sarebbe IPv6. Un tale sistema è ovviamente fattibile, ma sarebbe una variazione del protocollo IP. Oggi, gli IP contengono due parti: un identificatore host e un identificatore di servizio.
Con il tuo schema, sarebbe essenzialmente un descrittore di servizio. Ciò richiederebbe modifiche al DNS (ad es. Come si fa a distinguere tra il server SMTP per esempio.com e il www server per esempio.com?)
Non riesco a vedere come sarebbe utile rispetto al sistema odierno con host: descrittori di servizio. Oggi non raggiungerebbe nulla di impossibile.
Come altri hanno già detto, avere i numeri di porta è un requisito, anche se finiscono per essere "codificati" nell'indirizzo IP del servizio.
Alcune applicazioni richiedono più di un numero di porta. Ad esempio, la maggior parte dei server Web necessita delle porte 80 e 443 (e forse un'altra porta per websocket o altro). Un tale sistema avrebbe bisogno di tre indirizzi IP con porte codificate. Mentre abbiamo un sacco di IP, significherebbe (al momento) che sarebbe necessaria una configurazione a livello di sistema per supportare quei tre numeri di porta. L'uso di un numero di porta separato significa che le app possono semplicemente avviarsi e utilizzare le porte senza che sia necessario il sysadmin per eseguire prima alcune operazioni di configurazione. Come altri hanno già detto, è più semplice utilizzare un numero di porta.
Per quanto riguarda NAT, sì, IPv6 dovrebbe rimuovere la necessità di NAT in quasi tutti i casi. Alcuni casi rimangono tuttavia, quindi probabilmente non scomparirà del tutto, ma è probabile che un uso diffuso diminuisca in modo significativo.
Gli indirizzi IP e le porte, sebbene generalmente visti insieme, svolgono compiti molto distinti. Gli indirizzi IP vengono utilizzati per indirizzare specificamente il traffico al computer e i numeri di porta vengono utilizzati dalle applicazioni.
Un'ottima analogia è l'invio di posta a un condominio. L'indirizzo dell'edificio sarebbe equivalente a un indirizzo IP e i numeri di unità sarebbero analoghi a un numero di porta. Per questa analogia diremo che l'indirizzo dell'edificio è 127 Home Ave. Supponiamo che tu voglia inviare una lettera a Henry TT Peterson, quindi invii una lettera all'edificio, non la riceve perché ha bisogno di ulteriori indicazioni per il suo appartamento , appartamento 80.
In teoria, l'indirizzo IPv6 potrebbe prendere il posto sia degli indirizzi IPv4 sia dei numeri di porta, tuttavia ciò viola i precedenti consolidati della rete e ci sono alcuni svantaggi principali:
Per quanto riguarda NAT, questo è stato creato per 2 motivi, c'erano già preoccupazioni che il mondo stesse esaurendo (o si sarebbe esaurito) gli indirizzi IP pubblici, che è stato enormemente alleviato consentendo alle organizzazioni e persino alle reti domestiche una quantità incredibile di indirizzi IP che possono essere utilizzati internamente e consentono a macchine importanti di essere "nascoste" dal mondo (come il database con informazioni sensibili su di esso o il laptop del CEO)
Spero che questa spiegazione sia stata utile; vedi, sia i numeri NAT che quelli delle porte sono una buona cosa , non vorremmo sostituirli con IPv6 perché è un enorme passo indietro, se qualcosa vorremmo davvero espanderli o sostituirli con qualcosa di ancora migliore