TCP
l_stream
这个作者很懒,什么都没留下…
展开
-
TCP详解
一、TCP协议1、TCP 通过以下方式提供可靠性:◆ 应用程序分割为TCP认为最合适发送的数据块。由TCP传递给IP的信息单位叫做报文段。 ◆ 当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它 就重发这个报文段。 ◆ 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常延迟几分之一秒。 ◆ TCP转载 2012-02-03 19:18:42 · 433 阅读 · 0 评论 -
Karn算法
Karn算法的提出是为了更好的计算RTO,设想一下情况:发送端发出一个报文段,并且设定的超时时间到了,还没有收到确认,于是重传报文段。经过了一段时间后,收到了报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?由于重传的报文段与原先的报文段完全一样,因此源主机在收到确认后就无法做出正确的判断,而正确的判断对确定平滑的往返时间(SRTT)的关系很大。原创 2012-02-11 19:33:17 · 10731 阅读 · 0 评论 -
TCP定时器
坚持定时器(persistence tiemr)当TCP连接的一方收到对方的零窗口通知,就启动坚持定时器。若坚持定时器的时间到了,就发送一个零窗口探测报文(仅携带1字节的数据),而对方就在确认这个探测报文时给出了现在的窗口指。如果窗口仍然是零,那么收到这个报文段的一方就重新设置坚持定时器。如果窗口非零,就可以继续发送数据了。原创 2012-02-11 19:44:39 · 527 阅读 · 0 评论 -
Nagle 算法
Nagle算法如下:若发送应用进程把要发送的数据逐个字节地送到TCP的发送缓存,则发送方就把第一个数据字节先发送出去,把后面到达的数据字节都换存起来。当发送方收到对第一个数据字符的确认后,再把发送缓存中的所有数据组装成一个报文段发送出去,同时继续对随后到达的数据进行缓存。只有在收到对前一个报文段的确认后才继续发送下一个报文段。Nagle算法还规定:当到达的数据已经达到发送窗口大小的一半或已经达原创 2012-02-11 20:25:03 · 508 阅读 · 0 评论