18.2.3 TCP协议

本文深入解析了TCP协议的工作原理,包括其如何确保数据包的可靠传输、数据包的编序及差错控制机制等。此外还介绍了TCP报文结构及其各字段的作用,帮助读者理解TCP如何在复杂的网络环境中提供稳定的服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

18.2.3  TCP协议

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

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

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

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

18.7  TCP报文结构

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

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

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

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

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

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

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

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

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

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

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

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

18.1  TCP报头控制位指令

   

   

URG

紧急指示字段

ACK

如果设置,该包包含确认

PSH

启用推入功能

RST

恢复连接。用于一个功能不接收连接请求时

SYN

用于建立同步序号

FIN

数据不再从连接的发送点进入,结束总报文

 

TCP提供的主要服务有:

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

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

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

q      控制差错的机制。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值