comunicação de rede day35

Conteúdo de hoje:
camada de transporte tcp \
camada de aplicação udp : o
protocolo pode ser personalizado = "cabeçalho + parte dos dados
http https ftp



Computador com protocolo de cinco camadas 1: computador 2:

Camada de aplicação

soquete soquete

Segmento de camada de transporte camada de transporte camada de
rede camada de rede camada de
link de dados camada de link de dados de camada camada
física <=========== máquina interativa ===========> camada física


O software cliente envia o software do servidor
sistema operacional recv sistema operacional
hardware do computador <==== mídia física =====> hardware do computador

 

cabeçalho ethernet + cabeçalho ip + cabeçalho tcp + cabeçalho da camada de aplicação + dados da camada de aplicação

# 一: Camada de transporte tcp \ udp =》 Com base na porta
O intervalo de portas 0-65535, 0-1023 é ocupado pelo sistema
ip + port =》 Identifica um aplicativo exclusivo baseado na comunicação de rede no mundo


Antes da comunicação baseada no protocolo tcp: um link para comunicação bidirecional deve ser estabelecido
C --------------------> S
C <------------ -------- S

Handshake de três vias para estabelecer um link: o
estabelecimento do link é para se preparar para a transmissão de dados, handshake de três vias

Quatro ponteiros para desconectar o link Ao
desconectar o link, deve haver quatro desconexões devido à transmissão de dados no link

tcp é transmissão confiável.O
envio de dados deve ser concluído após a confirmação da outra parte e, em seguida, os dados em sua própria memória serão limpos, caso contrário a retransmissão

ps: quando o servidor está no estado TIME_WAIT, isso significa que o servidor está enfrentando alta simultaneidade


Pool de semi-conexão TCP:
lista pendente
[solicitação de link 1, solicitação de link 2, solicitação de link 3, solicitação de link 5]

# 2: Camada de aplicação: o
protocolo pode ser personalizado = "cabeçalho + parte dos dados
Os problemas que precisam ser prestados atenção no protocolo personalizado:
1. Dois componentes principais = cabeça + parte dos dados
Cabeçalho: coloque as informações de descrição dos dados
, como: Para quem, o tipo de dados, o comprimento dos
dados, a parte dos dados: os dados que você deseja enviar

2. O comprimento do cabeçalho deve ser fixo
porque o terminal receptor precisa obter informações detalhadas dos dados recebidos através do cabeçalho
http https ftp


Camada de comunicação de rede - Camada de
transporte Função da camada de transporte: Estabelecer comunicação porta a porta
Suplemento: intervalo de portas 0-65535, dos quais 0-1023 é a porta ocupada pelo sistema, não é recomendável usar o
protocolo tcp no intervalo de 0-1023 ao personalizar
Transmissão confiável (transmissão aberta de canal bidirecional), os pacotes de dados TCP não têm limite de comprimento, teoricamente podem ser infinitamente longos, mas para garantir a eficiência da rede, geralmente o tamanho dos pacotes de dados TCP não excede o tamanho dos pacotes de dados IP para garantir um único pacote de dados TCP Não há mais divisão.
O protocolo udp
não é uma transmissão confiável (apenas responsável pela transmissão, independentemente de a outra parte poder recebê-la), a parte "header" possui apenas um total de 8 bytes, o comprimento total não excede 65.535 bytes, basta colocar um pacote de dados IP.
mensagem tcp

tcp handshake de três vias e quatro mãos com ondulação (SYN = 1 ACK = 1)
handshake de três vias
'' ' handshake de
três vias é necessário para estabelecer um caminho de duas vias entre o cliente e o servidor.
1. O cliente envia uma mensagem SYN ao servidor solicitando o estabelecimento de uma conexão.Neste momento, o cliente está no estado SYN_SENT
2. O servidor retorna uma ACK ao cliente após confirmar e receber a mensagem SYN do cliente e também é
iniciada no cliente. estabelecer um pacote SYN pedido de ligação, então o servidor irá SYN_RCVD estado
3, o cliente recebe o servidor torna-se ESTABLASHED estado depois de voltar de uma resposta para o cliente representado servidor
canal do lado de serviço é estabelecida com sucesso, depois de receber Após a mensagem de solicitação transmitida pelo
servidor, um ACK também é retornado ao servidor para confirmação.Depois que o servidor recebe o ACK retornado pelo cliente, ele se torna ESTABLASHED.Finalmente
, o canal de transmissão do servidor para o cliente é estabelecido. O estabelecimento do canal bidirecional com o servidor foi concluído:
este é o handshake de três vias.
'' '

# Por que não pode ser um segundo aperto de mão? (Em resumo, o segundo handshake resultará em desperdício de recursos)
'' '
Se for um cenário de handshake bidirecional: o
cliente entra no estado de espera após o envio de uma solicitação de estabelecimento de conexão e entra no estado estabelecido após a confirmação do servidor.
O servidor também entra no estado estabelecido após o envio de uma mensagem de solicitação de estabelecimento de conexão de confirmação (independentemente de o cliente responder).
É assim, A chama B, A: Você pode me ouvir? B: Eu posso ouvir, tanto A quanto B pensam que a outra parte pode se ouvir.
Mas há uma situação em que Mai é ruim. A não consegue ouvir o discurso de B. Como resultado, A não recebe uma resposta de B, mas B pensa que A pode ouvi-lo, e
B estava esperando que A dissesse alguma coisa. .. Isso deixa B exaurido fisicamente e mentalmente.

O handshake de três vias: o
cliente entra em um estado de espera após enviar uma mensagem de solicitação de estabelecimento de conexão e aguarda o servidor retornar uma notificação
confirmando o estabelecimento da conexão No estado de espera, o
cliente recebe a mensagem de solicitação de confirmação enviada pelo servidor e a mensagem de solicitação de estabelecimento de conexão do servidor. Digite o estado estabelecido
e envie uma mensagem de solicitação de confirmação de conexão ao servidor. O servidor recebe a mensagem de confirmação do estabelecimento da conexão do cliente e insere R estabelecido
: Você pode me ouvir? B: Eu posso ouvir, você pode me ouvir?
A: Eu também posso ouvi-lo. (estabelecido) B: (estabelecido) Tanto A quanto B podem saber claramente que a outra parte pode se ouvir definitivamente

Obviamente, um aperto de mão de 4 vias ou de mão dupla também é possível, mas não é necessário, porque se a conexão for estabelecida por muito tempo, o efeito será bastante reduzido
'


SYN ataque de inundação
'' '
SYN ataque de inundação: acordo tcp é um homem bom, não importa o que o cliente, desde que o servidor envia a solicitação para o servidor para receber e vai tentar estabelecer o cliente, mesmo
então. O ataque de inundação SYN é usar um grande número de IPs virtuais para enviar solicitações ao servidor e desaparecer após o envio. Nesse momento, o servidor será
preenchido com um grande número de IPs virtuais e estará no estado de `SYN_RCVD`, fazendo com que o cliente real pense novamente. Não há como acessar o servidor
(semelhante a ter um grupo de mendigos bloqueando a porta de uma empresa, o que impede que os funcionários da empresa entrem na empresa)
'' '

Quatro mãos agitadas
# Ao desconectar o link, deve haver quatro desconexões devido à transmissão de dados no link


Comunicação de rede -
protocolo personalizado
na camada de aplicação Se você acha que o protocolo de outras pessoas é muito complicado na camada de aplicação, podemos personalizar o protocolo = "cabeçalho + parte de dados
# O protocolo personalizado precisa prestar atenção:"
''
1, dois componentes principais Parte = Cabeçalho + Parte dos dados
Cabeçalho: insira as informações descritivas dos
dados, por exemplo: para quem os dados devem ser enviados, o tipo de dados, o comprimento dos
dados, parte dos dados: os dados que você deseja enviar

2. O comprimento do cabeçalho deve ser fixo
porque o terminal receptor deve obter as informações detalhadas dos dados recebidos através do cabeçalho
''

# Protocolo da camada de aplicação: http https ftp

Acho que você gosta

Origin www.cnblogs.com/python--wang/p/12722750.html
Recomendado
Clasificación