Qual é o principal protocolo de rede?

Quem são? O que fazem? Estão em quais camadas?

Photo by Goh Rhy Yan on Unsplash

Protocolos TCP/IP

O modelo de referência TCP/IP é baseado na arquitetura desenvolvida pela ARPA (Advanced Research Project Agency — Agência de Projetos de Pesquisa Avançada), quando a internet dava seus primeiros passos. Esse modelo mostra-se extremamente valioso em aplicações práticas em função da sua chamada Suíte de Protocolos. Então vamos dar uma olhada em quais são os principais protocolos e quais suas funções, mas antes, first things first:

Você não sabe o que é um protocolo!

“Protocolo da camada de aplicação”, “protocolo da camada de rede”, “protocolo de hipertexto”, “protocolo”, “protocolo”, “protocolo”, “protocolo”… É muito protocolo! Na maioria das vezes cansamos de ouvir sobre eles mas não sabemos defini-los.
Um protocolo determina como algo deve ser feito. Existem protocolos militares, protocolos governamentais, e estamos muito habituados ao nosso protocolo de comunicação, que passa despercebido no dia a dia. Quando duas pessoas começam uma conversa normalmente inicia-se por um “Oi”, ocorre a conversa, e então é encerrada com um “Tchau”. Nesse exemplo os protocolos “Oi” e “Tchau” identificam o início e o final de uma conversa, de forma similar em uma rede os protocolos definem como será feita a comunicação entre dois dispositivos. Segundo Kurose e Ross (2010):

“Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as ações realizadas na transmissão e/ou no recebimento de uma mensagem ou outro evento”

Camada de Aplicação

HTTP

O HTTP é o Protocolo de Transferência de Hipertexto (Hypertext Transfer Protocol) utilizado para requisição de páginas web. Esse protocolo é executado em dois programas, um na máquina cliente e outro no servidor que se comunicam entre si através de mensagens cuja estrutura também é definida pelo próprio protocolo. Desta forma um usuário acessando a internet pode decidir quais páginas quer acessar enquanto o HTTP se encarrega de requisitar essa página ao servidor web que atende e a exibe ao usuário.

FTP

O FTP (File Transfer Protocol — Protocolo de Transferência de Arquivos) também é um protocolo cliente-servidor, e funciona de modo similar ao HTTP, ou seja, o usuário requisita o arquivo desejado e o servidor atende enviando os dados solicitados. Ao conectar ao servidor de arquivos é possível utilizar autenticação, entretanto os pacotes com os dados de autenticação são escritos em texto puro, sendo assim são legíveis caso sejam interceptados por um packet sniffer (Software que analisa pacotes trafegando pela rede). Para solucionar essa vulnerabilidade, deve-se utilizar autenticação através do SSH (Secure Shell) que permite login seguro em uma rede insegura através de criptografia.

SMTP

É bastante provável que você tenha uma conta pessoal de email (Gmail, Outlook ou Yahoo) e conhece alguém com uma conta diferente da sua com quem já teve que trocar mensagens. Mas já se perguntou como você conseguiu mandar email pra essa pessoa sendo que sua conta era, por exemplo, Gmail e a dela Yahoo? Isso é possível graças ao SMTP (Simple Mail Transfer Protocol — Protocolo de Simples Transferência Postal), protocolo responsável pela transferência de mensagem eletrônicas através da internet.
Ao escrever e enviar um email na sua máquina, sua mensagem é enviada ao seu servidor de correio eletrônico, então o SMTP “pega” ela e “joga” no servidor de correio eletrônico do destinatário e fica disponível caixa de entrada para ser visualizada posteriormente.

DNS

Você sabe seu endereço IP? E o endereço IP do Medium? E o endereço IP do LinkedIn? Da Netflix? Quando queremos acessar um site simplesmente procuramos pelo seu nome no Google, e pronto. Agora imagine ter que saber o endereço IP de todos os sites que você acessa. Pra nossa sorte, graças ao DNS não temos que nos preocupar com isso.
O DNS (Domain Name System — Sistema de Nome de Domínio) é o protocolo responsável pela tradução dos endereços IP em nomes de domínio. Cada endereço é associado a um único domínio, mais ou menos como o nosso CPF.

Servidores DNS

Para dar conta de manter a internet, existem vários servidores DNS espalhados ao redor do mundo, e nenhum deles sozinha tem todos os endereços associados a todos os domínio na internet. Caso houvesse apenas um servidor DNS para acomodar todos os endereços na World Wide Web ele seria um ponto único de falha e a internet estaria sujeita a uma verdadeira catástrofe caso esse servidor falhasse.
Os servidores DNS também são distribuídos de forma hierárquica divididos em três classes: Servidores DNS raiz, Servidores DNS de Domínio de Alto Nível(TLD — Top Level Domain) e Servidores DNS Autoritativos.

Classes DNS

Existem 13 Servidores Raiz, que são nomeados de A a M e estão divididos entre América, Europa e Ásia. Em realidade, por medidas de segurança cada um desses servidores é um cluster de servidores. No site //root-servers.org é possivel ver a lista dos servidores raiz, seus nomes e localidades.
Os Servidores TLD armazenam os domínios de alto nível com, gov, edu, uk, br. No site da IANA (Internet Assigned Numbers Authority) é possível ver a lista de todos os domínios de Alto Nível.
Os Servidores Autoritativos são aqueles utilizados por organizações, empresas privadas ou instituições educacionais. Eles armazenam os registros necessários para mapear os nomes de hospedeiro para endereços de IP.
Apesar de não fazer parte de nenhuma das três hierarquias citadas, há ainda o servidor DNS local. Todo Provedor de Internet (ISP — Internet Service Provider) fornece um endereço de IP do servidor local sempre que um hospedeiro se conecta a internet. Essa atribuição normalmente é feita através de DHCP, mas isso é assunto pra outra publicação.

Principais Protocolos da Camada de Transporte

TCP

O TCP (Transfer Control Protocol — Protocolo de Controle de Transferência) possui dois serviços principais: serviço confiável de transporte e serviço orientado para conexão. Além desses dois serviços é interessante citar o mecanismo de controlo de congestionamento também presente no TCP, esse mecanismo é utilizado para manter o bem estar do tráfego na internet como um todo, caso contrário, seria como se todos os bits estivessem sendo transmitidos todos ao mesmo tempo e dessa forma congestionando os meios de transmissão, roteadores, switches, e assim por diante.

Serviço Confiável de Transporte

Quando uma informação atravessa a rede, ela é dividida em partes menores, chamadas de pacotes. Entretanto sem um mecanismo de verificação e controle desses pacotes fica fácil para eles se perderem na rede através dos diversos caminhos possíveis. Ao ser enviado via TCP cada pacote recebe uma numeração de identificação sequencial. Dessa forma quando todos os dados chegam ao seu destino o destinatário pode organizá-los na ordem correta.

Serviço orientado para conexão

O TCP trabalha criando um estado de conexão seguro que verifica ambos os lados da comunicação antes de iniciar a transferência de dados, ou seja, as duas entidades precisam antes “se apresentar” e só então ocorre a troca de informações.

Three-way Handshake

Esse processo de estabelecimento de conexão é chamado apresentação de três vias (three-way handshake) e os três passos são: SYN, SYN ACK e ACK.

SYN — É a solicitação do computador que quer iniciar a conexão. SYN é abreviação de Synchronization (Sincronização).

SYN ACK — É a resposta do computador que recebeu a solicitação. Antes de receber o pacote SYN, o destinatário está em estado de LISTENING (Ouvindo, ou seja, aberto para uma solicitação de conexão), após receber o pacote ele muda para o estado SYN_RECV (Synchronization Received — Sincronização Recebida) e então transmite o SYN ACK (Synchronization Acknowledgement — Reconhecimento de Sincronização) que avisa ao computador que solicitou a conexão que a solicitação foi recebida.

ACK — Após confirmar que sua solicitação foi recebida o remetente muda seu estado para ESTABLISHED (Estabelecido), envia o pacote ACK (Acknowledgement — Reconhecido) ao destinatário que também muda seu estado para ESTABLISHED, é nesse ponto a conexão foi estabelecida.

Em resumo:

SYN — Pedido de conexão
SYN ACK — Pedido recebido e aceito
ACK — Estabelecimento da conexão

UDP

O UDP (User Datagram Protocol — Protocolo de Datagrama de Usuário) é tudo que o TCP não é. Não orientado para conexão e não é um serviço confiável de transporte. Entretanto isso não descarta a utilidade desse protocolo. Não ser orientado para conexão significa que as entidades não precisam se “apresentar” antes de trocar dados entre si. E não ser um serviço confiável de transporte significa que ele não confirma o recebimento de cada pacote durante a transferência de informações, não significa necessáriamente que os pacotes vão se perder ou chegar corrompidos ao destino.
Com o UDP é possível enviar os dados imediatamente, sem o atraso do mecanismo de controle de congestionamento presente no TCP e sem a necessidade de estabelecer uma sessão através do 3-way handshake, essa possibilidade elimina atrasos. Por essa razão o DNS utiliza o UDP como protocolo de transporte e não o TCP, caso contrário seria muito mais lento. Já o HTTP utiliza o TCP para garantir confiabilidade no recebimento das páginas Web.

Principais Protocolos nas Camadas de Rede e Link

Na camada de Rede está o famoso IP (Internet Protocol — Protocolo de Internet), e na Camada de link temos o protocolo Ethernet e o protocolo Wifi. Não vamos tratar desses protocolos aqui pois em breve haverá uma publicação apenas sobre o IP (e suas versões IPv4 e IPv6), e uma publicação apenas sobre Ethernet e WiFi. Por enquanto vamos falar brevemente sobre o protocolo IP.
O IP (Internet Protocol — Protocolo de Internet) foi pensado desde o inicio das redes para ser um serviço internetworking, ou seja, funcional para redes formadas por outras redes menores (como por exemplo a internet). Esse protocolo basicamente une toda a internet, e seu principal objetivo é definir como os pacotes viajam entre sistemas finais e dispositivos de transmissão, garantindo bom desempenho independente das entidades serem da mesma rede ou de redes diferentes.

Referências Bibliográficas

KUROSE, J. F. e ROSS, K. — Redes de Computadores e a Internet — 5ª Ed., Pearson, 2010.

Gostou dessa publicação? Me segue aqui no Medium, dá uma olhada no meu Github e me conecta no LinkedIn. Até breve!

Qual o principal protocolo de rede?

o Protocolo de Transferência de Hipertexto (HTTP) é a base da Rede Mundial de Computadores, a internet com a qual a maioria dos usuários interage. Ele é utilizado para transferir dados entre dispositivos.

O que é um protocolo de rede?

Também conhecidos como Protocolos de Internet, os Protocolos de Rede são regras que permitem a comunicação entre computadores conectados na internet.

Que tipo de protocolo e o TCP?

TCP/IP significa protocolo de controle de transmissão/protocolo da internet (Transmission Control Protocol/Internet Protocol). TCP/IP é um conjunto de regras padronizadas que permitem que os computadores se comuniquem em uma rede como a internet.

Quais são os três protocolos?

Camada de aplicação (FTP, SMTP, TELNET, HTTP, HTTPS, etc.); Camada de transporte (TCP, UDP, etc.); Camada de rede (IP); Camada física (Ethernet, etc.). ... Comparação com o modelo OSI..

Toplist

Última postagem

Tag