O que são
Publicações que documentam os padrões e protocolos oficiais da internet. Os RFC são uma série de documentos técnicos criados por profissionais e pesquisadores da área de tecnologia e vêm, desde sua concepção em 1969, desempenhando um papel decisivo na divulgação e expansão da fronteira do conhecimento que possibilitou a implementação e vem, desde então, impulsionando melhorias da Internet e sistemas correlatos.
Quem gerencia
Gerenciados pelos IETF-Internet Engineering Task Force, trata-se de pessoas que contribuem tecnicamente para a arquitetura e evolução da internet.
Sobre padrões
Podem ter de uma a centenas de páginas de informações sobre um padrão. Se um padrão necessitar de atualizações, um novo é gerado com as revisões necessárias. Sempre identificado por um número de forma sequencial a cada novo RFC.
Figura 11. Protocolo/RFC
Status dos RFCs
A cada RFC é atribuído um status que diz respeito ao processo de padronização:
Informacional ( Informational )
Experimental ( Experimental )
Melhor prática atual ( Best current practice/BCP)
Trilha dos padrões ( Standards track )
Proposto (Proposed standard)
Rascunho (Draft standard)
Padrão da internet (Internet standard)
Histórico ( Historic )
Como consultar os RFCs
Podem ser consultados gratuitamente pela internet, abra a página de consulta: http://www.rfc-editor.org/ e clique em Advance Search no canto direito da página. Como pode ser visto na Figura 4. A busca pode ser realizada por Nome, palavra-chave, autor ou número pelo site
Figura 12. Advance Search (Busca avançada)
Figura 13. Buscando por título ou palavras
O resultado da busca retornou o número e os tipos de arquivos que podemos visualizar a RFC do protocolo. Neste caso utilizamos como exemplo o ICMP que faz parte da pilha TCP/IP. Vejamos o retorno da busca na Figura 14.
Figura 14. Retorno da busca
A Figura 15 demostra a RFC visualizada em PDF, nesta página tem todos os detalhes de modo de funcionamento do protocolo.
Este trabalho se debruça mais especificamente sobre o RFC 9293, que, após mais de 30 anos, substituiu o RFC 793 como definição do padrão de funcionamento do protocolo TCP.
Figura 15. PDF da RFC do protocolo TCP
RFC 9293 é um documento que define como enviar dados em redes que utilizam o protocolo QUIC. Por exemplo, se você está usando um aplicativo que utiliza o protocolo QUIC para fazer uma chamada de vídeo, o RFC 9293 ajuda a garantir que os dados da sua chamada de vídeo sejam transmitidos corretamente para o destinatário.
Já o RFC 793 define como estabelecer conexões confiáveis entre dispositivos na Internet usando o protocolo TCP. Por exemplo, quando você faz uma transação bancária on-line, o protocolo TCP é usado para garantir que seus dados bancários sejam transmitidos com segurança para o banco.
Multipath TCP é uma extensão do protocolo TCP que permite que uma única conexão TCP utilize várias rotas simultaneamente. Assim, a conexão pode se aproveitar de múltiplas interfaces de rede, como wifi e 4G, ou múltiplas rotas dentro da mesma rede, como rotas diferentes através da internet.
Na prática é possível configurar as rotas de rede que serão usadas pelo MPTCP para transmitir dados. Isso pode ser feito adicionando rotas usando o comando abaixo:
ip route add <destino de rede> via <endereço IP da rota> dev <nome da interface>
Nesse comando, o "destino de rede" é o endereço IP da rede de destino, o "endereço IP da rota" é o endereço IP da interface usada para a rota e o "nome da interface" é o nome da interface de rede usada para a rota.
Depois de instalar o "mptcpd", edite o arquivo de configuração "/etc/mptcpd.conf" para especificar as rotas de rede que serão usadas pelo cliente MPTCP para transmitir dados. Por exemplo:
AddressFamily = ipv4
DefaultScheduler = roundrobin
InterfaceList = eth0, eth1
Melhorias na performance
Explicit Congestion Notification (ECN): É um mecanismo que possibilita que equipamentos de rede notifiquem endpoints sobre gargalo na rede, melhorando a performance. Dessa forma, o próprio TCP reduz sua taxa de transmissão em resposta ao gargalo da rede.
Fast Open: É um mecanismo que possibilita que o cliente já mande dados para o servidor durante o handshake, reduzindo o tempo que leva para estabelecer uma conexão TCP.
Proportional Rate Reduction (PRR): É um mecanismo que permite que o TCP se recupere mais rápido de perdas e assim reduz o gargalo da rede.
Tail Loss Probe (TLP): É um mecanismo que permite que o TCP rapidamente detecte quando um pacote foi perdido devido a gargalo.
Atualização do MSS (tamanho máximo do segmento)do TCP, que ajuda a reduzir fragmentação e melhora a performance da rede.
Melhorias na segurança
TCP User Timeout Option: Mitiga o risco de ataques que exploram conexões inativas.
Retransmission timeout requirements update: Ajuda a mitigar o risco de ataques que explorem timeouts de retransmissão previsíveis.
Selective Acknowledgement (SACK) update: Ajuda a mitigar ataques que explorem o mecanismo SACK.
TCP Authentication Option: Permite que endpoints TCP autentiquem uns aos outros antes de estabelecer uma conexão, mitigando ataques de man-in-the-middle, entre outros.
TCP SYN Cookie mechanism: Ajuda a mitigar ataques de flood de SYN, permitindo que o TCP verifique a validade das solicitações de conexão antes de alocar recursos para elas.
Referências
RFC 793: "Transmission Control Protocol"
RFC 9293: "TCP Extensions for Multipath Operation with Multiple Addresses"
Network World: "What's New with TCP?"
Cisco: "Understanding TCP Options"
Internet Society: "TCP User Timeout Option"
Autores
- Bruno Artur
- Leonardo Victor
- Lucas Duarte
- Wellici Jacinto
- Leonardo Henrique
- Melkyzedeque Augusto
- Arthur Henrique
- Marcos
- Isaac Mello
- José Vanderley
- Mário Andretti
- Matheus Vieira
Agradecimento especial ao nosso Coordenador Professor Dr. Leonardo Fernandes.