Openwrt 下动态路由协议(quagga-OSPF)配置与验证

2024-01-17 20:20

本文主要是介绍Openwrt 下动态路由协议(quagga-OSPF)配置与验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 网络拓扑
  • 静态路由方式
  • 动态路由方式
    • Openwrt下 Quagga 安装
    • Quagga 配置
      • R1路由器zebra配置
      • R1路由器ospf配置
      • R2路由器zebra配置
      • R2路由器ospf配置
    • OSPF协议分析
  • REF

本文将在两台openwrt系统上安装配置quagga, 搭建一套完整环境,来验证OSPF动态路由的基本功能和实际效果,验证过程中详细展示了OSPF控制台基本命令使用和配置前后路由信息、OSPF控制台信息的变化,另外对OSPF协议进行了简单分析。

前言

最短路径协议是计算网络中数据包传输的最短路径的一种算法。它用于在网络中选择最佳路径来传输数据,使得数据包能够以最快的速度到达目的地。

最短路径协议在网络中起到了非常重要的作用,它能够提高网络的性能和可靠性,减少数据传输的延迟和丢失。常见的最短路径协议有RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)和BGP(Border Gateway Protocol)等。

在OSPF出现前,网络上广泛使用RIP(Routing Information Protocol)作为内部网关协议。RIP,即路由信息协议,是一个很老的协议,RIP 路由器向网络中周期性多播它的整个路由表,而不是像 OSPF 那样只多播网络的变化。RIP 通过跳数来测量路由,任何超过 15 跳的路由它均视为不可到达。RIP 设置很简单,但是 OSPF 在速度、效率以及弹性方面更佳。由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。

OSPF 的意思是 最短路径优先(Open Shortest Path First)。OSPF 是一个内部网关协议(IGP);它可以用在局域网和跨因特网的局域网互联中。在你的网络中的每个 OSPF 路由器都包含整个网络的拓扑,并计算通过网络的最短路径。OSPF 会通过多播的方式自动对外传播它检测到的网络变化。你可以将你的网络分割为区域,以保持路由表的可管理性;每个区域的路由器只需要知道离开它的区域的下一跳接口地址,而不用记录你的网络的整个路由表。

Quagga 是一个支持 OSPFv2、OSPFv3、RIP v1 和 v2、RIPng、以及 BGP-4 的路由协议套件,并全部由 zebra 守护程序管理。OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:

  • OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。
  • OSPF支持无类型域间选路(CIDR)。
  • OSPF支持对等价路由进行负载分担。
  • OSPF支持报文加密。

网络拓扑

本实验涉及四台设备,2台路由器R1、R2, 2台主机,R1/R2路由器分别使用两台嵌入式ARM板来模拟, Host1为一台ubuntu嵌入式板,host2为windows PC。 各网元网口及地址信息如下图所示。以下将分别采用静态路由和动态路由两种方式验证如何打通三个网段。

image-20240116112641515

静态路由方式

为与动态路由方式进行对照,先采用静态路由方式实现跨网段互通。然后再用动态路由的方式达到相同的效果。

各网元IP及初始路由表信息如下:

#R1 IP信息
eth1             UP             192.168.2.2/24 
br-lan           UP             192.168.1.1/24   #eth0#R1 router信息
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1 
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.2# R2 IP信息
# ip -br a
eth0             UP             192.168.3.1/24 
eth1             UP             192.168.1.104/24# R2 router信息
# ip r
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.104 
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.1# host1 IP信息
# ip -br a
eth0             UP             192.168.2.1/24 #host1 router 信息
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.1 metric 100 

在各个设备上配置静态路由,打通各网段

#R1
ip r a 192.168.3.0/24 via 192.168.1.104 dev br-lan
ip r
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1 
192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.2 
192.168.3.0/24 via 192.168.1.104 dev br-lan#R2
ip r a 192.168.2.0/24 via 192.168.1.1 dev eth1
ip r

这篇关于Openwrt 下动态路由协议(quagga-OSPF)配置与验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/617112

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

MySQL配置多主复制的实现步骤

《MySQL配置多主复制的实现步骤》多主复制是一种允许多个MySQL服务器同时接受写操作的复制方式,本文就来介绍一下MySQL配置多主复制的实现步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 环境准备2. 配置每台服务器2.1 修改每台服务器的配置文件3. 安装和配置插件4. 启动组复制4.

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp