Come funzionano le porte con IPv6?


143

La notazione quad punteggiata IPv4 convenzionale separa l'indirizzo dalla porta con due punti, come in questo esempio di un server web sull'interfaccia di loopback:

127.0.0.1:80

ma con la notazione IPv6 l'indirizzo stesso può contenere due punti. Ad esempio, questa è la forma abbreviata dell'indirizzo di loopback:

::1

Come vengono espresse le porte (o il loro equivalente funzionale) in una rappresentazione testuale di un indirizzo IPv6 / endpoint della porta?

Risposte:



33

I protocolli utilizzati in IPv6 sono gli stessi dei protocolli in IPv4. L'unica cosa che è cambiata tra le due versioni è lo schema di indirizzamento, DHCP [DHCPv6] e ICMP [ICMPv6]. Quindi, sostanzialmente, tutto ciò che riguarda TCP / UDP, incluso l'intervallo di porte (0-65535) rimane invariato.

Modifica: la porta 0 è una porta riservata in TCP ma esiste. Vedi RFC793


6

Sono uguali, no? Ora sto perdendo la fiducia in me stesso, ma ho davvero pensato che IPv6 fosse solo un cambiamento di indirizzo. TCP e UDP sono ancora indirizzati in quanto sono in IPv4.


3
Non è solo un cambio di indirizzo. Dovrebbe portare alcune interessanti funzioni (ad esempio il multicast globale). Ma sì, è trasparente agli strati superiori.
Tarnay Kálmán,

4
È "solo" un cambio di indirizzo. Quello di cui stai parlando è indirizzare :) Ma il motivo che preoccupa / confonde le persone è che la progettazione della rete tratta "indirizzare" come indirizzi e "servizi" come numeri di porta. Ma non puoi fare nulla in TCP o UDP senza entrambi, quindi la maggior parte delle persone sta cercando di far funzionare l'indirizzamento a livello di socket e non capisce perché le persone continuano a inventare o modificare il delimitatore: spazi, quindi punti, quindi due punti, quindi segni di cancelletto? Quindi, sì, posso vedere IPv6 che rende le persone preoccupate.
benc,

6

Sono abbastanza certo che le porte abbiano solo una parte in tcp e udp. Quindi è esattamente lo stesso anche se si utilizza un nuovo protocollo IP


1
DCCP e SCTP hanno anche porte, ma le porte in SCTP sono leggermente diverse a causa dell'identificatore di associazione aggiuntivo.
James Woodyatt,

6

Wikipedia sottolinea che la sintassi di un indirizzo IPv6 include due punti e ha una forma abbreviata che impedisce l'analisi a lunghezza fissa, quindi è necessario delimitare la parte dell'indirizzo con []. Ciò evita completamente gli errori di analisi dispari.

(Tratto da una modifica che Peter Wone ha fatto alla domanda originale.)


5

Direi che il miglior riferimento è il formato per gli indirizzi IPv6 letterali negli URL in cui è definito l'utilizzo di [].

Inoltre, se è per la programmazione e il codice, in particolare Java, suggerirei di leggere Class for Inet6Address java / net / URL definition in cui l'utilizzo dell'indirizzo Inet4 nella connotazione Inet6 e altri casi sono presentati in dettaglio. Nel mio caso, l'indirizzo mappato IPv4 del modulo :: ffff: wxyz, per l'indirizzo IPv6 viene utilizzato per rappresentare un indirizzo IPv4 ha anche risolto il mio problema. Consente al programma nativo di utilizzare la stessa struttura di dati di indirizzo e anche lo stesso socket durante le comunicazioni con i nodi IPv4 e IPv6. Questo è il caso della configurazione predefinita delle caselle Linux cloud Amazon Amazon.

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.