Os dados chegam ao deslocamento 160 se nenhum cabeçalho de opção estiver presente e mais abaixo (múltiplos de 32) se os cabeçalhos das opções de IP estiverem presentes. A parte de dados continua até o final do pacote. Um pacote pode ser de tamanho variável devido às diferentes configurações de MTu ao longo do caminho, de modo que o número exato de pacotes em que uma parte dos dados de protocolo mais alto é esculpida depende.
O 'datagrama' é o tamanho do cabeçalho IP + dados.
Você está incorreto no tamanho máximo do campo de dados que é 1500b. Esse é o tamanho de todo o pacote incluindo cabeçalhos. O tamanho do campo de dados é variável com base no tamanho do cabeçalho, como descrevi acima.