Encontrei as duas respostas na internet.
Eu acho que deveria ser 2 bytes = 2^16 = 65.536, mas na Wikipedia está escrito que é 65.535 :
O tamanho do campo define um limite teórico de 65.535 bytes (cabeçalho de 8 bytes + 65.527 bytes de dados) para um datagrama UDP.
Por que 1 byte está faltando?