从哪里获得TCP有效载荷中接收的字节数

时间:2014-12-01 00:50:45

标签: sockets networking tcp ip payload

我正在为网络课程开发TCP / IP堆栈,目前我正致力于实现一个基本的TCP系统。使用IP和UDP,您可以在标头中获得允许您知道有效负载中字节数的字段,但据我所知,TCP中没有这样的内容。客户端将在打开握手期间在“窗口大小”字段中发送一个值,以指示它将接受的最大字节数,但是没有字段实际上说明在给定数据包中的标头之后有多少字节的数据。

序列和确认号用于给出发送的字节偏移量和下一个预期的偏移量,但它们无法告诉您当前数据包中有多少字节。

我假设我可以将IP头中的长度传递给TCP处理程序,但我只是想验证这是正确的方法。

1 个答案:

答案 0 :(得分:0)

TCP有效负载的长度由IP数据包的长度字段减去IP报头(8字节)减去TCP报头(TCP报头长度字段乘以4)。