IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 5.5 TCP报文段的首部格式 -> 正文阅读

[网络协议]5.5 TCP报文段的首部格式

????????TCP是面向字节流的,但TCP传送的数据单元报文段。一个TCP报文段分为首部数据两部分,TCP的功能都体现在首部各字段的作用中。TCP报文段首部的前20个字节都是固定的.

首部固定部分各字段的意义如下:

(1)源端口和目的端口各占2个字节。TCP的分用功能也是通过端口实现的。

(2)序号占4字节。序号范围是[0, 2^{32}-1],序号使用mod2^{32}运算。在一个TCP连接传送的字节流的每一个字节都按顺序编号。整个要传送的字节流的起始序号必须在连接建立时设置。首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号。这个字段的名称也叫作“报文段序号”。

(3)确认号占4字节是期望收到对方下一个报文段的第一个数据字节的序号

????????若确认号 = N,则表明:到序号N-1为止的所有数据都已正确收到。

(4)数据偏移:占4位,指出TCP报文段的首部长度。

(5)保留占6位,保留为今后使用,但目前应置为0。

(6)紧急URG:当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送,这时要与首部中紧急指针字段配合使用。

(7)确认ACK:仅当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置为1.

(8)推送PSH:当两个应用进程进行交互式的通信时,有时在一端的进程希望在键入一个命令后立即就能够收到对方的响应。在这种情况下,TCP就可以使用推送操作。发送方TCP把PSH置1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快的交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。虽然应用程序可以选择推送操作,但推送操作很少使用

(9)复位RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。将RST置为1还用来拒绝一个非法的报文段或拒绝打开一个链接。

(10)同步SYN:在建立连接时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。若对方同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。

(11)终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据以及发送完毕,并要求释放运输连接。

(12)窗口占2字节。窗口值是[0, 2^{16}-1]之间的整数。窗口指的是发送本报文段的一方的接收窗口。窗口字段明确指出了现在允许对方发送的数据量,窗口值经常在动态变化着

(13)检验和占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。TCP的协议号是6

(14)紧急指针占2字节。紧急指针仅在URG=1时才有意义,指出了紧急数据的末尾在报文段中的位置。当所有紧急数据都处理完时,TCP就告诉应用程序恢复到正常操作。值得注意的是,即使窗口为0时也可发送紧急数据。

(15)选项:长度可变,最长可达40字节。最后的填充字段仅仅是为了使整个TCP首部长度是4字节的整数倍。

MSS是每一个TCP报文段中的数据字段的最大长度。

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:46:48  更:2021-12-04 13:47:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:30:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码