TCP数据包格式(tcp协议报文格式)

要想对TCP有着较为详细的了解的话,那TCP的包格式是一定要了解,有了结构的清楚认识才能真正的理解它的工作过程和各种机制的原理,以下就是TCP的结构图:TCP数据包可分为TCP包头和来自应用层的数据两部分TCP段格式中间的标志位就是用于协议的一些机制的实现的比特位大家可以看到有6比特,它们依次如下:    URG、ACK、PSH、RST、SYN、FIN。

大家好,又见面了,我是你们的朋友全栈君。

TCP数据包格式:

要想对TCP有着较为详细的了解的话,那TCP的包格式是一定要了解,有了结构的清楚认识才能真正的理解它的工作过程和各种机制的原理,以下就是TCP的结构图:

TCP数据包格式(tcp协议报文格式)



TCP数据包可分为TCP包头和来自应用层的数据两部分




TCP段格式




中间的标志位就是用于协议的一些机制的实现的比特位大家可以看到有6比特,它们依次如下:




     URG、ACK、PSH、RST、SYN、FIN。




     URG表示紧急指针字段有效;




     ACK置位表示确认号字段有效;




     PSH表示当前报文需要请求推(push)操作;




     RST置位表示复位TCP连接;




     SYN用于建立TCP连接时同步序号;




     FIN用于释放TCP连接时标识发送方比特流结束。




源端口和目的端口
:各为16比特,用于表示应用层的连接。源端口表示产生数据包的应用层进程,而目的端口则表示数据包所要到达的目的进程。




序列号
:为32比特,表示数据流中的字节数。序列号为首字节在整个数据流中的位置。初始序列号随机产生,并在连接建立阶段予以同步。




确认号
:表示序号为确认号减去1的数据包及其以前的所有数据包已经正确接收,也就是说他相当于下一个准备接收的字节的序号。




头部信息
:4比特,用于指示数据起始位置。由于TCP包头中可选项的长度可变,因此整个包头的长度不固定。如果没有附加字段,则TCP数据包基本长度为20字节。




窗口
:16位,表示源端主机在请求接收端等待确认之前需要接收的字节数。它用于流量控制,窗口大小根据网络拥塞情况和资源可用性进行增减。




校验位
:16位。用于检查TCP数据包头和数据的一致性。




紧急指针
:16位。当URG码有效时只向紧急数据字节。



可选项:存在时表示TCP包头后还有另外的4字节数据。TCP常用的选项为最大数据包(并非整个TCP报文)MSS。每一个TCP段都包含一个固定的20字节的段头。TCP段头由20字节固定头和一些可选项组成。实际数据部分最多可以有65495(65535-20-20=65495)字节。

转载:http://blog.chinaunix.net/uid-26495963-id-3284813.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127986.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月16日 下午12:00
下一篇 2022年4月16日 下午12:00


相关推荐

  • OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)

    OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)OpenCV 与图像处理学习七 传统图像分割之阈值法 固定阈值 自适应阈值 大津阈值 一 固定阈值图像分割 1 1 直方图双峰法 1 2OpenCV 中的固定阈值分割二 自适应阈值图像分割三 迭代法阈值分割四 Otsu 大津阈值法前面的笔记介绍了一些 OpenCV 基本的图像处理 后面将学习使用 OpenCV 的传统的图像分割方法 这次笔记的内容是阈值法进行图像分割 图像分割是指将图像分成若干具有相似性质的区域的过程 主要有基于阈值 基于区域 基于边缘 基于聚类 基于图论和基于深度学习的图像分割方法等 图像分割分为语

    2026年3月26日
    2
  • 【SSH学习】

    【SSH学习】什么是SSH?简单说,SSH是一种网络协议(安全外壳协议),用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。SSH之所以能够保证安全,原因在于它采用了公钥加密。整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。SSH基本用法1.SSH远程登陆

    2022年6月24日
    32
  • python 【每天一个小技巧:豆包sdk接入】零基础如何使用豆包AI进行文字问答对话/图像识别(小白可学)

    python 【每天一个小技巧:豆包sdk接入】零基础如何使用豆包AI进行文字问答对话/图像识别(小白可学)

    2026年3月12日
    2
  • 15个权威的PLC学习资料下载地址 (西门子、三菱、欧姆龙)

    15个权威的PLC学习资料下载地址 (西门子、三菱、欧姆龙)论坛贴吧及工作中经常有人问PLC的学习资料去哪里下载,比如博图TIA软件哪里下载,怎么安装。三菱PLC的编程软件哪里下载等等,一般得到的回复是去官网啊,可是去官网下载界面也不太好找。今天整理了一下,把西门子、三菱、欧姆龙的官方下载地址直接贴出来供大家直接使用。比如下文第一个链接西门子资料下载中心,不仅包括西门子相关编程软件的下载,还包括常见系列的编程手册、产品目录、新手必读等等。西门子…

    2022年10月18日
    5
  • excel自学第1天_excel制作项目时间进度表_excel表头

    excel自学第1天_excel制作项目时间进度表_excel表头一 前言本节课使用 excel 制作项目进度表 二 操作步骤 F4 重复上一步操作字体选择微软雅黑 看起来商务一些 字号 10 或 11 行高 15 35 25 左右比较舒服 斜线表头制作方法 需要换行的地方安装 alt 回车 使其换行 单击单元格 右键 设置单元格格式 边框 第一行再前面加几个空格进行调整三 效果图

    2026年3月17日
    1
  • 请教 一下 百度地图  画  坐标点   画 轨迹在哪里

    请教 一下 百度地图  画  坐标点   画 轨迹在哪里

    2021年9月24日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号