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,则代表下发缺省的同时明细路由将不会被抑制

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++默认构造函数(二)

目录 构造函数补充 构造函数初始化列表的使用 赋值运算符重载函数 运算符重载函数介绍 运算符重载函数的使用 赋值运算符重载函数 赋值运算符重载函数的使用 拷贝构造函数和赋值运算符重载函数 重载前置和后置 前置 后置 重载流插入<<与流提取>> 流插…

Navicat 干货 | 探索 PostgreSQL 的外部数据包装器和统计函数

PostgreSQL 因其稳定性和可扩展性而广受青睐&#xff0c;为开发人员和数据管理员提供了许多有用的函数。在这些函数中&#xff0c;file_fdw_handler、file_fdw_validator、pg_stat_statements、pg_stat_statements_info 以及 pg_stat_statements_reset 是其中的重要函数&#x…

鸿蒙:@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

在实际应用开发中&#xff0c;应用会根据开发需要&#xff0c;封装自己的数据模型。对于多层嵌套的情况&#xff0c;比如二维数组&#xff0c;或者数组项class&#xff0c;或者class的属性是class&#xff0c;他们的第二层的属性变化是无法观察到的。这就引出了Observed/Object…

AJAX介绍使用案例

文章目录 一、AJAX概念二、AJAX快速入门1、编写AjaxServlet&#xff0c;并使用response输出字符&#xff08;后台代码&#xff09;2、创建XMLHttpRequest对象&#xff1a;用于和服务器交换数据 & 3、向服务器发送请求 & 4、获取服务器响应数据 三、案例-验证用户是否存…

由浅入深一步步了解什么是哈希(概念向)

文章目录 什么是哈希哈希函数直接定址法除留余数法 哈希冲突闭散列线性探测法二次探测法负载因子和闭散列的扩容 开散列开散列的扩容 非整形关键码 什么是哈希 我们来重新认识一下数据查找的过程&#xff1a; 在顺序结构以及平衡树中&#xff0c;记录的关键码与其存储位置之间…

【自然语言处理】统计中文分词技术(一):1、分词与频度统计

文章目录 一、词与分词1、词 vs 词素2、世界语言分类 二、分词的原因与基本原因1、为什么要分词2、分词规范3、分词的主要难点-切分歧义如何排除切分歧义利用词法信息利用句法信息利用语义信息利用语用、语境信息 4、分词的主要难点-未登录词未登录词如何识别未登录词 三、分词…

Docker入门到实践之环境配置

Docker入门到实践之环境配置 docker 环境安装 Ubuntu/Debian: sudo apt update sudo apt install docker.ioCentOS/RHEL: sudo yum install dockerArch Linux: sudo pacman -S docker如果未安装成功&#xff0c;或者env的path未设置成功&#xff0c;运行时会报错 Bash: Do…

[HackMyVM]靶场 Slowman

kali:192.168.56.104 靶机:192.168.56.132 端口扫描 # nmap 192.168.56.132 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-24 15:28 CST Nmap scan report for 192.168.56.132 Host is up (0.00066s latency). Not shown: 995 filtered tcp ports (no-response) …

NX二次开发-调内部函数创建进度条MT_create_progress_bar

一、概述 最近学习NX二次开发&#xff0c;看到NX打开装配模型或者加载模型时会显示进度条的问题&#xff0c;个人觉得很有意思&#xff0c;然后参考阿飞2018中的文章进行学习。 二、代码解析 //User Defined Header File#include <uf.h>#include <uf_ui.h>#includ…

使用 React antd 的ProFormSelect组件 搜索查询 多选的写法

使用 React antd 的ProFormSelect组件 搜索查询 多选的写法 需求&#xff1a;需要一个搜索框&#xff0c;可以选择员工&#xff0c;&#xff08;员工人数多无法一次性获取&#xff0c;全部放入options中&#xff09;&#xff0c;所以需要使用搜索功能&#xff0c;而且是可以多…

HarmonyOS NEXT应用开发之ArkWeb同层渲染

介绍 该方案展示了ArkWeb同层渲染&#xff1a;将系统原生组件直接渲染到前端H5页面上&#xff0c;原生组件不仅可以提供H5组件无法实现的一些功能&#xff0c;还能提升用户体验的流畅度 效果图预览 使用说明 进入页面即可看到同层渲染效果&#xff0c;Text&#xff0c;searc…

数据库系统概论(超详解!!!) 第四节 关系数据库标准语言SQL(Ⅰ)

1.SQL概述 SQL&#xff08;Structured Query Language&#xff09;结构化查询语言&#xff0c;是关系数据库的标准语言 SQL是一个通用的、功能极强的关系数据库语言 SQL的动词 基本概念 基本表 &#xff1a;本身独立存在的表&#xff1b; SQL中一个关系就对应一个基本表&am…

SecureCRT:高效安全的远程连接工具

SecureCRT是一款功能强大的终端仿真工具&#xff0c;主要用于连接和运行包括Windows、UNIX和VMS在内的远程系统。它支持多种协议&#xff0c;如SSH1、SSH2、Telnet、SFTP、Rlogin、Serial、SCP等&#xff0c;确保用户与目标设备之间的通信安全&#xff0c;并防止网络攻击和窥探…

HTTP系列之HTTP缓存 —— 强缓存和协商缓存

文章目录 HTTP缓存强缓存协商缓存状态码区别缓存优先级如何设置强缓存和协商缓存使用场景 HTTP缓存 HTTP缓存时利用HTTP响应头将所请求的资源在浏览器进行缓存&#xff0c;缓存方式分两种&#xff1a;强缓存和协商缓存。 浏览器缓存是指将之前请求过的资源在浏览器进行缓存&am…

安卓findViewById 的优化方案:ViewBinding与ButterKnife(一)

好多小伙伴现在还用findViewById来获取控件的id, 在这里提供俩种替代方案&#xff1a;ViewBinding与ButterKnife&#xff1b; 先来说说ButterKnife ButterKnife ButterKnife是一个专注于Android系统的View注入框架&#xff0c;在过去的项目中总是需要很多的findViewById来查…

java 实现发送邮件功能

今天分享一篇 java 发送 QQ 邮件的功能 环境&#xff1a; jdk 1.8 springboot 2.6.3 maven 3.9.6 邮件功能依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>&…

idea打包war包部署到tomcat以及访问路径问题

idea将web项目打包成war最重要的是配置atrificats。 首先打开file -》 project structure 创建之后&#xff0c;output directory即为输出war包的路径。Name可以随意&#xff0c;之后点击绿色&#xff0c;打开directory content 选择webapp目录&#xff0c;记得勾选include in…

(C语言)浮点数在内存中的存储详解

1. 浮点数 常见的浮点数&#xff1a;3.14159、 1E10等 &#xff0c;浮点数家族包括&#xff1a; float、double、long double 类型。 浮点数表示的范围&#xff1a; float.h 中定义. 2. 浮点数的存储 我们先来看一串代码&#xff1a; int main() {int n 9;float* pFloa…

安全工具介绍 SCNR/Arachni

关于SCNR 原来叫Arachni 是开源的&#xff0c;现在是SCNR&#xff0c;商用工具了 可试用一个月 Arachni Web Application Security Scanner Framework 看名字就知道了&#xff0c;针对web app 的安全工具&#xff0c;DASTIAST吧 安装 安装之前先 sudo apt-get update sudo…

嵌入式数据库--SQLite

目录 1. SQLite数据库简介 2. SQLite数据库的安装 方式一&#xff1a; 方式二&#xff1a; 3. SQLite的命令用法 1.创建一个数据库 2.创建一张表 3.删除表 4.插入数据 5. 查询数据 6.删除表内一条数据 7.修改表中的数据 8.增加一列也就是增加一个字段 1. SQLite数据库…