Compartilhamento de tecnologia

programação de rede!

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

programação de rede

【1】Arquitetura de desenvolvimento de rede

(1) Arquitetura C/S
C: cliente (cliente)

S: servidor (servidor)

APP - é o servidor

A arquitetura C/S realiza a separação da interface front-end e da lógica de negócios back-end através da interação entre o software cliente e o servidor, fornecendo um modelo de arquitetura estável e confiável.

(2) Arquitetura B/S
B: navegador (página da web)

S: servidor (servidor)

Abra QQ Music ----> Faça uma solicitação para QQ Music

Renderizar recursos no navegador local

A arquitetura B/S realiza a separação da interface front-end e da lógica de negócios back-end por meio da interação entre o navegador e o servidor, fornecendo um modelo de arquitetura flexível e escalável.


(3) Vantagens e desvantagens da arquitetura B/S e da organização C/S


Arquitetura B/S
Os métodos de manutenção e atualização são simples: só preciso atualizar os recursos do servidor.

O custo também é relativamente baixo e há muitas opções

Há muitos dados de serviço e a carga é grave

Arquitetura C/S
A pressão no servidor foi reduzida e alguns recursos são alocados ao cliente para armazenamento.

O armazenamento e o gerenciamento de dados são relativamente transparentes e o APP tem engenharia reversa

Alto custo e manutenção trabalhosa

Arquitetura C/S é a tendência dominante


【2】Protocolo de Internet


(1) O que é programação de rede?


A premissa de pesquisa da programação de rede é baseada na Internet

Programação de rede é escrever código baseado na Internet

(2) O meio de programação de rede


O meio de programação de rede é a rede de computadores.

Protocolos de rede e estruturas e bibliotecas de programação de rede são a base para realizar a programação de rede.

【3】Protocolo OSI de sete camadas


Padrões de protocolo de comunicação de rede
Camada de aplicação: Responsável por lidar com protocolos de aplicação específicos, incluindo e-mail, transferência de arquivos e login remoto.

Camada de apresentação: Responsável pela representação e codificação de dados, convertendo e compactando dados antes da transmissão em diferentes sistemas.

Camada de sessão: Responsável por estabelecer, gerenciar e encerrar sessões, incluindo funções como sincronização de troca de dados e criação e recuperação de checkpoints.

Camada de transporte: Responsável pela transmissão de dados ponta a ponta e pelo fornecimento de serviços confiáveis ​​de transmissão de dados, incluindo controle de fluxo, controle de congestionamento, recuperação de erros e retransmissão de dados.

Camada de rede: Responsável por encaminhar pacotes de dados e seleção de roteadores entre diferentes computadores, além de fornecer funções como endereçamento lógico e controle de congestionamento.

Camada de enlace de dados: transmite dados por meio de frames e é responsável pela transmissão confiável de dados.

Camada física: Responsável pela transmissão de fluxos de bits em meios físicos, incluindo meios de transmissão, interfaces físicas e características elétricas.

vantagem:
Fácil de entender e implementar: Como o modelo OSI tem uma estrutura clara em camadas, é fácil de entender e implementar

Boa escalabilidade: Como esta arquitetura define claramente diferentes camadas e protocolos, ela é muito escalável e novos protocolos e serviços podem ser adicionados a qualquer momento.

Melhor interoperabilidade de protocolos: Como o modelo OSI fornece orientações claras para diferentes protocolos, ele pode promover a interoperabilidade entre dispositivos de diferentes fabricantes e fornecedores.

Complexidade Reduzida: O modelo OSI tem menos complexidade em comparação com outras arquiteturas porque a funcionalidade de cada camada é fixa.

deficiência:


Muito teórico: O modelo OSI é muito teórico, o que limita seu uso em implementações práticas.

Falta de flexibilidade: Como o modelo OSI define funções específicas em cada camada, ele carece de flexibilidade e não consegue se adaptar totalmente aos requisitos dos diferentes ambientes de rede.

Muito complicado: como o modelo OSI é dividido em 7 camadas, isso levará ao aumento da complexidade do protocolo e do consumo de recursos em aplicações práticas.

Alto custo de implementação: Como o modelo OSI requer o uso de um grande número de protocolos e dispositivos para alcançar a comunicação entre várias camadas, o custo de implementação é alto.

【4】Protocolo TCP de cinco camadas


Camada de aplicação: Responsável por lidar com a comunicação entre aplicações de rede.

Camada de transporte: O protocolo da camada de transporte fornece um protocolo ponta a ponta para garantir a transmissão confiável de dados na rede.

Camada de rede: trata da transmissão e roteamento de dados na rede.

Camada de enlace de dados: Fornece transmissão confiável de dados na rede física. Ele encapsula pacotes de dados em quadros e os transmite através de mídia física.

Camada física: Responsável pela transmissão de fluxos de bits em meios físicos, incluindo meios de transmissão, interfaces físicas e características elétricas.

vantagem:
Simples e claro: O protocolo TCP/IP de cinco camadas é simples e claro, fácil de entender e implementar.

Forte abertura: O protocolo TCP/IP é um padrão aberto com boa compatibilidade e escalabilidade.

Estável e confiável: O protocolo TCP fornece serviços confiáveis ​​de transmissão de dados para garantir a integridade e confiabilidade dos dados.

Alta flexibilidade: O protocolo TCP/IP suporta uma variedade de aplicações diferentes, como e-mail, transferência de arquivos, navegação na web, etc.

Alta segurança: O protocolo TCP/IP fornece alguns mecanismos de segurança, como IPSec, SSL, etc., para garantir a segurança e privacidade dos dados.

deficiência:


Alta complexidade: A implementação do protocolo TCP/IP é relativamente complexa e requer um conhecimento profundo dos princípios dos protocolos de rede e tecnologias relacionadas.

Desempenho limitado: Para garantir a confiabilidade dos dados, o protocolo TCP introduzirá uma certa quantidade de atraso e sobrecarga e não é adequado para aplicações com altos requisitos de tempo real.

Segurança insuficiente: Alguns mecanismos de segurança no protocolo TCP/IP são vulneráveis ​​a ataques e é necessário tomar medidas adicionais para garantir a segurança.

Confiabilidade limitada: Embora o protocolo TCP/IP forneça serviços confiáveis ​​de transmissão de dados, problemas como perda e atraso de pacotes podem ocorrer quando a rede está congestionada e algumas medidas precisam ser tomadas para resolvê-los.

Não é adequado para implantação em larga escala: Como o protocolo TCP/IP não leva em consideração problemas de gerenciamento e manutenção de rede, alguns problemas podem ocorrer na implantação de rede em grande escala.

【5】Protocolo Ethernet


Padroniza os padrões para nosso acesso à Internet

Faz parte de uma ampla gama de tecnologias de LAN com fio usadas para comunicação de dados em redes de computadores.

Ele define as regras e formatos de comunicação para a camada física e a camada de enlace de dados entre computadores.

Protocolo EthernetCaracterísticas
Flexibilidade, velocidade, simplicidade, confiabilidade, tolerância a falhas, escalabilidade, confiabilidade

【6】Protocolo IP


É um protocolo de comunicação de rede

O protocolo TCP/IP é um protocolo da camada de rede responsável pela transmissão de pacotes de dados do endereço de origem para o endereço de destino.

Ele define como os dados são transmitidos e roteados pela Internet

Protocolo IPCaracterísticas: Sem ligação, simples e flexível, transmissão de pacotes, roteamento, endereço IP, número de versão, tipo de protocolo

【7】Endereço Mac


cartão de rede

Também é chamado de endereço físico, que se refere ao endereço globalmente exclusivo atribuído aos equipamentos de rede (como computadores, roteadores, switches, placas de rede) quando são fabricados.

Procure um campo chamado “Endereço Físico” ou “Endereço MAC”

【8】Transmissão


Troca de dados dentro da mesma LAN

【9】Protocolo TCP


protocolo de streaming

Confiável, baseado em um canal para transmissão, o canal só poderá ser estabelecido se atender às especificações

(1) Aperto de mão triplo


1. O cliente envia uma solicitação de conexão ao servidor (com a identidade do cliente aaa)

2. O servidor recebe a solicitação de conexão do cliente e envia uma solicitação de volta ao cliente (com o identificador do servidor e o identificador do cliente bbb)

3. O cliente e o servidor estabelecem uma conexão

(2) Acene quatro vezes


1. O cliente envia uma solicitação de desconexão ao servidor

2. O servidor recebe a solicitação do cliente e continua processando os dados inacabados.

3. Envie uma solicitação de desconexão ao cliente

4. O cliente recebe a solicitação de desconexão do servidor e desconecta

【10】Protocolo UDP


acordo de telegrama

O protocolo UDP é um protocolo na camada de transporte

Características
Sem conexão: o UDP não requer o estabelecimento de uma conexão antes do envio de dados.

Simples e rápido: o cabeçalho do protocolo UDP é relativamente pequeno. A sobrecarga de comunicação é mínima, portanto as transferências são relativamente rápidas.

Falta de confiabilidade: o UDP não oferece garantias de confiabilidade e a ordem de transmissão dos pacotes de dados não é garantida.

Suporta transmissão e multicast: todos os dispositivos conectados à LAN podem transmitir

Adequado para aplicações em tempo real:

【11】O protocolo de soquete é adequado para aplicações em tempo real


Como estabelecer conexão TCP/conexão UDP

O que é soquete:
Scoket pode ser entendido como um endpoint abstrato, que pode ser usado para estabelecer conexões de rede, enviar e receber dados.

Scocket é uma interface de programação usada para implementar a comunicação em rede. Ela permite que aplicativos transfiram dados e colegas de classe entre diferentes computadores pela rede.