计算机网路协议知识汇总(六)传输层-TCP

TCP(Transmission Control Protocol),传输控制协议

  • 可靠传输
  • 流量控制
  • 拥塞控制

数据格式

TCP报文段 = 首部 + 数据部分

首部

image.png
首部 = 源端口(16位) + 目标端口(16位) + 序号 + 确认号 + 数据偏移(4位) + 保留(6位) + URG + ACK + PSH + RST + SYN + FIN + 窗口 + 检验和 + 紧急指针 + 选项 + 填充

数据偏移

  • 作用:计算首部长度,也代表数据部分在整个报文段的起始位置
  • 占4位,取值范围:0x0101 ~ 0x1111(5 ~ 15)
  • 数值乘以4 :首部长度(包含20个字节的固定部分)

保留

  • 占6位
  • 目前全为0

URG(Urgent)紧急位

  • 占1位
  • 如果URG=1,当前报文段内有紧急数据,紧急指针有效。

紧急指针

  • 占16位
  • 紧急数据长度。
  • TCP数据部分开始到紧急指针长度位置为紧急数据。

序号(Seq,Sequence Number)

  • 占32位(4字节)
  • 首先,传输过程中的每一个字节都有一个编号。
  • 建立连接后,表示这一次传给对方的TCP数据包分的第一个字节的编号。用在传输数据太长,被切片传输的数据合并。

ACK(Acknowledgment)确认信号

  • 占1位
  • 当ACK=1,确认号字段才有效

确认号(Ack,Acknowledgment Number)

  • 占32位
  • 建立连接号,表示期望对方下一次传输过来的TCP数据部分的第一个字节的编号。与序号相呼应。

PSH(Push)

  • 占1位
  • 交互式网络中使用

RST(Reset)重置信号

  • 占1位
  • 当RST=1,当前连接中出现严重错误,必须释放连接,再重新建立连接。

SYN(Synchronization)同步信号

  • 占1位
  • 当SYN=1,且ACK=0,表示这是一个发起建立连接的请求
  • 然后对方同意建立连接,SYN=1,ACK=1,表示对方同意建立连接的回复。

FIN(Finish)结束信号

  • 占1位
  • 当FIN=1,表示数据已经发送完毕,要求释放连接的请求。

窗口 (wnd-window,rwnd-receive window)

  • 占16位(最大值65535)
  • 用于流量控制,告知对方下一次允许发送的数据大小(以字节位单位),所以最大值为65535byte(4KB)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值