TFTP

sigla

redes

Significa: Trivial File Transfer Protocol

Um protocolo mínimo de transferência de arquivos sem autenticação, usado para inicializar dispositivos.

Protocolo Trivial de Transferência de Arquivos (do inglês Trivial File Transfer Protocol, RFC 1350) é um protocolo minúsculo baseado em UDP, comum para boot de rede (PXE) e firmware de dispositivos, deliberadamente simples e por isso sem autenticação.

Todo pacote começa com um opcode de dois bytes: 1 read request (RRQ), 2 write request (WRQ), 3 DATA, 4 ACK e 5 ERROR. O pedido vai para a porta UDP 69, mas o servidor responde de uma porta que ele mesmo escolhe, e a RFC 1350 chama as duas portas de transfer identifiers: até o fim da transferência, um pacote vindo de qualquer outra porta de origem é descartado e respondido com erro. Os dados andam em blocos de 512 bytes numerados a partir de um, cada um confirmado antes do próximo, e um bloco menor que 512 bytes encerra a transferência.

Esse lock step mantém o protocolo pequeno, e o preço é a vazão. A RFC 2347 (1998) deixa o cliente anexar opções ao pedido e o servidor confirmá-las num option acknowledgment (OACK, opcode 6); só o cliente pode propor. A RFC 2348 negocia o blksize, de 8 a 65464 octetos, a RFC 2349 um timeout de 1 a 255 segundos e o tsize, o tamanho do arquivo, e a RFC 7440 (2015) um windowsize de 1 a 65535 blocos enviados antes de cada ACK. No teste da RFC 7440 com um arquivo de 180 MB em blocos de 1456 bytes, um bloco por ACK levou 257 segundos e uma janela de 16 levou 42.

O TFTP não tem login nem controle de acesso, então a RFC 1350 diz que servidores costumam oferecer só arquivos de leitura pública e recusar escritas, e a RFC 7440 acrescenta que ele não tem proteção contra um atacante no caminho. Um pacote ERROR nunca é confirmado nem retransmitido, então um que se perde só aparece como timeout. Um número de bloco de dois bytes que começa em um conta 65535 blocos, 33.553.920 bytes a 512 bytes cada, e a RFC 1350 não diz o que vem depois.

Também conhecido como: tftp

← Todos os verbetes do glossário