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):该路由的度量值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2022 年全国职业院校技能大赛高职组云计算赛项试卷(容器云)

#需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包及镜像)或有问题的,可私聊博主!!! #需要资源(软件包…

C#上位机1ms级高精度定时任务

precisiontimer 安装扩展包 添加引用 完整代码 using PrecisionTiming;using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; us…

Android虚拟机机制

目录 一、Android 虚拟机 dalvik/art(6版本后)二、Android dex、odex、oat、vdex、art区别 一、Android 虚拟机 dalvik/art(6版本后) 每个应用都在其自己的进程中运行,都有自己的虚拟机实例。ART通过执行DEX文件可在设…

C——单链表

一.前言 我们在前面已经了解了链表中的双向链表,而我们在介绍链表分类的时候就说过常用的链表只有两种——双向带头循环链表和单向不带头不循环链表。下来我来介绍另一种常用的链表——单向不带头不循环链表也叫做单链表。不清楚链表分类的以及不了解双向链表的可以…

react18【系列实用教程】JSX (2024最新版)

为什么要用 JSX? JSX 给 HTML 赋予了 JS 的编程能力 JSX 的本质 JSX 是 JavaScript 的语法扩展,浏览器本身不能识别,需要通过解析工具(如babel)解析之后才能在浏览器中运行。 bable 官网可以查看解析过程 JSX 的语法 …

杭州打的样,适合全国推广

房地产 昨天,杭州和西安全面解除房地产限购。 在房价跌跌不休的今天,这两大城市取消限购其实并不意外。 尤其是杭州,土地财政依赖全国第一,绷不住很正常。 近十年,杭州依靠于亚运会、G20 和阿里巴巴,涨得飞…

将机械手与CodeSys中的运动学模型绑定

文章目录 1.背景介绍2.选定运动学模型3.机械手各尺寸的对应4.总结4.1.选择正确的运动学模型4.2.注意各个关节旋转的正方向。4.3.编码器零点与机械零点的偏移修正。 1.背景介绍 最近搞到了一台工业机械手,虽然这个机械手有自己的控制程序,但是我们还是想…

Java入门基础学习笔记1——初识java

1、为什么学习java? 几乎统治了服务端的开发;几乎所有的互联网企业都使用;100%国内大中型企业都用;全球100亿的设备运行java。开发岗位薪资高。 Java的流行度很高,商用占有率很高。 可移植性。 2、Java的背景知识 …

【基础算法总结】二分查找一

二分查找一 1. 二分查找2.在排序数组中查找元素的第一个和最后一个位置3.x 的平方根4.搜索插入位置 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1…

Java入门基础学习笔记12——变量详解

变量详解: 变量里的数据在计算机中的存储原理。 二进制: 只有0和1, 按照逢2进1的方式表示数据。 十进制转二进制的算法: 除二取余法。 6是110 13是1101 计算机中表示数据的最小单元:一个字节(byte&…

【教程向】从零开始创建浏览器插件(三)解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题

第三步:解决 Chrome 扩展中弹出页面、背景脚本、内容脚本之间通信的问题 Chrome 扩展开发中,弹出页面(Popup)、背景脚本(Background Script)、内容脚本(Content Script)各自拥有独立…

word转pdf的java实现(documents4j)

一、多余的话 java实现word转pdf可用的jar包不多,很多都是收费的。最近发现com.documents4j挺好用的,它支持在本机转换,也支持远程服务转换。但它依赖于微软的office。电脑需要安装office才能转换。鉴于没在linux中使用office,本…

hadoop学习---基于Hive的教育平台数据仓库分析案例(二)

衔接第一部分,第一部分请点击:基于Hive的教育平台数据仓库分析案例(一) 后接第三部分,第三部分请点击:基于Hive的教育平台数据仓库分析案例 (三) 意向用户模块(全量分析)&#…

用户体验优化uxo指的是什么?

用户体验优化(User Experience Optimization,简称UXO)是一种专注于改善和提升用户在使用企业产品或服务时的整体感受和体验的过程。简单来说,它旨在通过改进产品或服务的设计和功能,使用户在使用过程中感到更加愉悦、满意和高效。用户体验优化…

桌面怎么分类便签 桌面分类便签设置方法

桌面便签,一直是我工作和学习的好帮手。每当灵感闪现或是有待办事项,我都会随手记录在便签上,它们就像我桌面上的小助手,时刻提醒我不要遗漏任何重要事务。 但便签一多,管理就成了问题。一张张五颜六色的便签贴满了我…

C++ 多态的相关问题

目录 1. 第一题 2. 第二题 3. inline 函数可以是虚函数吗 4. 静态成员函数可以是虚函数吗 5. 构造函数可以是虚函数吗 6. 析构函数可以是虚函数吗 7. 拷贝构造和赋值运算符重载可以是虚函数吗 8. 对象访问普通函数快还是访问虚函数快 9. 虚函数表是什么阶段生成的&…

华为与达梦数据签署全面合作协议

4月26日,武汉达梦数据库股份有限公司(简称“达梦数据”)与华为技术有限公司(简称“华为”)在达梦数据武汉总部签署全面合作协议。 达梦数据总经理皮宇、华为湖北政企业务总经理吕晓龙出席并见证签约;华为湖…

uniapp、web网页跨站数据交互及通讯

来来来,说说你的创作灵感!这就跟吃饭睡觉一样,饿了就找吃的,渴了就倒水张口灌。 最近一个多月实在是忙的没再更新日志,好多粉丝私信说之前的创作于他们而言非常有用!受益菲浅,这里非常感谢粉丝…

Ubuntu20.04 设置路由器

1. 网络拓扑图 2. 查看网卡信息 ip a得出如下网卡信息&#xff0c;enp1s0和enp2s0为两个网卡名称&#xff0c;以及相关两个网卡的详细信息&#xff0c;不同设备的网卡名称可能不一样 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲 GPIO中断实验-IRQ中断服务函数详解

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…