资源描述
BSCI知识总结
一般说来在规划网络的时候要考虑到一点,即可扩展性网络设计一般是把它设计为层次化的,一般分为以下三层:
Access Layer(访问层):用户接入到网络中的接入点
Distribution Layer(分发层):该层是访问层用户访问网络资源的一个汇聚点
Core Layer(核心层):负责在各个分割的网络之间进行高速有效的数据传输
如下图,就是三层模型的一个图例:
网络层次划分:
1.按功能,企业的不同部门来划分
2.按地理位置来划分
但是记得不管你按何种方式来设计你的网络,三层元素要考虑进去:
1.核心层:需要大带宽,冗余连接
2.访问层:用户接入到网络的接入点.地址的分发(比如DNCP),VLAN的设计,防火墙,ACL等都在这层考虑进去
3.分发层:访问层设备的汇聚点看看核心层的两种设计,如下图:
这样的一种设计是全互连(fully meshed)的方式,优点是提供冗余连接,但是随着网络的扩展,成本会越来越高
为了节约成本,就可以采用如上图的一种星形设计方式(hub-and-spoke),让其他设备都连接到相对独立的中心设备上去.这样做节省了一些开销,但是冗余度上比全互连的方式要差
Benefits of Good Network Design
先来看看RFC1918定义的私有IP地址范围:
A类:10.0.0.0到10.255.255.255
B类:172.16.0.0到172.31.255.255
C类:192.168.0.0到192.168.255.255
在注意设计一个好的网络的IP地址规划的时候要注意以下几点:
1.可扩展性(scalability)
2.可预测性(predictability)
3.灵活性(flexibility)
Benefits of an Optimized IP-Addressing Plan
层次化地址规划的好处:
1.减少了路由表(routing table)的条目(entry)
2.可以有效的对地址进行分配
可以使用路由汇总(route summarization)来减少路由表的条目,路由汇总使得多个IP地址是集合看上去就像是一个IP地址从而减少在路由器中的条目.这样就可以减轻路由器的CPU和内存的负载,提供更为有效的路由服务,加快了网络收敛(convergence)的速度,简化了排错(troubleshooting)的过程
来看下图:
这个就是典型的规划不太合理的网络.假设有50个分部,每个分部有200个前缀为/24的子网,由于子网不连续,那么总共路由表的条目将达到10000条以上
相比再看看下图:
子网连续,可以做路由汇总,所以49个分部对外的路由只有1条,加上子网内部的路由条目200条,总共路由表就可以减少到249条
Hierarchical Addressing Using Variable-Length Subnet Masks
变长子网掩码(Variable-Length Subnet Masks,VLSM)的出现是打破传统的以类(class)为标准的地址划分方法,是为了缓解IP地址紧缺而产生的
先来看看前缀(prefix)的概念:假设给你个地址范围192.168.1.64到192.168.1.79.前3个8位位组(octet)是一样的,我们来看看组后个8位位组,写成2进制,如下:
64:0100 0000
65:0100 0001
66:0100 0010
……………..
77:0100 1101
78:0100 1110
79:0100 1111
注意它们的共通点:前4位是一样的,加上前3个8位位组的24位就等于28位,所以我们就可以认定这个网段的前缀是/28(即255.255.255.240).所以在这个例子里,主机位就只有4位
来看下VLSM的应用,如下图:
假如这个公司使用的是172.16.0.0/16的地址空间.给公司的分部A分配172.16.12.0/22到172.16.14.255/22的地址块.D需要2个VLAN,然后每个VLAN容纳200个用户.A,B和C连接3个以太网,分别用1个24口的交换机相连(不考虑级联等因素)
先从需要最大用户的入手:要让1个子网容纳200个用户,即主机位应该保留为8位(254台主机,假如主机位是9位的话可以容纳510台主机,但是造成了地址空间的浪费).所以前缀为/24,从172.16.12.0/24开始分配起走.如下图:
然后分配A,B和C的地址:A连接一个24口的交换机,即需要24个主机地址,那么主机位应该保留为5位(可以容纳30台主机),即前缀为/27(255.255.255.224),因为172.16.12.0/24和172.16.13.0/24已经被D全部占用,所以从172.16.14.0/27开始分配.如下图
最后来给A和D,B和D,C和D之间分配IP地址.由于它们之间是点对点连接,所以主机位只保留2位,即前缀是/30就可以了.除掉掉2个VLAN和3个LAN占用了的地址,还剩下下面几个地址块:
172.16.14.96/27
172.16.14.128/27
172.16.14.160/27
172.16.14.192/27
172.16.14.224/27
我们从172.16.14.224/27来进行划分(一般选择最后1个地址块进行划分).如下图:
Route Summarization and Classless Interdomain Rouring
我们先来看下什么是路由汇总,如下图:
4个前缀为/24的连续子网经过D汇总后成为172.16.12.0/22(转换成2进制可以看出前22位是一样的).所以在E的路由表中只有一条条目.
再来看下无类域间路由(Classless Interdomain Rouring,CIDR),它是为了缓解IP地址短缺,减小路由表的体积,打破传统的以类划分网络的一种技术,如下图:
4个C类地址的子网经过D的路由汇总成一条192.16.12.0/22,注意这个192.16.12.0/22既不是A类也不是B类更不是C类,可以理解成超网(supernetting),即无类的概念
Understanding IP Version 6
IPv6是IPv4的增强版本,和IPv4相比,有很多优点包括:
1.支持更大的地址空间
2. IPv6的头部格式比IPv4的头部更为简化,IPv6的头部可以根据需要进行扩展(简单并不代表短,注意不要混淆)
3.更高的安全性和能很好的和移动IP相互兼容
4.能够平滑过渡IPv4到IPv6
移动IP是IETF标准,使得移动设备在不中断现有连接的情况下进行迁移.这一特征是内建在IPv6中的,但是IPv4就不是.IP Sec是IETF开发的标准,用于增强IP网络安全性,这一特性对IPv6是必须的
IPv6 Addressing
如下图对于两种版本的IP进行比较:
可以看出IPv4是32位长,4字节;IPv6是128位长,16字节;IPv4支持的地址最多达到42亿,IPv6支持的地址多达3.4乘以10的38次方.增加IP地址的位长即增加了IP包头部信息的大小
IPv6的表示方法:
1.X:X:X:X:X:X:X:X(每个X代表16位的16进制数字).不区分大小写
2.排头的0可省略,比如09C0就可以写成9C0,0000可以写成0
3.连续为0的字段可以以::来代替,但是整个地址中::只能出现一次.比如FF01:0:0:0:0:0:0:1就可以简写成FF01::1
来看几个简写的例子:
0:0:0:0:0:0:0:0可以写成::
0:0:0:0:0:0:0:0可以写成::1
Multicast Use
IPv4中的广播(broadcast)可以导致网络性能的下降甚至广播风暴(broadcast storm).在IPv6中,就不存在广播这一概念了,取而代之的是组播(multicast)和任意播(anycast)
组播的接受对象是一组成员,是个群体.任意播是多个设备共享一个地址.分配IPv6单播(unicast)地址给拥有相同功用的一些设备.发送方发送一个以任意播为目标地址的包,当路由器接受到这个包以后,就转发给具有这个地址的离它最近的设备.单播地址用来分配任意播地址.对于那些没有配备任意播的的地址就是单播地址;但是当一个单播地址分配给不止一个接口的时候,单播地址就成了任意播地址
Autoconfiguration
来看下IPv6的自动配置:当本地链路的路由器发送网络类型信息给所有节点的时候.支持IPv6的主机就把它自己64位的链路层地址附着在64位的前缀自动配置成128位长的地址,保证地址的唯一性.自动配置启用即插即用(Plug and Play)
IPv6 Renumbering
IPv6的重编号:路由器发送组播数据包,其中数据包中包含2个前缀,一个是拥有比较短的生存期的前缀,还有一个是新的拥有正常时间的前缀.通知网络上的节点用完旧的前缀后换成新的前缀,这样就能进行平滑的前缀过渡
IPv4 to IPv6 Transitioning
两种转换的方式:
1.双栈(dual stack)
2.IPv6到IPv4(6to4)的隧道(tunnel)
还有一种是利用NAT来翻译46地址
来看看双栈配置的例子,如下:
Router#sh run
(略)
!
interface Ethernet0
ip address 192.168.99.1 255.255.255.0
ipv6 address 3ffe:b00:c18:1::3/127
!
(略)
再来看看隧道技术,如下图所示:
可以看出隧道技术是在双栈路由器上,将IPv6包封装在IPv4包中,然后经过IPv4网络传递到另外一端的双栈路由器上去,然后再由它解封装
要注意的是对采用了隧道技术的网络进行排错的话比较复杂,要记住的是这只是一个过渡方案,不是最终的体系结构
对隧道进行配置,需要满足以下2个条件:
1.在连接网络的两端采用双栈路由器
2.在双栈路由器的接口同时配置IPv4和IPv6的地址
如下图所示:
Module2 Network Address Translation
Configuring IP NAT with Access Lists
看看NAT的术语,如下:
1.IP NAT inside:属于内网部分内的需要翻译成外部地址的接口
2.IP NAT outside:属于外网和路由器相连的接口或者是在它的路由表里没有运载的有IP NAT inside地址空间的信息
当包在下面的接口之间进行路由的话就需要NAT:
1.IP NAT inside接口到IP NAT outside接口
2.IP NAT outside接口到IP NAT inside接口
当有包要从inside路由到outside的时候,你就需要在NAT表里建立条NAT条目.NAT条目把源IP地址从内部地址翻译为外部地址.当IP NAT outside接口响应这个包的时候,包的目标IP地址将和IP NAT表里的条目做比较.如果匹配的条目找到了,目标IP地址就被翻译成正确的内部地址,然后放到路由表里保证能够被路由到IP NAT inside接口去;如果没有找到匹配的条目,包将被丢弃
地址超载(address overloading)是种在Internet连接上很常见的现象.超载是使用NAT将多个内部地址映射到一个或一些唯一的地址上去.NAT使用TCP和UDP端口来跟踪不同的会话
当路由器决定了从IP NAT inside接口到IP NAT outside接口的路径的时候,要建立包括源IP地址和源TCP和UDP端口号的条目.每个设备被分配的有一个唯一的TCP或UDP的端口号来进行区分
NAT表包含以下信息:
1.协议:IP,TCP或UDP
2.inside local IP address:port:等待NAT翻译的内部地址以及端口号
3.inside global IP address:port:经过翻译了的地址.这些地址通常是全局的唯一地址
4.outside global IP address:port:ISP分配给外网的IP地址
5.outside local IP address:port:看上去像是处于内网的外网主机的地址
IP NAT和访问列表ACL的结合使用的命令,如下:
1.ip nat {inside|outside}:接口命令,标记IP设备接口为内部或者外部,只有标记了内部或外部的接口才需要翻译
2.ip nat source list pool :当包被发送到标记为IP NAT inside的接口的时候,这个命令告诉路由器比较源地址和ACL,然后ACL告诉路由器查找地址池(address pool)看是否要进行翻译.ACL许可的地址才能被NAT翻译
3.ip nat pool {prefix-length |netmask }:这个命令创建翻译池,参数为起始地址到完结地址和前缀或者是掩码如下图:
如图,当一个包的源地址为10.1.2.x,路由器就根据名为sales_pool的地址池进行翻译;如果包的源地址是10.1.3.x的话,路由器就根据名为acct_pool的地址池进行翻译
来看一个NAT和扩展ACL结合使用的例子,如下图:
ACL102和ACL103用来控制NAT的决策,和仅基于源地址相比,扩展ACL的决策基于源地址和目标地址.如果包的源地址不是10.1.1.0/24的话,包将不会通过NAT进行翻译.如果从10.1.1.0/24而来的包的目标地址为172.16.1.0/24或者是192.168.200.0/24的话.包的地址将被翻译成地址池trust_pool里的地址,即192.168.2.0/24;如果目标地址既不匹配172.16.1.0/24也不匹配192.168.200.0/24的话,源地址就将被翻译成地址池untrust_pool中的地址,即192.168.3.0/24
Defining the Route Map Tool for NAT
route map是Cisco IOS提供的一项功能,它的好处如下图:
当你只使用ACL的时候,如图可以看出,不支持端口号,而且inside与outside的关系是一一对应.而且带来的缺点是很难排错
你可以使用NAT的超载技术或者使用一种叫做route map的Cisco IOS工具,如果你结合route map和ACL一起使用,它将生成扩展的翻译条目,如上图.这些条目包含了端口信息,可以使得应用程序能够跟踪这些会话.ACL和route map不同的地方是可以使用set命令对route map进行修改,而ACL就不行
在配置模式下输入route-map map-tag [permit | deny] [sequence-number],定义路由策略;接下来输入match {conditions},定义条件;最后使用set {actions}定义对符合条件的语句采取的措施
map-tag是route map号,路由器从上到下的处理这些陈述,直到找到第一个匹配的的语句然后应用它.一条单独的match语句可以包含多个条件.每条条件语句中至少要有一条符合条件的语句.sequence-number定义了检查的顺序,比如1个名为hello的router map,其中一个的sequence-number为10;另外一个为20.那么将先检查sequence-number为10的那个.和ACL一样,在末尾有条隐含的deny any语句
来看看一个router map配置的例子,如下图:
如图黄色部分是增加的route map.在这个例子里,名为what_is_sales_doing的route map通过使用ip nat inside source route-map what_is_sales_doing pool sales_pool命令和sales_pool相互链接.源地址为10.1.2.100的包到达E0口,即IP NAT inside接口.ip nat inside source route-map what_is_sales_doing pool sales_pool命令告诉路由器发送包给名为what_is_sales_doing的route map.这个route map的sequence 10匹配包的源地址10.1.2.100,依靠ACL 2.接下来路由器查询名为sales_pool的NAT池,得到10.1.2.100要翻译的成的新地址当使用route map的时候,路由器在IP NAT表里创建完全的扩展翻译条目,包含源地址和目标地址以及TCP或UDP端口号;当你只使用ACL的时候,路由器创建的只是一条简单的翻译条目,一个应用程序对应一个条目,不包含端口信息
Verifying NAT
检查NAT表的内容,使用show ip nat translation命令,注意下图,分别是NAT使用了ACL和NAT使用了route map的输出:
Module3 Routing Principles
Principles of Static Routing
我们来复习下配置静态路由的语法,在全局配置模式下使用:
ip route prefix mask {next-hop address|interface} [distance] [permanent]
看下各个参数的含义:
prefix mask:要加进路由表中去的远程网络及其子网掩码
next-hop address:下一跳地址
interface:到达目标网络的本地路由器的出口
distance:管理距离(AD),可选
permanent:路由条目永久保存在路由表中,即使路由器的接口down掉了
注意,一般只在点对点的连接中使用interface选项,否则应该使用next-hop address选项
使用静态路由的好很多,比如可以对网络进行完全的掌控,不会占用额外的路由器CPU和内存资源以及网络带宽.适用于小型网络中
如下就是一个静态路由的例子:
如图,对于A,只需要在它上面配置ip route 10.2.0.0 255.255.0.0 s0就可以了,这里采用的就不是next-hop address而是采用本地的出口接口(因为是点到点是连接);当然也可以这样配置成ip route 10.2.0.0 255.255.0.0 10.1.1.1,这里采用的就是next-hop address
同样对于B的配置就可以使用ip route 172.16.1.0 255.255.255.0 s0或者ip route 172.16.1.0 255.255.255.0 10.1.1.2
默认路由(default route):一般使用在stub网络中,stub网络是只有1条出口路径的网络.使用默认路由来发送那些目标网络没有包含在路由表中的数据包或者所有的数据包.语法是把静态路由中的prefix mask写成0.0.0.0和0.0.0.0
Principles of Dynamic Routing
动态路由允许路由器自动交换路由信息从而了解整个网络的信息.动态路由的好处是:使用中型和大型网络,能够根据网络拓扑的变化自动更改路由表的信息,避免了人工手动更改;但是带来的缺点就是占用路由器额外的CPU和内存资源以及网络带宽
来看一个以RIP为例的动态路由的配置,如下:
首先在A上使用router rip命令启动RIP协议,接下来只需要使用network命令加上需要交换信息的网络即可,在这里就是:
A(config)#router rip
A(config-router)#network 172.16.0.0
A(config-router)#network 10.0.0.0
A(config-router)#^Z
A#
对B的配置,如下:
B(config)#router rip
B(config-router)#network 10.0.0.0
B(config-router)#^Z
B#config t
B(config)#ip route 0.0.0.0 0.0.0.0 s1
B(config)#^Z
B#
注意B的配置中的ip route 0.0.0.0 0.0.0.0 s1,告诉通往Internet采用默认路由
Principles of On-Demand Routing
ODR是Cisco私有的,主要用在如下的一种星型环境中:
有的时候你会觉得假如你使用静态路由,当网络拓扑发生变化以后,就得手动修改路由表;但是你又不想使用动态路由,因为那样占用了你额外的一些硬件资源和网络带宽.在如上图的环境中就可以使用ODR.ODR使用Cisco发现协议(CDP)携带网络信息.ODR的好处是最大可能的减少了网络硬件和资源的负载,同时又减少了手动修改的工作量.但是ODR只使用于hub-and-spoke这样的拓扑结构中.如上图,AC,D和E就是spoke router,或者叫做stub router,B作为中心,叫做hub router.当配置了ODR以后,spoke router使用CDP发送IP前缀信息到hub router,spoke router发送IP前缀信息给所有和它直接相连的网络.ODR报告子网掩那子信息,所以ODR支持VLSM.然后hub router依次发送指向到它自己的默认路由给周边的spoke router
严格说来ODR不算是真正的路由协议,因为它交换的信息仅仅局限在IP前缀信息和默认路由上,ODR没有包含度(metric)的信息.ODR使用跳数(hop count)作为度
配置ODR只需要在hub router上的全局配置模式下起用router odr命令,不需要在stub router上配置IP路由信息,但是必须在接口上开启CDP功能
对ODR的验证,如下:
B#show ip route
(略)
o 172.16.1.0/24 [160/1] via 10.1.1.2, 00:00:23, Serial0
o 172.16.2.0/24 [160/1] via 10.2.2.2, 00:00:03, Serial1
o 172.16.3.0/24 [160/1] via 10.3.3.2, 00:00:16, Serial2
o 172.16.4.0/24 [160/1] via 10.4.4.2, 00:00:45, Serial3
(略)
注意o代表ODR,管理距离为160
Classful Routing Protocol Concept
基于类的路由协议最大的特点是在路由更新(routing update)中不包含子网掩码的信息.由于不知道子网掩码的信息,当一个基于类的路由器接受或发送,路由器会假设认为网络所使用的子网掩码是包含进路由更新中的,而且这些假设是基于IP的类.在接收到路由更新以后,运行了基于类的路由协议的路由器就会根据以下其中一条来决定网络路径:
1.如果路由更新信息包含相同的主网络号和接收更新的接口配置相同的话,路由器就应用接收更新的接口的那个子网掩码
2.如果路由更新信息包含相同的主网络号和接收更新的接口配置不相同的话,路由器将应用默认的子网掩码:
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
当使用基于类的路由协议的时候,所有的网络主网络号必须相同,而且子网必须连续.否则路由器将对子网信息做出错误的判断.运行了基于类的路由协议会在网络的边界(boundary)做自动的路由汇总
常见的基于类的路由协议有:IGRP和RIPv1
Network Summarization in Classful Routing
来看看网络汇总在边界的发生,如下图:
B作为网络的分界,从C到A,B将两条条目(172.16.1.0和172.16.2.0)的信息汇总成一条(172.16.0.0);从A到C,B将两条条目(10.1.0.0和10.2.0.0)的信息汇总成一条(10.0.0.0).在基于类的路由协议里,这样的汇总是自动进行的,不需要手动配置.前提是子网掩码等长,子网连续
假如说子网不连续,如下图:
如图中的表所示,D给C传送一条汇总路由10.3.0.0;B传送条汇总路由10.2.0.0给C.对于C而言它就会做出错误的判断,它区分不了10.2.0.0和10.3.0.0分别在哪边.所以说做基于类的路由协议的路由汇总,子网必须连续.但是这样一来,会造成地址空间的浪费(和VLSM相比)
Examining a Classful Routing Table
假设我们使用show ip route命令,产生如下输出:
J# show ip route
(略)
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
10.0.0.0/24 is subnetted, 3 subnets,
R 10.1.1.0/24 [120/1] via 10.1.2.2, 00:00:05, Ethernet0
C 10.1.2.0/24 is directly connected, Ethernet0
R 10.1.3.0/24 [120/2] via 10.1.2.2, 00:00:05, Ethernet0
R 192.168.24.0/24 [120/2] via 10.1.2.2, 00:00:16, Ethernet0
R 172.16.0.0/16 [120/3] via 10.1.2.2, 00:00:16, Ethernet0
R* 0.0.0.0/0 [120/3] via 10.1.2.2, 00:00:05, Ethernet0
(略)
如上,可以看出10.1.2.0/24是直接相连,其他的都是通过RIP学习到的.现在我们假设有以下几个目的地的包,它们对于上面的输出会如何进行匹配:
192.168.24.3
172.16.5.1
10.1.2.7
200.100.50.0
10.2.2.2
根据show ip route的输出可以看出,到达192.168.24.3的包会跟第四条(92.168.24.0/24)相匹配,(虽然最后一条也可以,但是匹配原则是匹配掩码最长的那条);接下来,172.16.5.1和第五条(172.16.0.0/16)匹配;10.1.2.7和第二条(10.1.2.0)相互匹配;200.100.50.0和前五条都不匹配,和第六条默认路由(0.0.0.0/0)相互匹配;10.2.2.2虽然和前三条的第一个8位位组匹配,但是后面3个8位位组不匹配,所以它将被丢弃而不会采用默认路由
如果你在全局模式下使用了ip classless命令的话,目的地是10.2.2.2的包就不会被丢弃,就会采用默认路由.ip classless命令在Cisco IOS版本12.0和12.0以后默认打开的,无须手动打开
Classless Routing Protocol Concepts
基于无类概念的路由协议可以说是第二代路由协议,相比基于类的路由协议,它可以解决地址空间过于浪费的问题.这类协议的例子有RIPv2,OSPF,EIGRP,IS-IS,BGPv4.使用无类的路由协议,拥有相同主网络号的不同子网就可以使用不同的子网掩码(VLSM).假如在路由表中到达目的网络的匹配条目不止一条,将会选择子网掩码长的那条进行匹配.比如假如有两条条目172.16.0.0/16和172.16.5.0/24,如果目的地是172.16.5.99的包将会和172.16.5.0/24进行匹配而不是和172.16.0.0/16进行匹配
还有一点是无类的路由协议的自动汇总可以手动关闭,这样的自动汇总会影响不连续的子网的使用而造成错误的汇总路由信息(这点和基于类的路由协议在不连续子网的情况下的自动汇总所带来的问题是一样的)
Automatic Network-Boundary Summarization Using RIPv2 and EIGRP
基于无类的路由协议一般不会对所有的子网进行宣告(advertise).默认的,比如像EIGRP和RIPv2会像基于类的路由协议那样,在网络的边界进行自动汇总,这样就使得它们能和它们的之前的RIPv1和IGRP很好的兼容
但是和之前的RIPv1和IGRP不同的是,你可以手动关闭自动汇总.在配置相关路由的时候只需要输入no auto-summary就可以了.这个命令在配置OSPF和IS-IS的时候是不必输入的,因为默认OSPF和IS-IS不会进行自动汇总
如下图:
如果在不连续子网启用自动汇总会产生问题,比如上图的A和B都将宣告汇总路由172.16.0.0/16给C,因此C不能明确区分它相连的子网谁是谁.所以,要解决这个问题就必须关闭自动汇总.当然有的时候自动汇总能够带来好处
看看RIPv2和OSPF网络对于自动汇总的处理,如下图:
注意RIPv2会将172.16.2.0/24和172.16.1.0/24汇总成172.16.0.0/16;而OSPF就不会进行自动汇总,仍然是两条条目:172.16.1.0/24和172.16.2.0/24.但是假如你对RIPv2网络中使用了no auto-summary关闭自动汇总的话,OSPF网络中的C和RIPv2网络中C的路由表中的条目就是一样的了.如下图:
在RIPv2中关闭自动汇总,如下:
Router(config)#router rip
Router(config-router)#version 2
Router(config-router)#no auto-summary
version 2命令是启用RIPv2版本
Characteristics of RIP Version 1
RIPv1的特点包括:
1.使用跳数(hop count)作为度来决定最佳路径
2.允许最大跳数是15跳
3.默认是每30秒广播路由更新(实际环境中并不是设定的固定为30秒,而是25秒到30秒之间的随机时间,防止两个路由器发送同时更新产生冲突)
4.最多支持6条等价链路的负载均衡,默认是4条
5.是基于类的路由协议,不支持VLSM
6.不支持验证(authentication)
Characteristics and Configuration of RIPv2
RIPv2比RIPv1增强的特点包括:
1.基于无类概念的路由协议
2.支持VLSM
3.可以人工设定是否进行路由汇总
4.使用多播来代替RIPv1中的广播
5.支持明文或MD5加密验证
RIPv2使用多播地址224.0.0.9来更新路由信息
RIPv2的配置命令步骤如下:
1.启动RIP路由协议 :
Router(config)#router rip
2.启动版本2 :
Router(config-router)#version 2
3.设置进行宣告的网络号
Router(config-router)#network network-number
一默认Cisco IOS会接收版本1和2的更新包, ;但是只发送版本1的包.要设置成只发送和接收一种版本的包,使用version {1|2}命令即可
一些其他的命令,如下 :
Router(config-if)#ip rip send | receive version {1|2} or 1 2
在接口模式下设置摸个接口接受和发送不同版本的包或同时接收发送版本1和2的包
Router(config-if)#ip summary-address rip network mask
如果之前在全局配置模式下使用no auto-summary关闭了自动汇总的话,要在某个接口做人工汇总的话就用上面这个命令
来看一个例子,如下图:
如图所显示的是一个RIPv1和RIPv2协同工作的网络.A运行RIPv2,C运行RIPv1,B同时运行RIPv1和RIPv2
对C的配置,如下:
C(config)#router rip
C(config-router)#version 2
C(config-router)#network 10.0.0.0
C(config-router)# network 192.168.1.0.
对B配置,如下:
B(config)#router rip
B(config-router)#version 2
B(config-router)#network 10.0.0.0
光配置这些是不够的,还要对B做进一步配置,如下:
B(config)#int s3
B(config-if)#ip rip send version 1
B(config-if)#ip rip receive version 1
如上,我们在s3口配置了接收和发送RIPv1的更新,因为RIPv2是作为主要运做的协议,C运行的是RIPv1,所以要让B和C进行正确的信息交换的话,就要在B的s3口配置上述命令
对A进行配置,如下:
A(config)#router rip
A(config-router)#version 2
A(config-router)#network 10.0.0.0
A(config-router)#network 172.16.0.0
A(config-router)#no auto-summary
如上我们关闭了自动汇总,当然这样是不够的,还应该做如下配置进行手动汇总:
A(config)#int s2
A(config-if)#ip summary-address rip 172.16.1.0 255.255.255.0
这样做的目的是允许把172.16.1.0/24的信息发送给B,因为默认发送给B的信息是172.16.0.0/16
Administrative Distance
看看Cisco制定的各个路由协议的管理距离(AD),如下:
Floating Status Route
因为静态路由的AD比一些动态路由协议的AD高,假如你又想优先采用动态路由,而让静态路由作为备份路由的话,就可以在配置静态路由的时候指定一个AD值,这个AD值要比你采用的动态路由协议要高才行.所以一般当动态路由正常的时候,你在路由表里是看不到这条静态路由的;当动态路由出问题的时候,静态路由开始生效,于是出现在路由表里,这样的静态路由就叫做浮动静态路由(floating static route)
来看一个例子,如下:
对A的配置如下:
A(config)#ip route 10.0.0.0 255.0.0.0 172.16.1.2 100
A(config)#router eigrp 100
A(config-router)#network 192.168.1.0
A(config-router)#network 172.17.0.0
如上,我们对静态路由的AD指定为100,EIGRP的AD为90,所以
展开阅读全文