传输控制协议TCP的特点和格式

TCP协议的主要特点:

①支持面向连接的传输服务。:应用程序在使用TCP协议传送数据之前,必须在源进程端口和目的进程端口之间建立一条TCP传输连接。每个TCP连接为通信双方的一次进程通信提供服务。
②支持字节流的传输。:
③支持全双工通信。:
④支持同时建立多个并发的TCP连接。:一个Web服务器必须同时处理多个客户端的访问。
⑤支持可靠的传输服务。:对发送和接收的数据进行跟踪、确认和重传,并且提供拥塞控制功能。

TCP协议报文格式:TCP报文也称报文段(segment)
①TCP报头长度60字节,包括20字节的固定长度和40字节(可变)的可选长度。
这里写图片描述

②端口号:端口号包括源端口号和目的端口号。每个端口号的长度为16位,2字节。:分别表示该发送报文段的应用进程的源端口号与接收进程的目的端口号。

③序号:发送字节流的每个字节都按顺序编号,初始序号为发送各方使用随机数产生器产生的初始序号,因此,一个TCP连接的通信双方的序号是不同的。

④确认号:确认号表示一个进程已经正确接收序号为N的字节,要求发送方下一个应该发送序号为N+1的字节的报文段。

⑤报头长度:报头长度字节为4位,TCP报头长度是以4字节为单位来计算的。

⑥保留字段:保留字段的长度为6位。

⑦控制:控制字段定义了6种不同的控制位或标志,使用时在同一时间可设置一位或者多位,控制字段用于TCP连接的建立、和终止、流量控制、以及数据传送过程。
紧急(URG)位:值为1,表示优先级别最高,需要插入到报文段最前面,尽快发送;URG位需要和紧急指针一起使用。
确认(ACK)位:在TCP建立后发送的所有报文段的ACK都要置1。
推送(PSH)位:当两个进程在交互式通信时,一端应用进程希望在输入一个命令之后,能够立即得到对方的回应,就将Push置1。
复位(RST):置1有两种含义,第一表示主机崩溃等原因造成TCP连接出错,需要立即释放连接,再重建。第二种是拒绝一个非法的TCP报文或拒绝释放一个连接。
同步(SYN)位:同步位SYN在连接建立时用来同步序号,例如,当SYN=1,ACK=0时,表示这是一个连接建立请求报文,同意建立连接的响应报文SYN=1,ACK=1 。
终止位(FIN):终止位用来释放一个TCP连接,FIN=1表示发送端的报文段发送完毕,请求释放TCP连接。

⑧窗口:窗口字段长度为16位。为0~65535字节。窗口字段值是准备接收下一个TCP报文段的接收端,通知即将发送报文段的发送端,下一次最多可以发送报文段的字节数;发送端将根据窗口值得大小来调整自己的发送窗口大小。

⑨紧急指针:字段的长度为16位。只有当URG=1时,这个字段才有效,这时的报文段中包括紧急数据。

⑩校验和:计算校验和与UDP的过程相同。UDP的校验和过程是可选的,而TCP的过程是必须的。

TCP的最大段长度:

TCP对报文数据部分最大长度有一个规定,这个值称为“最大段长度(Maximum Segment Size, MSS)”。
①最大段长度MSS是在构成一个TCP报文段时,最多可以在报文的数据字段中放置的数据字节流量。MSS值得确定与每次传输的窗口大小无关。
②MSS是TCP报文中数据部分的最大字节数限定值,不包括报头长度。
③MSS值得选择考虑下面几个因素:协议开销、IP分片、发送和接收缓冲区限制、MSS的默认值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值