Fale sobre essas coisas na rede de computadores

Os blogs orientados para entrevistas são apresentados no estilo Q / A.


Question1: Qual é a arquitetura de rede OSI de sete camadas (ou arquitetura de rede TCP / IP de quatro camadas ou arquitetura moderna de rede de cinco camadas)?

Resposta 1:

Três métodos de divisão são possíveis, como mostrado na figura a seguir:
Insira a descrição da imagem aqui
Tomando o modelo OSI de sete camadas como exemplo, como mostrado na figura:

Insira a descrição da imagem aqui

  1. Camada física: define principalmente os padrões de equipamentos físicos, como o tipo de interface de cabo de rede, o tipo de interface de fibra óptica e a taxa de transmissão de vários meios de transmissão. Sua principal função é transmitir o fluxo de bits (ou seja, é convertido de 1, 0 para a intensidade atual da transmissão e, após atingir o destino, é convertido para 1, 0, o que chamamos frequentemente de conversão analógico-digital e conversão analógico-digital). Os dados nesta camada são chamados de bits.
  2. Camada de enlace de dados: os dados recebidos da camada física são principalmente encapsulados e decapsulados pelo endereço MAC (endereço da placa de rede). Essa camada de dados costuma ser chamada de quadro. O dispositivo que trabalha nesta camada é o comutador e os dados são transmitidos através do comutador.
  3. Camada de rede: encapsula e decapsula principalmente o endereço IP (por exemplo, 192.168.0.1) dos dados recebidos da camada inferior. O dispositivo que trabalha nessa camada é um roteador e os dados nessa camada são chamados de pacote de dados.
  4. Camada de transporte: define alguns protocolos de transmissão de dados e números de porta (porta 80 da WWW, etc.), como: TCP (protocolo de controle de transmissão, baixa eficiência de transmissão, confiabilidade forte, usado para transmitir dados com requisitos de alta confiabilidade e grande volume de dados) , UDP (User Datagram Protocol, exatamente o oposto dos recursos TCP, usados ​​para transmitir dados com baixos requisitos de confiabilidade e pequeno volume de dados, como dados de bate-papo QQ são transmitidos dessa maneira). O principal objetivo é transmitir os dados recebidos da camada inferior em segmentos e reorganizá-los após atingir o endereço de destino. Essa camada de dados costuma ser chamada de segmento.
  5. Camada de sessão: estabeleça um caminho de transmissão de dados através da camada de transmissão (número da porta: porta de transmissão e porta de recebimento). Inicie uma sessão principalmente ou aceite uma solicitação de sessão entre seus sistemas (os dispositivos precisam se conhecer podem ser IP, MAC ou nome do host).
  6. Camada de apresentação: principalmente para interpretar, criptografar e descriptografar dados recebidos, compactar e descompactar etc. (ou seja, converter o que o computador pode reconhecer em algo que o homem possa reconhecer (como imagens, som etc.))
  7. A camada de aplicação é principalmente alguns aplicativos de terminal, como FTP (vários downloads de arquivos), WEB (navegador IE), QQ e similares (você entende o que podemos ver na tela do computador. )

Question2: Explique brevemente o princípio do TCP / IP?

Answer2:

O protocolo TCP / IP não é um nome coletivo dos dois protocolos TCP e IP, mas refere-se a toda a família de protocolos TCP / IP na Internet. Em termos de camadas de protocolo: Modelo, o TCP / IP consiste em quatro camadas: camada de interface de rede, camada de rede, camada de transporte e camada de aplicativo.

Camada de acesso à rede (Camada de acesso à rede) A Camada de acesso à rede
( Camada de acesso à rede) não é descrita em detalhes no modelo de referência TCP / IP, apenas para que o host use um determinado protocolo para se conectar à rede.

Camada da Internet A Camada da
Internet é uma parte essencial de toda a arquitetura, cuja função é permitir que o host envie pacotes para qualquer rede e faça com que os pacotes cheguem independentemente ao destino. Esses pacotes podem passar por redes diferentes, e a ordem de chegada e a ordem de transmissão também podem ser diferentes. Se a camada superior precisar enviar e receber sequencialmente, deverá lidar com a ordem dos pacotes. A camada da Internet usa o protocolo Internet (IP).

Camada de transporte (Tramsport Layer-TCP / UDP)
A camada de transporte (Tramsport Layer) permite que entidades de mesmo nível nas máquinas de origem e de destino tenham conversas. Dois protocolos de ponta a ponta são definidos nessa camada: Protocolo de controle de transmissão (TCP, Protocolo de controle de transmissão) e Protocolo de datagrama de usuário (UDP, Protocolo de datagrama de usuário). O TCP é um protocolo orientado à conexão que fornece serviços confiáveis ​​de transmissão e conexão de mensagens para aplicativos da camada superior. Para esse fim, além da transmissão básica de dados, também possui funções como garantia de confiabilidade, controle de fluxo, multiplexação, prioridade e controle de segurança. O UDP é um protocolo para transmissão sem conexão e não confiável, usado principalmente para aplicativos que não requerem as funções de seqüenciamento TCP e controle de fluxo.

Camada de aplicação A camada de
aplicação contém todos os protocolos de alto nível, incluindo: protocolo de terminal virtual (TELNET, Telecommunications NETwork), protocolo de transferência de arquivos (FTP, protocolo de transferência de arquivos), protocolo de transferência de e-mail (SMTP, correio simples) Protocolo de transferência), serviço de nome de domínio (DNS, Domain Name Service), protocolo de transferência de notícias on-line (NNTP, Net News Transfer Protocol), protocolo de transferência de hipertexto (HTTP, HyperText Transfer Protocol), etc.


Question3: Explique brevemente o formato do cabeçalho TCP?

Resposta3:

O formato do cabeçalho TCP é mostrado abaixo:
Insira a descrição da imagem aqui

  1. Número da porta de origem (16 bits): (junto com o endereço IP do host de origem) identifica um processo de aplicativo no host de origem.
  2. Número da porta de destino (16 bits): (juntamente com o endereço IP do host de destino) identifica um processo de aplicativo no host de destino. Esses dois valores mais o endereço IP do host de origem e o endereço IP do host de destino no cabeçalho IP determinam exclusivamente uma conexão TCP.
  3. Número de sequência seq (32 bits): usado para identificar o fluxo de bytes de dados enviados da origem TCP para o destino TCP, representando o número de sequência do primeiro byte de dados nesse segmento. Se você pensar em um fluxo de bytes como um fluxo unidirecional entre dois aplicativos, o TCP contará cada byte com um número de sequência. O número de série é um número não assinado de 32 bits e o número de série começa em 0 após atingir a 32ª potência de 2-1. Quando uma nova conexão é estabelecida, o sinalizador SYN se torna 1 e o campo do número de sequência contém o número de sequência inicial (ISN) da conexão selecionada pelo host.
  4. Número de confirmação ack (32 bits): Contém o próximo número de sequência esperado pelo final do envio. Portanto, o número de sequência de confirmação deve ser o número de sequência do byte de dados que foi recebido com êxito da última vez mais um. O campo do número da sequência de confirmação é válido apenas quando o sinalizador ACK é 1. O TCP fornece serviços full-duplex para a camada de aplicativo, o que significa que os dados podem ser transmitidos independentemente em ambas as direções. Portanto, cada extremidade da conexão deve manter o número de sequência dos dados transmitidos em cada direção.
  5. Comprimento do cabeçalho TCP (4 bits): fornece o número de palavras de 32 bits no cabeçalho; na verdade, indica onde os dados são iniciados. Este valor é necessário porque o comprimento do campo opcional é variável. Este campo ocupa 4 bits, portanto, o TCP possui um cabeçalho de até 60 bytes. No entanto, não há campo opcional e o comprimento normal é 20 bytes.
  6. Bit reservado (6 bits): reservado para uso futuro, deve ser definido como 0 no momento.
  7. Sinalizadores de controle (6 bits): existem 6 bits de sinalizador no cabeçalho TCP e vários deles podem ser configurados para 1 ao mesmo tempo. Em ordem:
    (1) URG: 1 indica que o ponteiro de emergência é válido e 0 indica que o valor do ponteiro de emergência é ignorado.
    (2) ACK: 1 indica que o número de confirmação é válido e 0 indica que a mensagem não contém informações de confirmação e o campo número de confirmação é ignorado.
    (3) PSH: 1 significa dados com o sinalizador PUSH, indicando que o receptor deve dar esse segmento à camada de aplicação o mais rápido possível, sem esperar que o buffer seja preenchido.
    (4) RST: É usado para redefinir a conexão incorreta devido a uma falha no host ou por outros motivos. Também pode ser usado para rejeitar segmentos ilegais e solicitações de conexão. Em geral, se você receber um pacote com um RST 1, certos problemas devem ter ocorrido.
    (5) SYN: número de sequência da sincronização, 1 significa solicitação de conexão, usada para estabelecer a conexão e sincronizar o número de sequência (sincronizar).
    (6) FIN: É usado para liberar a conexão.Um valor 1 indica que o remetente não tem dados para enviar, ou seja, para fechar o fluxo de dados local.
  8. Tamanho da janela (16 bits): o número de bytes de dados, indicando o número de bytes que a fonte desta mensagem pode receber do número de confirmação, ou seja, o tamanho da janela de recebimento da fonte. O tamanho da janela é um campo de 16 bits, portanto, o tamanho máximo da janela é 65535 bytes.
  9. Soma de verificação (16 bits): esta soma de verificação é calculada como uma palavra de 16 bits para todo o segmento TCP, incluindo o cabeçalho TCP e os dados TCP. Este é um campo obrigatório, que deve ser calculado e armazenado pelo final do envio e verificado pelo final do recebimento.
  10. Ponteiro de emergência (16 bits): o ponteiro de emergência é válido apenas quando o sinalizador URG está definido como 1. O modo de emergência do TCP é uma maneira do remetente enviar dados de emergência para o outro lado.
  11. Opções: o campo opcional mais comum é o tamanho de pacote mais longo, também conhecido como MSS (Tamanho Máximo do Segmento). Cada parte conectada geralmente indica essa opção no primeiro segmento da comunicação (o segmento em que o sinalizador SYN está definido para estabelecer uma conexão), que indica o comprimento máximo do segmento que a extremidade local pode receber. O tamanho da opção não é necessariamente um múltiplo inteiro de palavras de 32 bits; portanto, os bits de preenchimento são adicionados para tornar o comprimento do cabeçalho um número inteiro de palavras.
  12. Dados: a parte dos dados do segmento TCP é opcional. Quando uma conexão é estabelecida e uma conexão é encerrada, somente o cabeçalho TCP é trocado entre os dois segmentos. Se uma parte não tiver dados para enviar, também utilizará o cabeçalho sem dados para confirmar os dados recebidos. Em muitos casos de manipulação de tempos limite, também é enviado um segmento sem dados.

Question4: Fale sobre o handshake de três vias do TCP e quatro mãos onduladas?

Resposta4:

O TCP se comunicará três vezes antes da transmissão, que geralmente é chamado de "handshake de três vias". Quando os dados são desconectados após a transmissão, eles são comunicados quatro vezes, o que geralmente é chamado de "quatro mãos acenadas".

Aperto de mão três

processo handshake de três vias é como se segue:
Insira a descrição da imagem aqui
O primeiro handshake: Host A envia o código bit SYN = 1, SEQ número gerado aleatoriamente = 1234567 pacote para o servidor, pelo hospedeiro B sabe SYN = 1, A estabelece um requisitos de ligação;
Segunda Handshake: O host B confirma as informações on-line após receber a solicitação e envia o número de confirmação = (
seq + 1 do host A ), syn = 1, confirmação = 1, gera aleatoriamente um pacote com seq = 7654321.
Terceiro handshake: host A Após receber, verifique se o número de confirmação está correto, ou seja, o número seq + 1 enviado pela primeira vez e se o código de bit ack é 1, se estiver correto, o host A enviará o número de confirmação = (seq + 1 do host B), ack = 1. Depois de receber, o host B confirma que o valor seq e ack = 1, então a conexão foi estabelecida com sucesso.

Acene quatro vezes

O TCP estabelece uma conexão com três handshake e desconecta com quatro handshake. Isso ocorre devido ao meio fechamento do TCP. Como a conexão TCP é full-duplex (ou seja, os dados podem ser transmitidos nas duas direções simultaneamente), ao fechar, cada direção deve ser fechada separadamente. Esse fechamento unidirecional é chamado de meio fechamento. Quando uma parte conclui sua tarefa de envio de dados, ela envia um FIN para notificar a outra parte de que encerrará a conexão nessa direção.

As quatro ondas são mostradas abaixo:

Insira a descrição da imagem aqui
1) Feche a conexão cliente-servidor: Primeiro, o cliente A envia um FIN para fechar a transmissão de dados cliente-servidor e aguarda a confirmação do servidor. O bit de sinalização de terminação FIN = 1 e o número de sequência seq = u.
2) O servidor recebe este FIN, envia de volta um ACK, o número de confirmação ack é o número de sequência recebido mais um.
3) Feche a conexão do servidor com o cliente: envie também um FIN ao cliente.
4) Após receber o FIN, o segmento do cliente envia de volta uma mensagem ACK para confirmar e define o número de sequência de confirmação seq como o número de sequência recebido mais 1. A primeira parte a executar o desligamento executará um desligamento ativo, enquanto a outra parte executará um desligamento passivo.

Nota : Depois que o host A envia FIN, ele entra no estado de espera de término.Depois que o servidor B recebe o segmento de liberação da conexão do host A, ele envia imediatamente uma confirmação para o host A. Em seguida, o servidor B entra no estado de espera de espera. Notifique o processo de aplicativo de alto nível que a conexão de A a B foi liberada. Este é o estado "meio desligado". Ou seja, A não pode ser enviado para B, mas B pode ser enviado para A. No momento, se B não tiver datagrama para enviar para A, seu processo de aplicativo notificará o TCP para liberar a conexão e, em seguida, envia-o para A para liberar o segmento de conexão e aguarda confirmação. Depois que A enviar a confirmação, digite time-wait.Note que, no momento, a conexão TCP não foi liberada.Em seguida, após o 2MSL definido pelo timer de espera, A entra no estado fechado.


Question5: Fale sobre o protocolo HTTP e seu princípio / processo de transmissão?

Resposta5:

HTTP é um protocolo sem estado. Sem estado significa que não há necessidade de estabelecer uma conexão persistente entre o cliente (navegador da web) e o servidor, o que significa que quando um cliente envia uma solicitação ao servidor e o servidor retorna uma resposta, a conexão é fechada O servidor não retém informações sobre a conexão.O HTTP segue o modelo de solicitação / resposta. O cliente (navegador) envia uma solicitação ao servidor e o servidor processa a solicitação e retorna uma resposta apropriada. Todas as conexões HTTP são estruturadas como um conjunto de solicitações e respostas.

1: Resolução de endereço,
como solicitar esta página com um navegador cliente: http://localhost.com:8080/index.htm O nome do protocolo, nome do host, porta, caminho do objeto e outras partes são decompostos. Os resultados obtidos são os seguintes:
nome do protocolo : nome do
host http :
porta localhost.com :
caminho do objeto 8080 : /index.htm
Nesta etapa, o DNS do sistema de nomes de domínio é necessário para resolver o nome de domínio localhost.com para obter o endereço IP do host.

2: Encapsular o pacote de dados da solicitação HTTP
Combine a parte acima com as informações da máquina para encapsulá-la em um pacote de dados da solicitação HTTP.

3: Encapsular no pacote TCP e estabelecer conexão
Encapsular no pacote TCP e estabelecer conexão TCP (handshake de três vias TCP).

4: O cliente envia uma solicitação e o
cliente envia um comando de solicitação: Após o estabelecimento da conexão, o cliente envia uma solicitação ao servidor.O formato da solicitação é: identificador uniforme de recursos (URL), número da versão do protocolo, seguido por informações MIME, incluindo modificação da solicitação Caracteres, informações e conteúdo do cliente.

5:
Após o servidor receber a solicitação do servidor, são fornecidas as informações de resposta correspondentes.O formato é uma linha de status, incluindo o número da versão do protocolo da informação, um código de sucesso ou erro, seguido pelas informações MIME, incluindo informações do servidor, informações da entidade e possíveis Conteúdo.

6: O servidor fecha a conexão TCP O
servidor fecha a conexão TCP: Geralmente, quando o servidor da Web envia os dados da solicitação ao navegador, ele fecha a conexão TCP e, se o navegador ou o servidor adiciona essa linha de código às informações do cabeçalho Manter viva, a conexão TCP permanecerá aberta após o envio, para que o navegador possa continuar enviando solicitações pela mesma conexão. Manter a conexão economiza o tempo necessário para estabelecer uma nova conexão para cada solicitação e também economiza largura de banda da rede.


Question6: Fale sobre o status HTTP comum e seu significado?

Resposta6:

Tipo de resposta da mensagem

Código de status Detalhes
100 Continuar
101 Protocolo de comutação

Tipo de resposta bem-sucedida

Código de status Detalhes
200 OK (sucesso)
201 Criado
202 Aceito (criado)
203 Informações Não Autorizadas
204 Sem conteúdo
205 Redefinir conteúdo
206 Conteúdo parcial

Tipo de redirecionamento

Código de status Detalhes
300 Múltipla Escolha
301 Movido permanentemente
302 Encontrado (mudança temporária)
303 Ver outros
304 Não modificado
305 Usar proxy
306 não utilizado (não utilizado)
307 Redirecionamento temporário
308 Redirecionamento permanente

Tipo de erro do cliente

Código de status Detalhes
400 Solicitação incorreta
401 Não autorizado
402 Pagamento Necessário
403 Proibido (sem acesso)
404 Não encontrado
405 Método não permitido
406 Não aceitável
407 Autenticação de proxy necessária
408 Tempo limite da solicitação
409 Conflito
410 Desaparecido (descontinuado)
411 Comprimento necessário (requer cabeçalho de comprimento do conteúdo)
412 Falha na pré-condição
413 Entidade de solicitação muito grande
414 URI de solicitação muito longo (o URL de solicitação é muito longo)
415 Tipo de mídia não suportado
416 Intervalo solicitado não satisfatório (Intervalo solicitado não satisfatório)
417 Expectativa falhada

Tipo de erro do lado do servidor

Código de status Detalhes
500 Erro interno do servidor
501 Implementado
502 Gateway incorreto
503 Serviço Indisponível
504 Tempo limite do gateway
505 Versão HTTP não suportada

Question7: Fale sobre sua compreensão do HTTPS?

Resposta7:

O HTTPS (nome completo: Hypertext Transfer Protocol sobre Secure Socket Layer) visa a segurança: canal HTTP, que é simplesmente uma versão segura do HTTP. Ou seja, a camada SSL é adicionada em HTTP e a base de segurança do HTTPS é SSL. O número da porta usada é 443. O processo é mais ou menos o seguinte:

Insira a descrição da imagem aqui

步骤一:建立连接获取证书
SSL 客户端通过 TCP 和服务器建立连接之后(443 端口),并且在一般的 tcp 连接协商(握手)过程中请求证书。即客户端发出一个消息给服务器,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL 的服务器端会回应一个数据包,这里面确定了这次通信所需要的算法,然后服务器向客户端返回证书。(证书里面包含了服务器信息:域名。申请证书的公司,公共秘钥)。

步骤二:证书验证
Client 在收到服务器返回的证书后,判断签发这个证书的公共签发机构,并使用这个机构的公共秘钥确认签名是否有效,客户端还会确保证书中列出的域名就是它正在连接的域名。

步骤三:数据加密和传输
如果确认证书有效,那么生成对称秘钥并使用服务器的公共秘钥进行加密。然后发送给服务器,服务器使用它的私钥对它进行解密,这样两台计算机可以开始进行对称加密进行通信。


Question8:谈一谈 CDN 原理?

Answer8:

CND 一般包含分发服务系统、负载均衡系统和管理系统。
Insira a descrição da imagem aqui
1、分发服务系统

其基本的工作单元就是各个 Cache 服务器。负责直接响应用户请求,将内容快速分发到用户;同时还负责内容更新,保证和源站内容的同步。

根据内容类型和服务种类的不同,分发服务系统分为多个子服务系统,如:网页加速服务、流媒体加速服务、应用加速服务等。每个子服务系统都是一个分布式的服务集群,由功能类似、地域接近的分布部署的 Cache 集群组成。

在承担内容同步、更新和响应用户请求之外,分发服务系统还需要向上层的管理调度系统反馈各个Cache 设备的健康状况、响应情况、内容缓存状况等,以便管理调度系统能够根据设定的策略决定由哪个 Cache 设备来响应用户的请求。

2、负载均衡系统

O sistema de balanceamento de carga é a espinha dorsal de todo o sistema CDN. Responsável por agendar todas as solicitações do usuário e determinar o endereço de acesso final fornecido aos usuários.

Use classificação. O sistema de programação bipolar mais básico inclui o balanceamento de carga global (GSLB) e o balanceamento de carga local (SLB).

O GSLB determina os nós que atendem aos usuários com base no endereço do usuário e no conteúdo da solicitação do usuário, principalmente com base no princípio da proximidade. Geralmente, é implementado através da resolução DNS ou redirecionamento da camada de aplicativo (redirecionamento Http 3XX).

O SLB é o principal responsável pelo balanceamento de carga no nó. Quando uma solicitação do usuário é agendada do GSLB para o SLB, o SLB redireciona a solicitação do usuário de acordo com o status de trabalho e a distribuição de conteúdo de cada dispositivo de Cache no nó. A implementação do SLB inclui agendamento de quatro camadas (LVS), agendamento de sete camadas (Nginx) e agendamento de carregamento de link.

3. Sistema de Gestão

Dividido em subsistema de gerenciamento de operações e gerenciamento de rede.

O sistema de gerenciamento de rede implementa o gerenciamento de dispositivos, o gerenciamento de topologia, o monitoramento de links e o gerenciamento de falhas do sistema CDN, além de fornecer aos administradores um gerenciamento centralizado da visualização de recursos de toda a rede, geralmente na web.

O gerenciamento de operações é o gerenciamento de negócios do sistema CDN e é responsável por lidar com algumas das tarefas de coleta, agrupamento e entrega necessárias para a interação com o sistema externo no nível de negócios. Incluindo gerenciamento de usuários, gerenciamento de produtos, gerenciamento de cobrança, análise estatística, etc.

Publicado 207 artigos originais · elogiou 80 · 120.000 visualizações

Acho que você gosta

Origin blog.csdn.net/qq_36963950/article/details/105297603
Recomendado
Clasificación