发明内容
本发明提供分支机构间的通信方法及分机机构的出口路由器,以避免分支机构的出口路由器存储无用路由表项。
本发明的技术方案是这样实现的:
一种分支机构间的通信方法,初始时在每个分支机构的出口路由器的本地路由表中配置本分支机构的内部路由表项,同时配置到达其它各分支机构的出口路由器的默认路由表项,该方法包括:
当第一分支机构的第一出口路由器接收到本分支机构内的设备发来的请求报文时,在本地路由表中查找与该报文的目的IP地址匹配的非默认路由表项,若未查找到,则根据默认路由表项将该请求报文转发给其它各分支机构的出口路由器;
当第一出口路由器接收到任一其它分支机构的出口路由器返回的路由表项时,将该路由表项添加到本地路由表中;该路由表项为:任一其它分支机构的出口路由器接收到所述请求报文后,在本分支机构的本地路由表中查找到的与所述请求报文的目的IP地址匹配的非默认路由表项,且该其它分支机构的出口路由器会按照该路由表项转发所述请求报文。
所述第一出口路由器根据默认路由表项将该请求报文转发给其它各分支机构的出口路由器之后进一步包括:
若任一其它分支机构的出口路由器接收到该请求报文后,在本地路由表中未查找到与该请求报文的目的IP地址匹配的非默认路由表项,则向第一出口路由器返回未匹配到路由的信息;
且若第一出口路由器发出所述请求报文后,从其它所有出口路由器接收到的都是未匹配到路由的信息,则向所述请求报文的源设备返回目的设备不可达的信息。
当任一其它分支机构的出口路由器在本分支机构的本地路由表中查找到与所述请求报文的目的IP地址匹配的多条路由表项时,按照最长匹配原则在该多条路由表项中选择一条最匹配的路由表项,将该路由表项返回给第一出口路由器,并按照该路由表项转发所述请求报文。
一种分支机构的出口路由器,包括:
本地路由表模块:用于存储本地路由表,该本地路由表初始时配置了本分支机构的内部路由表项,同时配置了到达其它各分支机构的出口路由器的默认路由表项;接收并存储转发处理模块发来的路由表项;
转发处理模块:当接收到本分支机构内的设备发来的请求报文时,在本地路由表模块中查找与该报文的目的IP地址匹配的非默认路由表项,若未查找到,则根据默认路由表项将该请求报文转发给其它各分支机构的出口路由器;当接收到任一其它分支机构的出口路由器返回的路由表项时,将该路由表项添加到本地路由表模块中,其中,该路由表项为:任一其它分支机构的出口路由器接收到所述请求报文后,在本分支机构的本地路由表中查找到的与所述请求报文的目的IP地址匹配的非默认路由表项,且该其它分支机构的出口路由器会按照该路由表项转发所述请求报文。
所述转发处理模块进一步用于,当发出所述请求报文后,若从其它所有分支机构的出口路由器接收到的都是未匹配到路由的信息,则向所述请求报文的源设备返回目的设备不可达的信息,其中,所述未匹配到路由的信息为:任一其它分支机构的出口路由器接收到所述请求报文后,若在本地路由表中未查找到与所述请求报文的目的IP地址匹配的非默认路由表项,则向所述转发处理模块返回的。
所述转发处理模块进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,在本地路由表模块中查找与该报文的目的IP地址匹配的非默认路由表项,若查找到,则按照该路由表项转发该请求报文,并向所述其它分支机构的出口路由器返回该路由表项。
所述转发处理模块进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,若在本地路由表模块中未查找到与该报文的目的IP地址匹配的非默认路由表项,则向所述其它分支机构的出口路由器返回未匹配到路由的信息。
所述转发处理模块进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,若在本地路由表模块中查找到与该报文的目的IP地址匹配的多条路由表项,则按照最长匹配原则在该多条路由表项中选择一条最匹配的路由表项,将该路由表项返回给所述其它分支机构的出口路由器,并按照该路由表项转发所述请求报文。
与现有技术相比,本发明中,只有在一个分支机构的设备与另一分支机构上的设备成功通信时,才在该分支机构的出口路由器上存储对应的路由表项,避免了分支机构的出口路由器上存储了无用的路由表项,降低了出口路由器的存储压力,也减少了出口路由器的选路时间。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明实施例提供的分支机构间的通信方法流程图,如图2所示,其具体步骤如下:
步骤200:初始时,在每个分支机构的出口路由器的本地路由表中配置本分支机构的内部路由表项,在每个分支机构的出口路由器的本地路由表中配置默认路由表项,该默认路由表项为到达其它各分支机构的出口路由器的路由表项。
分支机构的内部路由表项只用于本分支机构内部的设备间的通信。
步骤201:当一分支机构的出口路由器(设为第一出口路由器)接收到本分支机构内的设备发来的请求报文时,在本地路由表中查找与该报文的目的IP地址匹配的非默认路由表项,判断是否查找到,若是,执行步骤202;否则,执行步骤203。
步骤202:该出口路由器按照该路由表项转发该报文,本流程结束。
步骤203:该出口路由器按照本地路由表中的默认路由表项,将该请求报文转发给其它所有分支机构的出口路由器。
步骤204:任一其它分支机构的出口路由器接收到该请求报文,在本地路由表中查找与该报文的目的IP地址匹配的非默认路由表项,判断是否查找到,若是,执行步骤205;否则,执行步骤206。
当与请求报文的目的IP地址匹配的路由表项有多条时,出口路由器可按照最长匹配原则选择一条最匹配的路由表项。
步骤205:该任一其它分支机构的出口路由器按照该路由表项转发该报文,同时向第一出口路由器返回该路由表项,转至步骤207。
步骤206:该任一其它分支机构的出口路由器向第一出口路由器返回未匹配到路由的信息。
步骤207:当第一出口路由器接收到任一其它分支机构的出口路由器返回的路由表项,则将该路由表项添加到本地路由表中;当第一出口路由器从其它所有分支机构的出口路由器接收到的都是未匹配到路由的信息时,则向请求报文的源设备返回目的设备不可达的信息。
仍以图1为例,给出本发明实施例的应用示例:
初始时,路由器A的本地路由表中只配置了分支机构1的内部路由表项、以及到达路由器B、C的默认路由表项,路由器B的本地路由表中只配置了分支机构2的内部路由表项、以及到达路由器A、C的默认路由表项,路由器C的本地路由表中只配置了分支机构3的内部路由表项、以及到达路由器A、B的默认路由表项;
当分支机构1的PC a要与分支机构2的PC b通信时,具体消息流程如图3所示:
步骤301:PC a发出一个请求报文,报文的源IP地址为PC a的IP地址、目的IP地址为PC b的IP地址。
步骤302:该请求报文到达路由器A,路由器A在本地路由表中查找与PC b的IP地址匹配的非默认路由表项,未查找到,则将该请求报文转发给路由器B、C。
步骤303:路由器B接收到该请求报文,在本地路由表中查找到与报文的目的IP地址匹配的非默认路由表项,该表项即为到达PC b的路由表项,则按照该路由表项将该请求报文转发给PC b,同时,将该路由表项返回给路由器A;
路由器C接收到该请求报文,在本地路由表中未查找到与报文的目的IP地址匹配的路由表项,则向路由器A返回未匹配到路由的信息。
步骤304:路由器A接收到路由器B返回的路由表项,将该路由表项添加到本地路由表中。
这样,此后当路由器A接收到目的IP地址为PC b的IP地址的请求报文时,就可直接根据该路由表项将该报文转发给路由器B了。
图4为本发明实施例提供的分支机构的出口路由器的组成示意图,如图4所示,其主要包括:本地路由表模块41和转发处理模块42,其中:
本地路由表模块41:用于存储本地路由表,该本地路由表初始时配置了本分支机构的内部路由表项,同时配置了到达其它各分支机构的出口路由器的默认路由表项;接收并存储转发处理模块42发来的路由表项。
转发处理模块42:当接收到本分支机构内的设备发来的请求报文时,在本地路由表模块41中查找与该报文的目的IP地址匹配的非默认路由表项,若未查找到,则根据默认路由表项将该请求报文转发给其它各分支机构的出口路由器;当接收到任一其它分支机构的出口路由器返回的路由表项时,将该路由表项添加到本地路由表模块41中,其中,该路由表项为:任一其它分支机构的出口路由器接收到所述请求报文后,在本分支机构的本地路由表中查找到的与所述请求报文的目的IP地址匹配的路由表项,且该其它分支机构的出口路由器会按照该路由表项转发所述请求报文。
转发处理模块42进一步用于,当发出所述请求报文后,若从其它所有分支机构的出口路由器接收到的都是未匹配到路由的信息,则向所述请求报文的源设备返回目的设备不可达的信息,其中,所述未匹配到路由的信息为:任一其它分支机构的出口路由器接收到所述请求报文后,若在本地路由表中未查找到与所述请求报文的目的IP地址匹配的路由表项,则向所述转发处理模块42返回的。
转发处理模块42进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,在本地路由表模块41中查找与该报文的目的IP地址匹配的非默认路由表项,若查找到,则按照该路由表项转发该请求报文,并向所述其它分支机构的出口路由器返回该路由表项。
转发处理模块42进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,若在本地路由表模块41中未查找到与该报文的目的IP地址匹配的非默认路由表项,则向所述其它分支机构的出口路由器返回未匹配到路由的信息。
转发处理模块42进一步用于,当接收到其它分支机构的出口路由器发来的请求报文时,若在本地路由表模块41中查找到与该报文的目的IP地址匹配的多条路由表项,则按照最长匹配原则在该多条路由表项中选择一条最匹配的路由表项,将该路由表项返回给所述其它分支机构的出口路由器,并按照该路由表项转发所述请求报文。
本发明实施例中的出口路由器可为SMB路由器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。