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:

d) Segurança