发布于:2007-04-11 16:48:11
来自:电气工程/工业自动化
[复制转发]
摘要 本文对当前各个企事业单位园区网通过多条链路接入到INTERNET过程中所遇到的问题做出了详尽的分析,并针对不同的接入方式提出了一些具体的解决办法。
关键词 多链路 ISP BGP HSRP ARP
基于计算机网络的应用在快速发展,各企事业单位对其INTERNET接入线路的带宽以及性能的要求越来越高,这使得大多数企事业单位都对原来的INTERNET接入方案做出了相应的调整。有的为增加出口带宽而增加多条INTERNET接入线路,有的为增加接入线路的容错能力而增加多条INTERNET接入线路;但在调整过程中很多企业都遇到当采用多条线路接入到INTERNET,尤其是通过多个不同的ISP接入INTERNET时,如何进行负载均衡,以及如何进行容错等难以解决的问题。
以下就针对同一ISP的多链路接入以及多ISP的多链路接入的问题进行分析和讨论。
1 通过同一ISP的多链路接入
1.1 用不同的ROUTER 通过同一ISP接入到INTERNET
1.1.1 用Multilink 实现容错及负载均衡
当用单一ROUTER的多端口用多条线路通过同一ISP接入INTERNET, 可采用MULTILINK技术,将多条接入线路在逻辑上捆绑在一起,在使用过程中被当成一条线路。当有数据要通过该线路传输时,数据包被分成等大小的多块同时在多条线路上传输,以加快传输速度,当数据到达另一端时再被从新组装在一起,还原为原始的数据包,以达到加快数据传输的目的;当其中一条物理线路坏掉时,其它的线路自动维持正常的数据传输,只是逻辑通道的总带宽减少了一些,这样也就避免了单条线路的失败导致整个网络中断的问题。在这种技术中要求ISP也是用的同一台ROUTER。
1.1.2 应用动态路由协议实现负载均衡与容错
在互联网上常用的协议有BGP、IGRP、EIGRP、OSPF等。其中IGRP,EIGRP协议为CISCO私有的路由协议,如果采用他们可以在不等代价的路径上进行负载平衡,如一条带宽为2M,一条为1M,那么在两条链路上的传输的数据的实际比例为2:1,即三个数据包中,有两个从2M的线路走,一个从1M的线路走,这样使得线路可以充分合理的应用;而对其它的一些协议只能在等价的路径上进行负载平衡,在实际应用中受到一定的限制,当然为解决这类问题也可以通过策略来实现负载分担。同时由于采用的是动态路由协议,如果其中一条线路坏掉,路由协议会自动的将所有的数据转到正常的线路上继续传输,也就实现容错的目的。当然这种方式也可以在多ROUTER的环境中使用。
1.1.3 端口备份
当用一个ROUTER的多个端口连到互联网时也可以采用BACKUP命令进行端口备份,在正常情况下使用主链路,当主链路坏掉时,起用备份端口,这样比较适合于用拨号线路来备份园区网的接入专线,保证网络的可用性。也可用LOAD命令以进行负载均衡,当主链路的流量达到一定的值时,起用第二条线路进行负载分担。
1.2 采用多ROUTER通过多ISP接入到INTERNET
1.2.1 应用ROUTER 的ARP PROXY功能实现容错及负载均衡
将所有连到INTERNET的多台ROUTER的本地端口配置为允许ARP PROXY,以监视客户的ARP请求,如何让客户机在与其它网络上机器通讯时直接发ARP广播。以下就以MICROSOFT WINDOWS为例说明,为达到其目的将WINDOWS的网关设为自己的IP地址,如IP 地址为192.168.1.1的PC机的网关为192.168.1.1,当客户有查询本地网络以及以外其它网络上主机的MAC地址的ARP请求时,由ROUTER代理做出响应,然后将用户的数据报传输到INTERNET。对于客户机不必知道真正的网关,这样多台ROUTER便可进行负载分担,以及容错。
1.2.2 在客户机上配置多网关以实现容错及负载均衡
当通过多台ROUTER连到INTERNET时,可在PC机上设多个网关,`当配在前面网关出现故障变得不可用时,PC机将自动依次用配在后面的网关。为进行负载分担应将不同的机器上的网关的顺序设为不一样的,以使得每一条线路在正常时都得到充分的应用。
1.2.3 应用CISCO 的HSRP实现负载均衡与容错
当有多台路由器连到INTERNET时,可以将多台路由器连接同一LAN的端口放在同一个热备份组中,对外用一个虚拟的IP地址,隐藏热备份组中各台ROUTER真实的IP ,当ACTIVE ROUTER失败时,其它的ROUTER自动变为ACTIVE,担当起路由LAN数据包的任务,这样多台路由器之间可以相互备份进行容错。同时也可以配置多个热备份组,在不同的方向上用不同热备份组,通过设置不同的优先级使在不同的热备份组中活跃ROUTER不一样,以实现不同的ROUTER进行负载均衡。
全部回复(1 )
只看楼主 我来说两句 抢板凳ICMP路由发现协议,是将出口的多台ROUTER的对本地的端口的IRDP的优先级设为不一样,客户机通过对ROUTER的查询以及ROUTER的应答及宣告知道哪一个的级别高,使用优先级别高的作为网关,当级别高的出现故障不可用时,再使用级别低的,以实现容错。
2.通过不同的ISP多链路接入INTERNET
对于不同ISP的多链路接入在目前来说也开始出现,但由于技术上的原因,使得其应用并不普及。本文的以下部分就在其应用过程中遇到的问题进行详细的分析,并提出合适的解决办法。
现有某园区网,原有一条线路通过ISP1接入INTERNET。随INTERNET应用的增加,在使用过程中发现对ISP1以外的网络访问非常慢,为此增加了一条另一条接入线路,通过ISP2接入INTERNET,以加速对ISP2的网络的访问,同时也加快对其它网络的访问速度。
负载分担的具体要求如下:
A.到ISP1的数据由连到ISP1的接入线路L3出,返回的数据依然由接到IPS1的线路L3回;到ISP2及其它网络的数据由接入到连到ISP2的线路L4出,返回的任由接入到ISP2的线路L4回。
B.同时也希望ISP1上的客户如果要访问园区网上的SERVER时,由接到ISP1的接入线路L3进,SERVER对客户的响应由接到ISP1的接入线路L3回;同样ISP2及其它网络上的客户如果要访问园区网的SERVER时,由接到ISP2的接入线路L4进,SERVER对客户的响应也由接到ISP2的接入线路L4回。
解决办法:
A.由内到外
数据出去的时候很容易解决:只需简单地在R1 上配路由分别从两个出口出,到ISP1的数据由第一条L1出,到其它网络的数据由第二条链路L2出,但同时也要在R1上配两条分别指向R2与R3的高管理距离缺省路由,以便L1或L2失败时进行容错;而对返回的路由却不能控制,一般情况下,如果内部用户用的是ISP1的地址将全部由连到ISP1的链路L3返回,如果用的是ISP2的地址将全部由连到ISP2的链路L4返回。要解决该问题只有通过修改用户数据包离开园区网时的源地址,访问ISP1时用从ISP1分到的IP;访问IPS2及其它网络时用从ISP2分到的IP地址,具体就分别在R2及R3上采用NAT技术来实现。
B.由外到内
为保证内部的SERVER能被外部的客户访问,就要在两个NAT SERVER R2及 R3上为内部的SERVER 做静态的映射。以下就进出分别讨论。
数据包进入园区网:如果SERVER采用ISP1地址则所有的访问将全部由接到ISP1的接入线路进,如果采用 ISP2分配的IP地址数据报将全由到ISP2的接入线路进,要解决必须给服务器分配多个IP地址分别为从各个ISP分配的。同时在DNS 的服务器上,启用子网掩码优先使得从ISP1来的客户的从DNS服务器上得到内部SERVER从ISP1分得的IP地址,从ISP2来的客户从DNS服务器上得到内部SERVER从ISP2分得的地址,这样便可使得不同网络的客户都由相应的线路进或出数据包离开园区网:通过配静态及缺省路由解决,与由内到外的出的数据一样,不需单独处理。
在以上的方法中,对于多ISP多链路接入的园区网,很好的解决了容错以及负载平衡的问题;但由于采用NAT技术增加数据在网络上的延时,一般要选择在性能好,有足够内存,以及足够快的处理器的ROUTER上来配NAT,以尽可能减少在NAT上进行地址转换所耗费的时间。
总之,当园区网采用多链路的远程接入方案时,根据具体情况可采用不同的方法解决网络的容错以及负载平衡。但由于不管哪种技术都会或多或少增加传输延时,要尽可能减少延时,一点就是要就要将多线路多ISP的接入方式用单一ISP的单一的高带宽的线路所取代,另一点就是使用性能稳定的线路及相关的网络设备,避免在链路转换上的延时,以使得网络更好地为各企事业单位所应用。
年
回复 举报