Modelos de rede comuns
Camada de aplicação
Camada de transporte: TCP, UDP
Camada de rede: IP
Camada de link de dados
Camada física
Problema 1: protocolo TCP e protocolo UDP
TCP: 1. Antes de usar o protocolo TCP, uma conexão TCP deve ser estabelecida para formar um canal de dados de transmissão; 2. O método "handshake de três vias" é usado antes da transmissão, o que é confiável; 3. Uma grande quantidade de dados pode ser transmitida na conexão; 4. Após a conclusão da transmissão, a conexão precisa ser liberada, o que é ineficiente
UDP: 1. Encapsula dados, origem e destino em pacotes de dados sem estabelecer uma conexão; 2. Cada pacote de dados não pode exceder 64k; 3. Pode ser transmitido e enviado sem confirmação; 4. Não há necessidade de liberar recursos após o envio, eficiência Alto.
Pergunta 2: TCP handshake de três vias e quatro mãos onduladas
Handshake de três vias TCP
O primeiro handshake: o cliente envia um pacote syn = x para o servidor, syn: número de sequência de sincronização
O segundo handshake: o servidor aceita o pacote syn, gera um pacote de reconhecimento ack = x + 1 e envia seu próprio pacote syn = y, para que o servidor envie o pacote syn + ack e o status do servidor seja SYN_RECV
O terceiro handshake: o cliente recebe syn + ack e envia um pacote de reconhecimento ack = y + 1. Neste ponto, a conexão é estabelecida com sucesso e o cliente e o servidor estão no estado ESTABELECIDO
Quatro ondas de TCP
A primeira onda de mãos: o cliente envia FIN, que é usado para fechar a transmissão de dados do cliente para o servidor e, em seguida, aguarde a confirmação do servidor. O bit de sinalização de terminação FIN = 1 e o número de sequência seq = u.
A segunda onda: quando o servidor recebe esse FIN, ele envia uma confirmação, confirmando que a confirmação é incrementada em um.
A terceira onda: o servidor fechou a conexão servidor-cliente e enviou um FIN ao cliente.
A quarta onda: após receber o FIN, o cliente envia uma mensagem de confirmação para confirmar e define o número de sequência de confirmação seq como o número de sequência recebido mais um. A primeira parte a executar o desligamento executará um desligamento ativo, enquanto a outra parte executará um desligamento passivo.