Exemplo de uma rede conectada
Redes e Comunicação

Protocolos de Rede

Versão em Áudio

No episódio anterior, vimos alguns elementos básicos que compõe uma rede de computadores como switchs, hubs, roteadores, cabos de rede, etc.

Mas, existe um fator importantes também que são fundamentais: Os protocolos, que definem como os dispositivos devem se comunicar em uma rede. Por isso, no episódio de hoje vamos aprender um pouco sobre o que são protocolos de rede, alguns exemplos e pra quê servem.

O que é Protocolo?

Temos que começar pelo começo e estabelecer um conceito para protocolo para que possamos nos aprofundas. Protocolo é uma espécie de idioma que segue normas e padrões determinados. É através dos protocolos que é possível a comunicação entre um ou mais computadores.

Os protocolos de rede nasceram da necessidade de conectar equipamentos de fornecedores distintos, executando sistemas distintos, sem ter que escrever a cada caso programas específicos. Ambos os computadores devem estar configurados com os mesmos parâmetros e obedecer aos mesmos padrões para que a comunicação possa ser realizada sem erros.

Funções de um Protocolos

Uma das funções dos protocolos é armazenar os dados que serão transmitidos pela rede, dividir em pequenos pedaços chamados pacotes, na qual dentro de cada pacote há informações de endereçamento que informam a origem e o destino do pacote e então, encaminhá-los ao destinatário.

É através do protocolo que as fases de estabelecimento, controle, tráfego e encerramento, componentes da troca de informações são sistematizadas. O protocolo funções importantes na comunicação como:

  • Endereçamento claro do ponto de destino da mensagem, para evitar tráfego desnecessário.
  • Transforma os dados em pacotes e os organiza em uma sequência lógica para manter a integridade.
  • Estabelece uma conexão fechada entre o transmissor e o receptor da mensagem.
  • Confirma a cada pacote se ela chegou ao receptor sem erros.
  • Repete o envio da mensagem em caso do receptor não confirmar que recebeu os pacotes.

Exemplos de protocolos de rede

A família do protocolo IP (Protocolo de Internet) contém um conjunto de protocolos de rede relacionados (e entre os mais amplamente usados). Além do próprio IP, protocolos de alto nível como TCP, UDP, HTTP e FTP, integram-se ao IP para fornecer recursos adicionais.

Em geral, protocolos de alto nível na família IP interagem mais de perto com aplicativos como navegadores e os sistemas operacionais, enquanto protocolos de baixo nível interagem com adaptadores de rede e outros hardwares de computadores.

Desenho da comunicação entre dois computadores através de suas camadas
Demonstração da comunicação entre as camadas de dois computadores

Como são muitos protocolos e alguns têm funções muito específicas, vou listar aqui alguns protocolos mais utilizados em uma rede começando pelo protocolo TCP.

TCP – Protocolo de Controle de Transferência

O TCP (Protocolo de controle de transferência) é um importante protocolo de rede usado na transmissão de dados pelas redes.

O TCP trabalha em conjunto com o IP em um dupla que você já deve ter ouvido falar (inclusive aqui neste programa) chamada TCP / IP.

Você pode ver este termo nas configurações de rede do seu computador, seu smartphone ou dispositivo portátil, se você se aventurar pelas configurações.

Funções do TCP

Apesar de ele ser comumente associado ao IP, o TCP tem suas próprias tarefas e conjunto de regras. A função do TCP é controlar a transferência de dados de forma que seja confiável. Como já mencionei no começo, em redes como a Internet, os dados são transmitidos em pacotes, que são unidades de dados que são enviados independentemente na rede, e são remontados quando chegam ao destino para devolver os dados originais.

A transmissão de dados em uma rede é feita em camadas, com cada protocolo em uma camada fazendo algo complementar com o que os outros estão fazendo. Esse conjunto de camadas é chamado de pilha de protocolos. TCP e IP trabalham lado a lado na pilha, um acima do outro.

Demonstração de uma pilha de protocolos
Exemplo de uma Pilha de Protocolos

Por exemplo, em uma pilha, você pode ter HTTP – TCP – IP – WiFi. Isso significa que quando, por exemplo, um computador está acessando uma página da Web, ele usa o protocolo HTTP para obter a página da Web em HTML, o TCP controla a transmissão, o IP estabelece a conexão na rede(por exemplo, a Internet) e WiFi transmite pela na rede local.

UDP – Protocolo de Datagrama de Usuário

O User Datagram Protocol (UDP) foi introduzido em 1980 e é um dos mais antigos protocolos de rede existentes.

Uma breve explicação do UDP pode explicar que é um protocolo não confiável quando comparado ao TCP. Embora isso seja verdade, uma vez que não há verificação ou correção de erros envolvidos nas transmissões de dados, também é verdade que definitivamente existem aplicativos para esse protocolo que o TCP não pode corresponder.

Exemplo de um pacote UDP
Exemplo de um pacote UDP com: Porta fonte, porta de destino, comprimento do pacote e soma de verificação do pacote.

O UDP (às vezes chamado de UDP / IP) costuma ser usado em aplicativos de videoconferência ou em jogos de computador feitos especificamente para desempenho em tempo real. Para obter um desempenho mais alto, o protocolo permite que pacotes individuais sejam descartados (sem tentativas) e os pacotes UDP sejam recebidos em uma ordem diferente daquela em que foram enviados, conforme determinado pelo aplicativo.

Esse método de transmissão, quando comparado ao TCP, permite menos sobrecarga de dados e atrasos. Como os pacotes são enviados não importa o que aconteça e não há nenhuma verificação de erros envolvida, isso resulta em um consumo menor de banda na rede, dando espaço para que ocorra esse ambiente em tempo real.

UDP é Melhor que o TCP?

A resposta a essa pergunta depende do contexto, pois o UDP permite melhor desempenho, mas possivelmente pior qualidade, do que o TCP.

Um bom exemplo de quando o UDP pode ser preferido em relação ao TCP é quando se trata de um aplicativo que funciona melhor com menos latência, como jogos on-line, bate-papo por vídeo ou transmissões de voz. Os pacotes podem ser perdidos, mas com menos atrasos em geral para reduzir a qualidade, não é percebida muita perda de qualidade.

Com jogos on-line, o tráfego UDP permite que o jogo continue mesmo se a conexão for perdida momentaneamente ou se alguns dos pacotes forem descartados por qualquer motivo. Se a correção de erros estiver envolvida, a conexão sofrerá perda de tempo, já que os pacotes estão tentando entrar novamente onde pararam para compensar os erros, mas isso é desnecessário em videogames ao vivo. O mesmo acontece com a transmissão ao vivo.

No entanto, o motivo pelo qual o UDP não é tão bom quando se trata de transferências de arquivos é que você precisa do arquivo inteiro para usá-lo corretamente. Você não precisa, no entanto, de cada pacote de vídeo game ou vídeo para aproveitá-lo.

Agora que conhecemos dois dos protocolos responsáveis pela maior parte da comunicação entre os computadores e outros dispositivos na internet, vamos conhecer protocolos mais específicos mas que desempenham importantes funções. Um desses protocolos é o HTTP.

HTTP – Protocolo de Transferência de Hiper Texto

O HTTP fornece um padrão de protocolo de rede que os navegadores e servidores da Web usam para se comunicar. Você vê HTTP todos os dias porque, quando você visita um site, como o versão beta por exemplo, o protocolo está escrito no URL.

Esse protocolo é semelhante a outros, como o FTP, o protocolo de transferência de arquivos, em que é usado por um programa cliente para solicitar arquivos de um servidor remoto. No caso do HTTP, geralmente é um navegador da Web que solicita arquivos HTML de um servidor da Web, que são exibidos no navegador com texto, imagens, hiperlinks e ativos relacionados.

Funções do HTTP

HTTP é um protocolo de camada de aplicação que usa um modelo de comunicação cliente-servidor. Clientes e servidores HTTP se comunicam por meio de mensagens de solicitação e resposta.

O navegador inicia a comunicação com um servidor HTTP iniciando uma conexão TCP com o servidor. As sessões de navegação na Web usam a porta 80 do servidor por padrão, embora outras portas, como 8080, às vezes sejam usadas.

Exemplo de comunicação entre cliente e servidor
Exemplo de Comunicação do modelo Cliente-Servidor

Depois que uma sessão é estabelecida, você aciona o envio e o recebimento de mensagens HTTP visitando a página da web. Um exemplo básico é se você navegar pelo (recente) site do versão beta. Se clicar no menu em algum dos episódios, seu navegador fará um pedido ao servidor onde o site está hospedado solicitando qual o arquivo correspondente ao pedido. Caso o arquivo da página requisitada esteja disponível, o servidor repassa o arquivo e ele é processado no navegador do seu celular ou pc.

HTTP é o que é chamado de sistema sem estado. O que isto significa é que, ao contrário de outros protocolos de transferência de arquivos, como o FTP, a conexão HTTP é interrompida após a conclusão da solicitação. Assim, depois que o seu navegador da Web envia a solicitação e o servidor responde com a página, a conexão é fechada.

Erros do HTTP

Mensagens transmitidas por HTTP falham por vários motivos:

  • Erro do usuário
  • Mau funcionamento do navegador da web ou do servidor da web
  • Erros na criação de páginas da web
  • Falhas de rede temporárias

Quando essas falhas ocorrem, o protocolo captura a causa da falha e relata um código de erro de volta ao navegador, chamado de linha / código de status HTTP. Erros começam com um certo número para indicar que tipo de erro é.

Conclusão

Existem outros protocolos e quem sabe eu faça uma parte 2 comentando sobre o uso de outros protocolos. Mas no momento, esses três protocolos serão o suficiente para entendermos o que vem a seguir que são os modelos de referência de pilhas de protocolos. Para entender um pouco mais sobre esse assunto, não deixe de se manter atualizado com o episódio da semana que vem, obrigado por escutar e até lá!