Exchange使用了一个叫做“路由组(Routing Groups)”的概念来防止内部服务器之间的通讯占用宝贵网络的带宽。通常情况下,路由组是按照网络的地理布局来设置的,每一个物理地点被设计为一个路由组。通过这种方式,路由组连接器和WAN连接同时工作,将网络内的不同设备连接在一起。使用路由组的初衷是减少和复制相关的网络流量。比如你建立了一个分公司,你肯定不愿意你的主Office服务器分别向10个远程服务器复制数据,因为那样会增加很多不必要的网络流量。相比之下,使用路由组可以允许主Office服务器将更新数据发送到分公司的一个远程服务器中,然后由该服务器向剩下的服务器复制数据。通过这种方式,复制数据只通过WAN连接一次就完成了复制操作,大大减少了复制操作对网络带宽的占用。
在刚才举的这个例子当中,接收更新信息的这个远程服务器叫做路由组的Master服务器(有时候又被称作桥头服务器)。每一个路由组都有各自的Master服务器。
Exchange路由组使用一种叫做“链路状态算法(Link State Algorithm:LSA)”的技术来维护网络连接的状态信息。而很多用户都没有意识到的一点是LSA其实和“开放系统最短路径优先(Open Shortest Path First:OSPF)”协议基本是一致的。
如果你的系统和外部路由组的连接出现了一些问题,那么你首先应该知道的一件事是Exchange Server使用TCP的691端口在两个服务器之间交换链路状态信息。因此,当你需要尝试解决路由组出现的问题时,我建议你先看看防火墙是不是拦截了这个端口。
和传统的路由器一样,在Exchange的环境中,路由组中的每一个Master服务器都保留了一个路由表的备份,或者说是链路状态表。每当在Exchange服务器上的链路状态更改时,系统会通过TCP的691端口,将更改信息发送给和该服务器相连的路由组中的Master服务器;接着该Master服务器会更新自己的链路状态表,然后再把更新信息发送给其他的Exchange服务器(如果需要的话)。
关于链路状态表的一个有趣的地方是,它只存放在内存里,而不是存放在硬盘驱动器上。所以当你的路由组工作不正常而你怀疑问题和链路状态表有关,想把它清除时,你只需要重新启动一个服务器就可以了。
当然,重启服务器这招并没有神奇到能解决所有问题的程度。很多时候,在解决一个问题之前,你需要了解更多和该问题相关的信息。不过要想手工的将路由组的状态信息提取出来是一件很困难的事,因为状态信息是通过TCP的691端口并按照Orginfo包的形式发送的。包里的信息遵循“全球唯一标识器(Globally Unique Identifier:GUID)”格式,而用户如果要自己确认服务器、路由器组和各连接器之间的GUID的话,将不得不面临庞大的工作量。
幸运的是,有一个工具可以帮助我们完成这项任务。微软公司发布了一个叫做WinRoute的软件,专门用来找到并处理关于Exchange路由组的问题。WinRoute会从链路状态表中提取必要的信息,然后将该信息转化为方便用户阅读的格式,而不是GUID格式。
WinRoute的使用也很简单。程序运行之后,在“文件”菜单中选择“新建查询”命令,接着输入你想查询的服务器名和相关选项,WinRoute就会自动把路由信息以树型格式显示出来,你可以在树中的“常规信息”容器里找到组织中的每一个路由组的信息。
在解决Exchange路由组问题的时候有两个主要的地方需要你仔细检查。第一,你需要检查每个路由组连接器的工作状态。第二,你需要检查一下每个路由组的主版本号属性。主版本号实际上是一系列按照同步规则分配的顺序号。一个路由组的主版本号是0意味着该路由组并没有从Master服务器获得任何链路状态信息。
说了这么多,希望我提供了足够的信息帮助你开始解决任何一个你将碰到的路由组的问题。如果需要更多帮助的话,你可以查看微软的知识库中编号为28132的文章,“如何使用WinRoute工具”。地址是http://support.microsoft.com/default.aspx?scid=kb;en-us;281382。
,