IPv6 sobre TCP ou TCP6

1

Meu entendimento é que

tcp6 is used for connections over IPv6 & tcp is used for connections over IPv4.

e

::ffff:127.0.0.1 is representing IPv6 address which is mapped to IPv4 address.

Mas quando eu uso o netstat para encontrar conexões abertas em uma porta como netstat -anp | grep 31210

Eu recebo saída como

tcp 0 0 ::ffff:127.0.0.1:64876 ::ffff:127.0.0.1:31210 ESTABLISHED 23755/java

O que significa que a comunicação IPv6 é feita usando tcp.

Como isso é possível?

    
por Batty 09.12.2016 / 06:29

1 resposta

4

Procotols TCP4 ou TCP6 não existem. Eles podem ser usados como uma abreviação para indicar respectivamente TCP com IPv4 e TCP com IPv6, mas isso é um abuso de linguagem - o protocolo usado é sempre TCP.

Devido à separação de camadas no modelo ISO / OSI, o segmento TCP (nível 4) é sempre o mesmo, seja acompanhando um pacote IPv4 ou IPv6 (nível 3).

A única coisa que muda no segmento TCP é o campo Checksum , calculado de acordo com RFC 793 para IPv4 e RFC 2460 para IPv6, pois o tamanho de um endereço IP difere entre as duas versões do protocolo . (Eu não tenho certeza se o campo Opções é usado de forma diferente também.) No entanto, ainda é o mesmo do TCP.

E sim, ::ffff:127.0.0.1 representa um endereço IPv4 (loopback, neste caso) mapeado para um endereço IPv6.

    
por 09.12.2016 / 08:13

Tags