惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - CodeBlove

SQL Server 重置SA密码语句 区分扫描枪输入和键盘输入的实现 VBA 发送邮件代码 WIN7用户文件夹迁移 3D空间基础概念之三:几何变换 IP地址排错命令 TCP/IP协议、DoD模型、OSI模型 IP寻址 IP报头包含的协议 IP报头结构 UDP数据报协议 数据链路层(2层)数据帧结构 MAC地址结构 WOW 各等级属性换算表 基于OPENGL使用C++实现相机类 正则表达式匹配EXCEL地址字符串 C#组件项目设置与开发应用范例 清理SQLSERVER日志 DOTNET前台页面与数据表常规绑定机制分析
TCP数据段格式
CodeBlove · 2012-03-27 · via 博客园 - CodeBlove

传输控制协议(TCP)通常从应用程序中得到大段的信息数据,然后将它分割成若干个数据段。TCP会为这些数据段编号并排序,这样,在目的方的TCP协议栈才可以将这些数据段再重新组成原来应用数据的结构。由于TCP采用的是虚电路连接方式,这些数据段在被发送出去后,发送方的TCP会等待接收方TCP给出一个确认性应答,那些没有收到确认应答的数据段将被重新发送。

当发送方主机开始沿分层模型向下发送数据段时,发送方的TCP协议会通知目的方的TCP协议去建立一个连接,也就是所谓的虚电路。这种通信方式被称为是面向连接
的。在这个初始化的握手协商期间,双方的TCP层需要对接收方在返回确认应答之前,可以连续发送多少数量的信息达成一致。随着协商过程的深人,用于可靠传输的信道就被建立起来。

TCP是一个全双工的、面向连接的、可靠的并且是精确控制的协议,但是要建立所有这些条件和环境并附加差错控制,并不是一件简单的事情。所以,毫无疑问,TCP是复杂的,并在网络开销方面是昂贵的。然而,由于如今的网络传输同以往的网络相比,已经可以提供更高的可靠性,因此,TCP所附加的可靠性就显得不那么必要了。

TCP报头一共24字节:

源端口号(16bit) 目的端口号(16bit)
序列号(32bit)
确认应答号(32bit)
头长度(4) 保留(6) 代码位(6) 窗口(16)
校验和(16) 紧急(16)
选项(0或32,若有的话)

数据(可变)

目的端口号 在目的主机上请求应用程序的端口号。
序列号 一个由TCP用于将数据编排回原来正确s的顺序或用于对丢失或损坏的数据进行重传的编号,这样的处理过程称为顺序控制(排序)。
确认应答号 用于说明下一个所期望接收的TCP八位组数据。
头长度 在TCP头中包含的32位字的数量。用来指明数据的起始位置。TCP头的长度(即使包含有选项)是一个32位的整数倍。
保留 总是被设置为零。
代码位 用于建立及结束会话的控制功能。
窗口 是发送方将被允许的发送窗口尺寸,用八进制形式表示。
校验和 循环冗余校验(CRC),山于TCP不相信它的低层,因此会检验所有的数据。此CRC用于检验报头和数据字段。
紧急 当紧急指针代码位被设置时为有效字段,如果有效,这个值指明了当前序列号的八位组的偏移值,即第一个非紧急数据的起始位置。
选项 在需要时,可以是0或32位的倍数。也就是说,没有选项存在时,选项的大小为0。然而,如果所使用的选项所占用的字段不是32位的整倍数,则需要填充若干个0来确保数据始于32位的边界上。
数据 指被传送到传输层的TCP协议的数据,它包含有上层数据的报头。