在TCP刚出世的时候,其主要工作环境是以太网和SLIP之类的低速网络。随着高速网络的出现,让TCP协议的吞吐量更大,效率更高的要求就愈来愈迫切。为此,TCP增加了三个重要机制来对应现在的变化,他们是
- 路径MTU发现。
- 窗口扩大选项和时间戳。
- T/TCP(增加了事务功能的TCP协议)。
1.路径MTU发现
顾名思义路径MTU指的是源主机到墓地主机之间的路径的可传送最大单元的大小。其原理同样是使用设置了不许分片的IP数据报,并等待ICMP错误,来估算MTU的大小。书中的P257介绍了TCP如何根据ICMP的报文来修改自己的MTU。具体如下:
- 当源主机接收到较新的ICMP差错报文时,就直接修改自己的最大发送报文段大小为发送ICMP差错报文的发送端的MTU与IP头和TCP头的差值。
- 当源主机接收到较新的ICMP差错报文时,则必须尝试下一个MTU(各种不同的网络设备都有一个MTU,各个MTU从大到小为"65535,17914,4464,4352,1500,1492,576,296")。
- 因为路由可以动态变化,所以每隔10分钟,发送端就可以用比较大的报文来侦测一下路径MTU。
2.长肥管道
所谓的长肥管道,说的就是发送时延长,带宽宽的管道,衡量这一概念的标准是时延面积。如果碰上了网络“又长又肥”,那么网络的利用率就会大幅度的降低,普通的计时方法和窗口面积就不够用了。就需要更多的措施来弥补这个缺陷。这就是时间戳和窗口扩大选项。这些都是在经典TCP协议头之外定义的扩展选项,格式如下:
2.1.时间戳选项
用户在发送每一个TCP报文的时候都放置一个时间戳,接受方在确认中返回这个时间戳值。发送方就可以根据这个时间戳来计算RTT。从而使得RTT更加精确,减少不必要的重传。减低网络的负载。
2.2.窗口扩大选项
很奇怪的是为什么窗口最大的扩展量只有14而不是64。因为毕竟窗口扩大选项有一个字节那么长的数据可以用,不过,不管怎么样,还是记住为好。窗口扩大选项可以让窗口扩大到2的30次方。这就几乎完美的解决了肥管道的问题。
分享到:
相关推荐
本资料很通俗易懂的介绍了Tcp/Ip的有关知识
TCP/IP详解,学习笔记,是初学者对TCP/IP协议了解的很好资料!
tcp/ip详解前3章学习笔记 osi七层模型 tcp/ip 4层协议系统 ip 路由选择
TCP/IP协议技术详解学习笔记,内容丰富详尽,通俗易懂。
这篇文档主要是针对TCP/IP的协议进行详细的介绍,有笔者的学习心得!
TCP-IP学习总结笔记.pdf
1.突破TCP-IP过滤/防火墙进入内网(icmp篇) 2.informix-4gl 7.2编写的通用菜单函数 3.Makefile工具的使用 4.vi用法集锦 5.SCO核心参数详细说明 6.SCO Unix 制作系统应急盘“Out of inodes”错误的处理 7.SCO TCP/IP...
学长精心写的TCP/IP网络协议,清晰明了,新手宜看。
TCP-IP-Illustrated-vol1:《 TCPIP详解卷1:协议》笔记
TCPIP详解 笔记 详细描述了TCP/IP的相关知识,通过阅读此文档,你可以充分理解协议,并应用于实践中
TCPIP协议详解学习笔记.pdf
《TCP/IP详解.卷1-协议》 思科路由器和交换机案例实战【PDF】 最全的网络拓扑图【七层协议详解】 局域网组建与维护教程【PDF】 "你最需要了解的H3C交换机端口安全模 式" OSPF协议在企业中的综合应用案例 "小议企业...
数据链路层,IP协议,ARP协议,RARP协议,ICMP协议,ping和Traceroute,UDP,DNS等
网络通信协议,网络通信基础知识,socket网络编程的一些基础知识,Socket网络编程学习笔记,网络编程总结,2011-学习资料大全:java_socket编程,学习网络编程的十个步骤,socket编程入门(经典版),Unix_网络编程...
1.TCP-IP详解卷1:协议 中文版PDF 2.高级TCP/IP编程 中文版PDF 3.TCPIP Sockets in Java 2nd 英文版PDF, 4.Advanced JAVA networking英文版PDF 5.中文版Socket Java教程 6.Socket Java学习笔记 7.UDP简单案例
【学习笔记】Netperf网络性能测试工具详解教程,Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于TCP或UDP的传输。
注意学习笔记HTTP权威指南TCP / IP详解卷一:协议// 1,2,3可以先看1,其中8,9章是重点深入理解Linux内核//比较难Lniux内核设计与实现//相对简单Nginx核心知识100讲深入理解Nginx;模块开发与架构解析大型网站技术...
DHCP学习笔记原文分享 1、正常建立连接过程 环境搭建拓扑图如下: DHCP DISCOVER: 这是 DHCP 客户端首次登录网络时进行 DHCP 过程的第一个报文,用来寻找 DHCP 服务器。 DHCP OFFER: DHCP服务器用来响应DHCP,...