设为首页 加入收藏

TOP

18.2.3 TCP协议
2013-10-12 06:54:05 来源: 作者: 【 】 浏览:90
Tags:18.2.3 TCP 协议

18.2.3  TCP协议

原始的互联网使用的传输介质为电话线,计算机通过调制解调器将数值信号转为模拟信号,然后使用电流载波。因为电话线的噪声极大,很容易造成误码,因此TCP协议具有完善的循环校验机制。TCP是重要的传输层协议,必须保证数据传递的完整性。另外,数据包报文中有计算机端口号信息,可以用来区别同一计算机上不同应用程序的数据。

数据包是很小的数据单位,而通过网络传递的连续数据往往是数据包长度的很多倍。因此,数据包报文中还有一个顺序编号,使接收的计算机能够更具编号重新按顺序还原数据。TCP协议的另一个重要功能就是把大的数据切成较小的数据包,或者将接收到的数据包按顺序还原为原始数据。如果发现某一个数据包丢失了,TCP协议会向源计算机发送请求,要求重新传递丢失的数据包。这种处理能力,被称之为全双工。

TCP协议最小的处理单位为字节,因此TCP是面向字节的顺序协议。数据包内的每个字节都会被分配一个顺序编号,以及为了验证数据真实性的奇偶校验位。虽然这种做法传递了过多的冗余数据,但根本原因是由早期网络极为不可靠造成的。

为可靠的完成数据传输任务,TCP将报文或数据分成可管理的长度并加上TCP头,并定义一些主要的字段,如图18.7所示。

 
(点击查看大图)图18.7  TCP报文结构

TCP报文中的字段定义如下。

源端口:源计算机指定的端口编号。

目的地端口:接收计算机的端口编号。

顺序号:分配给TCP包的编号。

应答号:接收计算机向源计算机发送的编号。

偏移位:指出TCP 头的长度(即TCP头中的32位字的数)。它表明数据开始和TCP头结束。对于正常的20 字节的头,这个字段设置成0101。

保留位:为将来使用而保留。必须设置为0。

控制位:用作个别控制位,如表18.1所示。

窗口号:窗口字段也称接收窗口大小,表示在TCP连接上准备由主机接收的8位字节的数目。

校验位:一个差错检验数,用于确定被接收的数据包文在传输期间是否被讹误。包括TCP头和所有数据。

紧急指针:它指出了紧接紧急数据的字节的顺序编号。

可选项:长度变量,它考虑到TCP使用的各种选项:选项表的结束、无操作、最大分段长度。

表18.1  TCP报头控制位指令

    < xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

   

URG

紧急指示字段

ACK

如果设置,该包包含确认

PSH

启用推入功能

RST

恢复连接。用于一个功能

不接收连接请求时

SYN

用于建立同步序号

FIN

数据不再从连接的发送

点进入,结束总报文


TCP提供的主要服务有:

建立、维持和终结两个进程之间的连接。

可靠的包传递(经过确认过程)。

编序包(可靠的数据传送)。

控制差错的机制。

通过使用端口,允许在个别的源和目的地主机内部实现和不同进程多重连接的能力。

使用全双工操作的数据交换。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇18.2.4 UDP协议 下一篇18.1.1 网络结构

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: