应用进程把数据传送到TCP的发送缓存后,剩下的发送任务就由TCP来控制了。可以用不同的机制来控制TCP报文段的发送时机。例如,第一种机制是TCP维持一个变量,它等于最大报文段长度MSS。只要缓存中存放的数据达到MSS字节时,就组装成一个TCP报文段发送出去。第二种机制是由发送方的应用进程指明要求发送报文段,即TCP支持的推送(push)操作。第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过MSS)发送出去。
但是,如何控制TCP发送报文段的时机仍然是一个较为复杂的问题。
看官请注意,这是否和深圳网站建设无关,但是这也是网络的一种知识,学习,无止境,加油吧,孩子!
例如,一个交互式用户使用一条TELNET连接(运输层为TCP协议)。假设用户只发1个字符。加上20字节的首部后,得到21字节长的TCP报文段。再加上20字节的IP首部,形成41字节长的IP数。据报。在接收方TCP立即发出确认,构成的数据报是40字节长(假定没有数据发送)。若用户要求远地主机会送这一字符,则又要发回41字节长的IP数据报和40字节长的确认IP数据报。这样。用户仅发1个字符时线路上就需传送总长度为162字节共4个报文段。当线路宽并不富裕时,这种传送方法的效率的确不高。因此应适当推迟发回确认报文,并尽量使用捎带确认的方法。
在TCP的实现中广泛使用Nagle算法。算法如下:若发送应用进程把要发送的数据逐个字节地送到TCP的发送缓存,则发送方就把第一个数据字节先发送出去,把后面到达的数据字节都缓存起来。当发送方收到第一个数据字符的确认后,再把发送缓存中的所有数据组装成一个报文段发送出去,同时继续对随后到达的数据进行缓存。只有在收到对前一个报文段的确认后才继续发送下一个报文段。当数据到达较快而网络速率较慢时,用这样的方法可明显地减少所用的网络带宽。Nagle算法还规定,当到达的数据已达到发送窗口大小的一半或已达到报文段的最大长度时,就立即发送一个报文段。这样做,就可以有效地提高网络的吞吐量。
另一个问题叫做糊涂窗口综合征(silly window syndrome)[RFC 813],有时也会使TCP的性能变坏。设想一种情况:TCP接收方的缓存已满,而交互式的应用今晨过一次只从接收缓存中读取1个字节(这样就使接收缓存空间仅腾出1个字节),然后想发送方发送确认,并把窗口设置为1个字节(但发送的数据报是40字节长)。接着,发送方又发来1个字节的数据(请注意,发送方发送的IP数据报是41字节长)。接收方发回确认,仍然将窗口设置为1个字节。这样进行下去,是网络的效率很低。

猜你喜欢
联络方式:
深圳 · 龙岗 · 大运软件小镇22栋302-308
电话:400 1828 580
邮箱:szhulian@qq.com



-
你真的会用面包屑导航吗?
面包屑导航是一个次级导航系统,可以展示用户在网站或应用中的位置。这个术语来源于童话《糖果屋》,故事中的主人公在森林里用面包屑做标记来防止迷路。
-
怎么成为优秀的程序员
“看大多数程序员的行为,然后朝相反的方向走”,其实是一个更为抽象的方法论,能帮你把不同的特质联系起来,从而可以更方便的不断提醒自己不要走偏。
-
被忽略的微、小型企业信息化需求
尽管当前我国中小企业信息化水平普遍较低,但近日国家发改委中小企业司有关领导强调,中小企业信息化将成为一个巨大的市场
-
网站建设如何优化视觉效果
在制作网站时,请务必注意网站内容的相似性。页面的相似性是尽可能地将功能的相似性组合在一起,或者在页面中添加相关的推荐,这在改善浏览网站时的用户体验方面更有效。这非常有帮助。可以更好地提高用户的注意力,更好地提高网站本身的转换率。
-
px是什么单位?
px是pixel的缩写,是像素单位,也是为影像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,故“像素”表示“画像元素”之意,有时亦被称为pel(picture element)