扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在组建网络或者重新组合网络时,作为网络规划者的你就应该采用一些网络设计原理,有了这些原理,你才可以使你的网络少出问题,尽可能减少故障所能带来的影响,或者简化故障分析的过程。
你的网络不可能不发生故障。因此, 从现实的角度来讲,你的设计应当考虑到故障的问题。然而, 网络设计总是要面临商业的利益考虑各种平衡:效率与成本、性能与可维护性等等。虽然说网络设计要尽量减少故障率,但是这种减少很可能与其它的限制相矛盾。对于这些问题没有简单的解决方案。然而,这里有几条建议对许多类型的网络都适用。
在设计网络时考虑故障问题需要对系统如何产生故障有一个全面的了解。因此,在开始讨论设计原理之前,有必要首先回顾一下系统故障类型。这里将以几种不同的故障类型开始。尽管这种概括可能有些简单化,但是已经足够用了。
简单故障:
也许最简单的故障类型就是单一位置的故障或者一个简单故障。这种故障,出问题的部分仅仅是你的网络上的一个组件不工作了。理论上讲,哪个设备出了问题是很明显的,但是通常这并不是问题的关键。在许多种情况下,许多个设备同时出现了故障。比如说,如果网络的唯一一台DNS服务器出现了电缆连接故障,服务器就会无法访问,DNS也无法解析,其它服务中的电子邮件也不能运行。实际上,故障只有一个,就是连接器。一旦这个位置进行了修复,所有的问题都立刻消失了。
互相无关联的多个故障:有时候你可能会面临同时出现或者差不多同时出现的多个故障。通常你会有一种多重故障的错觉,就像上面的例子中所提到的一样,是电缆出了问题。但是有时候确实是不止一个设备发生了故障。在互相无关联的故障当中,出现故障的时间几乎完全是巧合,故障之间并无联系。不幸的是,无关联故障可能很难解决,原因有三:第一,你必须意识到确实发生了多重故障;第二,区分几种故障现象可能会比较困难。最后,总想去寻找根本不存在的关联是人的天性。这种天性往往会误导你。
连续故障:
一种故障引发的其它故障被称为连续故障。在这种故障中,每个故障都需要单独处理。比如说,突然断电会破坏接口。为了使设备重新工作,你必须修复或更换电源和接口(建议首先更换电源)。区分真正的连续故障和单一故障影响其他设备这两种情况会比较困难。但是尽管这种区别对于你的用户来说并无差别,可是在故障诊断时却很重要。
系统故障:
也许最致命的故障就是系统故障了。这是一个经常被滥用和误用的术语。系统故障源于系统组件之间意外、不明显的互相影响。这种互相影响可能是独立故障对于其它设备的作用,或者仅仅来自设备的不兼容。系统故障的发生条件是不熟悉的、未经计划的,或者没被发现的或者不能马上理解的意外的相互影响。多个简单故障如果没有相互影响就不算是系统故障。连续故障也不是,因为相互影响可以很容易理解。也许解释系统故障的最好办法是举一个例子。
案例分析:
几年前,李在扩展自己创建的一个校园网时遇到了一个系统故障。理论上说,这个校园网包括了四个子网:一个是大学管理系统,一个是员工网,一个学生实验室网络,还有一个校园互联网连接的接入网络,以及拨入服务等等。开始,这些子网都连接到一个用作email服务器、DNS服务器和路由器的主机。每个子网都是由很多通过hub连接的主机构成的。
一开始这种结构已经足够了,但是没多久之后就需要扩展原来的网络硬件, 这个校园网下一步的发展目标是安装一个单独的路由器,并以交换机取代为数众多的hub。决定关掉电子邮件服务器的路由功能,但是仍然使之保持对四个子网的连接。据称这样可以提高效率,因为本地电子邮件可以无须通过路由器,而且可以提供冗余,因为电子邮件系统在路由器关闭时仍然可以正常工作。因为不同网络的许多用户互相距离很近,所以选择了支持虚拟局域网(VLAN)的交换机。
为了了解这种结构是如何导致系统故障的,有必要首先了解采用的主机和交换机。电子邮件/DNS服务器采用了一个四倍以太网卡适配器,每个网络接口,或者端口采用的是同样的以太网或者MAC地址而不是每个端口采用不同的MAC地址。尽管这不是常规的做法,但是销售商的文件指出IEEE把每个端口使用相同的地址(工作站地址)还是不同的地址(端口地址)这个问题的选择权留给了开发商。(根据原来的配置,由于每个MAC地址都在不同的网络上,所以一切运行正常。)
交换机的一个特征是它们从通过它们的数据中得到MAC地址,然后利用这些信息来控制数据的处理。当一个数据包到达一个端口,它的MAC来源地址就进入了这个端口的地址列表。交换机还搜索每个端口的地址列表来查询目的地址。 如果发现了相对应的地址,它就会将数据包发送到具有包含MAC地址的地址列表的端口,而且,它不会再把数据包发送到其它的端口了。(如果目标地址不在交换机的任何地址列表当中,这时交换机就会像一个hub一样从每个端口把数据包发送出去。)由于设备可能会从一个端口移到另一个端口,一般情况下,当交换机把一个MAC地址添加到一个端口的地址列表时,它会删除其它列表中的这个地址。在具有“传统”交换机的情况当中,采用了工作站地址方法的邮件服务器不会出任何问题。子网的交换机甚至还不知道其它网络中到底发生了什么。
现在考虑一下在这个方案中采用VLAN的含义。VLAN设备的思想是一个物理设备可以被分成几个虚拟设备。如果你有三位教员,两位员工以及四位学生同时在同一个布线室,使用传统的交换机,你需要三个不同的交换机,因为有三种不同类型的用户,每种类型的用户需要分成不同的子网。而且,为了把每个交换机都连接到骨干网,我们需要三种不同的电缆布线连接。有了具有VLAN功能的交换机,交换机可以分为三个逻辑交换机。每个逻辑交换机用于处理单独的网络数据。因此,我们只需要买一台交换机。而且,如果我们在骨干网上采用了VLAN技术,我们在骨干网和布线室之间只需要一根电缆(主干线)连接。每一端的交换机都可以都可以分拣数据并把数据发送到相应的逻辑交换机。显然,VLAN在许多情况下可以显著节约投入。
这就引发了一个有趣的问题:在支持VLAN的交换机上是如何管理地址列表的呢?具体地说,当在某个地址列表上添加了一个设备,那应该是在物理交换机上清除所有端口上的地址列表呢,还是仅仅清除同一个逻辑交换机端口上的呢?由于设备可能会从一个网络移动到另外一个网络,你可能会推断地址应该从一个物理交换机上的所有地址列表中清除掉。许多VLAN交换机也正是这样做的。但是这个决定在用于电子邮件服务器的工作站地址方式时出现了问题。
问题是这样的:电子邮件服务器需要同时入住所有的四个网络。当来自某个服务器的数据包到达交换机的某个端口时,服务器到其他端口的连接就断掉了。网络仍然需要向相应的逻辑交换机发送数据包,但是逻辑交换机这时需要将数据包发送到每个端口,因为在任何一个地址列表中都找不到地址。除非有人在与服务器对话,交换机才会快速稳定下来。但是在同时对话中,问题出现了。
由于服务器之间寻址方案之间的不兼容和VLAN的使用毫无疑问是问题的根源所在,所以原因很简单。问题出现的频率很高,所以整个网络的性能表现非常差,经常发生丢包和掉线的现象。荒谬的是,交换机地址列表却经常溢出。这似乎是分拣来自干线数据的问题,或者别的什么问题。由于经常发生这样的问题,在事实发生之后很长时间才可以把片面的解释归结到一起。如果这是生产系统的问题,那就不可能回过头来仔细研究这个问题。一旦掌握了问题发生的原理,就可以做些改变来改正错误。Ifconfig被用来把不同的MAC地址分配给服务器上的每个端口。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。