当前位置: 首页 > news >正文

数据包一些概念解释说明

为什么80%的码农都做不了架构师?>>>   hot3.png

简称全称说明
RTTround-trip time确认一个数据包已被成功接收所需的时间。双向时间就是你的数据包抵达目的地和这个数据包抵达所发送的确认返回到你的时间之和。
ARPAddress Resolution Protocol在TCP/IP网络中,用来将IP地址解析为Mac地址的过程,称为地址解析协议。解析过程只使用两种数据包:一个ARP请求与一个ARP响应
RFCRequest for Comments

  


header length协议 头的长度

type of service服务类型:优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序
FOfragment offset
一个数据包是一个分片,这个域中的值就会被用来将数据包以正确的顺序重新组装
TTLtime to live数据包的生存周期,以经过路由器的跳数/描述进行描述。该值定义了数据包被丢弃之前,所能经历的时间,或者能够经过的最大路由数目。它通常每次被发往一个路由器的时候减1.

Header Checksum首部校验和:一个错误检测机制,用来确认IP头的内容有没有被损坏或者篡改
MTUMaximum Transmission Unit
最大传输单元。以太网的默认MUT是1500,也就是说,以太网的网络上所能传输的最大数据包大小是1500字节(并不包括14字节的以太网头本身)。此值可修改!超过这个值,会将数据包进行分片

sequence numbe序号:这个数字用来表示一个TCP片段。这个域用来保证能够数据流中的部分没有缺少

acknowledgment number确认号:这个数字是通信中希望从另一个设备得到的下一个数据包的序号

Flags

标记:URG, ACK, PSH, RST, SYN 和 FIN 标记都是用来表示所传输的TCP数据包的类型

或DHCP客户端能够接受的流量类型(单播、广播以及其他)


window size窗口大小:TCP 接收者缓冲的字节大小

Urgent Pointer紧急指针:如果设置了UG位,这个域将被检查作为额外的指令,告诉CPU从数据包的哪里开始读取数据。
ICMPInternet control message protocol

换联网控制消息协议:是TCP/IP协议族中的一个效用协议,负责提供在TCP/IP网络上的设备、服务以及路由器可用性的消息。大多数网络检修技巧都是基于常用的ICMP消息类型。

ICMP是IP的一部分并依赖IP来传递消息,ICMP头相对较小并根据用途而改变。

BOOTP协议Bootstrap Protocol给链接到网络的设备自动分配地址
DHCPDynamic host Configuration Potocol应用层协议,能够让设备自动获取IP地址(以及其他重要的网络资源,比如DNS服务器和路由器网关的地址)。

OpCode操作代码:用来指出这个数据包是DHCP请求还是DHCP回复。

Hadware Type硬件地址类型

Hardware Length硬件地址长度

Hops跳数:中继代理用来帮助寻找DHCP服务器

Transaction ID事务ID:用来匹配请求和响应的一个随机数。

Seconds Elasped消耗时间:客户端第一次向DHCP服务器发出地址请求后的时间

Client Hardware Address客户端硬件地址
QRQuery/Response

查询/响应:用来指明这个数据包是DNS查询还是响应

AAAuthoritative Answer权威应答:如果响应数据包设定了这个值,则说明这个响应是由于内权威域名服务器发出
TCTruncation截断:用来指明这个响应由于太长,无法装入数据包而被截断
RDRecursion Desired期望递归:当请求中设定了这个值,则说明DNS客户端在目标域名服务器不含有所请求信息的情况下,要求进行递归查询。
RARecurision Available
可用递归:当响应中设定了这个值,说明域名服务器支持递归查询

Question Count问题计数:在问题区段中的条目数

Answer Count回答计数:在回答区段中的条目数

Name Server Count域名服务器计数:在权威区域段的域名资源记录数

Additional Records Count

额外记录计数:在额外信息区段中其他资源记录数


Question section问题区段:大小壳边,包含有被发送到DNS服务器的一条或多条的信息查询的部分

Answer section回答区段:大小可变,含有用来回答查询的一条或多条资源记录

Authority section权威区段:大小可变,包含指向权威域名服务器的资源记录,泳衣继续解析过程

Additional Information section额外信息区段:包含资源记录且大小可变的区段,这些资源记录用来村粗完全没有必要回答的查询相关的额外信息。
RTO
Retransmission  timeout重传超时:当使用TCP传输一个数据包时,就启动重传计时器。当接收到这个数据包的ACK时,计时器停止。
RTTRound-trip time往返时间:从发送数据包到接受ACK确认之间的时间称为往返时间,将若干个这样的时间平均下来,可算出最终的RTO的值。
ISNInitial Sequence Number初始序号:握手过程中交换数据的最要信息,传输每一个数据都将按照数据载荷的大小增长序号








DHCP消息类型

类型号                消息类型                                描述

1                            发现                        客户端用来定位可用的DHCP服务器

2                            提供                        服务器用来给客户端发送发现数据包的响应

3                            请求                        客户端用来请求服务器所提供的参数

4                            拒绝                        客户端向服务器指明数据包的无效参数

5                            ACK                        服务器向客户端发送所请求的配置参数

6                            NAK                        客户端向服务器拒绝其配置参数的请求

7                            释放                        客户端向服务器通过取消配置参数来取消租约

8                            通知                            当客户端已经有IP地址时,客户端向服务器请求配置参数




TCP流控制

滑动窗口:接受窗口是数据接收方指定的值,存储在TCP头部中(以字节为单位),它告诉发送设备自己希望在TCP缓冲空间中存储多少数据。这个缓冲空间上数据中可以向上传递到等待处理数据的应用层协议之前的临时存储空间。因此,发送方一次只能发送 Window size域指定的数据量。

窗口重设过程是双向工作的。当服务器能更快的处理数据时,它可以发送一个ACK数据包,指明更大的窗口大小。



TCP 协议的6个标志位说明:

URG             紧急指针,告诉接收TCP模块紧要指针域指着紧要数据。

ACK             置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。 

PSH             置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。 

RST             置1时重建连接。如果接收到RST位时候,通常发生了某些错误。 

SYN             置1时用来发起一个连接。 

FIN             置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。


其中URG不能和PSH标志位同时使用。

URG为紧急数据标志,如果URG为1,表示本数据包中包含紧急数据。此时紧急数据指针表示的值有效,它表示在紧急数据之后的第一个字节的偏移值(即紧急数据的总长度)。

ACK为确认标志位。如果ACK为1,表示数据包中的确认号有效。

PSH位,表示强迫数据传输。

RST标志位用来复位一条连接。当RST=1时,表示出现严重错误,必须释放连接,然后再重新建立。

SYN标志位用来建立连接,如果SYN=1而ACK=0,表明它是一个连接请求;如果SYN=1且ACK=1,则表示同意建立一个连接。

FIN为1时,表示数据已经发送完毕,希望释放连接。


不合法的标志位组合。

1、所有标志位都为0。

2、SYN和FIN同时被置1。

3、SYN和RST同时被置1。

4、FIN和RST同时被置1。

5、FIN位被置1,但ACK位没有被置1。

6、PSH位被置1,但ACK位没有被置1。

7、URG位被置1,但ACK位没有被置1。

转载于:https://my.oschina.net/Rayn/blog/517620

相关文章:

  • 基于jQuery轮播carousel.js(轻量化-企业级)
  • uniapp开发:uniapp之vue3.2获取节点信息的差异
  • jq实现拖拽功能-解决滚动条引起的偏差
  • JavaScript类型识别
  • 前端页面跳转的6大类方法及其使用场景特性分析
  • [saiku] olap数据源管理
  • uniapp开发:瀑布流 灵活配置 简单易用 兼容vue2vue3小程序、H5、app等多端
  • Chrome浏览器使用Overrides调试线上代码的技巧
  • js查找json数据中的最大值和最小值方法集结
  • CSS3 Border-color
  • uniapp+unicloud开发微信小程序流程
  • 微信小程序解决saveImageToPhotosAlbum:fail invalid file type
  • Cacti 不出图像的解决办法(完整版)
  • 我的CSDN博客、UNI技术成长之路
  • websoket封装版 参数配置化 开箱即用
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 0x05 Python数据分析,Anaconda八斩刀
  • CAP 一致性协议及应用解析
  • ES6系统学习----从Apollo Client看解构赋值
  • JavaScript服务器推送技术之 WebSocket
  • jquery cookie
  • markdown编辑器简评
  • vue:响应原理
  • vuex 学习笔记 01
  • XML已死 ?
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 开源SQL-on-Hadoop系统一览
  • 微信公众号开发小记——5.python微信红包
  • PostgreSQL之连接数修改
  • #QT(智能家居界面-界面切换)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (MATLAB)第五章-矩阵运算
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (三分钟)速览传统边缘检测算子
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • ***详解账号泄露:全球约1亿用户已泄露
  • . Flume面试题
  • .bashrc在哪里,alias妙用
  • .bat批处理(一):@echo off
  • .htaccess 强制https 单独排除某个目录
  • .net CHARTING图表控件下载地址
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Remoting学习笔记(三)信道
  • .NET 材料检测系统崩溃分析
  • .net 生成二级域名
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • :=
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...