草庐IT

动态路由协议 RIP

西瓜投手爱吃西瓜 2023-10-31 原文
  • 什么是动态路由
    • 网络中的路由器之间相互通信,
    • 传递路由信息,利用收到的路由信息更新和维护路由表的过程
    • 基于某种路由协议实现的
  • 动态路由的特点
    • 减少管理任务
    • 占用网络带宽
  • 动态路由协议
    • 向其他路由器传递路由信息
    • 接收其他路由器的路由信息
    • 根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由表
    • 根据网络拓朴变化及时调整路由表,同时向其他路由器宣告拓朴改变的信息
  • 什么是RIP路由协议
    • RIP是为TCP/IP环境中开发的第一个路由选择协议标准
    • RIP是一个距离矢量路由选择协议
    • RIP使用UDP 520端口 来发送和接受RIP的信息
  • RIP工作原理(路由表的形成)
    • 路由器学习到直连网段
    • 当路由器的更新周期30s到了时候,会向邻居发送路由表
    • 再过30s,路由器的第二个更新周期到了,再次发送路由表
    • 路由器接收到路由信息 先查看路由表中是否有该条目,如果没有就更新路由表,如果有就判断接收到的信息是否优于(或等于)路由表中的条目。如果接收到的路由条目优于路由表中的信息就更新路由表,否则忽略路由信息
  • RIP工作原理
    • RIP路由协议向邻居发送整个路由表信息
    • RIP路由协议以跳数作为度量值根据跳数的多少来选择最佳路由
    • 最大跳数为15跳,16跳为不可达
    • 经过一系列路由更新,网络中的每个路由器都具有一张完整的路由表的过程,称为收敛
  • 概念性的知识点
  • RIP的度量值(Metric)
  • RIP以跳数作为唯一的度量值
  • RIP计时器
  • 更新计时器
  • 路由器每隔30秒从每个启动RIP协议的接口发送出路由更新信息
  • 无效计时器
  • 如果一条路由在180s内没有收到更新,这条路由的跳数将记为16
  • 刷新计时器
  • 如果这条路由在被记为16跳后,60s内还没有收到更新,则将这条路由从路由表中删除
  • 抑制计时器
  • 如果一个目标的距离增加或变为不可达,启动抑制计时器(180s),直到抑制计时器超时,路由器才接收有关于这条路由的更新信息。
  • 作用是防止路由抖动
  • 水平分割
  • 是一个规则,用来防止路由环路的产生规则:从一个接口上学习到的路由信息,不再从这个接口发送出去
  • 根据路由协议,在进行路由信息宣告时,是否包含网络掩码,可以把路由协议分为两种
  • 一种是有类路由(Classful)协议,它们在宣告路由信息时不携带网络掩码
  • 一种是无类路由(Classless)协议,它们在宣告路由信息时携带网络掩码
  • RIP v1(支持连续子网)
  • 发送路由更新时不携带子网掩码,属于有类路由协议
  • 发送路由更新时,目标地址为广播地址: 255.255.255.2
  • RIP v2(支持不连续子网)
  • 发送路由更新时携带子网掩码,属于无类路由协议
  • 发送路由更新时,目标地址为组播地址:224.0.0.9
  • 动态路由协议的分类
    • 距离矢量路由协议(根据路由所执行的算法分类)
    • 链路状态路由协议
  • 距离矢量路由协议 (RIP)
    • 路由器每经过特定时间周期向邻居发送自己的路由表
    • 距离:有多远(根据条数来定义的)
    • 矢量:从哪个方向(根据下一条路由器来定义的)
  • 链路状态路由协议 (ospf)
    • 从对等路由器处获取信息,建立一张完整的网络图-链路状态数据库
    • 再根据链路状态数据库,用SPF(最短路径树)算法计算出一个以自己为根的树型结构,再生成路由表
  • 命令配置
  • 思科
  • 启动RIP进程
    • Router(config)# router rip
  • 宣告主网络号 宣告192.168.10.0(接口网段)
    • Router(config-router)# network network-number
    • Router(config-router)# network 192.168.10.0
  • 验证配置
  • 查看路由表
    • Router# show ip route
  • 查看路由协议配置
    • Router# show ip protocol
  • 打开RIP协议调试命令
    • Rouetr# debug ip rip
  • 命令配置
  • 华为
  • [huawei]rip
    • 启动rip进程
  • [huawei-rip-1]version 2
    • 配置为使用版本2
  • [huawei-rip-1]undo sunmmary
    • 关闭自动汇总
  • [huawei-rip-1]network 10.0.0.0
    • 宣告主网络号
  • 验证配置
  • 查看 RIP 进程 1 的数据库
    • display rip 1 database
  • 查看路由器学习到的 RIP 路由
    • display ip routing-table protocol rip
  • 查看设备哪些接口激活了 RIP
    • display rip 1 interface

有关动态路由协议 RIP的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  3. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. ruby-on-rails - Rails - 从命名路由中提取 HTTP 动词 - 2

    Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba

  6. ruby-on-rails - 如何在 Rails 中设置路由的默认格式? - 2

    路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。

  7. ruby - 在 Ruby 中动态创建数组 - 2

    有没有办法在Ruby中动态创建数组?例如,假设我想遍历用户输入的书籍数组:books=gets.chomp用户输入:"TheGreatGatsby,CrimeandPunishment,Dracula,Fahrenheit451,PrideandPrejudice,SenseandSensibility,Slaughterhouse-Five,TheAdventuresofHuckleberryFinn"我把它变成一个数组:books_array=books.split(",")现在,对于用户输入的每一本书,我想用Ruby创建一个数组。伪代码来做到这一点:x=0books_array.

  8. ruby - 是否可以将 IRB 提示配置为动态更改? - 2

    我想在IRB中浏览文件系统并让提示更改以反射(reflect)当前工作目录,但我不知道如何在每个命令后进行提示更新。最终,我想在日常工作中更多地使用IRB,让bash溜走。我在我的.irbrc中试过这个:require'fileutils'includeFileUtilsIRB.conf[:PROMPT][:CUSTOM]={:PROMPT_N=>"\e[1m:\e[m",:PROMPT_I=>"\e[1m#{pwd}>\e[m",:PROMPT_S=>"FOO",:PROMPT_C=>"\e[1m#{pwd}>\e[m",:RETURN=>""}IRB.conf[:PROMPT_MO

  9. ruby-on-rails - carrierwave:在序列化动态属性上安装 uploader - 2

    首先,我使用的是rails3.1.3和来自master的carrierwavegithub仓库的分支。我使用after_init钩子(Hook)来确定基于属性的字段页面模型实例并为这些字段定义属性访问器将值存储在序列化哈希中(希望它清楚我是什么谈论)。这是我正在做的事情的精简版:classPage省略mount_uploader命令让我可以访问我想要的属性。但是当我安装uploader时出现错误消息说“nil类的未定义新方法”我在源代码中读到有方法read_uploader和扩展模块中的write_uploader。我如何必须覆盖这些来制作mount_uploader命令使用我的“虚拟

  10. ruby - 在 Ruby 中动态生成多维数组 - 2

    我正在尝试动态构建一个多维数组。我想要的基本上是这样的(为简单起见写出来):b=0test=[[]]test[b]这给了我错误:NoMethodError:undefinedmethod`test=[[],[],[]]而且它工作正常,但在我的实际使用中,我不会事先知道需要多少个数组。有一个更好的方法吗?谢谢 最佳答案 不需要像您正在使用的索引变量。只需将每个数组附加到您的test数组:irb>test=[]=>[]irb>test[["a","b","c"]]irb>test[["a","b","c"],["d","e","f"]]

随机推荐