在网络编程的时候,大多数时候是使用内核填充好的报文头,然后我们自己填入数据部分进行发送。但是如果发送的不是TCP/IP协议,或者一些其他的原因就需要我们自己填充报文的头部。在填充报文的时候,首先就是了解报文头的结构。
下面是IP报文头的结构和IP头的结构,分别参考至RFC791和RFC793。
也顺带看了下UDP协议介绍,参考 RFC768。当时有个疑问,UDP应该在IP协议之后才出来,是为了解决TCP的缺点的,为什么RFC的号比IP和TCP提前这么多。于是查找了一些历史没有得到结果,最后还是在RFC文档中寻得了答案,原来791和793分别是760和761的升级版本。现在看起来似乎合理一点了。
既然解决了小疑问,那么继续。我们用TCP/IP协议发送数据的时候是 IP首部 跟 TCP/首部再跟数据部分。
了解