Tài liệu Chapter5 IP Routing docx

14 587 0
Tài liệu Chapter5 IP Routing docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chapter5 IP Routing Routing Basics 路由协议(routing protocol):用于 routers 动态寻找网络最佳路径,保证所有 routers 拥有相同的 路由表. 一般, 路由协议决定数据包在网络上的行走的路径. 这类协议的例子有 OSPF,RIP,IGRP,EIGRP 等 可路由协议(routed protocol):当所有的 routers 知道了整个网络的拓扑结构以后,可路由协议就 可以用来发送数据.一般的,可路由协议分配给接口,用来决定数据包的投递方式.这类例子有 IP 和 IPX 路由:把 1 个数据包从 1 个设备发送到不同网络里的另 1 个设备上去.这些工作依靠 routers 来 完成.routers 并不关心主机,它们只关心网络的状态和决定网络中的最佳路径 router 可以路由数据包,必须至少知道以下状况: 1.目标地址(destination address) 2.可以学习到远端网络状态的邻居 router 3.到达远端网络的所有路线 4.到达远端网络的最佳路径 5.如何保持和验证路由信息 The IP Routing Process 路由原理:当 IP 子网中的一台主机发送 IP 包给同一 IP 子网的另一台主机时,它将直接把 IP 包送到网络上,对方就能收到.而要送给不同 IP 于网上的主机时,它要选择一个能到达目的子 网上的 router,把 IP 包送给该 router,由它负责把 IP 包送到目的地.如果没有找到这样的 router, 主机就把 IP 包送给一个称为缺省网关(default gateway)的 router 上.缺省网关是每台主机上的 一个配置参数,它是接在同一个网络上的某个 router 接口的 IP 地址 router 转发 IP 包时,只根据 IP 包目的 IP 地址的网络号部分,选择合适的接口,把 IP 包送出去. 同主机一样,router 也要判定接口所接的是否是目的子网,如果是,就直接把包通过接口送到网 络上,否则,也要选择下一个 router 来传送包.router 也有它的缺省网关,用来传送不知道往哪儿 送的 IP 包.这样,通过 router 把知道如何传送的 IP 包正确转发出去,不知道的 IP 包送给缺省网 关,这样一级级地传送,IP 包最终将送到目的地,送不到目的地的 IP 包则被网络丢弃了 当主机 A 发送个 IP 包到主机 B,目标 MAC 地址使用的是默认网关的以太网接口地址.这是因 为帧不能放置在远端网络. show ip route:查看路由表信息,比如: Router#sh ip route (略) Gateway of last resort is not set C 192.168.10.0/24 is directly connected, FastEthernet0/0 C 192.168.20.0/24 is directly connected, Serial 0/0 Router# C 代表的是:直接相连 Configuring IP Routing in Our Network 当 1 个 router 收到 1 个目标网络号没有在路由表中列出的包的时候,它并不发送广播寻找目 标网络,而是直接丢弃它 几种不同类型的路由: 1.静态路由(static routing) 2.默认路由(default routing) 3.动态路由(dynamic routing) Static Routing 静态路由:手动填加路由线路到路由表中,优点是: 1.没有额外的 router 的 CPU 负担 2.节约带宽 3.增加安全性 缺点是: 1.网络管理员必须了解网络的整个拓扑结构 2.如果网络拓扑发生变化,管理员要在所有的 routers 上手动修改路由表 3.不适合在大型网络中 静态路由的配置命令:ip route [dest-network] [mask] [next-hop address 或 exit interface] [administrative distance] [permanent] ip route:创建静态路由 dest-network:决定放入路由表的路由表 mask:掩码 next-hop address:下 1 跳的 router 地址 exit interface:如果你愿意的话可以拿这个来替换 next-hop address,但是这个是用于点对点 (point-to-point)连接上,比如广域网(WAN)连接,这个命令不会工作在 LAN 上 administrative distance:默认情况下 ,静态路由的管理距离是 1,如果你用 exit interface 代替 next-hop address,那么管理距离是 0 permanent:如果接口被 shutdown 了或者 router 不能和下 1 跳 router 通信,这条路由线路将自动 从路由表中被删除.使用这个参数保证即使出现上述情况,这条路线仍然保持在路由表中 静态路由的具体配置: Router Network Address Interface Address RouterA 192.168.10.0 fa0/0 192.168.10.1 192.168.20.0 s0/0 192.168.20.1 RouterB 192.168.20.0 s0/0 192.168.20.2 192.168.40.0 s0/1 192.168.40.1 192.168.30.0 fa0/0 192.168.30.1 RouterC 192.168.40.0 s0/0 192.168.40.2 192.168.50.0 fa0/0 192.168.50.1 准备工作:先配置 RouterA,B 和 C 的基本信息,注意 RouterB 作为 DCE 提供时钟频率: RouterA(config)#int fa0/0 RouterA(config-if)#ip address 192.168.10.1 255.255.255.0 RouterA(config-if)#no shut RouterA(config-if)#int s 0/0 RouterA(config-if)#ip address 192.168.20.1 255.255.255.0 RouterA(config-if)#no shut RouterA(config-if)#^Z RouterA#copy run start RouterB(config)#int fa0/0 RouterB(config-if)#ip address 192.168.30.1 255.255.255.0 RouterB(config-if)#no shut RouterB(config-if)#int s 0/0 RouterB(config-if)#ip address 192.168.20.2 255.255.255.0 RouterB(config-if)#clock rate 64000 RouterB(config-if)#no shut RouterB(config-if)#ip address 192.168.40.1 255.255.255.0 RouterB(config-if)#clock rate 64000 RouterB(config-if)#no shut RouterB(config-if)#^Z RouterB#copy run start RouterC(config)#int fa0/0 RouterC(config-if)#ip address 192.168.50.1 255.255.255.0 RouterC(config-if)#no shut RouterC(config-if)#int s 0/0 RouterC(config-if)#ip address 192.168.40.2 255.255.255.0 RouterC(config-if)#no shut RouterC(config-if)#^Z RouterC#copy run start 配置 RouterA 静态路由: RouterA 了解自己的网络 192.168.10.0 和 192.168.20.0(直接相连),所以 RouterA 的路由表必须 加入 192.168.30.0 和 192.168.40.0, 192.168.50.0 的信息,注意下 1 跳接口,如下: RouterA(config)#ip route 192.168.30.0 255.255.255.0 192.168.20.2 RouterA(config)#ip route 192.168.40.0 255.255.255.0 192.168.20.2 RouterA(config)#ip route 192.168.50.0 255.255.255.0 192.168.20.2 验证路由信息: RouterA#sh ip route (略) S 192.168.50.0 [1/0] via 192.168.20.2 (略) S 代表静态路由,[1/0]分别为管理距离和度 配置 RouterB 静态路由: RouterB 所必须学习到的网络应该是 192.168.10.0 和 192.168.50.0,注意它们的下 1 跳接口地 址,配置如下: RouterB(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.1 RouterB(config)#ip route 192.168.50.0 255.255.255.0 192.168.40.2 配置 RouterC 静态路由: RouterC 所必须学习到的网络应该是 192.168.10.0,192.168.20.0 和 192.168.30.0,注意它们的下 1 跳接口地址,配置如下: RouterC(config)#ip route 192.168.10.0 255.255.255.0 192.168.40.1 RouterC(config)#ip route 192.168.20.0 255.255.255.0 192.168.40.1 RouterC(config)#ip route 192.168.30.0 255.255.255.0 192.168.40.1 Verifying Your Configuration 根据上面的拓扑结构,我们来验证下是否能够端到端的 ping 通: RouterC#ping 192.168.10.1 (略) Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds: !!!!! (略) RouterA#ping 192.168.50.1 (略) Sending 5, 100-byte ICMP Echos to 192.168.50.1, timeout is 2 seconds: !!!!! (略) 2 端都能 ping 通,说明没问题 Default Routing 默认路由:一般使用在 stub 网络中,stub 网络是只有 1 条出口路径的网络.使用默认路由来发送 那些目标网络没有包含在路由表中的数据包.根据上面的拓扑图,你就不能把默认路由定义在 RouterB 上,因为RouterB 拥有不止1 个出口路径接口.其实你可以把默认路由理解成带通配符 (wildcard)的静态路由 配置默认路由: 首先要去掉之前配置的静态路由 RouterC(config)#no ip route 192.168.10.0 255.255.255.255 192.168.40.1 RouterC(config)#no ip route 192.168.20.0 255.255.255.255 192.168.40.1 RouterC(config)#no ip route 192.168.30.0 255.255.255.255 192.168.40.1 接下来配置默认路由: RouterC(config)#ip route 0.0.0.0 0.0.0.0 192.168.40.1 额外的命令,使各个接口打破分类 IP 规则,12.x 的 IOS 默认包含这条命令,如下: RouterC(config)#ip classless 再验证下: RouterC(config)#^Z RouterC#sh ip route (略) S* 0.0.0.0/0 [1/0] via 192.168.40.1 S*代表默认路由 Dynamic Routing 动态路由协议,有很多优点,灵活等等,但是缺点也有,比如占用了额外的带宽,CPU 负荷高 组网利用到的 2 种路由协议:内部网关协议(Interior Gateway Protocols,IGPs)和外部网关协议 (Exterior Gateway Protocols,EGPs) 自治系统(Autonomous System,AS):同 1 个管理域的网络集合,意味着在这里面的所有 routers 共享相同的路由表信息 IGPs:在相同的 AS 内交换路由信息 EGPs:AS 间的通信 Routing Protocol Basics Administrative Distances 管理距离(AD): 0 到 255 之间的 1 个数,它表示一条路由选择信息源的可信性值.该值越小,可 信性级别越高.0 为最信任,255 为最不信任即没有从这条线路将没有任何流量通过.假如 1 个 router 收到远端的 2 条路由更新,router 将检查 AD,AD 值低的将被选为新路线存放于路由表 中.假如它们拥有相同的AD,将比较它们的度(metric).度低的将作为新线路.假如它们的AD 和 度都一样,那么将在 2 条线路做均衡负载 一些常用路由协议默认的 AD: 1.直接相连:0 2.静态路由:1 3.EIGRP:90 4.IGRP:100 5.OSPF:110 6.RIP:120 记住,如果你在条线路上配置了静态路由,又配置了 RIP,默认情况下,router 只会使用静态路由, 因为它的 AD 为 1 小于 RIP 的 AD Routing Protocols 3 种路由协议: 1.距离向量(distance vector) 2.链路状态(link state) 3.混合型(hybrid) 距离向量:用于根据距离(distance)来判断最佳路径,当 1 个数据包每经过 1 个 router 时 ,被称之 为经过 1 跳.经过跳数最少的则作为最佳路径.这类协议的例子有 RIP 和 IGRP,它们将整个路 由表向与它们直接相连的相邻 routers 链路状态:也叫最短路径优先(shortest-path-first)协议.每个 router 创建 3 张单独的表,1 张用来 跟踪与它直接相连的相邻 router;1 张用来决定网络的整个拓扑结构;另外 1 张作为路由表.所 以这种协议对网络的了解程度要比距离向量高.这类协议例子有 OSPF 混合型:综合了前 2 者的特征,这类协议的例子有 EIGRP Distance-Vector Routing Protocols 距离向量路由算法将完整的路由表传给相邻 router,然后这个 router 再把收到的表的选项加上 自己的表来完成整个路由表,这个叫做 routing by rumor,因为这个 router 是从相邻 router 接受 更新而非自己去发现网络的变化 RIP 就是距离向量协议的例子.RIP 使用跳数来决定最佳路径,假如到达 1 个网络有 2 条跳数 相同的链路,那么将均衡负载在这 2 条链路上,平均分配,RIP 最多支持 6 条均衡链路 针孔拥塞(pinhole congestion):假如 2 条到达远端网络的链路 1 和 2 的跳数均为 1,但是链路 1 的带宽是 56kbps,2 的是 T1 线路 1544kbps,显然,走链路 2 好过走链路 1,但是 RIP 使用跳数作 为度,所以 RIP 会把数据平均分配到链路 1 和 2 上,这就造成了 pinhole congestion 我们来了解下距离向量协议的启动过程:当 router 启动的时候,只有那些与它们直接相连的网 络号出现在它们自己的路由表里,当距离向量协议在每个 router 上启动后,路由表将从相邻 router 获得更新信息来更新自己的路由表.每个 router 将完整的路由表,包含网络号,出口接口 和跳数,发送给相邻router.接下来,路由表包含了完整的网络信息,达到汇聚(converged)状态.另 外 ,在汇聚期间,没有数据将会被传送,所以说,快速汇聚就成了 1 个必不可少的话题 Routing Loops 距离向量协议通过向所有接口周期性的广播路由更新来跟踪整个网络的变化,这些广播包括 了完整的路由表.这样看上不错,但是它却给 CPU 增加了负荷和占用了额外的带宽.而且,汇聚 过慢的话容易导致路由表的不一致性和容易产生路由循环(routing loops) 路由循环的例子: 假如网络 5 出问题了,不工作了,E 就发送更新给 C 汇报情况,于是,C 开始停止通过 E 来路由 信息到网络 5,但是这个时候 A,B 和 D 还不知道网络 5 出问题了.所以它们仍然继续发送更新 信息.C 发送更新给 B 说停止路由到网络 5.但是此时 A 和 D 还没有更新,所以它们觉得网络 5 仍然可用,而且跳数为 3.接下来,A 发送更新说:嘿!网络 5 还可用.B 和 D 接受到 A 发来的更新 后,没办法,也相同的觉得可用经过 A 到达网络 5,并且认为网络 5 可用.所以就这样,1 个目标网 络是网络 5 的数据包将进过 A 到 B,然后又回到 A…… Maximum Hop Count 路由循环的问题也可用描述为跳数无限(counting to infinity).其中的 1 个解决办法就是定义最 大跳数(maximum hop count).RIP 是这样定义最大跳数的:最大跳数为 15,第 16 跳为不可达.但 是这样不能根本性的祛除路由循环的问题 Split Horizon 另外1 个解决办法就是水平分裂(split horizon),它规定由1 个接口发送出去的路由信息不能再 朝这个接口往回发送.这个办法减少了路由信息的不正确性和负载 Route Poisoning 路由破坏(route poisoning)也用于避免不一致的更新信息来阻止网络循环.由刚才的拓扑图,当 网络 5 不可用了,E 将把这条线路的度变为 16,即不可达,破坏这条线路.这样 C 就不会发送错 误的更新了.当 C 收到 E 的 route poisoning 信息,,C 发送个叫做 poison reverse 的更新给 E,这 样保证了所有的线路都知道那条破坏线路的信息,来防止循环 Holddowns 抑制计时(holddown): 一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一 定时间内不再接收关于同一目的地址的路由更新.如果,路由器从一个网段上得知一条路径失 效,然后,立即在另一个网段上得知这个路由有效.这个有效的信息往往是不正确的,抑制计时 避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳 定性.它使用了触发更新(trigger update)来重新设定 holddown 计时器 触发更新:和一般的更新不一样,当路由表发生变化时,更新报文立即广播给相邻的所有路由 器,而不是等待 30 秒的更新周期.同样,当一个路由器刚启动 RIP 时,它广播请求报文.收到此广 播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期.这样,网络拓扑的变化 会最快地在网络上传播开,减少了路由循环产生的可能性 触发更新重新设定计时器的几个情况: 1.计时器超时 2.收到 1 个拥有更好的度的更新 3.刷新时间(flush time) Routing Information Protocol(RIP) RIP 是一种距离向量路由协议,使用跳数作为度,最大 15 跳,它每 30 秒向外发送整个路由表的 信息.RIP 适合于小型网络.RIP 版本 1(RIPv1)使用分级路由(classful routing),意思是在网络的 所有设备必须使用相同的子网掩码;而 RIP 版本 2(RIPv2)使用无分类路由(classless routing). 我们这里讨论 RIPv1 RIP Timers RIP 使用 3 种不同的计时来调节它的性能: 1.路由更新计时(route update timer) 2.路由无效计时(route invalid timer) 3.保持计时器(holddown timer) 4.路由刷新时间(route flush timer) 路由更新计时:router 发送路由表副本给相邻 router 的周期性时间,30 秒 路由无效计时:如果经过 180 秒,一个路由的选项都没有得到确认,router 就认为它已失效了 保持计时器:当 router 得知路由无效后,router 将进如 holddown 状态,默认时间是 180 秒,如果 在这 180 秒里,router 接收到路由更新以后或者超过 180 秒,保持计时器停止计时 路由刷新时间: 如果经过 240 秒,路由表的选项仍没有得到确认,它就被从路由表中删除 Configuring RIP Routing 配置 RIP: Router Network Address Interface Address RouterA 192.168.10.0 fa0/0 192.168.10.1 192.168.20.0 s0/0 192.168.20.1 RouterB 192.168.20.0 s0/0 192.168.20.2 192.168.40.0 s0/1 192.168.40.1 192.168.30.0 fa0/0 192.168.30.1 RouterC 192.168.40.0 s0/0 192.168.40.2 192.168.50.0 fa0/0 192.168.50.1 先来配置 RouterA,由于 AD 的问题,所以要先去掉之前的静态路由,如下: RouterA(config)#no ip route 192.168.30.0 255.255.255.0 192.168.20.2 RouterA(config)#no ip route 192.168.40.0 255.255.255.0 192.168.20.2 RouterA(config)#no ip route 192.168.50.0 255.255.255.0 192.168.20.2 使用RIP配置命令为router rip,起用RIP,接下来使用network 命令配置需要进行通告(advertise) 的网络号,注意 router 的提示符,如下: RouterA(config)#router rip RouterA(config-router)#network 192.168.10.0 RouterA(config-router)#network 192.168.20.0 RouterA(config-router)#^Z RouterA# 注意配置的网络号,是直接相连的网络,而通告非直接相连的网络任务,就交给 RIP 来做.还有 就是要注意 RIPv1 是 classful routing, 意思是假如你使用 B 类 172.16.0.0/24, 子网 172.16.10.0,172.16.20.0 和 172.16.30.0,在配置 RIP 的时候,你只能把网络号配置成 network 172.16.0.0 配置 RouterB,由于 AD 的问题,所以要先去掉之前的静态路由,如下: RouterB(config)#no ip route 192.168.50.0 255.255.255.0 192.168.40.2 RouterB(config)#no ip route 192.168.10.0 255.255.255.0 192.168.20.1 配置 RIP: RouterB(config)#router rip RouterB(config-router)#network 192.168.20.0 RouterB(config-router)#network 192.168.30.0 RouterB(config-router)#network 192.168.40.0 RouterB(config-router)#^Z RouterB# 配置 RouterC,由于 AD 的问题,所以要先去掉之前的默认路由,如下: RouterC(config)#no ip route 0.0.0.0 0.0.0.0 192.168.40.1 配置 RIP: RouterC(config)#router rip RouterC(config-router)#network 192.168.50.0 RouterC(config-router)#network 192.168.40.0 RouterC(config-router)#^Z RouterC# Verifying the RIP Routing Tables 验证配置好的路由信息,如下: RouterA#sh ip route (略) R 192.168.50.0 [120/2] via 192.168.20.2, 00:00:23, Serial0/0 (略) 注意 R 代表的是 RIP,[120/2]分别代表 AD 和度,在这里, 度即为跳数.假如说你在这个信息里看 到的是[120/15],那么下 1 跳为 16,不可达,这条路由线路也将随之无效,将被丢弃 Holding Down RIP Propagation [...]... line protocol is up Internet Address is 192.168.40.1/24 RouterB# show ip protocols:显示 router 上配置好了的路由协议,如下: RouterB#sh ip protocols Routing Protocols is “rip” (略) debug ip rip:发送控制台消息显示有关在 router 接口上收发 RIP 数据包的信息,关闭 debug,使 用 undebug all 或者 no debug all 命令,如下: RouterB#debug ip rip RIP protocol debugging is on RouterB# 07:12:56: RIP: received v1 update from 192.168.40.2 on Serial0/1 07:12:56: 192.168.50.0...如果你想阻止 RIP 更新信息传播到 LANs 和 WANs 上,可以使用 passive-interface 命令,这条命 令可以防止 RIP 更新信息广播从你定义了的接口上发送出去,但是这个接口仍然可以接受到 更新信息,如下: RouterA(config)#router rip RouterA(config-router)#network 192.168.10.0 RouterA(config-router)#passive-interface s 0/0 Interior Gateway Routing Protocol(IGRP) IGRP 是 Cisco 私有的距离向量路由协议,意思是说只有 Cisco 的 routers 才可以运行 IGRP.IGRP... RouterC# 注意 RouterA,RouterB 和 RouterC 使用相同的 AS 号 Verifying the IGRP Routing Tables 我们来验证下: RouterA#sh ip route (略) I 192.168.50.0 [100/170420] via 192.168.20.2, Serial0/0 (略) I 代表 IGRP[100/170420]为 AD 和复合度,度越低越好 Verifying Your Configurations 一些验证性的命令: show protocols:显示所有的可路由协议和查看接口及其相关协议,如下: RouterB#sh protocols Gloabal values: Internet Protocol routing is enabled FastEthernet0 is up, line protocol is up Internet... update from 192.168.40.2 on Serial0/1 07:12:56: 192.168.50.0 in 1 hops (略) RouterB#undebug all All possible debugging has been turned off RouterB# debug ip igrp events:提供在网络中运行的 IGRP 路由选择信息的概要,关闭使用 undebug ip igrp events 或 undebug all 命令,如下: RouterB#debug ip igrp events IGRP event debugging is on 07:13:50: IGRP: received request from 192.168.40.2 on Serial0/1 07:13:50: IGRP: sending update to 192.168.40.2... metric) 当你配置 IGRP 的时候,你必须以 AS 号作为配置参数,所有的 routers 必须使用相同的 AS 号 来共享路由表信息 IGRP 支持 6 条链路的均衡负载 下面是一些你在 RIP 中找不到的,IGRP 专有的特征: 1.IGRP 可以在 1 个大型组网中使用到 2.使用 AS 号 3.每 90 秒发送完整的路由更新 4.使用带宽和延迟作为度 IGRP Timers IGRP 计时: 1.路由更新计时:默认 90 秒 2.路由无效计时:默认 270 秒 3.保持计时器:默认 280 秒(3 倍更新时间+10 秒) 4.路由刷新时间: 默认 630 秒 Configuring IGRP Routing Router RouterA RouterB RouterC Network Address 192.168.10.0 192.168.20.0 192.168.20.0 192.168.40.0... interior, 0 system, and 0 exterior routes 07:13:51: IGRP: Total route in update: 3 (略) RouterB#un all All possible debugging has been turned off debug ip igrp transactions:显示来自相邻 router 要求更新的请求消息和由 router 发到相邻 router 的广播消息,关闭使用 undebug all,如下: RouterB#debug ip igrp transactions 07:14:05: IGRP: received request from 192.168.40.2 on Serial1 07:14:05: IGRP: sending update to 192.168.40.2 via Serial1(192.168.40.1)... Autonomous system number RouterA(config)#router igrp 10 RouterA(config-router)#netw 192.168.10.0 RouterA(config-router)#netw 192.168.20.0 RouterA(config-router)#^Z RouterA# 记住 IGRP 也是 classful routing, 而且配置网络号是与它直接相连的网络 配置 RouterB,如下: RouterB(config)#router igrp 10 RouterB(config-router)#netw 192.168.20.0 RouterB(config-router)#netw 192.168.30.0 RouterB(config-router)#netw 192.168.40.0 RouterB(config-router)#^Z . The IP Routing Process 路由原理:当 IP 子网中的一台主机发送 IP 包给同一 IP 子网的另一台主机时,它将直接把 IP 包送到网络上,对方就能收到.而要送给不同 IP 于网上的主机时,它要选择一个能到达目的子 网上的 router,把 IP 包送给该 router,由它负责把 IP. Protocol(RIP) RIP 是一种距离向量路由协议,使用跳数作为度,最大 15 跳,它每 30 秒向外发送整个路由表的 信息.RIP 适合于小型网络.RIP 版本 1(RIPv1)使用分级路由(classful routing) ,意思是在网络的 所有设备必须使用相同的子网掩码;而 RIP 版本 2(RIPv2)使用无分类路由(classless

Ngày đăng: 10/12/2013, 16:15

Tài liệu cùng người dùng

Tài liệu liên quan