O que são protocolos?

Além da parte física, a Internet também depende de protocolos, que são a sua “parte lógica”. Pense num protocolo como um acordo entre duas partes para decidir como proceder em uma conversa. Ou seja, o protocolo deve dizer como eu devo “falar” e o que eu devo responder quando “ouvir” determinada mensagem. Alguns protocolos são bem famosos como o TCP, IP e HTTP, mas outros nem tanto como o UDP, BGP e FTP.

De modo formal, é possível definir que

Protocolo é um conjunto de regras que define o formato e a ordem das mensagens a serem enviadas e as ações a serem tomadas pelas entidades de rede para alcançar uma dada finalidade. 

Uma boa forma de entendermos o que são protocolos de rede é associarmos estes aos protocolos humanos, ou seja, atividades que fazemos no dia-a-dia quase de forma automática. Pense bem, o que acontece quando alguém lhe pergunta as horas? Você decodifica e processa esta mensagem, consulta seu relógio e informa a hora para quem lhe perguntou em uma mensagem que ele compreende. Perceba que você teve aí um conjunto de mensagens (pergunta e resposta) bem claras e um conjunto de ações (consulta ao relógio) associadas.

Vamos supor que você não saiba francês, mas que a mensagem venha nesta língua: “quelle heure est il?”. Como você reagiria? Provavelmente informaria que não compreendeu e seu interlocutor iria embora. Ou ainda, e se você compreendesse a mensagem, mas não tivesse um relógio por perto. Você informaria que não pode responder e seu interlocutor iria embora novamente. Portanto, esta é uma importante característica de um protocolo de rede, as máquinas que os usam devem ser capazes de compreender as mensagens e executar as ações exigidas, e se não for possível devem responder isso.

Podemos dar ainda um outro exemplo que ocorre na sala de aula. Quando um professor está expondo o conteúdo e um estudante deseja fazer uma pergunta, o estudante levanta a mão (mensagem). Essa convenção, muito utilizada por nós, indica que o estudante deseja se pronunciar, sendo um sinal suficiente para que o professor interrompa (ação) sua exposição para atendê-lo.

Protocolos de rede funcionam de forma similar. Uma diferença é que são os computadores que trocam mensagens e executam as ações. Estas mensagens são trocadas em pacotes na rede e as ações são tomadas pelos computadores, gerando novas mensagens e novas ações. 

Outra diferença é que os protocolos humanos são construídos ao longo do tempo e por convenção, já os protocolos de rede são padronizados e têm finalidades específicas. Por exemplo, o protocolo usado para assistir um vídeo de um jogo de futebol pela Internet não é o mesmo usado para mandar um e-mail para seu amigo. Cada protocolo tem características próprias para que sua finalidade seja alcançada da melhor forma.

Os protocolos são usados para que as redes que formam a Internet conversem usando uma mesma “língua”. A língua atual da Internet, nós chamamos de TCP/IP, em referência aos dois protocolos mais importantes dela.

Bom, mas como são criados estes protocolos? Eles são padronizados pela IETF, um órgão internacional que reúne pesquisadores, especialistas, representantes de empresas e todas as pessoas que quiserem “dar um pitaco” sobre como devem ser os protocolos. Isso inclui você! Pois é, a IETF é aberta para novos entrantes basta ver a sua crença fundamental, definida por David Clark.

"We reject kings, presidents and voting. We believe in rough consensus and running code"

Isso fica claro até na forma como os documentos da IETF são concebidos. Todos os protocolos definidos pela IETF são escritos em documentos com codificação ASCII (para não ter dependência de um software de edição de texto específico), publicamente hospedados, publicamente discutidos (procure as listas de discussão da IETF e veja como são) e possuem o nome de Request For Comments, que podemos traduzir livremente por “favor dar sua opinião”.

A IETF, assim como outros órgãos de padronização na Internet, promulga o que chamamos de protocolos abertos, isto é, protocolos cuja descrição é disponibilizada de graça e que podem ser utilizados também sem o pagamento de royalties. Tudo isso é feito para que a Internet seja aberta e continue evoluindo rapidamente.

Vale dizer que nem todos os protocolos são abertos. Na tentativa de proteger sua criação, aplicações e sistemas operacionais em rede podem implementar protocolos fechados cuja descrição é conhecida apenas a seus criadores.

Comentários