tcp数据报头解析

2023-11-20 16:18
文章标签 数据 报头 解析 tcp

本文主要是介绍tcp数据报头解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

tcp数据报报头解析:
        16bits:        源端口,即发送端的端口
        16bits:        目标端口,即到达端的端口
        32bits:        Seq,tcp数据报序号,tcp数据报太大超过ip数据报容许,需要分段,标记分段序号
        32bits:        Ack number,回应序号,确认码
        4bits:           tcp数据报报头大小,4个字节为一个单位
        6bits:          保留,尚未使用
        6bits:          控制标志码,0关闭,1启动
                                        URG:1紧急数据包,接收端紧急处理
                                        ACK:1响应数据报,和32bits,Ack number有关
                                        PSH:1要求对方立刻传送缓冲区内对应数据包,无需等待满再传送
                                        RST:1表示立刻结束连接,无需等待手续,此时发送方已强制断线
                                        SYN:1表示发送方希望建立连接,表示开始连接的意思
                                        FIN:1表示传送结束,通知对方完毕,是否同意断线,此时发送端还在等待回复
        16bits:        window(滑动窗口),告诉对方本机的缓存器还可以接收的数据,单位-字节,0表示满,应暂停传输数据
        16bits:        数据效验码,如若不等,表示数据报损毁,进而请求重发数据包
        16bits:        紧急数据位置,仅当URG=1时启用,表示紧急数据所在的位置
        nbits:          任意数据,一般表示接收端可以接收的最大数据容量等
        36-nbits:    补足任意数据,使达到32bits,tcp头部需要时32bits整数倍

tcp3次握手建立连接:
        first:               发送端发送一个        SYN=1;                 seq=n,ack=0      的数据报
        second:        接收端发送一个        SYN=1,ACK=1;seq=i,  ack=n+1 的数据报
        third:              发送端发送一个       ACK=1;                 seq=m,ack=i+1  的数据报    

这篇关于tcp数据报头解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395863

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分