arp icmp 等报文格式

ARP报文格式

ARP是一个独立的三层协议,所以ARP报文在向数据链路层传输时不需要经过IP协议的封装,而是直接生成自己的报文,其中包括ARP报头,到数据链路层后再由对应的数据链路层协议(如以太网协议)进行封装。ARP报文分为ARP请求和ARP应答报文两种,它们的报文格式可以统一为下图所示。
ARP报文格式

  • 硬件类型:占两字节,表示ARP报文可以在哪种类型的网络上传输,值为1时表示为以太网地址。
  • 上层协议类型:占两字节,表示硬件地址要映射的协议地址类型,映射IP地址时的值为0x0800。
  • MAC地址长度:占一字节,标识MAC地址长度,以字节为单位,此处为6。
  • IP协议地址长度:占一字节,标识IP得知长度,以字节为单位,此处为4。
  • 操作类型:占2字节,指定本次ARP报文类型。1标识ARP请求报文,2标识ARP应答报文。
  • 源MAC地址:占6字节,标识发送设备的硬件地址。
  • 源IP地址:占4字节,标识发送方设备的IP地址。
  • 目的MAC地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00,表示任意地址,因为现在不知道这个MAC地址。
  • 目的IP地址:占4字节,表示接受方的IP地址。

ARP报文不是直接在网络层上发送的,它还是需要向下传输到数据链路层,所以当ARP报文传输到数据链路层之后,需要再次进行封装。以以太网为例,ARP报文传输到以太网数据链路层后会形成ARP帧。ARP帧如下图所示,他就是在ARP报文前面加了一个以太网帧头。
ARP帧格式

以太网帧头的三个字段说明

  • 目的MAC地址:占6字节,如果是ARP请求帧,因为它是一个广播帧,所以要填上广播MAC地址(FF-FF-FF-FF-FF-FF),其目标主机是网络上的所有主机。
  • 源MAC地址:占6字节,这是发送ARP帧的节点MAC地址。
  • 帧类型:占两字节,这里用来标识帧封装的上层协议,因为本帧的数据部分是ARP报文,所以直接用ARP的协议号0x0806表示就可以了。

ICMP封装

ICMP是IP层的一个组成部分,它传递查询报文和差错报文,ICMP报文通常被IP层或更高层协议(TCP或UDP)使用,它是在IP数据包内被传输的,如图1所示。

图1:ICMP封装在IP数据包内部

OSPF用IP报文直接封装协议报文,协议号为89。

OSPF分为5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。

  • Hello报文

  • DD报文

  • LSR报文

  • LSU报文

  • LSAck报文

报文头格式

OSPF这五种报文具有相同的报文头格式,长度为24字节。如图5-2所示。

图5-2 报文头格式

表5-9 OSPF报文头格式字段解释

字段名

长度

含义

Version

8比特

OSPF的版本号。对于OSPFv2,其值为2。

Type

8比特

OSPF报文的类型:

  • 1:Hello报文。

  • 2:DD报文。

  • 3:LSR报文。

  • 4:LSU报文。

  • 5:LSAck报文。

Packet length

16比特

OSPF报文的总长度,包括报文头在内,单位为字节。

Router ID

32比特

发送该报文的路由器标识。

Area ID

32比特

发送该报文的设备所属区域。

Checksum

16比特

包含除了认证字段的整个报文的校验和。

AuType

16比特

验证类型:

  • 0:不验证。

  • 1:简单认证。

  • 2:MD5认证。

    说明:

    MD5算法安全性低,存在安全风险。

Authentication

64比特

其数值根据验证类型而定:

  • 0:不对此字段作定义。

  • 1:此字段为密码信息。

  • 2:此字段包括Key ID、MD5验证数据长度和序列号的信息。

Hello报文

最常用的一种报文,其作用为建立和维护邻接关系,周期性的在使能了OSPF的接口上发送。报文内容包括一些定时器的数值、DR、BDR以及已知的邻居。Hello报文格式如图5-3所示。

图5-3 Hello报文格式

表5-10 Hello报文格式字段解释

字段名

长度

含义

Network Mask

32比特

发送Hello报文的接口所在网络的掩码。

HelloInterval

16比特

发送Hello报文的时间间隔。

Options

8比特

可选项:

  • E:允许Flood AS-External-LSAs。

  • N/P:处理Type-7 LSAs。

  • DC:处理按需链路。

Rtr Pri

8比特

DR优先级。默认为1。

说明:

如果设置为0,则设备不能参与DR或BDR的选举。

RouterDeadInterval

32比特

失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效。

Designated Router

32比特

DR的接口地址。

Backup Designated Router

32比特

BDR的接口地址。

Neighbor

32比特

邻居,以Router ID标识。

Hello报文在不同网络中的发送地址类型、发送时间间隔类型和时间间隔缺省值不同,参见表5-11。

表5-11 Hello报文的属性

网络类型

发送地址类型

发送时间间隔类型

时间间隔缺省值

广播

组播地址

HelloInterval

缺省情况下,接口发送Hello报文的时间间隔的值为10秒。

NBMA

单播地址

  • DR、BDR、有能力成为DR的设备时,发送时间间隔为HelloInterval。

  • 邻居的状态为Down时,发送时间间隔为Pollinterval,其他情况为HelloInterval。

缺省情况下,接口发送Hello报文的时间间隔的值为30秒。

缺省情况下,接口发送Pollinterval间隔为120秒。

P2P

组播地址

HelloInterval

缺省情况下,接口发送Hello报文的时间间隔的值为10秒。

P2MP

组播地址

HelloInterval

缺省情况下,接口发送Hello报文的时间间隔的值为30秒。

RIP报文类型及发送方式

RIP协议报文采用UDP封装,报文源和目的端口均是UDP端口。RIP定义了两种报文类型,分别是请求(Request)报文和响应(Response)报文。Request报文用于向邻居请求全部或部分RIP路由信息,而Response报文则用于发送RIP路由更新,在Respose报文中携带着路由及路由度量等信息。当路由设备的接口激活RIP后,该接口立即发送一个Request报文和Response报文,并开始侦听RIP协议报文,随后接口开始周期性发送Response报文。

其中,RIP-1使用的广播地址255.255.255.255作为协议报文的目的IP地址,RIP-1设备发布的广播报文在设备输出的广播域中泛洪,这使得与其同处一个广播域的其他设备都将接收该报文,并消耗资源去处理这些报文。RIP-2使用的组播地址224.0.0.9作为协议报文的目的IP地址,所有的RIP-2设备都会侦听该组播地址,进而减少对于广播域中的其他设备的影响。

RIP-2报文格式

RIP-2(即RIP version2)是一种无分类路由协议(Classless Routing Protocol),报文格式如图11-5所示。

图11-5 RIP-2的报文格式

RIP-2报文各字段含义如下。

  • 命令字段(Command):该字段用于标识RIP报文的类型。取值为1表示为Request报文,取值为2表示Response报文。
  • 版本字段(Version):在RIP-2中,该字段取值为2。
  • 地址族标识符(Address Family Identifier):与RIP-1类似。
  • 路由标记(Route Tag):用于为路由设置标记信息,可以在路由策略中根据Tag对路由进行灵活的控制。例如,当一条外部路由被引入RIP从而形成一条RIP路由时,RIP可以为该路由设置路由标记,当这条路由在整个RIP路由域传播时,路由标记不会丢失。
  • IP地址(IP Address):路由的目的网络地址。
  • 网络掩码(Subnet Mask):用于存储路由条目的目的网络掩码,RIP-2进而支持可变长子网掩码(VLSM,Variable Length Subnet Mask),支持路由聚合和CIDR(Classless Inter-Domain Routing)。
  • 下一跳(Next Hop):RIP-2定义了该字段,避免路由设备在多路访问网络上可以表面次优路径现象,在广播网上可以选择到最优下一跳地址。
  • 度量值(Metric):该路由的度量值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3030748.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Gradient发布支持100万token的Lllama3,上下文长度从8K扩展到1048K

前言 近日Gradient公司在Crusoe Energy公司的算力支持下,开发了一款基于Llama-3的大型语言模型。这款新模型在原Llama-3 8B的基础上,将上下文长度从8000 token大幅扩展到超过104万token。 这一创新性突破,展现了当前SOTA大语言模型在长上下…

【JVM基础篇】JVM入门介绍

JVM入门介绍 为什么学习JVM 岗位要求 解决工作中遇到的问题 性能调优 真实案例 导出超大文件,系统崩溃从数据库中查询超大量数据出错消费者消费来不及导致系统崩溃Mq消息队列接受消息导致的内存泄漏业务高峰期系统失去响应 初识JVM 什么是JVM? JV…

Excel——项目管理,设置时间到期自动提醒及颜色高亮

效果图 第一步、自动获取合同到期日期 1、首先合同【签约日期】和【到期日期】下面的数据必须是日期格式,不能是其它的格式否则无法计算,如果是其它格式需要转换成标准的日期格式,如下图所示。 2、在“到期日期”下面的第一个单元格中输入公…

【Web后端】web后端开发简介_Servlet简介

1.web后端开发简介 Java企业级开发,也就是学习]avaEE(Enterprise Edition)版本,是一种结构和一套标准。在应用中开发的标准就是Servlet、jsp和JavaBean技术。jsp技术现在已基本处于淘汰状态,简单了解即可web后端开发,基于B/S模式的开发体系。…

【系统架构师】-选择题(十二)计算机网络

1、网闸的作用:实现内网与互联网通信,但内网与互联网不是直连的 2、管理距离是指一种路由协议的路由可信度。15表示该路由信息比较可靠 管理距离越小,它的优先级就越高,也就是可信度越高。 0是最可信赖的,而255则意味…

智能奶柜:健康生活新风尚

智能奶柜:健康生活新风尚 在快节奏的都市生活中,健康与便利成为了现代人的双重追求。而在这两者交汇之处,智能奶柜应运而生,它不仅是科技与生活的完美融合,更是日常营养补给的智慧之选。 清晨的第一缕温暖 —— 新鲜…

Ansible-Playbook通过role角色部署Lnmp架构

目录​​​​​​​ 一、配置Nginx的Roles角色 1.1编写files/default.conf 1.2编写files/nginx.repo 1.3编写handlers/main.yml 1.4编写tasks/main.yml文件 1.5编写vars/main.yml文件 1.6测试运行结果,并不是真的执行任务 二、配置Mysql的Roles角色 2.1编写…

Go实现树莓派I2C读取SHT30温度湿度传感器

简介 树莓派其实本身包含很多资源引脚, 合理利用其实可以自制智能家居的一部分,本身硬件和Linux系统等高级语言支持加生态, 不说了, 做就好了… I2C 功能开启 参考之前的文章就可以了 Go实现树莓派读取bh1750光照强度 查看I2C总…

(Java)心得:LeetCode——5.最长回文子串

一、原题 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s "babad" 输出:"bab" 解释:"aba"…

网页版Figma汉化

最近学习Figma,简单介绍一下网页版Figma的汉化方法 1.打开网址:Figma软件汉化-Figma中文版下载-Figma中文社区 2.下载汉化插件离线包 解压汉化包 3.点开谷歌的管理扩展程序 4.点击加载已解压的扩展程序,选择刚刚解压的包 这样就安装好了汉化…

厚德提问大佬答4:AI绘画生成的心得

遇到难题不要怕!厚德提问大佬答! 厚德提问大佬答 你是否对AI绘画感兴趣却无从下手?是否有很多疑问却苦于没有大佬解答带你飞?从此刻开始这些问题都将迎刃而解!你感兴趣的话题,厚德云替你问,你解…

2019年计算机真题

2019年计算机真题 离散数学 一、用逻辑符号表达下列语句(论域为包含一切事物的集合) 1)过平面上的两个点,有且仅有一条直线通过。 解: (1) P ( x , y ) : x , y \mathrm{P}_{(\mathrm{x}, \mathrm{y})}: \mathrm{x}, \mathrm{y} P(x,y)​:x,y 是平面上的…

Git泄露(续)

接上一篇补充 git config --global user.name " " git config --global user.email 邮箱地址 配置用户名和邮箱 git commit 使其处于交互区,没有使用 -m,默认用vim 来编辑和提交信息 输入要提交的内容,然后按ESC建回到命令…

智慧仓储可视化大屏,以最直观的形式展示海量数据。

智慧仓储可视化大屏是一种通过数据可视化技术,将仓储管理系统中的海量数据以图表、地图、仪表盘等形式直观展示在大屏上的解决方案。它可以帮助仓储管理人员更清晰地了解仓库的运营情况,从而做出更明智的决策。 智慧仓储可视化大屏通常包括以下功能和特点…

github删除自己的仓库

测试Github的时候新建了很多仓库,但是后来想删除,找了半天居然没有找到按钮。 我就推测这个删除的功能肯定藏起来了,后来度娘了一下,发现果然在一个比较隐蔽的位置,不知道以后这个功能会不会改到一个比较明显的位置吧…

高效工作之软件系统——数据结构登记表

数据结构模板 开发完软件系统后,往往需要进行一些登记——《软件系统数据结构登记表》 然后软件项目有60个表左右,难道需要手动录入,那肯定不可能 工欲善其事必先利其器!go。。。同事给的模板是下图 效果图 于是想到 之前使用…

Java代理Ⅱ

目录 静态代理的内存结构图 测试demo 内存图 关于为什么不能直接修改原方法,而是要用代理 参考文章 关于代理我之前写过一篇博客,基本已经讲的差不多了,有兴趣的读者可以去看看 Java代理 最近有了新的感悟,所以记录一下 静…

基于springboot实现毕业设计系统项目【项目源码+论文说明】

基于springboot实现毕业设计系统演示 摘要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff…

文本三剑客grep与正则表达式、元字符

正则表达式 正则表达式又称为正规表达式、常规表达式、在代码中常简写为regex、regex或RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串的方法,通过一些特殊符号,实现快速查…

cocos中的meta文件有什么用?如何生成?

cocos中的.meta文件有什么用?如何生成? 1. .meta文件有什么用? Cocos Creator 会为 assets 目录下的每一个文件和目录生成一个同名的 meta 文件 示例 {"ver": "4.0.23", // 版本"importer": "typescr…