Cabeçalhos de Extensão

Ter um cabeçalho básico fixo e outros extras vem atender à necessidade de se ter generalidade e eficiência na nova versão. Para ser geral, mecanismos de fragmentação, autenticação, etc, devem ser suportados, mas devem ser incluidos somente quando necessários. Para tanto, são incluídos em cabeçalhos extras, pois se estivessem sempre presente, o header principal do protocolo seria tão grande que o tempo de se processá-lo levaria à ineficiência da rede [COM 95].

Cada cabeçalho de extensão deve ter o campo Next Header a fim de indicar o próximo cabeçalho que se segue, num processo semelhante a uma lista encadeada de dados. Abaixo vemos 3 datagramas, o primeiro com nenhum cabeçalho extra, o segundo com 1 e o último com 2:

Base Header / Next=TCP TCP PDU
Base Header / Next=Route Route Header / Next=TCP TCP PDU
Base Header / Next=Route Route Header / Next=Auth Auth Header / Next=TCP TCP PDU

Um pacote IPv6 com todos os cabeçalhos de extensão pode ser visto na figura: