码迷,mamicode.com
首页 >  
搜索关键字:nagle    ( 80个结果
TCP的可靠性
TCP保持可靠传输的方法: 1)接收确认 2)滑动窗口 3)整体校验 4)失序重排 5)超时重传 6)重复丢弃 7)拥塞避退  1 减少报文数 1>交互数据-----Nagle算法(多个小分组合并为一个分组,减少小分组数) 2>成块数据-----经受时延的ACK(减少ACK报文数) 2 发生拥塞 1>慢启动+拥塞避免算法 2>快速重传+快速恢复...
分类:其他好文   时间:2015-07-22 13:11:27    阅读次数:146
《TCP/IP详解》读书笔记(19章)-TCP的交互数据流
在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同。书籍本章中以Rlogin应用为例观察交互数据的传输过程。提示经受时延的确认是如何工作以及Nagle算法怎样减少了通过广域网络传输的小分组的数目。交互式输入上图为没有优化的字符输入回显的数据传输过程,一共需要四个报文段。经受时延的确认...
分类:其他好文   时间:2015-03-17 17:57:04    阅读次数:184
Nagle 算法(TCP中用于拥塞控制)详解
算法适应的情况和原理在广域网上,小分组会增加拥塞的可能性,一种简单且好用的方式是使用Negla算法。该算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到来之前不发送其他的小分组。相反,TCP收集这些少量的分组,并在确认到来之时以一个分组的形式发送出去。这样,就能够减少网络中小分组的数量,提高数据包的利用率。算法优势:自适应,确认到达的越快,数据发送也就越快。关闭算法有时...
分类:编程语言   时间:2015-03-13 18:53:38    阅读次数:512
nagle算法与X window鼠标事件控制
nagle是用来处理小块数据包导致的网络拥塞问题的方法(上过bbs的人应该都会有感受,就是在网络慢的时候发贴,有时键入一串字符串以后,经过一段时间,客户端“发疯”一样突然回显出很多内容,就好像数据一下子传过来了一样,这就是Nagle算法的作用。)http://baike.baidu.com/link...
分类:编程语言   时间:2015-01-16 19:01:14    阅读次数:168
socket 选项 TCP_NODELAY 和 NAGLE 算法
当我们通过 TCP socket 分多次发送较少的数据时,比如小于 1460 或者 100 以内,对端可能会很长时间收不到数据,导致本端应用程序认为超时报错。这时可能是受到了 TCP NAGLE 算法的影响。 关于 TCP NAGLE 算法,可以参考这篇文章《TCP NAGLE算法和实现》以及《网....
分类:编程语言   时间:2014-11-23 07:02:49    阅读次数:240
TCP粘包
一。通信协议TCP/UDP:TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。客户端和服务器端都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数...
分类:其他好文   时间:2014-11-09 06:13:20    阅读次数:193
TCP_NODELAY和TCP_CORK nagle算法和cork算法
TCP_NODELAY 默认情况下,发送数据采用Nagle 算法。这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagle 算法。 此时,应用程序向内核递交的每个数据包都会立即发送出去。需要注意的是,虽然禁止了Nagle 算法,但网络的传输仍然受到TCP确认延迟机制的影响。 TCP_CORK  ...
分类:编程语言   时间:2014-11-03 17:50:02    阅读次数:234
【网络协议】TCP的流量控制机制
一般来说,我们总是希望数据传输的更快一些,但如果发送方把数据发送的很快,而接收方来不及接收,这就可能造成数据的丢失。流量控制就是让发送方的发送速率不要太快,让接收方来得及接收。 对于成块数据流,TCP利用滑动窗口机制来实现流量的控制,对于交互数据流,TCP利用捎带ACK和Nagle算法来实现流量的控制。 后两种就不说了,上篇博文中将已经写得比较清楚了,对于滑动窗口机制,上篇博文中也又说到,只是没有刻意提到用滑动窗口来实现流量的控制。下面就详细说下利用滑动窗口机制来实现流量控制的机制,先看下图...
分类:其他好文   时间:2014-06-22 20:18:16    阅读次数:185
TCP_NODELAY详解
在网络拥塞控制领域,我们知道有一个非常有名的算法叫做Nagle算法(Nagle algorithm),这是使用它的发明人John Nagle的名字来命名的,John Nagle在1984年首次用这个算法来尝试解决福特汽车公司的网络拥塞问题(RFC 896),该问题的具体描述是:如果我们的应用程序一次...
分类:其他好文   时间:2014-06-11 08:57:34    阅读次数:267
C语言socket send()数据缓存问题
send()函数默认情况下会使用Nagle算法,Nagle算法通过将未确认的数据存入缓冲区直到积攒到一定数量一起发送的方法,来减少主机发送零碎小数据包的数目。所以如果send()函数发送数据过快的话,该算法会将一些数据打包后统一发出去。如果不了接这种情况,接收端采会遇到看似很奇怪的问题,比如成功recv()的次数与成功send()的次数不相等,在这中情况下,接收端可以通过recv()的返回值是否为...
分类:编程语言   时间:2014-05-05 12:52:04    阅读次数:385
80条   上一页 1 ... 6 7 8
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!