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

推荐订阅源

博客园_首页
Microsoft Security Blog
Microsoft Security Blog
云风的 BLOG
云风的 BLOG
B
Blog
The Register - Security
The Register - Security
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
F
Full Disclosure
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Blog — PlanetScale
Blog — PlanetScale
Jina AI
Jina AI
美团技术团队
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
D
DataBreaches.Net
Martin Fowler
Martin Fowler
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
The Cloudflare Blog
博客园 - 【当耐特】
U
Unit 42
月光博客
月光博客
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
博客园 - 聂微东
I
InfoQ
B
Blog RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
Cyberwarzone
Cyberwarzone
V
V2EX
S
Securelist
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Security @ Cisco Blogs
PCI Perspectives
PCI Perspectives
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Heimdal Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog

博客园 - 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协议的数据,它包含有上层数据的报头。