Explicação detalhada da conexão do protocolo QUIC (2)

Índice

1: explicação RTT

Dois: conexão QUIC 1-RTT

Três: conexão QUIC 0-RTT


1: explicação RTT

        Antes de apresentar a conexão do protocolo QUIC, vamos aprender o que é RTT. RTT é a abreviatura em inglês de Round-Trip Time, que se traduz em tempo de ida e volta, que é o atraso de ida e volta. O cálculo do tempo é o tempo que decorre desde o momento em que o remetente envia os dados até o momento em que o remetente recebe a mensagem de confirmação do destinatário.

        O atraso RTT é geralmente determinado por três partes: o tempo de propagação do link, o tempo de processamento do sistema final e o tempo de cache e enfileiramento dos nós intermediários da rede, como roteadores. Em circunstâncias normais, o tempo de transmissão da mensagem e o tempo de processamento do aplicativo são relativamente fixos, mas os atrasos do RTT podem flutuar sob condições de congestionamento da rede.

        O RTT é um dos indicadores importantes para medir o desempenho da transmissão da rede, que pode refletir a velocidade e a estabilidade da transmissão de dados na rede. Normalmente, quanto mais curto for o RTT, mais rápida será a velocidade de transmissão da rede e vice-versa. Portanto, monitorando o atraso RTT no TCP, podemos avaliar inicialmente o desempenho da rede. No entanto, deve-se notar que o atraso do RTT é apenas um indicador. Para avaliar de forma abrangente o desempenho da rede, é necessário realizar uma análise abrangente em conjunto com outros indicadores.

Dois: conexão QUIC 1-RTT

Vamos primeiro dar uma olhada no fluxograma do handshake QUIC no site oficial do Google

As etapas detalhadas são as seguintes:

(1) O cliente determina se todos os parâmetros de configuração do servidor estão disponíveis localmente. Nesse caso, ele vai diretamente para (5) para enviar um alô ao cliente, caso contrário, continue.

(2) O cliente envia a mensagem incipiente de hello do cliente (CHLO) para o servidor

(3) O servidor recebe o CHLO e responde com uma mensagem de rejeição (REJ), que contém a configuração do servidor do servidor, a chave pública DH de longo prazo, etc.

(4) O cliente recebe o REJ, extrai, autentica e armazena a configuração do servidor

(5) O cliente envia uma mensagem de saudação ao servidor e começa a se preparar para enviar pacotes de dados. A mensagem inclui o valor público DH do cliente. Neste momento, o cliente pode calcular a chave inicial com base nos parâmetros de configuração do servidor e no seu próprio valor público.

(6) O servidor recebe um alô do cliente. Se não concordar com a conexão, responderá REJ, o mesmo que (3); se concordar com a conexão, calculará a chave inicial com base no valor público do cliente e responda à mensagem de saudação do servidor (SHLO).SHLO usa A chave inicial é criptografada e contém o valor público DH temporário do servidor.

(7) O cliente recebe a resposta do servidor, se for REJ a situação é a mesma de (4), se for SHLO tenta descriptografar com a chave inicial e extrair o valor público efêmero DH.

(8) O cliente e o servidor calculam uma nova chave segura de encaminhamento com base na chave pública efêmera obtida

(9) Ambas as partes passam a usar comunicação de chave segura e o processo de handshake QUIC é concluído. O processo subsequente de atualização da chave de sessão é semelhante ao processo acima.

Fluxograma QUIC 1-RTT

Três: conexão QUIC 0-RTT

Depois que o handshake 1-RTT for estabelecido com sucesso, o handshake QUIC requer apenas 0-RTT. Um Client Hello completo pode não apenas carregar a mesma tag do Client Hello inicial, mas também conter SCID e outras informações.

O diagrama de interação completo é fornecido abaixo

Acho que você gosta

Origin blog.csdn.net/qq_27071221/article/details/132780411
Recomendado
Clasificación