计算机网络中的字节填充_计算机网络 传输层 TCP协议

计算机网络 传输层 TCP协议

TCP协议的特点

  • TCP 是面向连接的传输层协议,传输数据前必须先建立连接,数据传输完毕后要释放连接
  • 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP连接只能是点对点的(一对一)
  • TCP 提供可靠交付的服务,保证无差错、不丢失、不重复、按序到达
  • TCP 提供全双工通信,在一个连接上,通信双方可同时向对方传输数据
  • 面向字节流,认为在TCP连接上传输的是字节流

3cdbe1a8ac21a7568579056b6c3b85b9.png

TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是传输层的协议端口,TCP 连接的端点叫做套接字(socket)

套接字 socket = (IP地址: 端口号)

TCP报文段的首部格式

一行4字节,共32位,固定有5行20字节,和IPv4类似的结构。

3490cc927fc9956f935b8609445d767e.png

TCP首部字段解释

源端口,目的端口:通信双方的端口号,比如HTTP服务的TCP端口号为80

序号字段:在TCP连接中传送的数据流中的每一个字节都有序号,序号字段指本报文段所发送的数据的第一个字节的序号,以字节为单位

确认号字段:期望收到对方的下一个报文段的数据的第一个字节的序号

注:TCP连接是全双工,通信双方可互相发送数据,因此应答与数据一同发送给对方

数据偏移:4位,首部长度,单位是32位字(4字节)

注:字(word),字节(byte),比特(bit)是不一样的计量单位

保留字段:6bit,保留

紧急URG:1bit,为1时,紧急指针字段有效,表明有紧急数据,应尽快传送

确认ACK:1bit,为1时,确认号字段有效;为0时,确认号无效

推送PSH:1bit,为1时,接收方将尽快向应用进程交付此报文段,而不是等到整个缓存填满

复位RST:1bit,为1时,表明TCP连接出现严重差错(如由于主机崩溃),须释放连接后重新建立连接

同步SYN:1bit,为1时,表示这是一个连接请求或连接接受报文

终止FIN: 1bit,为1时,表示要求释放TCP连接

窗口大小:2字节,用来让对方设置发送窗口的依据,单位为字节

检验和:2字节,伪首部+首部+数据的校验和,伪首部(pseudoheader)格式与UDP的伪首部相同

dbf251cbc388f9132a86ad4ad0d0e52b.png

紧急指针:2字节,指出本报文段中紧急数据共有多少个字节(紧急数据放在数据的最前面)

选项:长度可变,最长40字节,例如最早定义的一种选项:最大报文段长度MSS(Maximum Segment Size)

填充字段:为了使整个首部长度是4字节的整数倍

对应中英文参照如下:

9c66a84b2ce76038219a50797345384d.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值