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

IPV6协议之RIPNG

目录

前言:

一、RIPNG与RIP的区别

二、如何配置RIPNG

如何解决RIPNG环路问题呢?

控制RIPNG的选路

1、修改RIPNG默认优先级

2.配置接口附加开销值从而干涉RIPNG的选路

RIPNG拓展配置

1.RIPNG的认证

配置RIPNG进程下的IPsec认证:

配置RIPng接口的IPSec认证

2.手工汇总

3.禁止某些接口发送RIPNG更新报文

4.加快收敛—计时器

5.缺省路由


前言:

RIPng是一种较为简单的内部网关协议,是RIP在IPv6网络中的应用。RIPng主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。由于RIPng的实现较为简单,在配置和维护管理方面也远比OSPFv3 和IS-IS for IPv6容易,因此在实际组网中仍有广泛的应用。

随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。因此,IETF在保留了RIP优点的基础上针对IPv6网络修改形成了RIPng(RIP next generation,下一代RIP协议)。RIPng主要用于在IPv6网络中提供路由功能,是IPv6网络中路由技术的一个重要组成协议。

一、RIPNG与RIP的区别

为了实现在IPv6网络中应用,RIPng对原有的RIP协议进行了修改:

  • RIPng使用UDP的521端口(RIP使用520端口)发送和接收路由信息。
  • RIPng的目的地址使用128比特的前缀长度(掩码长度)。
  • RIPng使用128比特的IPv6地址作为下一跳地址。
  • RIPng使用链路本地地址FE80::/10作为源地址发送RIPng路由信息更新报文
  • RIPng使用组播方式周期性地发送路由信息,并使用FF02::9作为链路本地范围内的路由器组播地址。
  • RIPng报文由头部(Header)和多个路由表项RTEs(Route Table Entry)组成。在同一个RIPng报文中,RTE的最大数目根据接口的MTU值来确定。

RIP协议的工作原理,不在这里赘述,而RIPNG保留了RIP协议基本的工作逻辑。

二、如何配置RIPNG

如图,搭建一个简单的IPV6环境,网段规划如图所示:

1.所以节点配置IP地址

2.启动RIPNG服务

RIPNG和RIP一样存在进程的概念,一个进程号代表一种协议,进程号不同代表协议不同,想要构建一 个RIPNG网络,进程号首先得一致。默认情况下不跟进程号的情况下默认为进程1。

3.接口激活RIPNG

RIPNG相较于RIP增加了接口激活RIPNG的步骤,而取消了宣告,当接口激活 RIPNG后,相当于激活了此接口的同时将根据接口配置的网络前缀发布接口所在网段的路由信息,相当于进行了宣告(宣告作用本身就是激活接口,发布路由,RIPNG相当于简化了配置难度。只需要相应的接口激活RIPNG协议即可)注意接口激活也需要选择进程。

display ipv6 routing-table protocol ripng —查看ipv6路由表中,通告RIPNG学习到的路由信息。

其中路由表包含以下参数:截取一条路由信息分析:

Destination:目标网段

PrefixLength :前缀

NextHop :下一跳(值得注意的是这里下一跳并不直接是下一个经过的路由器的入接口配置的IPV6 地址,而是对应接口的本地链路地址,因为IPV6取消了广播的传递数据包方式,所以传统IPV4路由通 过ARP找寻目标MAC地址的方式不在适用,所以在这里使用目标接口本地链路地址的原因是,数据包传递给下一跳接口时通过本地链路组播进行传递,而本地链路组播时根据本地链路地址自动生成,所以在这里下一跳使用目标本地链路地址)

Preference : 优先级,和RIP一致,RIPNG优先级也为100

Cost : 开销计算方式依然等于本地开销值+1

Protocol : 协议RIPNG

RelayNextHop : :: 中继下一跳

TunnelID : 0x0—隧道ID,这里仅作填充

Interface : 出接口

Flags : 标志位

和IPV4类似,IPV6的ping也支持指定源地址,如果不指定默认会递归使用出接口的IPV6地址作为源地址。

RIPNG同样使用response包更新路由信息,方式为周期共享路由表中的路由条目,默认时间30s

RIPNG同样存在环路问题,因为RIPNG依然没有确认和保活机制,所以导致RIPNG同样使用了周期更新和异步更新,这就可能出现路由回传的现象,从而造成环路问题。

如何解决RIPNG环路问题呢?

水平分割:[r1-GigabitEthernet0/0/0]ripng split-horizon 接口启动水平分割

毒性逆转:[r1-GigabitEthernet0/0/0]ripng poison-reverse 接口启动毒性逆转

注意:两种解决思路方式相悖,所以只会按照一种方案执行,默认华为开启水平分割,如果都配置,则按照毒性逆转的规则执行。

控制RIPNG的选路

1、修改RIPNG默认优先级

[r1-ripng-1]preference 80—改变协议优先级,同样RIPNG也支持router-policy,即路由策略,值得注意的是,协议优先级的改变具有本地意义,只干涉自身针对不同路由协议之间的选路。

只改变的R1的RIPNG协议优先级,所以只R1上通过RIPNG学习到的路由优先级改为80

2.配置接口附加开销值从而干涉RIPNG的选路

因为RIPNG工作的方式是共享路由表,所以实际上有两种干涉RIPNG选路的思路

1、[r2-GigabitEthernet0/0/0]ripng metricin ?—接口接收路由时,附加一个开销值,然后加上原本的开销,最后把路由加入本地路由表

此时,在R2路由器的0/0/0接口附加开销5,所以原本1::/64网段的信息只经过一个路由器的传递,原本 cost=1,现在附加接口增加的开销5,所以路由表中1::/64网段cost=6.而从0/0/1接口学习到的3::/64网 段的信息,不受影响。

2. [r2-GigabitEthernet0/0/1]ripng metricout 5—当接口发出路由条目时携带的开销值,注意此时并没有附加,而是发出数据包中携带的cost=5

因为,此时针对的是,自身发给其他的路由信息,所以自身路由表不受影响,并且可以和ACL等多种工具结合使用,达到值干涉某些路由的目的,此时相当于所以从R2路由器0/0/1接口发出的路由条目开销均附加5

RIPNG拓展配置

1.RIPNG的认证

RIPng 自身不提供认证功能,而是通过使用 IPv6 提供的安全机制来保证自身报文的合法性。

随着网络的迅速发展,网络的安全问题日益重要。通过配置RIPng的IPSec认证功能,实现对接收的和发送的RIPng报文进行认证,不能通过认证的报文将会被丢弃,从而提高RIPng网络的安全性。缺省情况下,没有配置IPSec(IP security)认证,为保证系统安全性,建议进行此配置。

配置RIPng的IPSec认证有两种方式:

  • RIPng进程下配置IPSec认证。RIPng进程下使能IPSec认证后,属于该RIPng进程的所有接口都使能 IPSec认证功能。如果RIPng进程下的所有接口都要采用IPSec认证,推荐采用这种方式。
  • RIPng接口下配置IPSec认证。只有某些接口需要配置IPSec认证,推荐采用这种方式。
配置RIPNG进程下的IPsec认证:

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令ripng [ process-id ],进入RIPng视图。
  3. 执行命令ipsec sa sa-name,使能RIPng的IPSec认证功能,并指定所采用的安全联盟的名称。
  4. 执行命令commit,提交配置。
配置RIPng接口的IPSec认证

接口视图下配置IPSec(IP security)认证是配置RIPng的IPSec认证的另一种方式。

背景信息

仅部分RIPng接口需要使能IPSec认证,可以配置单独配置接口的IPSec认证。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令interface interface-type interface-number,进入接口视图。
  3. 执行命令ripng ipsec sa sa-name,使能该接口的RIPng IPSec认证功能,并且指定所采用的安全联盟 的名称。
  4. commit,提交配置。
2.手工汇总

创建一个简单的可汇总环境,并将R1上的四个环回网段接口激活RIPNG协议:

此时R3上总计学到5条路由。

注意:RIPNG的汇总和RIP类似,都是接口上配置,在将路由信息通告给其他设备时进行汇总。

3.禁止某些接口发送RIPNG更新报文

禁止接口发送ripng更新报文是预防路由循环的方法之一。

4.加快收敛—计时器

RIPNG在华为官方说明中存在四个计时器:Update、Age、Suppress和Garbage-collect。调整这四个定时器的值,可以影响RIPng的收敛速度。但是实际RIPNG只能查找到三个计时器,并没有Suppress—抑制计时器。

这三个计时器的用法和在RIP中的用法一致,周期更新计时器规定了response包的发送周期,Age失效计时器,当180s没有收到RIPNG邻居发送的response包,设备会将从该邻居学习到的路由信息从路由表中删除, 并通过触发更新机制,通告给其他的邻居,此时会触发垃圾回收计时器120s,当120s之后才会将这些信息彻底从设备的缓存表中删除。

可以发现配置也只更改了三个计时器的时间,值得注意的是因为是在RIPNG进程中进行的更改,所以相当于是针对协议而言,所以,如果更改了RIPNG的计时器,所有运行该协议的设备也都需要更改,否则将导致无法学习到路由。

5.缺省路由

RIPNG下发缺省有两种方式,配置位置为下发缺省的路由器的某一个接口:

如果后面跟Only则意味这除了缺省以外,该路由器通过给邻居的路由将全部被抑制,注意:这里这针对下发缺省的路由器而言。

如果后面跟 originate,则代表下发缺省的同时明细路由将不会被抑制

可以发现除了缺省以外,汇总路由仍然存在。

相关文章:

IPV6协议之RIPNG

目录 前言: 一、RIPNG与RIP的区别 二、如何配置RIPNG 如何解决RIPNG环路问题呢? 控制RIPNG的选路 1、修改RIPNG默认优先级 2.配置接口附加开销值从而干涉RIPNG的选路 RIPNG拓展配置 1.RIPNG的认证 配置RIPNG进程下的IPsec认证: 配…...

JVM垃圾收集器你会选择吗?

目录 一、Serial收集器 二、ParNew收集器 三、Paralle Scavenge 四、Serial Old 五、Parallel Old 六、CMS收集器 6.1 CMS对处理器资源非常敏感 6.2 CMS容易出现浮动垃圾 6.3 产生内存碎片 七、G1 收集器 八、如何选择合适的垃圾收集器 JVM 垃圾收集器是Java虚…...

游戏防沉迷系统相关内容

网站地址&#xff1a;网络游戏防沉迷实名认证系统 PHP代码&#xff1a; 创建对应文件&#xff0c;在需要的位置get传参请求即可&#xff0c;具体参数参考 网络游戏防沉迷实名认证系统接口对接技术规范v2.0 1、上传信息 <?php $url "https://wlc.nppa.gov.cn/test…...

每日OJ题_牛客_JD1 年终奖(动态规划)

目录 牛客_JD1 年终奖 解析代码 牛客_JD1 年终奖 年终奖_牛客题霸_牛客网 解析代码 #include <vector> class Bonus { public: int getMost(vector<vector<int> > board) {int m board.size(), n board[0].size();vector<vector<int>> dp(m…...

深度学习 tablent表格识别实践记录

下载代码&#xff1a;https://github.com/asagar60/TableNet-pytorch 下载模型&#xff1a;https://drive.usercontent.google.com/download?id13eDDMHbxHaeBbkIsQ7RSgyaf6DSx9io1&exportdownload&confirmt&uuid1bf2e85f-5a4f-4ce8-976c-395d865a3c37 原理&#…...

深度学习 线性神经网络(线性回归 从零开始实现)

介绍&#xff1a; 在线性神经网络中&#xff0c;线性回归是一种常见的任务&#xff0c;用于预测一个连续的数值输出。其目标是根据输入特征来拟合一个线性函数&#xff0c;使得预测值与真实值之间的误差最小化。 线性回归的数学表达式为&#xff1a; y w1x1 w2x2 ... wnxn …...

HBase在表操作--显示中文

启动HBase后&#xff0c;Master和RegionServer两个服务器&#xff0c;分别对应进程为HMaster和HRegionServe。&#xff08;可通过jps查看&#xff09; 1.进入表操作 hbase shell 2.查看当前库中存在的表 list 3.查看表中数据&#xff08;注&#xff1a;学习期间可用&#…...

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端&#xff0c;然后输入以下内容&#xff0c;其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…...

连续子数组的最大和

问题描述&#xff1a; 输入一个整型数组&#xff0c;数组里有正数也有负数。求连续子数组中的最大和为多少。 举例&#xff1a; 数组&#xff1a;arry{1 , 2 &#xff0c;-5 , 4 , 1 &#xff0c;-2} 输出&#xff1a;5&#xff0c;数组中连续的位置相加最大值为5, 41 方法…...

Photoshop 工具使用详解(全集 · 2024版)

全面介绍 Photoshop 工具箱里的工具&#xff0c;点击下列表格中工具名称或图示&#xff0c;即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键&#xff1a;V 矩形选框工具 Rectangular Mar…...

C++函数返回机制,返回类型

return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方。 return语句有两种形式 return;return expression; 无返回值函数 没有返回值的return语句只能用在返回类型是void的函数中。 返回void的函数不要求必须有return语句&#xff0c;因为这类函数的最后一句…...

[linux] Key is stored in legacy trusted.gpg keyring

修复 Ubuntu 中的 “Key is stored in legacy trusted.gpg keyring” 问题_key is stored in legacy trusted.gpg keyring (/etc/-CSDN博客 复制到trusted.gpd.d 目录中(快速但不优雅的方法) 如果你觉得手动做上面的事情不舒服&#xff0c;那么&#xff0c;你可以忽略这个警告…...

阿里云部署OneApi

基于 Docker 进行部署 # 使用 SQLite 的部署命令&#xff1a; docker run --name one-api -d --restart always -p 3000:3000 -e TZAsia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api # 使用 MySQL 的部署命令&#xff0c;在上面的基础上添加 -e SQL_DSN&qu…...

MapReduce学习问题记录

1、如何跳过对某行数据的处理 第一行数据是字段名不需要处理&#xff0c;我们知道第一行偏移量是0&#xff08;行记录的时候是从数组首地址开始&#xff0c;到了行标识符进行一次计数&#xff0c;这个计数就是行偏移量&#xff0c;从0开始&#xff09;&#xff0c;我们根据偏移…...

Elasticsearch优化

集群配置 1、调整副本数&#xff1a;考虑数据的可用性和读取性能&#xff0c;合理配置分片的副本数。 2、合理配置分片大小(分片的合理容量&#xff1a;10GB-50GB)&#xff1a;避免分片过大&#xff0c;以确保更好的性能和均衡的负载。 3、监控集群状态&#xff1a;使用监控工…...

【Redis知识点总结】(六)——主从同步、哨兵模式、集群

Redis知识点总结&#xff08;六&#xff09;——主从同步、哨兵模式、集群 主从同步哨兵集群 主从同步 redis的主从同步&#xff0c;一般是一个主节点&#xff0c;加上多个从节点。只有主节点可以接收写命令&#xff0c;主节点接收到的写命令&#xff0c;会同步给从节点&#…...

Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁

Java深度面试题&#xff1a;设计模式、内存管理与并发编程的综合考察 随着Java技术的不断发展&#xff0c;对Java开发者的技术要求也在不断提高。设计模式、内存管理、多线程工具类以及并发工具包和框架等都是Java开发者必须掌握的核心知识点。本文将通过三道综合性的面试题&a…...

【硬件设计】以立创EDA举例——持续更新

【硬件设计】以立创EDA举例——持续更新 文章目录 前言立创EDA官网教程一、原理图二、PCB1.布局2.设计规则3.电流与线宽 4.PCB走线5.Polar Si90006.过孔7.铺铜总结 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 立创EDA官网教程 立创EDA使用教程…...

Chain of Note-CoN增强检索增强型语言模型的鲁棒性

Enhancing Robustness in Retrieval-Augmented Language Models 检索增强型语言模型&#xff08;RALMs&#xff09;在大型语言模型的能力上取得了重大进步&#xff0c;特别是在利用外部知识源减少事实性幻觉方面。然而&#xff0c;检索到的信息的可靠性并不总是有保证的。检索…...

Uniapp 的 uni.request传参后端

以下是使用Uniapp的交互数据的两种方式 后端使用Parameter接收数据 后端使用RequestBody接收Json格式数据 后端&#xff1a; CrossOrigin RestController RequestMapping("/user") public class UserController {GetMapping("/login")public String lo…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...