首先是TCP不会出错,UDP也不会产生包错误,最多数据丢失。
其次,假设会出错,如果出错在结尾的数据结构上,怎么办? 所以结尾的数据结构是没必要的。
最后,所有数据包是在IP layer 和 data link layer 都有做checksum,即使你在transport layer进行数据对其,到IP layer 和data link layer分包(TCP会分包,UDP是做fragmentation)或者分frame(data link layer)的时候,完全是操作系统决定的,到时候又不对齐。如果是为了提高checksum的效率,也无必要,因为现在的checksum都是网卡硬件做的,完全无速度上的影响。