tcp报文格式及解释

传输层协议 --TCP报文格式详细介绍 双方在进行网络通信的时候,由于TCP是保证数据按序到达的,即便发送端将要发送的数据分成了若干个TCP报文进行发送,最终到达接收端时这些数据也都是有序的,因为TCP可以通过序号来对这些TCP报文进行顺序重排,最终就能保证数据到达对端接收缓冲区中时是有序的。序号和确认序号的作用就在此很好的发挥了,首先 序号和确认序号可以将请求和应答一 一对应,收到的报文如果是乱序的,可以对序号进行排序(解决乱序问题),其次 确认序号表示序号确认之前的序号全部收到,也就允许部分确认丢失是或者不给应答。 阅读详情

源端口和目的端口:都是16个比特,分别表示发送方和接收方的端口号。端口号和IP地址构成套接字(socket)地址的主要内容。源端和目的端的套接字合起来唯一地表示一条连接。网络应用程序在通信时直接向套接字发送和接收数据。 
序列号和确认号:都是32位的无符号整数,可以表示0-4G(232)字节的范围。其中,序列号表示数据部分第一个字节的序列号,而确认号表示该数据报的接收者希望对方发送的下一个字节的序号(即序号小于确认号的数据都已正确地被接收)。 
头长度(HLEN):表示TCP报文头的长度。长度以32-bit为单位来计算。所以如果选项部分的长度不是4个字节的整数倍,则要加上填充(padding)。 
保留域:紧接在头长度字段后有6个比特,应该把它设置为0。

再后则是6个标志位。标志位特定的含义: 
URG(urgent)为紧急数据标志。如果它为1,则表示本数据报中包含紧急数据。此时紧急数据指 
针表示的值有效。它表示在紧急数据之后的第一个字节的偏侈值(即紧急数据的总长度)。 
ACK(acknowledge)为确认标志位。如果ACK为1,则表示报文中的确认号是有效的。否则,报文 
中的确认号无效,接收端可以忽略它。 
PSH(push)标志位。被置位后,要求发送方的TCP协议软件马上发送该数据报,接收方在收到数据后也应该立即上交给应用程序,即使其接收缓冲区尚未填满。 
RST(reset)标志位。用来复位一条连接。RST标志置位的报文称为复位报文。一般情况下,如果TCP收到的一个报文明显不是属于该主机上的任何个连接,则向远端发送一个复位报文。 
SYN(synchronous)标志位。用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据报为连接请求,如SYN=1而ACK=1则表示是接受连接。 
FIN(finish)标志位。表示发送方已经没有数据要传输了,希望释放连接。 
窗口(window)字段。窗口表示的是从被确认的字节开始,发送方最多可以连续发送的字节的个数。接收方通过设置该窗口值的大小,可以调节源端发送数据的速度,从而实现流控。 
校验和(checksum)域。是TCP协议提供的一种检错机制。与我们在前面的章节中学过的UDP协议类似,在计算校验和时不仅要计算TCP报文自身(报文头和数据),还要增加一些额外的信息内容 – 12个字节的“伪包头”。

【网络协议】【TCP/IP】史上最全TCP/IP头格式分析!图解超赞超详细!!! 这是超过了链路层的MTU,需要进行分片,4000字节中,20字节为包头,3980字节为数据,需要分成3个ip片(链路层MTU为1500),那么第一个分片的片偏移就是0,表示该分片在3980的第0位开始,第1479位结束。5. 头部大小,4位,单位为32位(bit),也就是4个字节,给出头部占32bit的数目。8、TTL:生存时间,即路由器的跳数,每经过一个路由器,该TTL 减一,因此路由器需要重新计算IP报文的校验和。5、16位标识:IP 报文的唯一id,分片报文的id 相同,便于进行重组。 阅读详情

相关推荐

(8)机器人动力学

机器人是一个具有多输入多输出的复杂动力学系统,存在严重的非线性,需要非常系统的方法对机器人进行动力学研究。常用的机器人动力学建模方法有:Lagrange(拉格朗日)动力学方法、Newton-Euler(牛顿-欧拉)动力学方法、Gauss(高斯)动力学方法、Kane(凯恩)动力学方法等。机器人动力学研究的是机器人的运动和作用力之间的关系。机器人的动力学问题包括动力学正问题和动力学逆问题。动力学正问题是对于给定的关节驱动力......

rouyu308的博客 9499

【计算机网络】TCP协议——1.报文格式详解

【计算机网络】TCP协议报文格式详解

m0_72563041的博客 3万+

Ubuntu下为RK3568开发板搭建Qt交叉编译环境:手把手教你配置Qt Creator和远程调试

本文详细介绍了在Ubuntu系统下为RK3568开发板搭建Qt交叉编译环境的完整流程,包括工具链配置、Qt源码交叉编译、Qt Creator环境设置以及远程调试技巧。通过手把手教程,开发者可以快速掌握RK3568平台的Qt开发环境搭建方法,实现高效的应用开发和部署。

weixin_30776273的博客 375

TCP-报文格式

文章目录1. TCP报文格式2. TCP/UDP 报文格式对比 本文整理自《TCP-IP详解》 1. TCP报文格式 端口号 每个T C P段都包含源端和目的端的端口号,用于寻找发端和收端应用进程 32位序号 序号是32 bit的无符号数,序号到达23 2-1后又从0开始。字节流的字节计数器 32位确认序号       既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据

uncle103的博客 4321

手把手教你配置微信商户平台IP白名单:企业付款到零钱必备步骤

本文详细解析了微信商户平台IP白名单的配置原理与实操步骤,这是实现企业付款到零钱功能的关键安全环节。文章从理解IP白名单的安全逻辑出发,指导开发者精准定位服务器公网IP,并提供了在商户平台后台的详细配置流程与常见问题排查指南,帮助开发者高效完成配置,确保企业付款API的顺利调用。

weixin_29326909的博客 737

STM32F103内部晶振配置实战:从代码修改到频率验证(附工程模板)

本文详细介绍了STM32F103内部晶振(HSI)的配置实战,从代码修改到频率验证的全流程,并附赠可直接使用的工程模板。通过对比HSI与外部晶振的优缺点,帮助开发者在成本敏感和空间受限的应用中实现稳定时钟配置,同时提供频率校准和常见问题排查方法。

weixin_29171087的博客 323

TCP报文格式

TCP 对单次传输的数据大小有上限(由 “最大报文段长度 MSS” 决定,通常为 1460 字节,由 MTU=1500 字节减去 TCP 头部 20 字节、IP 头部 20 字节计算得出)。首部长度由 TCP 首部中的「数据偏移」字段(4 位)控制,该字段以 4 字节为单位,最大值为 15(4 位二进制最大表示 15),因此最大首部长度为 15 × 4 = 60 字节。此时,“TCP 头部 + HTTP 数据块” 就构成了TCP 报文段(Segment),这是 TCP 层的基本传输单元。

徐子元 1251

深入浅出:大型语言模型(LLM)的全面解读

在当今的数字化时代,人工智能技术已经成为各行各业的核心驱动力之一。而在人工智能的领域中,大型语言模型(LLM)作为一种引人瞩目的技术,正在以其强大的语言理解和生成能力引领着一场革命。本文旨在深入浅出地解读大型语言模型,探讨其背后的原理、技术突破、应用场景以及未来发展趋势。

fudaihb的博客 10万+

TCP报文格式详解

<br /><br /><br /><br /> TCP协议只定义了一种报文格式<br />     建立、拆除连接、传输数据使用同样的报文<br /><br /> TCP报文格式<br />TCP报文段首部(20个字节)<br /> 源端口和目的端口:各占2个字节,16比特的端口号加上32比特的IP地址,共同构成相当于传输层服务访问点的地址,即“插口”;<br /> 这些端口可用来将若干高层协议向下复用;<br />序号字段和确认序号字段:<br /> 序号:占4个字节,是本报文段所发送的数据部分第一个字

林榆耿的专栏 1万+

Redhawk:toggle rate从哪来?

redhwak中toggle rate的相关设置

m0_61544122的博客 8127

ABAP 里解构引用操作符 ->* 的使用方法详解

解除引用操作符->*可用于将“类型为REF TO …的引用变量”的值(即该引用所指向内存)取出,从而访问其实际值或内部组件。具体地,若dref是一个“引用变量”,则表达式dref->*代表对该引用进行“解除引用”,使得程序按静态类型将其视为实际类型的值对象。例如,若lr类型声明为,则lr->*表示“将 lr 引用的INT4对象看作INT4类型并访问其值”。注:若 “数据引用变量” 的静态类型是通用类型DATA,则只能在这种上下文中使用->*。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 481

TCP报文格式详解(转)

转自:http://blog.youkuaiyun.com/LYG105504/archive/2010/11/14/6008725.aspx TCP协议只定义了一种报文格式      建立、拆除连接、传输数据使用同样的报文  TCP报文格式 TCP报文段首部(20个字节)  源端口和目的端口:各占2个字节,16比特的端口号加上32比特的IP地址,共同构成相当于传输层服务访问点的地址,即“插口”...

先相信你自己,然后别人才会相信你。 663

prometheus普罗米修斯集监控外部k8s

prometheus普罗米修斯集监控外部k8s

你是我一生的追求 2249

TCP和UDP------报文格式

TCP/UDP 报文格式

qq_44406549的博客 844

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TCP/IP:TCP/UDP报文格式

目录 TCP报文格式 UDP报文格式 TCP报文格式 报文格式 图1TCP首部格式 字段 长度 含义 Source Port 16比特 源端口,标识哪个应用程序发送。 Destination Port 16比特 目的端口,标识哪个应用程序接收。 Sequence Number 32比特 序号字段。TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的序号。 Acknowled..

RToax 1296

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

理解TCP中的三次握手

TCP三次握手 TCP(Transmission Control Protocol) 传输控制协议 TCP是端到端的传输控制协议,提供可靠的连接服务,采用三次握手方式来建立连接。 要理解三次握手流程,需要先了解TCP协议格式,因为在三次握手过程中,发送的都是没有数据,只有报头信息的TCP报文,通过报头中某些字段值的不同含义从而实现连接的建立。TCP报文格式如下:

SuperITPro的专栏 746

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

TCP三次握手详解

一、TCP报文格式   TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和

bbs375的博客 1288

详解 TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

作者 | AhuntSun 责编| Elle TCP connection 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西; 由于TCP不存在连接的概念,只存在请求和响应,请求和响应都是数据包,它们之间都是经过由TCP创建的一个从客户端发起,服务器接收的类似连接的通道,这个连接可以一直保持,http请求是在这个连接的基础上发送...

优快云资讯 6967

什么是TCP三次握手和四次挥手,TCP协议详细解析!零基础入门到精通,收藏这一篇就够了

这是早期的设计,对于现在的网络应用,可能会不太够,因此可以在选项里加一个 窗口扩大选项,来传输更多的数据。)****:长度为4位,指示TCP报文的“数据”起始处距离TCP报文起始处的距离有多远,以4字节为单位计算出的数据段开始地址的偏移值。TCP是面向字节流的传输,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序看成是一连串的无结构的字节流。UDP对应用层交下来的报文,既不合并也不拆分,而是保留这些报文的边界,即应用层交给UDP多长的报文,UDP就照样发送,一次发送一个报文。

Python_paipai的博客 1025

TCP和UDP报文格式

源端口(Source port)和目的端口(Destination port) 各16 bits。IP地址标识互联网中的不同终端,端口号标识终端中的不同应用进程,具有本地意义。32位IP + 16位端口号 = 48位插口。 端口由互联网数字分配机构(Internet Assigned Numbers Authority,IANA)分配,TCP和UDP端口号列表。 著名端...

苦笔的博客 2万+

TCP连接的“三次握手”(Three-Way Handshake)

转载自:https://www.cnblogs.com/AhuntSun-blog/p/12028636.html 一、TCP报文格式 其中比较重要的字段有: (1)序号(sequence number):Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认号(acknowledgement number):Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位(Flags):共6个,即..

luren2015的博客 1042

结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)

摘要:     本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。 一、概述     TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息。连接建立整个过程如下(即三次握手协议):

沐沐的专栏 1563

由 TCP 报文格式谈 TCP — 源端口号、目的端口号、报文段序号(一)

首先要有一个概念,即 TCP 首部最小为 20 个字节,这 20 个字节分为 5 行,每行为 4 个字节,也就是 32 位;谈到这里大家应该会在脑海中画一个长 32 宽 5 的矩形,如果可以的话再给它分行,分为 5 行。就像下面这个样子: 这 20  个字节是怎么来的呢?又以什么样的形式存在呢?里面包含什么内容呢? 那么让我们来想想这个报文中应该有什么东西,首

dxy_dxy_dxy的博客 2万+

java 集中器tcp协议_结合Wireshark捕获分组深入理解TCP/IP协议栈之TCP协议(TCP报文格式+三次握手实例)...

摘要:本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。一、概述TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息。连接建立整个过程如下(即三次握手协议):首先,客户机发送一个特殊的TCP报文段;其次,...

weixin_33162568的博客 375
上一篇: TCP/IP协议栈的基本工作原理
下一篇: Java中的DatagramPacket与DatagramSocket的初步
zi_jun
博客等级 码龄18年 109粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值