本站已运行

攻城狮论坛

作者: 非常CCNA
查看: 2224|回复: 15

主题标签Tag

more +今日重磅推荐Recommend No.1

所有IT类厂商认证考试题库下载所有IT类厂商认证考试题库下载

more +随机图赏Gallery

【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集【新盟教育】2023最新华为HCIA全套视频合集【网工基础全覆盖】---国sir公开课合集
【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课【新盟教育】网工小白必看的!2023最新版华为认证HCIA Datacom零基础全套实战课
原创_超融合自动化运维工具cvTools原创_超融合自动化运维工具cvTools
重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)重量级~~30多套JAVA就业班全套 视频教程(请尽快下载,链接失效后不补)
链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享链接已失效【超过几百G】EVE 国内和国外镜像 全有了 百度群分享
某linux大佬,积累多年的电子书(约300本)某linux大佬,积累多年的电子书(约300本)
乾颐堂现任明教教主Python完整版乾颐堂现任明教教主Python完整版
乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)乾颐堂 教主技术进化论 2018-2019年 最新31-50期合集视频(各种最新技术杂谈视频)
Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天Python学习视频 0起点视频 入门到项目实战篇 Python3.5.2视频教程 共847集 能学102天
约21套Python视频合集 核心基础视频教程(共310G,已压缩)约21套Python视频合集 核心基础视频教程(共310G,已压缩)
最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程最新20180811录制 IT爱好者-清风羽毛 - 网络安全IPSec VPN实验指南视频教程
最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器最新20180807录制EVE开机自启动虚拟路由器并桥接物理网卡充当思科路由器

[概念讲解] 还是RIP协议的笔记,新理解....

  [复制链接]
非常CCNA [VIP@钻石] 发表于 2013-2-25 01:12:25 | 显示全部楼层 |阅读模式
查看: 2224|回复: 15
开通VIP 免金币+免回帖+批量下载+无广告
RIP (Routing Information Protocol) 路由协议是一种相对比较简单也是IGP中最先得到广泛使用的一种动态网络协议,在小型以及同介质网络中得到了广泛应用。RIP 是一种分布式的基于距离向量的路由选择协议。RIPv1在RFC 1058文档中定义,RIPv2在RFC 2453文档中定义,我司IOS软件同时支持这两个版本。
在IPv4的环境中他有两个版本RIPv1和RIPv2。现在较新的RIP版本是1998年11月公布的RIP2[RFC2453](已成为互联网标准协议),新版本本身没有多大变化,但性能上有些改进。RIPv2可以支持VLSM和CIDR。此外,RIPv2还支持Authentication和Multicast。
关于RIPv1,由于这个相当古老,那时候和现在的情况又不太一样,确实没什么好讲的了,我这里也简单讲讲关于他的class特性。
在最初开发分类协议时,使用的网络与现在的网络有天壤之别。在那时候,调制解调器的最高速度为300bit/s,WAN线路的最高速度为56kbit/s,路由器中的内存不超过640KB,而处理器的速度以KHZ计。路由更新必须足够小,以免独占WAN链路的所有带宽。另外,路由器也没有足够的资源来维护有关每个子网的最新信息。因此,有类路由协议的更新中没有子网掩码。由于不知道子网掩码,因此有类路由器发送或接收路由更新时,必须对更新中列出的网络使用的子网掩码做出假设。这些假设是基于IP地址类的。
路 由器通过接口将更新分组发送给与之相连的其他路由器。如果更新分组涉及的子网与传输接口的IP地址位于同一分类网络中,路由器将发送完整的子网地址。接收更新的路由器假设更新中的子网掩码和接收端口使用相同的子网掩码。例如如果R1将有关10.1.0.0的更新发送给R2,且R1和R2通过子网10.2.0.0/16相连,则R2假定子网10.1.0.0的子网掩码是/16的——与接收更新的接口的子网掩码相同。如果更新针对的子网的子网掩码不是这样的,接收路由器加入到路由表中的信息将是错误的。因此,使用有类路由协议时,属于同一分类网络的所有接口地址必须使用相同的子网掩码,也就是说有类路由协议不支持VLSM。
在有类协议中,路由器只发送主网络信息,即网络中所有的子网的汇总。在主网络比边界,有类路由协议自动创建一条汇总路由。有类路由协议不允许在网路地址空间的其他地方进行汇总。并且RIPv1自动在网络边界汇总路由,且无法禁用这种行为。
说到有类就有必要讲讲ip classless这条命令。在使用有类网络协议(RIPv1)时,要让路由器使用默认路由来转发这样的数据流——即它前往一个未知子网,而与该子网位于同一个网络中其他一些子网对路由器来说是已知的,那就必须配置命令ip classless。例如,假设有一台路由器的路由表中包含前往子网10.5.5.5/16和10.6.0.0/16的路由,同时还有一条默认路由0.0.0.0。如果没有配置命令ip classless,则路由器收到前往子网10.7.0.0/16的分组后,将把它丢弃。有类路由协议假定:如果自己知道10.0.0.0中的某些子网,则必然知道该网络中的其他所有子网。命令ip classless告诉路由器:对于前往已知网络中的未知子网或未知网络的分组,应使用最佳的超网(supernet)路由或默认路由来转发它们。在本例中,路由器将使用默认路由来转发前往10.7.0.0/16的分组。
其实路由表以有类方式行动的。如果没有配置ip classless,路由表本身默认将以有类方式行动,即使没有运行路由协议也将如此。例如,假设没有运行路由协议,而只是配置了静态路由,则使用默认路由仍将无法到达已知主网络的子网,除非配置了命令ip classless
口说无凭,上图:
222047ospzo1silaw9wxxa.jpg
R1与R2两台路由器通过f/0号口相连,R1的f0/0的地址为10.3.0.1/16,R2的f0/0的地址为10.3.0.2/16,R1上起了两个环回口loopback 0地址10.1.0.1/16和loopback 1地址10.2.0.1/16,R2上起了一个环回口loopback 0地址10.4.0.1/16,然后R1上给了一条默认
ip route 0.0.0.0 0.0.0.0 10.3.0.2 然后在R1上ping R2的loopback 0,不通
222055bk4ky48y9nzoz9sc.jpg
在R1上配了ip classless 之后,再ping就通了
22210425ylxuyusjryua25.jpg
测试表明,即使没有使用路由协议,路由表仍以有类方式行动。但是,在启用无类路由协议OSPF后,将自动覆盖路由器的有类特征(这个EIGRP我没试,不知道是不是这样的,不过我想应该也是,大家可以自己试试)。
RIPv2使用多播地址定期发送更新, RIPv2报文的组播地址为224.0.0.9,这比RIPv1使用广播255.255.255.255效率要高许多,因为若是广播的话,所有的设备,包括主机和服务器都要处理这些更新分组。它们检查第2层分组的校验和,并将其沿IP栈向上传递。IP将分组传递给UDP进程,UDP再检查RIP端口520是否可用。大多数PC和服务器上没有使用该端口的进程,因此分组被丢弃。RIPv2使用的IP多播地址有对应的MAC多播地址(MAC地址以01005e开头为组播地址),因此能够在第2层区分多播和广播的设备读取帧开头的内容,并确定目标MAC地址不是针对它们的。这样,非路由设备将在接口级丢弃这些分组,从而避免了这些分组占用CPU资源和内存。在那些第2层不能区分广播和多播的设备上,最起码在IP层会丢弃RIPv2更新,而不会将其传递给UDP,因为这些设备不使用多播地址224.0.0.9。RIPv2使用UDP报文交换路由信息,UDP端口号为520。RIPv2的报文格式如下:
223842qywwwjm63mwrwrmr.jpg
前4个字节为RIP的首部。其中command字段指出报文的意义。例如,1表示路由信息,2表示对请求路由信息的响应或未被请求而发出的路由更新报文,3和4都是过时信息,5留作sun微系统公司内部使用。version指明RIP版本。Unused是为了实现4个字节的对齐(这点是大学教科书这么说的,具体我还真没查过)里面填充的内容全为0。AFI是地址族标示符用来标识所使用的地址协议,一般这里为2,即采用的是IP地址(原来考虑RIP也可用于其他非TCP/IP协议的情况)。Route Tag字段用于填入AS号的,它提供一种从外部路由中分离内部路由的方法,用于传播从外部路由器协议(EGP)获得的路由信息。再后面指出某网络地址、该网络的子网掩码、下一跳路由地址(这里需要注意一个重定向的问题)以及到此网络的metric。
一个RIP报文最多包括25个路由,因而RIP报文的最大长度是4+20*25=504字节。如果超过,必须再使用一个RIP报文来传送。
说到RIP协议,老生常谈的一句话就是:周期性的发送路由表的更新给邻居。其实这句简单的话就包含了RIP的很多内容。第一,就是Neighbor邻居,谁是邻居,满足什么样的条件才能成为邻居,RIP将直连的同时开启了RIP进程的路由器当做自己的邻居,其中两边版本要一致,都能收发更新;第二,就是PUSH,RIP发送路由更新的动作是推,而不是被动的等待别人来请求;第三,周期性和ACK,由于RIP没有像EIGRP那样的确认机制,所以RIP得周期性的发送更新以保证邻居尽可能的收到更新;第四,Feedback,反馈机制;第五,就是RIP的路由表RIB,发送路由表的好处是接收者 拿到的就是具体的路由条目,坏处是太细节了,若B告诉A它可以去C,但没说它是怎么去C,如果B去C是A告诉B的,那就出shi了。为了解决该问题一大堆补丁就上来了,什么水平分割咯,毒性反转咯,Hold down timer咯等等就上来了。
这里本来应该开始上实验的,当我准备还原萌爷课堂实验时,发现我们的黄总(HXP)已经灰常完美的再现了萌爷的课堂实验,那讲的叫一个细致啊,我这里再把这个拿出来很有剽窃抑或自大之嫌,但出于完整性考虑,这个实验又绕不过去,于是想了想,这块还是附上我们黄总神帖的链接,看看我们黄总的风骚犀利程度
下面我结合一下相关的命令来讲一讲RIP的一些特性。
首先就是router rip这个大家都知道,启用rip协议。
version 2选用版本号
network network-number,其中network-number为主网络号。不管使用哪个版本,都必须在RIP路由进程下至少配置一个network命令,并指定主网络号。关于network这条命令已经讨论了很久了,但还是有些人会搞错。network命令是告诉路由器哪些接口将参与运行RIP协议,是用于起接口而不是所谓的通告网络。IP地址位于命令network指定的范围内的接口都将参与运行协议。换句话说,路由器将更新从指定接口发送出去,并期望通过这些接口收到更新。命令network指出本地路由器的接口吗,因此只能针对直连网络。路由器还发送有关指定接口连接的网络通告。关于network论坛上有专门的帖子介绍,还是我们的黄总写的,不太明白的童鞋可以搜搜看看。这里还有点细节我要强调的是,有些人可能会发现,在CISCO IOS上即使你敲命令network 192.168.1.1也是敲的上去的,这时有人可能会问不是说network只能跟主类网络吗,怎么这里能network一个具体的ip地址,其实这时IOS自动帮我们该过来了,如果你show run你会发现该命令自动被改成了network 192.168.1.0了,这要感谢IOS的强大,但是这里强烈提示WARNNING:还是老老实实的按照正确的配置来,如果你是在CCIE的考试中这么用,而又不巧被考官发现了,那么你的这部分直接就没分了,考官可能会认为你根本就没有理解这个协议。
no auto-summary这条命令用于关闭RIPv2的自动汇总功能。在包含非连续子网的网络中(或有些子网并不能通过通告汇总路由的路由器到达时),自动汇总可能引发问题。如果汇总路由器指出,通过某台路由器能够到达某些子网,但实际上这些子网是非连续的(通过该路由器并不能到达),网络可能出现类似于有类协议引发的问题。例如
0103159fi9103xwitzijoi.jpg
R1和R3都通告172.16.0.0/16的汇总路由,这样R2将收到两条前往网络172.16.0.0/16的路由,因此无法知道哪些网络与哪台路由器连接。使用no auto-summary R2将拿到更精细的路由,这样R2才能针对具体网络转发具体的数据。
ip summary-address rip network-number mask该命令在接口模式下使用,用于手动控制如何汇总,RIP的汇总auto-summary只能在网络边界进行汇总,且汇总成主类网络,但ip summary-address rip network-number mask由于可以跟掩码,因此能够根据具体要求汇总成适当的程度,例如ip summary-address rip 172.16.1.0 255.255.255.224也是可以的。关于RIP汇总有点需要注意的需要手工添加一条指向Null的路由以避免出环,具体原因我在EIGRP里也讲了。只不过,EIGRP能够自动产生这样一条路由,而RIP需要手工添加。
passive-interface default该命令是默认让所有接口都不接收和发送RIP更新,no passive-interface 后跟接口类型和编号具体让某接口可以接收和发送RIP更新。一般建议先默认将所有接口都passive掉,再手工将需要接收和发送更新的接口no passive掉,这样可以减少对于那些不需要接收和发送RIP更新的接口的配置量。
neighbor ip-address该命令用于配置RIP报文单播通告,在配置FR、X.25时,如果地址映射时指定了Broadcast关键字,则无需配置neighbor。Neighbor命令的作用更多体现在减少广播报文和路由过滤上。
ip split-horizon和no ip split-horizon是打开和关闭水平分割,对于RIP而言由于只是发送给邻居我有一条到目标网络去的路径,但并没具体说怎么走,所以可能通告给邻居的路由是邻居告诉自己的,于是需要使用水平分割防止邻居将自己通告给他的路由再通告给我。彪哥常说的一句话(他说是以前一个学员说的)I send it to you,you do not send it to me.
ip rip send version 2ip rip receive version 2用于指定RIP发送和接收的RIP的版本,也可以同时跟上两个版本号即ip rip send version 1 2和ip rip receive version 1 2。
key chain ripkey定义一个钥匙环,名字为ripkey
key 1 定义第一把key
accept-lifetime 00:00:00 Jan 1 2000 infinite 第一把key的接收时间范围
send-lifetime 00:00:00 Jan 1 2000 infinite 第一把key的发送时间范围
ip rip authentication mode {text | md5}选择RIP的验证类型是明文还是MD5,在接口模式下使用
ip rip authentication key-chain ripkey在接口模式下使用
以上几条命令是RIP的验证功能,用于防止非法接入的设备获取路由。其中key chain key-chain可以理解为钥匙环,
key key-id可以理解为钥匙环上的第几把钥匙,你可以同时定义出几把钥匙,即不同的key-id,然后在不同的时间段使用不同的钥匙进行验证这样安全性将更好。accept-lifetime和send-lifetime用于定义出每把钥匙的使用时间范围。定义好上述东西之后,在相应的接口下使用,ip rip authentication mode 即选择验证类型是明文还是密文,ip rip authentication key-chain 即选择使用定义那串钥匙。
timers basic 30 180 180 240 该命令用于修改rip的计时器,第一30是update更新的周期为30s,第二个180为Invalid无效时间为180s,第三个180为hold down保持时间为180s,第四个240为flush删除时间为240s。这几个计时器也是rip默认的计时器,一般不推荐修改,除非有特殊要求才修改这些计时器。另外,在修改时需要注意两边的计时器要设置一样,否则邻居关系也无法建立,从而学不来路由。
validate-update-source启用源地址验证
no validate-update-source关闭源地址验证
默认情况下,RIP会对接收的路由更新报文源地址进行验证,如果源地址无效,RIP就会丢弃该报文。判断源地址是否有效,就是判断源IP地址是否与接口IP地址在相同的网络内。如果是无编号IP地址接口,将不会进行有效性验证。
default-information originate产生一条默认路由,在接口模式下可使用命令
ip rip default-information originate [metric metric-value]通告默认路由也通告其他路由,或者
ip rip default-information only [metric metric-value]只通告默认路由,这两条命令在有些IOS版本中不支持。
RIP默认在4条开销相等的路径之间负载均衡,最多为16条。可通过命令maximum-paths 16来修改。
关于RIP的防环机制,水平分割就不用再说了。毒性逆转是指当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。而hold down timer是指,当一个查询过来之后,路由器并不是立刻将该路由删除,而是hold住,向下游发送查询,防止下游有其他的路径,直到6倍的hello才超时。
最后就是triggered-rip。triggered-rip由于采用了确认机制才能使其由周期性的更新改为触发更新,同时取消了hold down timer;triggered-rip由路由器自己维护序列号,保证路由器信息一致;由于RIP本身不维护邻居,所以Triggered-RIP只能配置在点到点链路上。因为点到点链路无需维护邻居。
由于过了个寒假,感觉还没热身,所以写出来的质量很有限,另外论坛上关于RIP的帖子实验不老少,也打消了我写详细的念头,很多都只是点到而已,比如重定向,RIP的查询等,不知道是因为我自己水平提升了觉得很多东西都成了常识还是由于什么原因,所以写的不够详细,有不懂的到时可以看看补充下。我得感觉的热起来,时间不等人啊,今年时间好紧。最后还是希望大家对于帖子中的错误与不足之处给予指正,不胜感激!
CCNA考试 官方正规报名 仅需1500元
回复 论坛版权

使用道具 举报

芯蕊111 [Lv8 技术精悍] 发表于 2013-8-13 03:46:05 来自手机 | 显示全部楼层
路过占楼而已
回复 支持 反对

使用道具 举报

海皇CHICBOY [Lv8 技术精悍] 发表于 2013-10-8 22:35:35 | 显示全部楼层
找到好贴不容易,我顶你了,谢了
回复 支持 反对

使用道具 举报

清风一缕 [Lv8 技术精悍] 发表于 2013-10-8 22:54:29 | 显示全部楼层
找到好贴不容易,我顶你了,谢了
回复 支持 反对

使用道具 举报

*浚浚* [Lv8 技术精悍] 发表于 2013-10-9 18:02:06 | 显示全部楼层
支持一下:lol
回复 支持 反对

使用道具 举报

ericyuenhk0913 [Lv8 技术精悍] 发表于 2013-10-9 21:12:30 | 显示全部楼层
沙发!沙发!
回复 支持 反对

使用道具 举报

isslee [Lv8 技术精悍] 发表于 2013-10-9 22:50:45 | 显示全部楼层
回复 支持 反对

使用道具 举报

w10 [Lv8 技术精悍] 发表于 2013-10-10 09:37:41 | 显示全部楼层
回复 支持 反对

使用道具 举报

yinrui [Lv8 技术精悍] 发表于 2013-10-10 11:39:48 | 显示全部楼层
沙发!沙发!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图浏览|手机版|网站地图|攻城狮论坛

GMT+8, 2025-9-5 08:49 , Processed in 0.112296 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

Designed by ARTERY.cn