Introdução ao OSI

Quando a rede ARPA estava apenas sendo desenvolvida, queríamos muito torná-la o mais inteligente possível. Mas quanto mais complexa a rede, mais difícil é desenvolver e manter. Como solução, foi proposto dividir todas as funções da rede em camadas lógicas.

O modelo de operação de rede é referido como o modelo de rede do Modelo de Referência de Base de Interconexão de Sistemas Abertos ISO/OSI. Resumidamente - o modelo OSI (Open Systems Interconnection).

modelo OSI

No total, existem 7 níveis neste modelo. A interação dos níveis é estritamente padronizada e minimizada. O nível inferior não tem ideia sobre a presença de níveis superiores e sua estrutura.

A camada mais baixa pode apenas enviar bits . Nem mesmo transmitir, ou seja, enviar. Ele não tem ideia se eles vão ou não. Enviado e esquecido.

Um nível superior já opera com grupos de bits- frames , e conhece um pouco sobre o dispositivo físico da rede, entende endereços MAC e afins.

O próximo nível é lote. Ele é ainda mais inteligente e sabe como operar com endereços IP de rede. E assim por diante.

Por que tudo isso é necessário? Para maximizar a flexibilidade.

Imagine que cada camada é uma interface Java e pode ter várias implementações diferentes. Então aqui também. No nível físico, você pode enviar bits por fio, enviar pelo ar (Wi-Fi), enviar via satélite e todos os outros níveis nem saberão nada sobre isso. E tudo funcionará como planejado.

Pilha de protocolo OSI

Você pode estudar a pilha de protocolos com mais detalhes na figura abaixo :

Mas se você não for um administrador de sistema, não precisará desse detalhamento de protocolos. Mais interessante pode ser o estudo da pilha de protocolos TCP (Transmission Control Protocol) / IP (Internet Protocol).

As três camadas superiores do modelo OSI, ou seja, a camada de aplicação, a camada de apresentação e a camada de sessão, não são diferenciadas separadamente no modelo TCP/IP, que possui apenas uma camada de aplicação acima da camada de transporte:

Distribuição de protocolos por camadas do modelo OSI

TCP/IP OSI
Aplicado Aplicado HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
Representação XDR, AFP, TLS, SSL
sessão ISO 8327/CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
Transporte Transporte TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
rede rede IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
canalizado canalizado Ethernet, Token ring, HDLC, PPP, X.25, Frame relay, ISDN, ATM, SPB, MPLS, ARP/td>
Físico fios elétricos, comunicação por rádio, fios de fibra ótica, radiação infravermelha

Pilha de protocolo TCP/IP

A pilha de protocolo TCP/IP inclui quatro camadas:

  • Camada de Aplicação
  • Camada de Transporte
  • Camada de Internet (Camada de Rede) (Camada de Internet)
  • Camada de link (camada de acesso à rede)

Os protocolos dessas camadas implementam totalmente todas as funcionalidades do modelo OSI. Toda a interação do usuário em redes IP é construída na pilha de protocolos TCP/IP.

A pilha de protocolos TCP/IP é independente do hardware físico, o que, entre outras coisas, garante uma interação totalmente transparente entre redes cabeadas e wireless.

A camada de aplicativo é onde a maioria dos aplicativos de rede é executada.

Camada de aplicação

Para a interação de programas, existem protocolos de alto nível para troca de informações. Por exemplo, os navegadores funcionam usando o protocolo HTTP, o correio é enviado usando o protocolo SMTP, o Telegram funciona usando seu próprio protocolo criptografado.

Mas não estamos muito interessados ​​em protocolos privados. Na maioria das vezes, você encontrará protocolos em massa, como um cliente ftp para FTP (transferência de arquivo), SSH (conexão segura a uma máquina remota), DNS (tradução de caracteres para endereço IP) e muitos outros.

Quase todos esses protocolos são executados em TCP, embora alguns sejam executados em UDP (User Datagram Protocol) para acelerar as coisas. Mas, mais importante, esses protocolos têm portas padrão. Exemplo:

  • 20 FTP para porta TCP 20 (para transferência de dados) e 21 (para comandos de controle)
  • 22-SSH
  • 23 - Telnet
  • 53 - Consultas de DNS
  • 80-HTTP
  • 443 - HTTPS

Essas portas são definidas pela Agência de Atribuição de Nomes e Parâmetros Exclusivos (IANA).

Existem vários outros protocolos de camada de aplicação populares: Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

camada de transporte

Os protocolos da camada de transporte são projetados para resolver o problema da entrega garantida de mensagens.

Uma mensagem (pacote de dados) pode ser enviada e perdida em algum lugar da rede. Nesse caso, cabe à camada de transporte monitorar essas situações e reenviar a mensagem se necessário.

Outra tarefa importante do protocolo da camada de transporte é controlar a ordem em que as mensagens chegam. Muitas vezes acontece que as mensagens foram enviadas em uma ordem e chegaram em outra. E se você juntar uma grande mensagem dessas peças, você obterá um absurdo.

Para evitar que isso aconteça, a camada de transporte enumera as mensagens ou não envia uma nova até receber a confirmação de recebimento da anterior. Os protocolos de roteamento automático que estão logicamente presentes nessa camada (porque são executados sobre o IP) são, na verdade, parte dos protocolos da camada de rede.

O protocolo TCP é um mecanismo de transporte pré-estabelecido de conexão “garantida” que fornece um fluxo de dados confiável a um aplicativo, garante que os dados recebidos estejam livres de erros, solicita novamente os dados em caso de perda e elimina a duplicação de dados.

O TCP permite regular a carga na rede, além de reduzir o tempo de espera dos dados quando transmitidos por longas distâncias. Além disso, o TCP garante que os dados recebidos foram enviados exatamente na mesma sequência. Esta é sua principal diferença em relação ao UDP.

UDP é um protocolo de datagrama sem conexão. Também é chamado de protocolo de transferência “não confiável”, no sentido da impossibilidade de verificar a entrega de uma mensagem ao destinatário, bem como a possível mistura de pacotes. Os aplicativos que requerem transmissão de dados garantida usam o protocolo TCP.

O UDP é normalmente usado em aplicativos como streaming de vídeo e jogos em que a perda de pacotes é tolerada e a repetição é difícil ou injustificada, ou em aplicativos de resposta de desafio (como consultas de DNS) em que estabelecer uma conexão requer mais recursos do que reenviar.

Tanto o TCP quanto o UDP usam um número chamado porta para definir o protocolo da camada superior.