热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

动态路由协议之RIP

<RIP(RoutingInformationProtocol)>·RIP协议的特点:1)RIP属于IGP,是Distance-Vector协议。2)RIP是基于UDP的,端口号5

<RIP(Routing Information Protocol)>

·RIP协议的特点:

1)RIP属于IGP,是Distance-Vector协议。

2)RIP是基于UDP的,端口号520

3)周期性以广(组)播向邻居发送更新。

4)做完整更新,将整个路由表的信息传递给邻居。

5)Metric(度量值)只跟跳数有关。

6)只支持等价的负载均衡

·解决DV环路问题:

1)Defining a Maximum:16跳。

2)Split Horizon:从一个接口收到的路由不再从此接口发出。

3)Route Poisoning:将不可达路由直接设成Infinity(16跳)。

4)Holddown Timers:所有邻居都将此路由“冻结”,

   如在“冻结”期内该路由恢复,继续采纳该路由

   如在“冻结”期收到更好的路由,将采纳更好的路由

   如在“冻结”期收到更差的路由,不采纳该路由

5)Triggered Updates:

  避免周期性更新占用带宽,只有当拓扑变化时才发送更新。


<RIP的报文类型>

RIP协议定义了两种消息类型:

1、请求消息request

2、响应消息response

请求消息可以请求整个路由表的信息,也可以仅请求某些特定的路由信息。通常当RIP刚启用时,会向每一个启用的RIP协议的接口发出带有请求消息的数据包。

响应消息则用来将路由器的路由发送给其他路由器。通常会周期发送。


<RIP v1>

RIP-v1的特点:

·以广播地址255.255.255.255发送更新。

·路由在跨越主类网络边界时,会自动汇总成主类网络。

·不支持VLSM,更新时不携带掩码信息

配置:

router rip            //在路由器上启用RIP协议

  network 10.0.0.0    //宣告网络,只能主类宣告

·在CISCO路由器上,运行RIP后,默认即不是V1版也不是V2版,而是一种特殊状态。

show ip protocols     //查看当前运行的协议

    Interface             Send  Recv  

    Serial0/0             1     1 2  (默认)                              

router rip

  version 1    //如果你想运行V1版,打上这条命令

  Interface             Send  Recv

    Serial0/0             1     1   (指定v1)

debup ip rip   //本命令可调试路由更新


<RIP v2>

RIP-v2的特点:

·以组播地址224.0.0.9发送更新。

·默认情况下路由在跨越主类网络边界时,会自动汇总,但是也可以关闭自动汇总,进行手动汇总

·RIPv2支持VLSM,更新发送时携带掩码信息。

配置:

router rip

  version 2  //启用V2版

    Interface             Send  Recv

    Serial0               2     2   (指定v2)

·正常情况下,RIP-V2是发送组播更新,下面这条命令强制让RIP使用广播更新

int s0

  ip rip v2-broadcast    //在接口下配置

·虽然v2携带了掩码信息,但跨越不同网络边界时,默认还是会自动汇总成主类。

router rip

  no auto-summary    //通过这一命令可关闭自动汇总

·RIP在auto-summary时,会将本地及收到的路由都汇总成主类然后发出。



<实现V1和V2版的兼容性>

int s0

  ip rip send version 1       //设定接口只发送出V1版的更新

  ip rip receive version 1    //设定接口只接收V2版的更新

  ip rip send version 1 2     //设定接口同时发送V1和V2版的更新


<RIP Timer>

1)Update (30S)

 随机变量是更新周期的15%,即4.5S (25.5S-30S)

2)Invalid (180S)

 180S后置为Possible Down,之后立即启动hold Down计时器。

3)Hold Down(180S)

 实际只用到60S 

4)Flush(240S)

 240S还没收到路由更新,才将此路由删除。

测试Possible Down:

 1)设置Passive-interface

 2)中间接SW

 3)中间是FR

 4)认证不匹配

router rip

  timers basic 10 20 20 40    //修改四个计时器

技术分享


<被动接口>

在RIP协议中,如果一个接口被设定为被动接口,这个接口将不能向外发送路由更新,不过还可以接收对端发送过来的路由更新。

router rip

  passive-interface s1/0     //将接口设为被动接口,只收不发

router rip

  passive-interface default    //将所有接口设为被接口

router rip

  no passive-interface s1/0    //取消一个被动接口

debug ip rip


<路由汇总>

在RIP中关闭自动汇总后,可以在某一个接口去做手动的汇总。但要注意,汇总出的网络号不能越过主类网络。RIP不支持CIDR。

技术分享

R1(config)#int s1/1

R1(config-if)#ip summary-address rip 172.16.0.0 255.255.0.0

 (在路由流向的出接口作)

RIP中汇总的特点:

·本地存在有明细路由,才能从做汇总的接口发出汇总路由。

·直到明细的最后一条路由消失,汇总才会消失。

·取明细路由的最小metric值



<水平分割>

在绝大多数的接口运行RIP,水平分割默认都有是开启的

Enable : Ethernet / Serial / BRI / FR子接口(p2p/mp)

Disable : FR物理接口  这个接口比较特殊,默认是关闭的

int s0

  no ip split-horizon    //本命令在接口下关闭水平分割


<单播更新>

默认RIP只发送广播或组播更新包,下面的命令让RIP发出单播包

router rip

  neighbor 10.0.0.2


<偏移列表>

可以用来增加路由的metric值,需要先用ACL抓出路由

access-list 1 permit 2.2.2.0 0.0.0.0

router rip

  offset-list 1 out 3 ethernet 0/0  //对ACL1所匹配的路由加三点的metric值

或:

  offset-list 0 out 3 ethernet 0/0

      (0代表对所有路由)



<RIP v2 Authentication>

认证技术可以提高网络的安全性,只有互相认证成功的两台合法路由器之间才能传递路由信息。

RIP支持两种认证方式:

1、明文认证

2、md5认证

第一步:定义密码库

key chain R2                 //本地有效

  key 1                //建议两端一致

    key-string cisco

可以定义多个KEY值,按从小到大的顺序进行匹配,发送KEY值时也是发送最小的一个,还可以设定KEY值的有效时间。

第二步:在接口下应用密码库

int s0

  ip rip authentication key-chain R2

第三步:在接口下指定认证模式

int s0

  ip rip authentication mode [md5|text] 

R1#show key chain     

R1#debug ip rip 

小知识:RIP中每一个路由更新报文最大可包含25条路由,做了明文认证后只能包含24条,做了MD5认证后只能包含23条。

R2(config-keychain-key)#Accept-lifetime 04:00:00 jan 2006 infinite 定时接收

R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 04:01:00 jan 2006 定时发送

R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 duration 300  有效期300S

注意:密码库中可以同时定义多个密码,在匹配时要按规则来匹配,明文认证和md5认证的匹配规则各不一样,下面分别说明。

明文认证匹配规则:

技术分享

明文认证总结:只发送KEY ID最小的KEY,并不携带KEY ID,接收方与KEY列表中所有的KEY匹配,只要有一个能匹配上则通过认证。


md5认证匹配规则:

技术分享

密文认证总结:只发送最小的KEY ID,并且携带KEY ID。当接收到时,先只匹配相同KEY ID密钥,如果不匹配,则通不过认证。但如果没有相同KEY ID,只向下查找一次大的KEY ID密钥,如果有相同的KEY ID,但不匹配也不通过认证,如果仍然没有不是相同的KEY ID则也不通过认证。



<Triggered>

周期更新:路由器周期性的向外发送出自已的路由更新

触发更新:路由器平时不会周期性的发送路由更新,只会在拓朴改变的情况下(也就是路由变化了),才会向外发送出路由更新。

RIP默认只做周期更新,通过以下命令,可以实现触发更新。

使用触发更新后:

·路由器不再周期发更新,只触发更新。

·计时器会自动变成Timers basic 30 180 0 240

·只能打在低速点对点链路上,E0口是不能打的

int s0

  ip rip triggered (E0/Lo0不支持)

       (两端都配)

debug ip rip


<RIP区域生成默认路由>

为了让一个网络中的路由器都能自动获得默认路由,从而可以访问外部网络,我们可以利用路由协议来自动下发默认路由。

1)Redistribute Static:

ip route 0.0.0.0 0.0.0.0 serial 0

router rip

  redistribute static 


2)Network 0.0.0.0:

ip route 0.0.0.0 0.0.0.0 serial 0(写下一跳不行)

router rip

  network 0.0.0.0


3)default-information originate:

router rip

  default-information originate


4)default-network:

ip default-network 12.0.0.0(写成主类)#

如写成ip default-network 12.1.1.0就不行


<负载均衡>

负载均衡指的是将去往一个特定目的地的多条路由同时放进路由表,用来做流量的转发。

负载均衡有两种:

1、等价负载均衡--将metric值相等的路由同时放入路由表用来做流量转发。

2、不等价负载均衡--将metric值不相等的路由也同时放入路由表用来做流量转发。

·RIP只支持等价的负载均衡。也就是说用来做负载均衡的路由metric必须一致。

·默认RIP只支持四条路径的负载均衡,在新的IOS中可以通过命令修改为最多16条

router rip

  maximum-paths 2    //最多16条

show ip protocols   //可以用来查看


本文出自 “Ricky的技术博客” 博客,请务必保留此出处http://r1cky.blog.51cto.com/10646564/1773996

动态路由协议之RIP


推荐阅读
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 解决UIScrollView自动偏移问题的方法
    本文介绍了一种有效的方法来解决在使用UIScrollView时出现的自动向下偏移的问题,通过调整特定的属性设置,可以确保滚动视图正常显示。 ... [详细]
  • 如何高效渲染JSON数据
    本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 在Notepad++中配置Markdown语法高亮及实时预览功能
    本文详细介绍了如何在Notepad++中配置Markdown语法高亮和实时预览功能,包括必要的插件安装和设置步骤。 ... [详细]
  • 探讨如何在映射文件中处理重复的属性字段,以避免数据操作时出现错误。 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
author-avatar
mobiledu2502913627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有