网络故障(network failure)是指由于硬件的问题、软件的漏洞、病毒的侵入等引起网络无法提供正常服务或降低服务质量的状态。 在开始阅读之前,可以考虑以下问题,也可以在阅读后测试学习效果: 路由器 在前面关于路由器的介绍中,我们知道它是网络互连的核心设备,用于连接不同的网络,在网络之间转发IP数据报。对于路由器来说,路由表是最重要的内部组件。当路由器需要转发数据时,它会根据路由表和一定的匹配规则进行转发。对于路由表,一般有静态和动态两种配置。下面将详细介绍这个过程,讨论静态和动态路由使用场景,以及原理和配置。 回想一下,对于路由器,需要完成以下任务: 静态路由和动态路由的比较和应用场景 静态路由: 动态路由: 综上所述,静态路由完全将路由的转发委托给管理员。在拓扑更新的情况下,它由管理员维护。动态路由则相反。所有的转发和学习过程完全依赖于路由器本身。 静态路由-应用场景: 动态路由-应用场景: 静态路由 配置静态路由时,主要配置目的网段和下一跳地址。配置前需要进行如下分析: 静态路由配置分析: 先统计一下网络的数量 每台路由器需要配置的路由数等于网络总数减去与其相连的网络数 目的网络需要去的网络,即非直连的网络 下一跳是与路由器直连的接口地址 为接口配置IP地址后,路由器会生成两条默认路由——表示直连 Loopback 接口的功能主要是为了测试。收到数据后会自动返回。
想象这样的情况,假设到达5.5.5.5/24的网络,当R4配置静态路由时,可以通过两条路径R6和R7。 此时,当数据包到达网络时,如何选择? 采用的原则如下: 动态路由 路由器之间通过路由协议自主学习可以得到路由信息。这种路由称为动态路由。使用路由协议动态构建路由表,不需要人工参与,可以自动适应网络状态的变化来更新路由表。大型网络或状态变化频繁的网络通常使用动态路由协议。 自制系统和分层路由 互联网上的网络数量庞大,数以百万计的路由器相互连接。路由器不可能记录每个网络的信息,许多组织不愿意暴露其网络的内部细节。基于以上原因,互联网划分了许多自治系统(Autonomous Systems)。 自治系统内的路由通过内部网关协议 (IGP) 交换路由信息。典型的内部网关协议是 RIP 和 OSPF。 需要在自治系统之间交换路由信息。外部网关协议 (EGP) 用于在自治系统之间交换路由信息。每个自治系统都会有一个边界路由器来完成这个任务。 Internet目前使用的外部网关协议是BGP。 动态路由协议一般分为这几类,如上图所示: 距离矢量路由协议:根据跳数,选择跳数最小的一个。比如RIP协议。 EIGRP 将使用跳数作为参考。 链路状态路由协议:自己计算和过滤(邻居表,拓扑表,路由表),例如OSPF,IS-IS等。 RIP(距离矢量) 应用层协议,使用UDP传输,520端口。RIP和IGRP已被淘汰,因为它们只支持有类路由协议。 (是一个不能划分子网的协议) 路由信息协议 (RIP) 是路由器制造商之间使用的第一个开放标准,也是连接不同制造商设备的最广泛使用的通用协议。 RIP 协议有两个版本。与V1版本相比,V2版本增加了一些扩展特性,如更新认证、路由摘要、无类路由、VLSM、将广播改为组播。 RIP 协议是一种基于距离向量的路由状态协议。在 RIP 协议中,如果路由器 A 和网络 B 直接相连,则路由器 A 和网络 B 之间的距离为 N+1。如果从路由器A到网络B需要N台路由器,则路由器A到网络B的距离为N+1。 RIP 认为距离最小的路径是最佳路径。 RIP中的距离也称为“跳数”。每增加一个路由器,跳数增加一。 RIP 的工作原理 每台路由器每 30 秒向其所有邻居路由器广播 RIP 数据包。数据包的内容是该路由器当前的路由信息??。收到邻居路由器的路由表信息后,更新自己的路由表。下次,将更新的路由表 180 告诉您的邻居。如果没有收到某台路由器的路由表信息,就会认为该路由器有问题。修改所有以该路由器为下一站的表项的距离为16,表示不可达。 60s后仍然没有回复,从路由表中删除 当两个路由器共享一条链路或在同一个物理网络中时,它们被称为邻居 配置:
因为对外发布网络时有30s(默认)的时间差,所以可能会出现环路。 比如图中R3宣布自己入网后,恰好Lo 0接口down了。这时候R3会立即删除路由表中的3.3.3.0网络。 然而,R2此时并不知道。假设 10 秒后,R2 将发布自己的路由。这时候会多播给R1和R3. 此时R3发现R2可以到达3.3.3.0的网络,会将该网络加入到它的路由表中,并将距离增加1。 此时,如果有网络发送数据包3.3.3.0,它们会一直在R2和R3之间传输。并且随着下一个通知周期的到来,R2和R3 距离会继续增加,直到双方的路由表中都消失了16。 如何解决成环问题: 限制最大距离:RIP协议允许一条路径最多包含15个路由器,最大距离为16(表示网络不可达) 水平分割:路由器从某个接口接收到的更新信息不允许通过该接口发回。 如果R2收到了从R3到3.3.3.0网络的路由信息??,它在通告时不会告诉R[k10这个消息给3.3.3.0。 ] 但是水平分割仍然不能解决像第一张图那样有多条路径可达的情况。 这里的解决方案是中毒逆转: 其实就是一种改进的水平分割。当路由器从某个接口接收到某个网段的路由信息??时,并不会停止回送信息,而是将该网段的跳数(Distance)设置为无限,然后发送出去。接收方路由收到此类路由信息后,会立即放弃该路由,而不是等待其老化时间到期。 简单来说,reversal就是说对于split horizo??n来说,原来是不发送的,现在发送了。但是发送的是一条距离为16的消息,表示网络不可达,所以称为毒药。 这里可以做个实验,使用关闭水平分割手动创建循环现象。
这时候我们可以用show ip route来观察,我们会发现R1和R2的跳数会一直增加,增加到16,然后全部消失 原因: 由于R2的端口设置为passive,R1收不到R2关闭lo 0的消息,而且R1和R2的水平分割已经关闭。 此时R2会收到R1到2.2.2.0网络的跳数为1,所以到2.2.2.0网络的跳数为2 . 因为R2不能再通过直连到达2.2.2.2。所以它会更新它的跳数。然后R2将R1发送给2.2.2.2,跳数为2。 由于 R1 本身经过 R2 到达 2.2.2.2 网络,所以它会将其路由表更新为 3 跳。以此类推,直到16月底。
当今,越来越多的业务应用运行于网络架构之上,保障网络的持续、高效、安全的运行,成为网络管理者面临的巨大挑战。 |
温馨提示:喜欢本站的话,请收藏一下本站!