resumo rede de computadores (a)

● Você falar sobre como garantir a confiabilidade do TCP, e brevemente estabeleceu conexão TCP e procedimentos de desconexão

resposta Referência:

TCP garante confiabilidade:

(1) número de sequência, o reconhecimento, tempo limite de retransmissão

Os dados chega no lado de recepo, o lado de recepção tem de enviar uma resposta de confirmação que indica o segmento de dados tiver sido recebido, irá ser descrito o número de reconhecimento e o número de sequência de dados seguinte tempo de que necessita para receber. Se o remetente enviou o atraso de resposta de confirmação não for recebida, pode haver uma perda de dados enviada, ela poderia ser a confirmação é perdida, em seguida, o remetente depois de esperar um certo tempo será retransmitido. Este tempo é geralmente de 2 * RTT (segmento de tempo de ida e volta) + um valor de deslocamento.

(2) o controlo da janela e de alta velocidade de retransmissão de controlo / retransmissão rápido (duplicado reconhecimento)

TCP usará controles de janela para aumentar a velocidade de transmissão, o que significa dentro de um tamanho da janela, não tem que esperar por uma resposta antes de enviar o próximo pedaço de dados, o tamanho da janela há necessidade de aguardar a confirmação e pode continuar a enviar dados para o máximo. Se você não usar controles de janela, cada um não recebeu o reconhecimento dos dados a serem retransmitidos.

Usando a janela de controlo, se o segmento de dados é perdido 1001-2000, por trás de cada transmissão de dados, continuará a enviar o número da confirmação 1001 como uma resposta, para receber os dados que representa o início de 1001, o fim de transmissão recebe três vezes se a mesma resposta, ele será retransmitido imediatamente, mas há uma situação que pode ser são recebidos dados, mas algumas respostas estão faltando, isso não vai ser retransmitido porque o remetente sabe que, se o segmento de dados é perdido, o receptor não vai deixá-lo, seria louco para lembrar ......

(3) Controlo de congestionamento

Se a janela é dado um grande final de envio contínuo envia grandes quantidades de dados pode resultar em congestionamento da rede (estamos usando a rede, o que você cabelo louco, o rendimento é tão grande, é claro, será bloqueada), e até mesmo causar a rede paralisia. Portanto, a fim de impedir que este controlo executa congestionamento TCP.

O arranque lento: Definir janela de congestionamento, iniciar o tamanho da janela para 1, depois de cada um receber uma resposta de confirmação (após um rtt), o tamanho da janela de congestionamento * 2.

Congestion Avoidance: Definir limite de início lento, geralmente são definidos para começar a 65536. Evitar o congestionamento é quando o tamanho da janela de congestionamento atinge o valor limiar da janela do congestionamento não aumentou, mas o aumento no adicionador (cada um aviso / cada RTT, o tamanho da janela de congestionamento + 1), a fim de evitar o congestionamento.

O tempo limite de retransmissão visto como segmento congestionada, o evento de retransmissão tempo, é preciso primeiro definir o limite de metade do tamanho da janela atual, eo tamanho da janela para o valor inicial de 1, e depois voltar a entrar no início lento.

retransmissão rápida: imediatamente retransmitido na cara 3 vezes repetido resposta de confirmação (controlo retransmissão de alta velocidade), representativas recebeu três segmentos, mas a um segmento antes que se perde, será.

Então, o primeiro limite é definido para metade do tamanho da janela atual, em seguida, o tamanho da janela de congestionamento para o tamanho do limiar início lento +3.

Isto pode ser conseguido: quando o tráfego TCP, mostrou um aumento gradual no throughput da rede, e de rendimento para reduzir o congestionamento com, e depois subir lentamente no processo, a paralisia da rede não ocorre facilmente.

estabelecimento de conexão TCP e desconexão:

 

 

 

Três vias aperto de mão:

1. O cliente SYN bit de marcação é definida como 1, um valor SEQ = J gerado de forma aleatória, e o pacote é enviado para o servidor, o cliente entra no estado SYN_SENT, à espera de confirmação do servidor.

2. O servidor recebe os dados do pacote do sinalizador de bits pedidos SYN = 1 conhecimento de cliente para estabelecer uma ligação, o servidor SYN e ACK bit sinalizador são definidos como 1, ack = J + 1, um valor gerado aleatoriamente SEQ = K, e os dados pacote para a solicitação de conexão para o cliente confirmar, servidor entra no estado SYN_RCVD.

3. Cliente recebe o reconhecimento, verificando se o ack J + 1, ACK é 1, então se o sinalizador ACK correto é definido como 1, ack = K + 1, eo pacote é enviado para o servidor, Server verifica ack se K + 1, ACK é 1, se estiver correta, a conexão é estabelecida, o cliente eo servidor entra estabelecida estado, completar a três vias aperto de mão, então você pode começar a transferir dados entre cliente e servidor.

Quatro onda:

Desde a conexão TCP é full-duplex, assim, cada direção deve ser desligado separadamente, este princípio é que quando uma tarefa é concluída envio de dados, enviando um FIN para encerrar a conexão nessa direção, mas meios recebe um FIN não há dados sobre o fluxo nessa direção, que já não recebe é de dados, mas ainda ser capaz de enviar dados através da conexão TCP até nessa direção também enviar um FIN. Em primeiro lugar vai ser o único a realizar perto activa, enquanto as outras executa uma estreita passiva.

1. Após a conclusão da transferência de dados, o processo de aplicação cliente faz um segmento de libertação de conexão e pára de enviar dados, o cliente entra FIN_WAIT_1 estado, dados, em seguida, o cliente ainda pode receber enviada pelo servidor.

2. Depois que o servidor recebe a FIN, ACK enviada para um cliente, o número de reconhecimento é o número sequencial recebido + 1, o servidor insere estado ENCERRADO_ESPERA. FIN_WAIT_2 para o cliente após o recebimento de Estado.

3. Quando o servidor há dados para enviar, o servidor envia um pacote FIN, que o servidor entra no estado LAST_ACK, esperando a confirmação do cliente

4. cliente após o servidor recebe um pacote FIN, envia um pacote ACK para o servidor para confirmar o número de seqüência do número de seqüência recebido +1. Neste caso, o cliente entra no estado TIME_WAIT, esperando 2MSL (MSL: segmento máximo tempo de sobrevivência), e depois fechar a conexão.

● Por favor, responda sobre a diferença entre HTTP e HTTPS, HTTPS, e quais são as desvantagens?

resposta Referência:

HTTP diferenças de protocolo e protocolo HTTPS como segue:

1) o protocolo HTTP, no claro na rede de transmissão de dados, o protocolo de transmissão de dados é HTTPS criptografado por TLS, HTTPS ter uma segurança maior

2) HTTPS depois de três vias estágio handshake TCP, a necessidade de SSL aperto de mão e criptografada usando acordo chave de criptografia simétrica de

3) o protocolo HTTPS exige a solicitação de certificado do servidor, o navegador instalado certificado raiz correspondente

4) da porta 80 do protocolo HTTP, HTTPS porta de protocolo 443

HTTPS vantagens:

transmissão de dados HTTPS criptografada usando um processo-chave, assim que uma maior segurança

HTTPS protocolo pode autenticar o usuário eo servidor, certifique-se de enviar os dados para o usuário e servidor correto

HTTPS Desvantagens:

HTTPS handshake atraso de fase superior: Desde antes da sessão HTTP também precisa de um aperto de mão SSL, de modo HTTPS aumenta atraso protocolo de fase handshake

HTTPS custo de implantação: de um lado o protocolo HTTPS requer o uso de certificados para verificar sua segurança, por isso é necessário comprar um certificado CA; por outro lado, devido ao uso de HTTPS protocolo exige cálculos de criptografia e descriptografia, ocupando mais recursos da CPU, ou a necessidade de configuração do servidor um número elevado

● Você falar sobre HTTP código de retorno

mensagem de protocolo HTTP de resposta pela linha de estado, e o pacote de resposta em resposta ao corpo de cabeça, cujo código de estado de resposta global está descrito como se segue:

1xx: indicação informações - indica um pedido foi recebido, o processamento continua.

2xx: Sucesso - indica que o pedido foi recebido com sucesso, compreendidas, aceitas.

3xx: redirecionamento - para satisfazer o pedido deve dar um passo adiante.

4xx: Erro de cliente - A solicitação contém um erro de sintaxe ou um pedido não pode ser alcançado.

5xx: Erro do lado do servidor - O servidor não conseguiu alcançar um pedido legítimo.

códigos de status comuns, o estado descrito na descrição detalhada abaixo.

200 OK: A solicitação do cliente foi bem sucedida.

206 servidor de conteúdo parcial corretamente processou um pedido GET parcial ou HTTP implementadas simultaneamente baixar fatia, o pedido deve indicar o intervalo de até pedido, incluindo um cliente Gama obteve a desejada

300 escolhas múltiplas (redirecionamento opcional): uma série de recursos solicitados para a informação de feedback selecionado pelo navegador / usuário selecionar um deles.

301 movido permanentemente (redirecionamento permanente): O recurso foi movido permanentemente para um novo local, qualquer futuro acesso aos recursos tem que usar um dos vários URI essa resposta de volta.

302 mover-se temporariamente (redireccionamento temporário): agora o pedido de recursos temporário a partir de um URI diferente obtido em

304: não modificado: se o cliente envia uma solicitação GET e da condição pendente pedido para ser autorizada através, enquanto o conteúdo do documento não é alterado, é devolvido 304, a resposta não contém inclusões (cache pode ser usado diretamente).

403 Proibido: servidor recebe o pedido, mas recusou-se a prestação de serviços.

● Você falar sobre o handshake de três vias TCP e quatro processo acenando e as razões

resposta Referência:

TCP de três vias aperto de mão é a seguinte:

C-> SYN -> S

S-> SYN / ACK-> C

C-> ACK-> S

 

razões handshake de três vias:

// Há três pontos de vista diferentes:

1. desperdício de recursos ponto de vista: citação de dúvidas "rede de computadores" e as soluções do exercício Xie Xiren

Três vias aperto de mão não conseguiu impedir o pacote de solicitação de conexão com o servidor de repente transportar o desperdício de recursos causadas pelo servidor. Por exemplo, o cliente envia um SYN, mas por causa do congestionamento da rede, o pacote SYN em um nó longa estadia. O cliente então retransmitidos SYN pacotes e estabelecer corretamente uma conexão TCP, e depois fechar a conexão Após a transmissão de dados. A falha de liberação de conexão após o pacote SYN para alcançar o servidor. Sob a premissa do segundo aperto de mão, o servidor vai pensar que este é um iniciado pelo cliente outro pedido, e em seguida, enviar SYN e criar Socket no lado do servidor, temos estado à espera para o cliente para enviar dados. No entanto, porque o cliente não iniciar uma nova solicitação, ele vai cair lado do serviço SYN. Neste ponto, o servidor cliente aguarda para enviar dados, resultando em desperdício de recursos.

2, a confiabilidade do julgamento:

Outra querer determinar se os dois canais desobstruída, você deve usar três transmissão e receber pacotes, ou seja, três vias aperto de mão: "A essência do problema é que o canal não é confiável, a comunicação vai exigir um duplo questão concordar. e para resolver este problema, se você que informação está contida na mensagem, a comunicação é três vezes o valor mínimo teórico. modo TCP de três vias aperto de mão não é um requisito, por si só, mas para atender o "canal confiável não confiável transmissão de informações ", a demanda causado. 

Três é para garantir que as partes podem receber claro o outro pode ser feita do valor mínimo. Em teoria, não importa quantas vezes o aperto de mão não pode confirmar o canal é um "confiável", mas pode ser confirmado por pelo menos handshake 3-way que está "disponível", e então mais adiante para melhorar os apertos de mão acrescentou, mas "ele está disponível." Esta conclusão de credibilidade. Além transmissão mais confiável Tcp é contar com mecanismos de retransmissão para garantir a

3. Número de sequência inicial:

TCP estabelecimento da conexão aperto de mão, em essência, é estabelecer um link de comunicação bidirecional confiável, enquanto a frente e para trás, cada lado vem retransmissão tempo limite de garantir a confiabilidade (e não pelo número de apertos de mão). TCP de três vias aperto de mão é o resultado de otimização, de fato, deve ser um aperto de mão de 4 vias para estabelecer uma conexão, porque é baseado em zero, de modo que a SYN ACK eo passivo aberto SYN fundidos em um SYN-ACK.
Aperto de acção, destina-se a determinar o número de sequência inicial bidireccional dois, TCP número de sequência para a transmissão acesso byte de compilação, porque está ligado a ambos os sentidos, é necessário para dois números de sequência, não transmitem qualquer procedimento byte aperto de mão, determinar, de um número de sequência inicial.

TCP de quatro acenou como se segue:

C-> FIN> S

S-> ACK-> C

S-> FIN> C

C-> ACK-> S

 

Quatro razão de ondulação: uma vez que o controlo apertado da ligação na camada de aplicação , o passivo fechada ao receber um dos pacotes FIN, pilha TCP envia um ACK reconhecimento directo, a prioridade da extremidade fechada da comunicação. Em seguida, informar a camada de aplicação, a camada de aplicação decidir quando enviar pacotes FIN. A função da camada de aplicação utiliza uma chamada de sistema para ler == 0 determina se o par fecha a ligação. (Essa iniciativa fora do partido não enviar dados após o envio FIN, mas também pode ter de aceitar dados)

● Será que o aperto de mão tcp Por que não duas? Por que não quatro?

Dois não: tcp é uma comunicação full duplex, em dois sentidos aperto de mão só determinam o link de comunicação de dados é, não garante um reverso comunicação normal

Não quatro:
Originalmente apertar as mãos e acenou, como toda a necessidade de ser confirmada em ambas as direções pode Unicom tem sido o modelo deve ser:
1. O cliente envia para o servidor syn0
2. O servidor recebe syn0, resposta ACK (syn0 + 1)
3 servidor envia SYN1
4. cliente recebe SYN1, responder ack (SYN1 + 1)
como TCP é full duplex, os quatro dados superiores confirmada em ambas as direções pode ser chegado corretamente, as etapas 2 e 3, mas não há nenhuma cima e para baixo as ligações que podem ser combinados para acelerar a eficiência do aperto de mão, tudo se torna um aperto de 3 vias.

● Você olha para o controle de congestionamento TCP?

resposta Referência:

Manter remetente chamado congestionamento janela cwnd (janela de congestionamento) variável de estado. tamanho da janela de congestionamento depende do grau de congestionamento da rede, e que muda dinamicamente. O remetente envia a janela para fazer a sua janela igual congestionamento, tendo em conta a capacidade de recepção do destinatário, janela de envio pode ser menor que o congestionamento janela. (Ou seja, a capacidade de receber e janela janela de transmissão de congestionamento igual ou menor do destinatário) idéia do algoritmo de início lento é, não iniciar o envio de grandes quantidades de dados, para detectar o nível de congestionamento da rede, ou seja, de pequeno a grande gradualmente aumentar o tamanho da janela de congestionamento.

tamanho processo cwnd cresce exponencialmente até que excede o limiar de início lento, em seguida, entram na fase de evitar o congestionamento, o tamanho do crescimento linear de cwnd quando (três ACK duplicado ou um tempo de espera) quando existe congestionamento da rede, o limiar de início lento é configurado para aparecer tempo de congestionamento metade do tamanho, tamanho cwnd re-entrou no início lento de zero.
retransmissão rápida e recuperação rápida: requisitos de retransmissão rápida emitidos pelo destinatário imediatamente repetida confirmação (a fim de permitir que o remetente para saber o mais cedo possível segmento de não chegar ao outro lado) e não esperar até que eles enviam fora de ordem após o recebimento de um segmento verticalização dados. Especifica rápidos algoritmo de retransmissão, desde que o remetente receber três reconhecimentos duplicados consecutivos deve retransmitir imediatamente os outros segmentos ainda não receberam, ao invés de continuar a esperar para expirar o tempo de retransmissão temporizador set

 

Observe duas coisas:

algoritmo de controle de congestionamento 1. TCP tem quatro tipos, ou seja, o início lento, para evitar congestionamentos, retransmissão rápida e recuperação rápida

2. Após a implementação rápida recuperação rápida retransmitir ao invés de início lento. Quando 4 pontos, para não começar início lento, mas executa o algoritmo de recuperação rápida, o limiar e o tamanho da janela de congestionamento estão definidas para a janela de congestionamento atual / 2, e começar a implementar o algoritmo evitar congestionamento.

 

Acho que você gosta

Origin www.cnblogs.com/lfri/p/12444083.html
Recomendado
Clasificación