博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
传输层——TCP报文头介绍
阅读量:4972 次
发布时间:2019-06-12

本文共 765 字,大约阅读时间需要 2 分钟。

 

16位源端口号

16位目的端口号

32位序列号

32位确认序列号

4位头部长度

保留6位

U

R

G

A

C

K

P

S

H

R

S

T

S

Y

N

F

I

N

16位窗口大小

16位检验和

16位紧急指针

可选项

数据

源端口:  长度为16位,2个字节。

目的端口:  长度为16位,2个字节。

    IP实现了点到点的数据通信,而TCP实现的是端到端的通信。

    通信端用一个IP与端口号来唯一标识。(其实端口号就是用来标识同一主机中的不同进程。)

    IP协议负责将数据传输到目标主机,而TCP可以根据数据报中的端口号,将数据交给相应的程序进行处理。

 

序列号: 长度32位,4个字节。

确认序列号:长度32位,4个字节。

头部长度:该字段占用4位,用来表示报文首部的长度,单位是4Byte。如:headLen = ((packet[12]>>4)&0x0F)*4;

预留6位:长度为6位,作为保留字段,暂时没有什么用处。

 

URG:长1位,表示紧急指针字段有效;

ACK:长1位,置位表示确认号字段有效;

PSH:长1位,表示当前报文需要请求推(push)操作;

RST:长1位,置位表示复位TCP连接;

SYN:长1位,用于建立TCP连接时同步序号;

FIN:长1位,用于释放TCP连接时标识发送方比特流结束;

    ————该6位字段,理解不深,留作日后研究???

 

窗口大小:长度为16位,2个字节。

校验和:长度为16位,2个字节。

紧急指针:长度为16位,2个字节。

以上是TCP包头必须要有的字段,也称固有字段,长度为20个字节。

 

可选项:此项是可选项(可有可无),解包时得具体分析(是TCP包头的一部分)。

 

 

 

 

转载于:https://www.cnblogs.com/xiehy/p/3248280.html

你可能感兴趣的文章
Where does Visual Studio look for C++ Header files?
查看>>
Java打包可执行jar包 包含外部文件
查看>>
错误1919,配置ODBC数据源MS Access Database时发生错误ODEC错误
查看>>
Docker容器运行ASP.NET Core
查看>>
WPF图片浏览器(显示大图、小图等)
查看>>
.Net码农学Android---系统架构和基本概念
查看>>
Windows Phone开发(37):动画之ColorAnimation
查看>>
DevExpress的Web控件汉化方法
查看>>
js中escape,encodeURI,encodeURIComponent 区别(转)
查看>>
结对编程项目-四则运算整体总结
查看>>
Android studio怎么修改文件名
查看>>
sass学习笔记-安装
查看>>
多缓存并存
查看>>
Flask (二) cookie 与 session 模型
查看>>
修改添加网址的教程文件名
查看>>
Java作用域
查看>>
spring中增加自定义配置支持
查看>>
End Point
查看>>
关于下载gitbash客户端
查看>>
支付宝钱包手势password破解实战(root过的手机可直接绕过手势password)
查看>>