1、利用tcp协议中的可选字段选择timestamp芓段,用于记录当前请求发送出去的时间当收到接收方的ack报文的时候可以利用当前的时间和ack报文中的时间计算出RTT
PS: 1、在TCP报文中,timestamps不是必填字段而是可选则断,如果需要依赖报文中的timestamps字段来进行RTT计算则需要开启选填字段中的timestamp;
2、ack中的timestamp字段和发送方报文中的timestamp字段的值是一致的,接收方在收到报文段之后不会对timestamp字段进行修改,而是原文回显
3、在TCP报文中一个请求会可能会被拆分成多个报文段(由于报文数据長度限制),但是ack是按照请求来进行回复的一个ack可以回复多个报文段
2、利用TCP重发队列中的数据控制块的时间戳进行RTT计算;
重发队列:是指巳经发送了,但是还没有收到ack的数据包
在重发队列中的数据每一个数据包都有一个数据控制块,数据控制块中会包含数据包发送的时间当收到数据的ack报文的时候,我们可以利用收到ack报文的时间与数据控制块中保存的时间来计算RTT,