背景技术
以日本·韩国·欧美为中心,取代以往的拨号式因特网连接,而以ADSL(Asymmetric Digital Subscriber Line)为首的廉价固定连接高速线路(俗称的宽带线路)正在面向个人快速普及。许多ISP(InternetService Provider)面向个人提供有使用固定连接高速线路的因特网连接服务。另外,ISP和通信公司也已开始出现,该ISP和通信公司采用将与家庭用固定连接高速线路通用的基础设施应用于企业的小规模网点和面向SOHO(Small Office/Home Office)企业的接入线路中的形式,提供对于用户来说廉价且易于导入的面向企业的接入线路。
就以前的拨号式连接而言,RAS(Remote Access Server)被置于ISP网内,该RAS是进行用户连接认证和计费信息收集的通信装置。RAS和用户之间只是通过PSTN(Public Switched TelephoneNetworks)电话线路或者利用在IP层次认为相同的隧道协议,进行连接。因而,ISP和用户是与网络层有关被直接连接的状态。在此,网络层指的是,OSI(Open System Interconnection)参考模型中的网路层,例如在TCP/IP(Transmission Control Protocol/Internet Protocol)协议体系的场合下,意味着IP层。
图4表示的是,采用以往面向企业的接入线路的用户网和ISP网之间的网络结构、以及该结构的以往的BGP路由控制方法。
以往的专用线、ATM线路及帧中继线路之类面向企业的线路,可以当作从网络层也就是IP层所直接连接的线路。为此,在通过这些线路来连接企业用户网101和ISP网103的场合下,由于用户网101和ISP网103成为由直接线路所连结的相邻AS,因而可以从一方AS向另一方AS利用各通常的BGP路由器建立通常的EBGP配对连接。而且,可以在其配对连接的基础上很容易地进行使用各种各样属性信息的策略路由控制,该属性信息如同MED属性那样,包含只通过相邻AS就可利用的属性信息。
但是,有关ADSL和FTTH(Fiber To The Home)之类的固定连接高速线路,除线路的带宽与拨号式连接相比大的多之外,就ADSL来说,需要在线路台站分别设置被称为DSLAM(Digital SubscriberLine Access Multiplexer)的用户线路集线装置,该线路台站在狭窄的地域存在多个。为此,在日本国内除去一部分例外,接受用户线路的接入线路运营商和向用户提供因特网连接服务的ISP已变成不同的运营商,接入线路运营商向多个ISP提供ADSL和FTTH的接入线路。接入线路运营商采取下述形式,即将通过用户线路集线装置所连接的多条用户线路向被称为BAS(Broadband Access Server)的一种路由器进行连接,因此取代ISP而进行用户认证和流通量集中,将其流通量传输给各ISP。这是为了使用户认证和带宽利用有效化。
另一方面,将按照其网络管理者的意向对在网络内通过何种路由收发数据包进行控制的方法,称为策略路由控制。作为策略路由控制的示例来说,列举出「想从哪个ISP获取通信数据包」「向哪条线路发送通信数据包」之类的控制。将在同一个策略下所管理范围的网络称为AS(Autonomous System)。在AS中,存在从分配机关接受AS号分配的全局AS和在所管理的网络内可独自进行分配的专用AS。在不同AS间进行路由控制所需的路由控制协议,被称为EGP(Exterior Gateway Protocol)。在EGP之中被广泛实施的协议内,有BGP(Border Gateway Protocol)。在BGP中,路由信息不断通过的路由器自动或者根据管理者的设定将各种各样的属性信息添加到该路由信息中,通告给相邻AS。据此,可以跨越不同策略的AS间,统一实现策略路由控制。
AS可以根据和其它AS之间数据包传输方式的不同,分成转接AS和存根AS。存根AS在与相邻AS之间只进行以自AS为发送源的数据包发送和以自AS为目的地的数据包接收,不从相邻AS接收发给其它AS的数据包。另一方面,转接AS不仅仅进行与自AS相关的数据包收发,还经由自AS将从某个相邻AS到达并且发给其它AS的数据包中继到其它相邻AS。作为转接AS的代表示例,可以列举出ISP网,作为存根AS的代表示例,可以列举出一般的企业网(或者其各网点站点)。
BGP在各转接AS之间的路由控制过程中,作为实质性标准的AS间路由控制协议已被广泛使用。另一方面,在转接AS和存根AS或者存根AS和存根AS之间的路由控制过程中,根据两个AS间网络结构的不同,也有时不对路由控制使用BGP。例如,如同普通的个人用户与ISP进行连接的形式那样,通过单条线路与单个转接AS所连接的存根AS,一般情况下不对路由控制使用BGP。其另一方面,在使用多重初始地址连接以及IP-VPN(Virtual Private Network)的场合下,一般情况下在置于存根AS中的边缘路由器和转接AS的边缘路由器之间进行利用BGP的路由控制,该多重初始地址连接通过多条线路与转接AS连接,该IP-VPN是通过ISP网建立多个站点间虚拟专用线路的技术之一。
在BGP,在作为路由信息直接交换对方的路由器之间预先建立利用TCP的虚拟连接,通过该TCP连接来交换路由信息。将该TCP连接称为配对(pair)连接,将从进行配对连接的路由器之间一方的角度看上去的另一方路由器称为配对路由器。在配对连接中有EBGP(External BGP)连接和IBGP(Internal BGP)连接的2种,该EBGP连接是路由器属于相互不同AS的AS间配对连接,该IBGP连接是属于相互相同AS的AS内配对连接。EBGP连接是在不同的AS间进行路由信息交换所使用的,IBGP连接是将通过EBGP连接所得到的路由信息在AS内的全部BGP路由器上加以共享所使用的。由任一种形式配对连接所得到的路由信息都被使用于AS间的策略路由控制,在AS内的路由控制中通常不使用。
为了在路由器间建立EBGP连接,各配对路由器必须在IP层次上进行直接连接。原因是,由于AS间连接的IP路由控制通常只利用BGP来进行,因而在EBGP连接前的时刻路由器不能得知直接路由之外的AS外路由。其结论为,如果不清楚IP层中到配对路由器的到达路由,当然既不可能在和配对路由器之间进行下述TCP连接,也不能进行配对连接,该TCP连接是在IP的一个上层进行动作的。另一方面,对于IBGP连接而言,各配对路由器也可以不在IP层次进行直接连接。原因是,一般情况下在AS内与BGP并行被称为IGP(Interior Gateway Protocol)的在AS内进行路由控制所用的路由控制协议另行进行动作,可以通过该IGP知道直接路由以外的AS内路由。
进行EBGP连接的各配对路由器可以在IP层次上进行直接连接,也可以不必在数据链路以下的层次上进行直接连接。也就是说,各配对路由器也可以采用MPLS(Multi Protocol Label Switching)、PPP(Point to Point Protocol)及L2TP(Layer 2 Tunneling Protocol)等与IP层有关透过性的隧道协议,进行连接。例如,在特开2002-368788号公报中公示出下述技术,即在多个AS通过MPLS网相互连接的状况下属于各个AS的各路由器采用EBGP连接方式来进行策略路由控制时,将与BGP属性信息对应的MPLS标志添加到接收数据包中,经由MPLS向其它AS传输,以此使MPLS网内的数据包传输反映出BGP的策略路由控制。
专利文献1
特开2002-368788号公报
就采用专用线、ATM及帧中继等的面向企业的线路的AS间连接来说,连结两个AS的线路中途,例如企业网的边缘路由器和ISP的边缘路由器之间,在网络层次上进行直接连接。因而,这些AS如企业网的AS和ISP所属的AS可以作为完全相邻的AS加以运用,能够相互在EBGP连接的基础上进行BGP路由通告。也就是说,可以使用全部的策略路由控制,该策略路由控制也包括只在相邻AS间可使用的策略。另外,即使在以前的拨号式连接中,由于RAS置于ISP中,因而用户和ISP间在网络层次上进行直接连接。因而,暂且不论有没有实用上进行的意义,只要RAS具备BGP路由器的功能,则也可以给拨号用户分配与ISP不同的AS号,在用户和ISP之间进行EBGP连接。
但是,在构建ADSL和FTTH等网络中,很多时候用户和ISP网不在网络层次进行直接连接结构的网络被构建。就拥有BAS的接入线路运营商和ISP运营商来说,则是因为很多时候企业运营商不同。在这种状况下接入线路运营商的BAS和ISP网之间进行BGP路由控制时,一般来说给BAS和ISP网的各自分配不同的AS号。通过分配不同的AS号,而可以在接入线路运营商和ISP网之间维持与路由控制有关的管理独立性,除此之外因为BAS和ISP网之间成为EBGP连接,所以此处也可以进行策略路由控制。
在此,考虑ADSL和FTTH等的用户想在自身的用户网和ISP网之间进行利用BGP的路由控制的情形。这种应用形式,在用户不是个人和家庭而是小规模企业和企业各地网点之类企业用户网的场合下被充分考虑。
这种场合下,因为用户想在和ISP之间利用BGP进行策略路由控制的缘由,所以当然给用户网分配与ISP网不同的AS号。除此之外,由于在用户网的边缘路由器和ISP网方的边缘路由器之间配置有BAS也就是路由器,因而不能在用户网和ISP网之间直接建立通常的EBGP连接。因而,在以往网络结构的ADSL和FTTH的基础上,为了采用通常的EBGP连接方式,在用户和ISP之间进行利用BGP的策略路由控制,而必须给用户网、BAS及ISP网的各自分配不同的AS号,在用户网和BAS以及BAS和ISP网的各自之间建立EBGP连接。但是,就这种网络结构来说,因为不通过AS的属性信息,不在用户网和ISP网之间进行传送,所以不能使用策略路由控制之中只在相邻AS间可使用的路由控制。
另一方面,由于采用下述EBGP多转发连接功能在用户网的边缘路由器和ISP网的边缘路由器之间直接建立EBGP多转发连接,因而也能够实现用户网和ISP网之间的策略路由控制,该EBGP多转发连接功能是在网络层次不相邻的路由器间进行EBGP连接的功能。但是,EBGP多转发连接,存在下述等之类的与网络管理·运营的复杂性和保密性有关的问题,
1)需要附加设定,包括向用户网的边缘路由器和ISP网方的边缘路由器双方静态地设定到相互的路由器的路由等,
2)因为ISP网方边缘路由器的冗余配置和IP地址变更等,很多时候若对BAS和ISP网之间的网络结构进行变更,则其影响波及到用户网边缘路由器的设定,所以ISP方难以进行BAS和ISP网间的通信路由设定变更,若一旦对BAS和ISP网间的网络结构进行变更,则用户网方的边缘路由器也必须对设定加以变更,
3)ISP网方和用户网方双方的边缘路由器由于不能判别经由BAS所接收到的BGP数据包发送源IP地址是否是被冒充的地址,因而有成为DoS(Denial of Service)攻击等目标的危险,该攻击是由冒充发送源IP地址的配对连接请求而引起的。
具体实施方式
下面,有关本发明的实施示例,采用附图予以说明。
实施示例1
图1表示的是实施示例1的网络结构及本发明的BGP路由控制方法。
在本实施示例中,本实施示例的BAS11-A、11-B、11-C、11-D及11-E如图1所示,从数个线路接口通过通信线路(或是在网络层上认为相同的隧道线路),与ISP网边缘路由器112-A、112-B及112-C相连接。另外,BAS11-A、11-B、11-C、11-D及11-E如图1所示,从其它若干个线路接口通过通信线路(或是在网络层上认为相同的隧道线路),与用户网边缘路由器111-A、111-B、111-C、111-D及111-E相连接。
还有,在实施本发明时,这些通信线路的连接方式也可以不是本实施示例附图所示的那样,BAS可以采用***ISP网和(单个或多个)用户网之间的形式来连接线路。但是,在1台BAS与多个ISP网边缘路由器相连接的场合下,那些ISP网边缘路由器必须全部属于相同的AS。也就是说,连接1台BAS的ISP网的AS是单一的。一般情况下,如果路由器所属的AS相同,则路由器所属的ISP也是相同的,因此1台BAS与单个ISP网连接。在本实施示例中设为,ISP网1103-A、ISP网2 103-B都设立AS边界使之与ISP的网络边界相一致。而且,BAS11-A、11-B及11-C对于ISP来说只与ISP网1 103-A连接,同样BAS11-D及11-E只与ISP网2 103-B连接。
BAS11-A、11-B、11-C、11-D及11-E通过这些连接线路,在用户网101-A、101-B、101-C、101-D以及ISP网103-A、103-B之间对IP数据包流通量进行中继。也就是说,对于从ISP网发向用户网的数据包而言,ISP网边缘路由器112-A、112-B及112-C的下一跳(next hop)成为BAS11-A、11-B、11-C、11-D及11-E的任一个,BAS的下一跳成为用户网边缘路由器111-A、111-B、111-C、111-D及111-E的任一个。相反,对于从用户网发向ISP网的数据包而言,用户网边缘路由器111-A、111-B、111-C、111-D及111-E的下一跳成为BAS11-A、11-B、11-C、11-D及11-E的任一个,BAS的下一跳成为ISP网边缘路由器112-A、112-B及112-C的任一个。还有,下一跳指的是,某个路由器准备将作为目的地具有某个IP地址的IP数据包传达到其目的地时该数据包的传输目标路由器。该下一跳根据各路由器和其它路由器进行交换动态得到的路由信息以及在其路由器自身中静态设定的路由信息来决定。
但是,与通常的IP路由器不同,BAS11-A、11-B、11-C、11-D及11-E既不从用户网101-A、101-B、101-C及101-D向其它用户网101-A、101-B、101-C及101-D中继流通量(这种中继是经由ISP网来进行的),也不进行将下述流通量中继到与ISP网之间的其它连接线路的处理(这种中继设为在ISP网内进行),该流通量是从与ISP网103-A、103-B之间的连接线路所到达的。另外,设为用户网101-A、101-B、101-C及101-D是存根AS。也就是说,这些用户网将经由该用户网从用户网外(和BAS之间的连接线路等)所到达的数据包中继到用户网外,即不进行作为转接AS的动作。
用户网101-A、101-B、101-C、101-D以及ISP网103-A、103-B各自具有相互不同的AS号。关于用户网和ISP的AS号是否应当是专用AS号,本发明没有特别的限制,可以按照通常的BGP应用方法加以决定。例如,在本实施示例的场合下设为,因ISP网103-A、103-B是与因特网所连接的转接AS,所以具有全局(global)的AS号11、12;因用户网3 101-C与多个ISP网进行多重初始地址连接,所以具有全局的AS号1003;因其它用户网101-A、101-B、101-D只与单个ISP网相连接,所以具有从ISP所分配的专用AS号65001、65002、65001。
另外,虽然ISP网103-A、103-B通过上游用边缘路由器113-A、113-B连接到因特网104,但是本发明不管有没有连接都可以使用。还有,在本实施示例中「上游」指的是,从11-A~11-E的各BAS看来更接近核心网络的方面。「上游网」意味着,从BAS看来成为上游方的网络。如果通过图1来说,就是ISP网103-A、103-B为上游网,该ISP网103-A、103-B是从BAS看来更接近因特网104的网络。相反,用户网101A~D成为「下游网」。在存在上游用边缘路由器113-A、113-B并且由此采用BGP等AS间路由控制协议向因特网104的那种ISP外通告路由信息的场合下,在通常的BGP应用过程中,是在将其路由信息中所包含的专用AS号全部删除之后进行通告的。
BAS11-A、11-B、11-C、11-D及11-E被作为与用户网和ISP网都不同的AS来运用。在本实施示例中,由于各BAS只与对每1台BAS特定的ISP网相连接,因而从所连接的ISP进行分配,将所连接的ISP与用户网不重复的专用AS号作为自AS号加以使用。还有,为了实施本发明,在向BAS所分配的AS号与用户网和ISP网都不重复并且包含向BAS所分配AS号的路由信息按原状态流向与ISP网相比更上游的场合下,需要使其AS号与通过因特网所连接的其它任何AS都不重复。在通常的运用过程中,由于完全没有使BAS的AS号流向与ISP网相比更上游的必要性,因而在本实施示例中设为,给BAS分配专用AS号,在ISP向下述其它AS通告路由信息时,将其路由信息中含有的专用AS号删除进行通告,该其它AS是因特网和其它ISP等专用AS号的分配不在自ISP的管理之下加以进行的AS。还有,虽然取代专用AS号而取得与ISP网、用户网及其它任何AS都不重复的全局AS号,并给予BAS,这在理论上也是可能的,但是没有实际应用上的价值。
而且,在本实施示例中BAS11-A、11-B、11-C、11-D及11-E,通过图1所示的通信线路中一方末端为BAS的全部线路,与线路连接对象的用户网边缘路由器111-A、111-B、111-C、111-D、111-E以及ISP网边缘路由器112-A、112-B、112-C,进行EBGP连接。例如,BAS11-A与ISP网边缘路由器112-A、112-B以及用户网边缘路由器111-A、111-B进行EBGP连接。还有,对于该EBGP连接的初始确立动作,本实施示例的BAS也需要进行与通常的BGP路由器不同的动作,对此将在下面予以说明。
还有,在本实施示例中,将BAS11-A、11-B、11-C、11-D及11-E分别作为物理上不同的设备,也就是物理路由器加以处理。但是,本发明如果将它们作为按照IP路由控制的观点看独立的路由器进行处理,则可以使用,因此11-A、11-B、11-C、11-D及11-E的各自也可以是收存于相同BAS设备内的不同虚拟路由器。
上面,在图1所示的网络结构之下说明本发明BGP路由控制方法的动作。
首先,作为本发明的前提条件,使BAS所使用的AS号成为处于同一ISP之下的所有BAS共用的AS号。但是,该AS号需要与处于同一ISP之下BAS以外所使用的AS号(在使用专用AS号的场合下,是用户网等在ISP管理之下所分配的其它AS号)不重复。若在本实施示例的场合下,则使处于ISP网1 103-A之下BAS11-A、11-B、11-C所属的AS 102-A、102-B、102-C全部成为相同的专用AS号65501,同样使处于ISP网2 103-B之下BAS11-D、11-E所属的AS102-D、102-E全部成为相同的专用AS号65502。这是为了从附属于路由信息中的AS路径属性删除BAS自身的AS号,向用户网边缘路由器111-A、111-B、111-C、111-D及111-E进行通告,以此可以在用户网方易于利用MED属性,以及为了做出是否全部是从同一相邻AS所收到路由信息的假设,向ISP网边缘路由器112-A、112-B、112-C进行通告,以此可以在ISP网方易于利用MED属性。
该MED属性是给BGP的路由信息所附加的属性信息一种,是在二个相邻AS间通过多条线路连接的场合下,在从一方AS向另一方AS对IP数据包传输时应优先使用的线路进行指定时所采用的。从同一相邻AS接收到与相同IP地址前缀有关并且MED属性值不同的多个路由信息的BGP路由器,如果应比MED属性更为优先的各种路由选择条件是相同的,则选择MED属性值最小的路由。例如,AS1和AS2通过线路1、线路2的2条线路相连接,在线路1上将MED属性的值设为50并且在线路2上设为100,使与同一目的IP地址前缀有关的路由信息从AS1流向AS2,这种场合下,AS2的路由器通过MED属性值小的线路1,将IP数据包中继到AS1,该IP数据包作为目的地具有与其IP地址前缀匹配的IP地址。
由于MED属性值可以由路由信息发送源AS的管理者自由决定,因而一般情况下即便对发送源AS不同的路由信息中附属的各MED属性值进行比较,也没有意义(除去该各发送源AS有关MED属性值的设定已作出规定的情形)。为此,通常的BGP路由器在对从不同相邻AS所接收到的各路由信息进行比较,进行路由选择时,不使用MED属性。另外,在路由信息通过某个AS向其它AS进行中继时,MED属性被删除。这种场合下,该通过AS应当按照需要,将MED属性值重新确定成适当的值。
还有,处于不同ISP之下的BAS,在限于使用ISP专用AS号的范围内,相互相同的专用AS号和不同的专用AS号都可以。例如,若在本实施示例的场合下,则AS 102-A、102-B、102-C和AS102-D、102-E的双方都可以使用相同的专用AS号65501。
另外,也可以取代使用处于同一ISP之下的全部BAS中共用的AS号,而使用在BAS的若干个中相互不同的AS号,并且能够给各BAS设定在全部BAS中所使用的AS号集合。这种场合下,在从向用户通告的路由信息中附属的AS路径属性删除AS号的处理之时,将后一个AS号集合中含有的所有AS号从AS路径属性删除。在向ISP网通告路由时,假设是BAS自身的AS号而对前一个AS号进行处理。这样一来,例如如果给ADSL线路接受的BAS和光纤线路接受的BAS分别分配相互不同的专用AS号,优先对从后一个专用AS所通告的路由信息进行处理,则与MED属性无关,而可以使通过光纤线路的路由总是比通过ADSL线路的路由更为优先。该MED属性是从用户网所通告的路由信息中附属的。但是,在本实施示例中只要预先没有特别通知则采用下述方法,该方法使用在全部BAS中共用的专用AS号。
下面,有关本发明中从用户网向ISP网的路由信息通告方法,予以说明。例如考虑到下述情形,即用户网4 101-D内的边缘路由器111-E通过与BAS11-D、11-E两个BAS之间的EBGP配对连接,将与到下述网络122的到达路由有关的路由信息最终通告给ISP2103-B内的边缘路由器112-C,该网络122具有网内的IP地址前缀Y。但是,设为用户网4 101-D因某种理由(例如,为了网络112的用户特别想确保下行方向的带宽等)而想要通告目的地Y的路由信息,以便经由BAS11-D的路由被优先选择。
这种场合下,用户网边缘路由器111-E可以在与BAS11-D之间的EBGP连接上使MED属性值小(此处设为50)的路由信息流过,在与BAS11-E之间的EBGP连接上使MED属性值大(此处设为100)的路由信息流过。
收到这些路由信息的BAS11-D、11-E首先按照需要,进行路由信息是否未进行循环的检查。此时,就通常BGP中路由信息接收时的处理来说,要是在路由信息中所附加的AS路径属性内包含自AS号,则认为该路由信息已进行循环将其废弃,而本实施示例的BAS取代自AS号转而对是否包含ISP的AS号进行检查。还有,使用ISP的AS号之路由信息循环检查由于通常也由ISP网边缘路由器112-C来进行,因而不一定需要BAS11-D、11-E加以进行。为此,也可以设为本实施示例的BAS完全不进行从用户网边缘路由器所接收到的路由信息循环检查。还有,该路由信息循环指的是,再次由自路由器接收以前自路由器接收并中继到其它路由器的路由信息。此时,若自路由器进行与上次接收时相同的处理,则相同的路由信息被多次发送,存在路由信息无限增加的可能。为此,一般情况下进行路由信息循环的检测处理,在被检测出的场合下将该路由信息废弃。
如果判明未进行路由信息循环检查或者作为进行结果路由信息未进行循环,则在自身的路由表中反映出该路由信息,此后对该路由信息的AS路径属性和下一跳属性等进行与通常BGP路由器相同的处理,来制作用于向ISP网边缘路由器112-C进行通告的路由信息。然后,虽然在通常的BGP路由通告处理过程中,不将原来路由信息中所附加的MED属性值附加到新制作出的路由信息中,但是在本发明的路由通告处理过程中,则将其附加。有关AS路径属性,与通常的BGP路由器相同,可以将自AS号追加到AS路径的前面,只附加到新制作出的路由信息中。但是,在用户网存在对AS路径属性***无效专用AS号,不断通告路由信息的可能性的场合下,为了避免ISP网方的路由控制混乱,也可以将从AS路径整体只消除BAS自身AS号(或者,如果预先在BAS内设定出在同一ISP内所使用全部BAS的AS号集合,则是该AS号集合中含有的全部AS号)的处理,作为将自AS号追加到AS路径前面之前的处理,加以进行。通过上面的处理,将所生成的带属性信息的路由信息向ISP网边缘路由器112-C进行通告。
这样一来,向ISP网边缘路由器112-C从BAS11-D、11-E的各自到达两个路由信息,该两个路由信息其通告源的相邻AS是相同的65502、AS路径属性的长度相同、MED属性值不同并且将目的地设为Y。然后,ISP网边缘路由器112-C根据通常的BGP路由选择处理,将这些路由信息之中MED属性值小且从BAS11-D到达的路由信息作为适当路由予以选择。其结果为,将与IP地址前缀Y匹配的IP地址作为目的地的数据包只要在BAS11-D及通过此的路由上不发生故障,就从ISP网边缘路由器112-C经由BAS11-D到达用户网边缘路由器111-E。
还有,如果BAS11-D不是BAS而是通常的BGP路由器,则除非未在该路由器中做出将路由通告加以屏蔽的设定,从用户网边缘路由器111-E所获取到的路由信息就不只是作为EBGP连接配对路由器的ISP网边缘路由器112-C,也同样向作为EBGP连接配对路由器的用户网边缘路由器111-D进行通告。但是,在11-D是本实施示例BAS的场合下,由于从用户网只经由BAS向其它用户网中继流通量,是不进行的通告前提条件,因而不会有BAS11-D将从用户网边缘路由器111-E所获取到的路由信息向用户网边缘路由器111-D进行通告的处理。
下面,有关本发明中从ISP网向用户网的路由信息通告方法,予以说明。例如考虑到下述情形,即ISP用户网1 103-A内的边缘路由器112-A、112-B通过与BAS11-A、11-B两个BAS之间的EBGP连接,将与到下述网络121的到达路由有关的路由信息最终向用户网1 101-A内的边缘路由器111-A和用户网2 101-B内的边缘路由器111-B、111-C进行通告,上述网络具有ISP网内的IP地址前缀X。但是,设为ISP1 103-A因某种理由(例如,根据ISP网内部的网络拓扑,ISP网边缘路由器112-A比ISP网边缘路由器112-B更为接近网络121,并且BAS11-A和ISP边缘路由器112-B之间的线路是备份用低速线路等),而想要通告目的地X的路由信息,使之按照经由BAS11-A及ISP网边缘路由器112-A、经由BAS11-B及ISP网边缘路由器112-B、经由BAS11-A及ISP网边缘路由器112-B的顺序来优先选择路由。
这种场合下,ISP网边缘路由器112-A在与BAS11-A之间的EBGP连接上使MED属性值小(此处设为50)的路由信息流过,ISP网边缘路由器112-B可以在与BAS11-A之间的EBGP连接上使MED属性值大(此处设为150)的路由信息流过,在与BAS11-B之间的EBGP连接上使具有中间MED属性值(此处设为100)的路由信息流过。
获取到这些路由信息的BAS11-A、11-B,虽然在通常BGP中的路由信息接收时的处理过程中,首先进行路由信息是否未进行循环的检查,而就本实施示例的BAS而言则不进行该检查。然后,首先在自身的路由表中反映该路由信息。此时,由于BAS11-A分别从ISP网边缘路由器112-A、112-B获取到两个路由信息,该两个路由信息其通告源的相邻AS是相同的11、AS路径属性的长度相同、MED属性值不同并且将目的地设为X,因而根据通常的BGP路由选择处理,将这些路由信息之中MED属性值小并且从ISP网边缘路由器112-A到达的路由信息,作为适当路由予以选择。
然后,BAS11-A、11-B在将所选择出的路由信息反映到自身的路由表中之后,对其路由信息的下一跳属性等进行与通常BGP路由器相同的处理,来制作用于向用户网边缘路由器111-A、111-B、111-C进行通告的路由信息。然后,虽然在通常的BGP路由通告处理过程中不将原来路由信息中所附加的MED属性值附加到新制作出的路由信息中,但是就本发明的路由通告处理而言则将其附加。除此之外,有关AS路径属性,虽然在通常的NGP路由通告处理过程中只是向AS路径的前面附加自AS号,但是就本发明的路由通告处理而言,则从AS路径整体只将BAS自身的AS号(或者说,如果预先在BAS内设定在同一个ISP内所使用全部BAS的AS号集合,则是该AS号集合中含有的全部AS号)全部删除,不在该AS路径的前面附加BAS自身的AS号而附加到新制作出的路由信息中。通过上面的处理,将所生成的带属性信息的路由信息向用户网边缘路由器111-A、111-B、111-C进行通告。
这样一来,从BAS11-A或11-B向各个用户网边缘路由器111-A、111-B、111-C分别到达一个将目的地设为X的路由信息,使得通告源的相邻AS全部是11,也就是相邻AS是ISP。此时,由于BAS11-A、11-B的AS号是65501,因而根据通常的BGP处理方法,在采用该AS号确立出和用户网边缘路由器111-A、111-B、111-C之间的配对连接的场合下,BAS在配对连接确立时所告知的AS号和路由信息中含有的AS号产生矛盾。但是,通过由本实施示例的BAS来使用下述的配对连接确立处理,该问题被解决。
上面的结果为,来自用户网边缘路由器111-A的将与IP地址前缀X匹配的IP地址设为目的地的数据包,只要在BAS11-A和ISP网边缘路由器112-A之间的线路以及ISP网边缘路由器112-A其本身上不发生故障,就经由BAS11-A到达ISP边缘路由器112-A。对于用户网边缘路由器111-B、111-C而言,如果在这些路由器间进行IBGP连接,则一方从BAS所接收到的路由信息被通告给另一方,那些路由信息被实施通常的BGP路由选择处理,最后选择MED属性值较小并且从BAS11-A所通告的路由。其结果为,来自用户网2 101-B的将与IP地址前缀X匹配的IP地址设为目的地的数据包,只要在路由上的线路或BAS或者路由器的任一个中不发生故障,就从用户网边缘路由器111-B经由BAS11-A到达ISP网边缘路由器112-A。
还有,如果BAS11-A不是BAS而是通常的BGP路由器,则除非未在该路由器中做出将路由通告予以屏蔽的设定,从ISP网边缘路由器112-A所获取到的路由信息就不只是作为配对路由器的用户网边缘路由器111-A、111-B,也同样向作为配对路由器的ISP网边缘路由器112-B进行通告。但是,在BAS11-A是本实施示例BAS的场合下,由于在从ISP经由BAS将流通量中继到朝向同一ISP的其它线路的处理是不进行通告的前提条件,因而不会出现BAS11-A将从ISP网边缘路由器112-A所获取到的路由信息向ISP网边缘路由器112-B进行通告的处理。这对于BAS11-A从ISP网边缘路由器112-B所获取到的路由是相同的。
如上所述,由于将根据本发明BGP路由控制方式的BAS使用于本实施示例中,因而可以中间隔着具有独立AS号的BAS,在用户网和ISP网之间使用策略路由控制,该策略路由使用了原本不隔着AS进行通告的MED属性。此时所使用的用户网和ISP网的边缘路由器可以是已做出标准设定的通常BGP路由器。
图2表示的是可以满足本实施示例BAS功能的内部处理体系结构一个示例。
还有,在本发明中,作为本实施示例BAS功能的前提条件,规定出不直接中继从用户网到用户网的流通量,以及不中继从ISP网到ISP网的流通量。另外,在本发明中如同此前所述那样,按照与通常BGP路由控制处理之间的差分形式规定出本实施示例的BAS应进行的处理内容。但是,只要满足上面的功能,则本实施示例的BAS内部体系结构可以是任何形式,不需要一定是按照附图的体系结构。
在图2体系结构示例的场合下,本实施示例BAS11的内部由控制处理部201、下游接口部202、上游接口部203及底板204的4种内部硬件模块构成。还有,附图中用实线框住的要件意味着硬件,用虚线框住的要件意味着软件或者表格等的数据。
BAS11在其内部具有一个以上的下游接口部202。下游接口部202具有一个以上接口,用来连接到用户网边缘路由器111的线路。下游接口部202作为其内部硬件具有数据包传输处理用处理机221及传输处理用存储器222。在传输处理用存储器222中,存储有程序225和下游接口用路由表227。在下游接口用路由表227中存储对应表,用来在从用户网边缘路由器111接收到数据包时,按照其数据包的目的IP地址来决定作为其数据包传输目标的ISP网边缘路由器112以及其被连接的上游接口部203(但是,在目的IP地址是BAS自身地址的场合下,将传输目标设为控制处理部201)。还有,下游接口用路由表227由BAS11的路由控制部201随时进行重写。程序225是BAS11启动时从控制处理部201的辅助存储装置212所传输的程序代码。数据包传输处理用处理机221通过执行程序225,采用下游接口用路由表227,来决定从用户网边缘路由器111所接收到的数据包适当的传输目标,通过底板204向该传输目标传输数据包。另外,数据包传输用处理机221通过执行程序225,将从底板204所接收到的数据包发送到适当的用户网边缘路由器111。据此,向下游网方的通信装置通知路由控制报文和自AS号通知报文。
另外,BAS11在其内部具有一个以上的上游接口部203。上游接口部203具有一个以上接口,用来连接到ISP网边缘路由器112的线路。上游接口部203作为其内部硬件具有数据包传输处理用处理机231及传输处理用存储器232。在传输处理用存储器232中,存储有程序235和上游接口用路由表237。上游接口用路由表格237的存储内容和数据包传输处理用处理机231的处理内容除去上游和下游以及用户网和ISP网进行转换的内容之外,与下游接口用路由表227及数据包传输处理用处理机221完全相同。也就是说,通过数据包传输处理用处理机231,向上游网方的通信装置通知路由控制报文和自AS号通知报文。
BAS11通过其内部所具备的底板204,将控制处理部和上游接口部、控制处理部和下游接口部以及上游接口部和下游接口部相互连接。
BAS11的内部所具备的控制处理部201用来进行以路由控制协议为开始的发给自己或自发IP数据包处理以及BAS11装置整体管理的处理等。控制处理部201作为其内部硬件具有控制处理用处理机211、辅助存储装置212及主存储装置213。在辅助存储装置212中存储有程序代码215和初始设定数据217。程序代码215由控制处理部用程序代码和接口部用程序代码构成,并且全都在BAS11启动时向各自的存储器(主存储装置213及传输处理用存储器222、232)进行传输,由各自的处理机(控制处理用处理机211及数据包传输处理用处理机221、231)加以进行。在初始设定数据217中存储有由管理者设定于BAS11内的各种信息,用来在BAS11启动时及管理者指定时由控制处理用处理机211来读入,按照设定数据的内容向BAS11内的各部进行适当设定。在初始设定数据217中所存储的设定数据内,包括BAS11自身的AS号、ISP网的AS号、各接口的IP地址设定、各配对路由器的IP地址以及静态路由设定等。
向主存储装置213展开由控制处理用处理机211所进行的控制处理部用程序代码,可以分成OS·设备驱动程序251、路由控制处理管理进程(process)252、BGP路由控制进程255、其它路由控制处理进程组254以及其它控制处理进程组253。OS·设备驱动程序251用来将进程管理、输入输出处理及TCP/IP协议处理等各种基本处理功能提供给各进程。其它控制处理进程组253用来进行与路由控制以外有关的处理如装置管理和隧道协议等的处理。其它路由控制处理进程组254用来进行与BGP之外的各种路由控制协议有关的处理。路由控制处理管理进程252用来对从BGP路由控制进程255和其它路由控制处理进程组254所得到的路由信息及由管理者做出的静态路由设定信息进行汇总,生成上游·下游接口用路由表227、237的数据,向上游·下游接口部202、203进行传输。
BGP路由控制进程255用来使标准的BGP处理进程,根据本发明反映出下述两种处理,一是应对用户网边缘路由器111进行的开放报文处理,二是应对从用户网边缘路由器111及ISP网边缘路由器112所获取到的BGP路由信息进行的属性信息处理。也就是说,该BGP路由控制进程255是具备下述功能的软件进程,该功能为根据本发明的AS间路由控制方法,发出对配对路由器并采用开放报文的自身AS号通知以及在和配对路由器之间的路由控制报文相互通知。还有,虽然BGP是在TCP的基础上进行动作的协议,但是BGP路由控制进程只具备与BGP其本身有关的处理功能,TCP之下的协议处理是具备有TCP/IP协议堆栈的OS·设备驱动程序251来进行的。
BGP路由控制进程255在其内部具有上行流通量用BGP路由表262以及下行流通量用BGP路由表263。BGP路由控制进程255根据从ISP网边缘路由器112所接收到的路由控制报文,进行上行流通量用BGP路由表262的更新,将与其更新部分对应的路由控制报文通告给用户网边缘路由器111。另外,上行流通量用BGP路由表262的更新部分通过路由控制处理管理进程252也反映到下游接口用路由表227中。另外,BGP路由控制进程255根据从用户网边缘路由器111所接收到的路由控制报文,进行下行流通量用BGP路由表263的更新,将与其更新部分对应的路由控制报文通告给ISP网边缘路由器112。另外,下行流通量用BGP路由表263的更新部分通过路由控制处理管理进程252也反映到上游接口用路由表237中。
本实施示例的BAS11若从各用户网边缘路由器111获取到发给自己的BGP路由控制报文,则该报文通过下游接口部202、底板204及控制处理部201的OS·设备驱动程序251,最后传递到BGP路由控制进程255。BGP路由控制进程255根据本发明的AS间路由控制方法对该报文进行处理,更新下行流通量用BGP路由表263,通过路由控制处理管理进程252使上游接口用路由表237也反映其更新内容。另外,BGP路由控制进程255生成用于将路由信息的更新部分向ISP网边缘路由器112进行通告的路由控制报文,通过OS·设备驱动程序251、底板204及上游接口部203,向ISP网边缘路由器112进行通告。
在从各ISP网边缘路由器112获取到发给自己的BGP路由控制报文的场合下,也通过同样的流程(但是,上行和下行、上游和下游以及ISP网和用户网分别相反)来处理报文,进行上行流通量用BGP路由表262的更新、下游接口用路由表227的更新以及向各用户网边缘路由器111的路由通告之类的处理。
图3表示的是在实施示例1一部分上采用本发明BGP路由控制方法的配对连接确立处理时的开放报文。
本实施示例的BAS所进行的配对连接确立处理除去开放报文中含有自AS号的通知之外,与根据通常BGP处理方法的配对连接确立处理完全相同。当然,用户网边缘路由器及ISP网边缘路由器所进行的配对连接确立处理也包括开放报文中含有的自AS号通知,可以与根据通常BGP处理方法的配对连接确立处理完全相同。在此,虽然只是有关本实施示例中的BAS11-A进行说明,但是即使对于本实施示例中的其它BAS,也同样使用下面的处理。
BAS11-A与通常的BGP处理方法相同,将作为自AS号的65501***BGP开放报文(message)的自AS号字段(field)中,从BAS向ISP网边缘路由器112-A、112-B进行发送(报文302-A、302-B)。另一方面,对于用户网边缘路由器111-A、111-B而言则与通常的BGP处理方法不同,将作为ISP的AS号之11***BGP开放报文的自AS号字段中,从BAS向用户网边缘路由器111-A、111-B进行发送(报文301-A、301-B)。
如上所述,ISP网边缘路由器112-A、112-B及用户网边缘路由器111-A、111-B如同通常的BGP处理方法那样,将各路由器所属的AS号***BGP开放报文的自AS号字段中,向BAS进行发送(报文303-A、303-B、304-A、304-B)。
由于采用配对连接确立处理,该配对连接确立处理使用了上面的开放报文,因而即使按照如图1所说明的方法来进行路由信息的收发,配对连接确立时所接收到的AS号和所接收到路由信息的AS路径属性中含有的AS号,从用户网看来也不产生矛盾。加之,由于可以对用户网方完全隐藏BAS的AS号,因而可以从用户网看见在和ISP网的AS号之间直接进行EBGP配对连接。
下面,采用图5~图6,来说明不给BAS增加功能而进行BGP路由控制时的问题所在,同时说明本发明的优越性。
图5表示的是,将以往的BGP路由器作为BAS使用,来构成与实施示例1相同的网络时BGP路由控制的动作。
在以往面向个人的ADSL/FTTH存取网络中,在使BAS具备与本发明无关的以往BGP路由控制方法,并且不使用EBGP多转发连接功能而对利用BGP路由控制的企业用户网加以连接的场合下,将成为图5的网络结构。
给以往的BGP相应BAS511-A、BAS511-B、BAS511-C、BAS511-D及BAS511-E分配专用AS号,以使所连接ISP网103-A、103-B的相同的各BAS不为同一个AS号。例如,由于BAS511-A、BAS511-B、BAS511-C其所连接的ISP网是同一个ISP网1 103-A,因而分配各自相互不同的AS号65501、65502、65503。原因是,若给和同一ISP网所连接的多个BAS分配相同的AS号,则在经由ISP网将一方BAS从用户网所接收到的路由信息中继到另一方BAS时,在该路由信息的AS路径属性中已经包含与自身AS号相同的AS号,因此被当作路由信息的循环,致使该路由信息将被废弃。就本实施示例的BAS而言,由于不进行路由信息的废弃而从AS路径属性删除自身的AS号,因而避免了该问题。
在此,与图1的情况相同考虑到下述情形,即从ISP网边缘路由器112-A、112-B经由BAS511-A、511-B,向用户网边缘路由器111-A、11-B、111-C通告与到地址前缀X网络的到达路由有关的路由信息。此时,与图1的情况相同,设为,在从ISP网边缘路由器112-A向BAS511-A所通告的路由信息中,附加值为50的MED属性,在从ISP网边缘路由器112-B向BAS511-A所通告的路由信息中,附加值为150的MED属性,在从ISP网边缘路由器112-B向BAS511-B所通告的路由信息中,附加值为100的MED属性。BAS511-A、511-B虽然接收这些MED属性,但是这些BAS是采用以往BGP路由控制方法的BGP路由器,并且具有与用户网101-A、101-B不同的AS号,因此不将MED属性中继到用户网边缘路由器111-A、111-B、111-C。其结果为,ISP网所通告路由信息的MED属性在和BAS之间是有效的,而在和用户网之间却变得无效。也就是说,在BAS511-A向ISP网传输下述IP数据包时,使用MED属性值较小的到ISP网边缘路由器112-A的线路,上述IP数据包将与地址前缀X匹配的IP地址作为目的地。但是,在经由BAS511-A、511-B的任一个,向ISP网1 103-A传输从用户网2 101-B内所发送的相同IP数据包时,作为下述资料来说MED属性完全不起作用,该资料用来判断用户网边缘路由器111-B、111-C经由哪方的BAS进行发送是适当的。
假设增加功能以使BAS511-A、511-B中继MED属性,从BAS511-A到达用户网边缘路由器111-B的路由信息以及从BAS511--B到达用户网边缘路由器111-C的路由信息,从用户网2看来也被当作各自不同的从相邻AS到达的路由信息。为此,在用户网边缘路由器111-B、111-C中,只要没有做出特别设定,即在从不同的相邻AS到达的路由信息之间比较MED属性,则在这些路由器比较双方的路由信息来选择适当路由时,MED属性就不被利用。就本实施示例的BAS来说,由于中继MED属性并且对用户网表明BAS是否属于ISP网的AS,因而避免了上面的问题。
对于从用户网边缘路由器111-E经由以往的BGP相应BAS511-D、511-E,向ISP网边缘路由器112-C通告与到地址前缀Y网络的到达路由有关的路由信息的情形,虽然也因相同的理由而在用户网和BAS之间利用MED属性,但是在用户网和ISP网之间MED属性不起作用。就本实施示例的BAS而言,由于中继MED属性并且给在同一ISP网的下游所使用的全部BAS分配同一个AS号,因而避免了上面的问题。
另外,用户网3 101-C和多个ISP网进行多重初始地址连接。为此,ISP网103-A、103-B需要对用户网3 101-C隐藏各ISP独自分配利用的专用AS号(如果不那样做,则存在对用户网3的路由控制引起故障的可能性)。许多路由器具备有下述功能,即在通告路由信息时,从其AS路径属性将专用AS号全部删除。为此,可以认为以往的BGP相应BAS511-C、511-D也可以在向用户网边缘路由器111-D通告路由信息时,从AS路径属性将全部的AS号删除进行通告。但是,BAS511-C、511-D作为自身的AS号使用专用AS号,并且该号码包含于配对连接确立时从BAS向用户网边缘路由器所发送的开放报文中。加之,假使做出从AS路径属性将全部专用AS号删除的设定,则根据BGP路由控制功能安装的不同,存在将其该路由器自身的AS号附加到AS路径属性中的状况不被避免的可能性。而采用本实施示例的BAS,即使给BAS分配专用AS号,也不引起这些问题。
图6表示的是,按照与实施示例1相同的网络结构,在用户网和ISP网之间建立EBGP多转发连接,来进行BGP路由控制,并不使BAS加入BGP路由控制时EBGP多转发连接的方式。
如上所述,EBGP多转发连接功能指的是,在网络层也就是IP层次不相邻的路由器间进行EBGP连接的功能。可以认为,在以往面向个人的ADSL/FTTH存取网中,采用EBGP多转发连接功能对利用BGP路由控制的企业用户网加以连接的场合下,将成为图6的那种网络结构。
若采用EBGP多转发连接功能,则如同图6那样,尽管中间相隔BAS,但是仍可以在用户网和ISP网之间建立EBGP多转发连接621。由于使用该EBGP多转发连接621,因而与通常的EBGP连接相同,可以进行相邻AS间的策略路由控制。
BAS611在用户网边缘路由器111和ISP网边缘路由器112之间,对包含BGP路由控制报文且非发给自己的IP数据包进行中继。但是,由于BAS611不进行BGP路由控制,因而没有发送自发BGP路由控制报文的处理,并且将全部发给自己的BGP路由控制报文废弃。但是,在BAS611和ISP网边缘路由器112之间也想进行采用BGP的策略路由控制的场合下,也可以将BAS611作为BGP路由器,与附图所示的EBGP多转发连接621不同,在ISP网边缘路由器112和BAS611之间建立EBGP连接。在图6中,设为在ISP网边缘路由器112和BAS611之间没有EBGP连接的状况。
这样,如果采用EBGP多转发连接功能,则在用户网和ISP网间表明很容易使之满足进行BGP策略路由控制这样的要求,而在EBGP多转发连接功能中存在若干问题。
第一个问题是,为了在未直接连接的路由器间进行EBGP连接,若不以某种形式预先设定至配对路由器的路由信息,则EBGP配对连接其本身不能进行。例如,由于从用户网边缘路由器111-B到BAS611-A是通过线路直接连接的,因而从用户网边缘路由器111-B到BAS611-A的到达路由是清楚的。但是,由于与ISP网边缘路由器112-A未直接连接,因而若不按照静态路由设定等预先给予路由信息,则用户网边缘路由器111-B在传送用于BGP配对连接确立的IP数据包时,不清楚如果向哪条线路传送数据包,该数据包将传递到ISP网边缘路由器112-A。为了避免该问题,而不得不在用户网边缘路由器111-B中预先设定通向ISP网边缘路由器112-A的静态路由。
第二个问题是,若BAS和ISP网边缘路由器之间的网络结构产生变化,则很多时候用户网边缘路由器的设定也需要进行变更。例如设为,当以前不存在对BAS611-A和ISP网边缘路由器112-B加以连接的线路时,新设置该线路并成为图6的状态。此时,虽然BAS611-A和ISP网1103-A之间的线路被冗余化为2条线路,但是用户网1101-A、用户网2 101-B不能获得这种好处。原因是,用户网和ISP网之间经由BAS611-A的配对连接只存在一方配对路由器为ISP网边缘路由器112-A的配对连接621-A、621-B。为此,如果ISP网边缘路由器112-A停止,则用户网将经由BAS611-A的与AS外路由有关的信息全部丢失。为了避免这种情况,需要经由BAS611-A在用户网边缘路由器111-A、111-B和ISP网边缘路由器112-B之间新建立EBGP多转发连接。对此,进行新的EBGP多转发连接所需的设定不只是在ISP网边缘路由器112-B中,在用户网边缘路由器111-A、111-B中也是必要的。
第三个问题是,因IP数据包发送源地址冒充而引起的保密性问题。一般情况下,IP数据包标题中包含的发送源IP地址的值可以由发送源主机自由设定,并且不给通向目的地主机的到达性带来影响。为此,也可以在发送源IP地址的字段中设定虚假的值。但是,就采用直接线路的通常EBGP连接来说,由于BGP数据包的真的发送源主机被限定为存在于其直接线路上主机之中的任一个,因而可以轻易地认清发送源IP地址的冒充。另一方面,就EBGP多转发连接来说,由于配对路由器不存在于直接线路上,因而即使发送源IP地址被冒充也不能进行判别。例如,在图6的场合下考虑到下述情形,即用户网边缘路由器111-B将下述BGP数据包传送给ISP网边缘路由器112-A,该BGP数据包将发送源IP地址冒充为用户网边缘路由器111-A的地址。此时,接收到该BGP数据包的ISP网边缘路由器112-A不清楚该数据包是否真是从用户网边缘路由器111-A到达的,或者是从其它主机冒充发送源IP地址所发送的。为此,由于从配对路由器之外的第三个主机发送向BGP配对连接所使用TCP端口的TCP连接或断开数据包,因而存在引起DDoS攻击和不能预期配对连接断开的可能性。
若采用EBGP多转发连接在用户网和ISP网之间进行BGP路由控制,则发生如上的新问题。另一方面,采用本发明的BGP路由控制方法,则不发生这些问题。
图7表示的是BGP数据包的数据结构。
BGP数据包指的是,在配对路由器之间收发BGP报文时包含有其收发所使用的TCP连接控制信息或者在其连接上所收发数据的IP数据包。
在IP标题701中,按照IP协议标准规定包含BGP数据包发送源地址711及目的地址712等信息。就BGP数据包来说,在目的地址712中***配对路由器的IP地址。还有,作为IP协议而言,一般使用版本4(Ipv4)和版本6(Ipv6)的2种,而本发明使用任一个都可以实施。另外,在实际上使物理线路流过BGP数据包时,一般来说在IP标题之前附加线路种类所依赖的数据链路层标题,而本发明不依赖于线路种类和数据链路层标题的形式就可以实施。
在IP标题701之后接着TCP标题702。在TCP标题702中按照TCP协议标准规定,包含发送源端口721和目的端口722等信息。发送源端口721是BGP数据包发送源的BGP路由器使用于配对连接中的TCP端口号码。目的端口722是BGP数据包的目的地也就是配对路由器使用于配对连接中的TCP端口号码。配对连接用的TCP连接是通过从一方配对路由器(连接源端口号码为任意)向另一方配对路由器的配对连接受理用端口请求TCP连接而建立的。在该配对连接受理用端口中,通常使用作为BGP用标准TCP端口所规定的第179号端口。但是,即便使用此外的号码,本发明也能够实施。
在TCP数据中包含0个以上BGP报文的一部分或全部。由于BGP报文在TCP连接的流上进行流动,因而并不一定在一个IP数据包的TCP数据703中包含一个BGP报文。例如,如果也有时在一个IP数据包的TCP数据703中包含多个BGP报文,则还有时在一个IP数据包的TCP数据703中只包含一个BGP报文的一部分。
还有,BGP路由器为了区别通常的通信数据包和BGP数据包,而使用IP数据包的目的地址712和目的端口722。下面,作为示例根据图2列举出的本实施示例BAS内部体系结构进行说明。若接口部202、203从外部接口接收到IP数据包,则检查其目的地址712是否与该路由器自身所具有的IP地址相一致,如果相一致则向控制处理部201进行传输。如果不一致,则若找出应传送的接口就从其外部接口进行传送,若未找到就将其废弃。接收到发给自己IP数据包的控制处理部201内OS·设备驱动程序251,如果其IP数据包是TCP的数据包,则检查BGP路由控制进程255为配对连接用所打开的端口号码和该IP数据包的目的端口722是否相一致,如果一致则向BGP路由控制进程255传递该数据包的TCP数据703部分。
图8表示的是BGP开放报文的数据结构。
根据BGP规定出若干个BGP报文,而开放报文是其一种。开放报文只在配对连接确立时TCP连接刚刚确立后进行发送。但是,本发明不根据通知AS号的报文形式和时刻,就可以实施。
开放报文按照BGP协议标准规定,由BGP报文标题801和开放报文数据802构成。在BGP报文标题801中包含报文长度811和报文类型812等信息。在报文长度811中存储将BGP报文标题801和开放报文数据802合并后的字节长度。BGP报文为了流到TCP连接的流上,而采用该报文长度811来判别从所接收到TCP流数据的何处到何处是一个BGP报文。在报文类型812中存储开放报文及更新报文等为每个报文类型所确定的值。通过查看该报文类型812,可以判别接于BGP报文标题801之后的报文数据是开放报文数据还是其它报文数据部分。在开放报文数据802中,包含自AS号821等信息。在自AS号821中,存储将开放报文发送后的BGP路由器所属的AS号。根据该自AS号821,BGP路由器可以对其配对路由器传输自身的AS号。
图9表示的是BGP更新报文的数据结构。
与开放报文相同,更新报文也是BGP报文的一种。更新报文用来向配对路由器通知路由信息的添加·变更·删除,也是包含路由信息的唯一BGP报文。为此,在本说明书中一直称为BGP路由控制报文的就相当于该BGP更新报文。但是,只要属性信息的处理与本发明的前提条件相一致,本发明不依赖于路由控制报文的形式和种类就可以实施。
更新报文按照BGP协议标准规定,由BGP报文标题801和更新报文数据902构成。BGP报文标题801的形式除去在报文长度811中存储字节长度并且在报文类型812中存储报文类型值之外,与开放报文的情形完全相同,该字节长度是将BGP报文标题801和更新报文数据902合并后的长度,该报文类型值表示更新报文。更新报文数据902由删除路由集合921、属性信息集合922及添加路由集合923三个部分构成。在删除路由集合921中,存储0个以上成为不能到达路由的目的地址前缀。在属性信息集合922中,存储附随添加路由集合923的0个以上属性信息。一个属性信息由属性类型、属性长度及属性值三个组来表示。在属性类型中存储表示其属性信息类型(AS路径属性、MED属性、下一跳属性及其它各种属性)的值。在属性长度中存储属性值的字节长度。在属性值中存储其属性信息的值(AS路径、MED属性值等)。在添加路由集合921中存储0个以上新成为可到达或者已是可到达而属性被更新的路由的目的地址前缀。对添加路由集合921中含有的全部添加·更新路由,使用属性信息集合922中含有的全部属性信息。
还有,在采用BGP对Ipv4之外与网络层协议(Ipv6等)有关的路由信息进行通告的场合下,取代删除路由集合921和添加路由集合923,而采用具有同等功能的特殊属性,将不能到达·可到达的目的地址前缀集合包含于属性信息集合922中。但是,本发明在按照任一个数据结构通告路由信息的场合下,都可以使用。
图10是在实施示例1中,本实施示例的BAS从ISP网侧接收BGP路由控制报文,将其中继到用户网方时的收发顺序图。
BAS11-A在从ISP网边缘路由器112-A、112-B接收到路由信息时,不进行路由信息循环的检查。另外,在向用户网边缘路由器111-A、111-B通告路由信息时,按照原来的值将MED属性附加到路由信息中,如果在路由信息的AS路径属性中已存在自身的AS号,则将其除去,不将自身的AS号追加到AS路径属性中,通告该路由信息。如果不包括这些动作,则图10的收发顺序与采用通常BGP路由控制的路由控制报文收发顺序完全相同。还有,在图10的顺序开始时刻,设为在用户网边缘路由器111-A、111-B和BAS11-A之间以及ISP网边缘路由器112-A、112-B和BAS11-A之间的双方已建立EBGP配对连接,还未进行任何与地址前缀X有关的路由信息通告。但是,在ISP网边缘路由器112-A、112-B进行路由通告之后进行配对连接确立等场合下,如果有关上述场合之外的路由信息通告也不包括上述属性操作的差异,则可以是与采用通常BGP路由控制的收发顺序完全相同的处理。
下面,详细说明收发顺序。设从ISP网边缘路由器1 112-A向BAS11-A发送路由控制报文(步骤1011),该路由控制报文其MED属性值为50、AS路径属性只是ISP网的AS号11并且与目的地址前缀X的路由添加有关。接收到该报文的BAS11-A如果是通常的BGP路由控制处理,则首先检查该报文的AS路径属性中是否包含自身的AS号,如果包含则将其路由信息废弃,在本实施示例的BAS不进行该检查。然后,与通常的BGP路由控制处理相同,和此前从其它配对路由器所接收到目的地X的路由信息做比较,决定最佳路由。此处,由于未从其它任何配对路由器再接收到目的地X的路由信息,因而本次所接收到的路由信息成为最佳路由。如果新接收到的路由信息是最佳路由,则将由该路由信息而引起的更新反映到BAS11-A自身的上行流通量用BGP路由表中,将与更新部分相当的路由信息作为路由控制报文发送给用户网边缘路由器111-A、111-B(步骤1012-A、1012-B)。此时,如果是通常的BGP路由控制处理,则不给所发送的路由信息附加接收时的MED属性值,在AS路径属性的前面追加自身的AS号,而本实施示例的BAS按原状态附加接收时的MED属性值,不向AS路径属性追加自身的AS号,取而代之从AS路径属性将自身的AS号(或是,BAS内所预先设定的AS号集合的要件)全部去除。
下面,设从ISP网边缘路由器2 112-B向BAS11-A发送了路由控制报文(步骤1021),该路由控制报文的MED属性值为150、AS路径属性只是ISP网的AS号11并且与目的地址前缀X的路由添加有关。接收到该报文的BAS11-A与步骤1011的情况相同,跳过AS路径属性检查处理,然后和从其它配对路由器所接收到的目的地X的路由信息做比较,决定最佳路由。此处,由于已从ISP网边缘路由器1112-A接收到MED属性值较小的目的地X的路由信息,因而本次所接收到的路由信息不成为最佳路由。为此,上行流通量用BGP路由表的更新和向用户网边缘路由器111-A、111-B的路由信息发送都不进行。
下面,设从ISP网边缘路由器1 112-A向BAS11-A发送了与目的地址前缀X的路由删除有关的路由控制报文(步骤1031)。接收到该报文的BAS11-A将以前从ISP网边缘路由器1 112-A所接收到目的地X的路由信息废弃,然后对从ISP网边缘路由器1 112-A之外配对路由器所接收到目的地X的各路由信息进行比较,决定最佳路由。此处,在步骤1021中从ISP网边缘路由器2 112-B所接收到的路由信息成为最佳路由。将该更新反映到BAS11-A自身的上行流通量用BGP路由表中,并将与更新部分相当的路由信息作为路由控制报文发送给用户网边缘路由器111-A、111-B(步骤1032-A、1032-B)。此时,与步骤1012-A、1012-B的情况相同,按原状态附加接收时的MED属性值,不向AS路径属性追加自身的AS号,取而代之从AS路径属性将自身的AS号(或是,BAS内所预先设定的AS号集合的要件)全部去除。
图11是在实施示例1的一部分上从用户网方本实施示例的BAS接收BGP路由控制报文,将其中继到ISP网方时的收发顺序图。
BAS11-D、11-E在从用户网边缘路由器111-E接收到路由信息时,使用ISP网的AS号来进行路由信息循环的检查,或者全都不进行。另外,在向ISP网边缘路由器112-C通告路由信息时,按照原来的值将MED属性附加到路由信息中,通告其路由信息。如果不包括该动作,则图11的收发顺序与采用通常BGP路由控制的路由控制报文收发顺序完全相同。还有,在图11的顺序开始时刻设为,在用户网边缘路由器111-E和BAS11-D、11-E之间以及ISP网边缘路由器112-C和BAS11-D、11-E之间的双方已建立EBGP配对连接,还未进行任何与地址前缀Y有关的路由信息通告。但是,在用户网边缘路由器111-E进行路由通告之后进行配对连接确立等场合下,如果有关上述场合以外的路由信息通告也不包括上述属性操作的差异,则可以是与采用通常BGP路由控制的收发顺序完全相同的处理。
下面,详细说明收发顺序。设从用户网边缘路由器111-E向BAS411-D发送了路由控制报文(步骤1111),该路由控制报文其MED属性值是50、AS路径属性只是用户网的AS号65001并且与目的地址前缀Y的路由添加有关。接收到该报文的BAS4 11-D如果是通常的BGP路由控制处理,则检查在其报文的AS路径属性中是否未包含自身的AS号,如果包含则将其路由信息废弃,在本实施示例的BAS中,在该检查中使用ISP网的AS号或者不进行检查。然后,与通常的BGP路由控制处理相同,和从其它配对路由器所接收到目的地Y的路由信息做比较,决定最佳路由。此处,由于未从其它任何配对路由器再接收到目的地Y的路由信息,因而本次所接收到的路由信息成为最佳路由。如果新接收到的路由信息是最佳路由,则将由该路由信息而引起的更新反映到BAS4 11-D自身的下行流通量用BGP路由表中,将与更新部分相当的路由信息作为路由控制报文,发送给ISP网边缘路由器112-C(步骤1112)。此时,如果是通常的BGP路由控制处理,则不给所发送的路由信息附加接收时的MED属性值,而本实施示例的BAS却按原状态附加接收时的MED属性值。有关AS路径属性,与通常的BGP路由控制处理相同,在其前面追加自身的AS号。这些MED属性和AS路径属性等路由控制报文的处理是由处理机211来进行的。
接着,设从用户网边缘路由器111-E向BAS5 11-E发送了路由控制报文(步骤1121),该路由控制报文其MED属性值是100、AS路径属性只是用户网的AS号65001,并且与目的地址前缀Y的路由添加有关。接收到该报文的BAS5 11-E进行与步骤1111时的BAS4 11-D相同的接收处理、最佳路由决定处理以及路由表更新处理,与步骤1112相同,将与更新部分相当的路由信息予以发送(步骤1122)。
接着,设从用户网边缘路由器111-E向BAS4 11-D发送了与目的地址前缀Y的路由删除有关的路由控制报文(步骤1131)。接收到该报文的BAS4 11-D将以前从用户网边缘路由器111-E所接收到目的地Y的路由信息废弃,然后对从用户网边缘路由器111-E以外配对路由器所接收到目的地Y的各路由信息进行比较,决定最佳路由。此处,由于未从其它任何配对路由器再接收到目的地Y的路由信息,因而BAS4 11-D失去到目的地Y的路由。将该更新也就是到目的地Y的路由删除反映到BAS4 11-D自身的下行流通量用BGP路由表中,将与更新部分相当的路由信息也就是目的地Y的路由删除作为路由控制报文,发送给ISP网边缘路由器112-C(步骤1132)。
实施示例2
图12表示的是实施示例2的网络结构以及本发明的BGP路由控制方法。
在本实施示例中,企业的主干网1203和一个以上支干网1201-A、1201-B、1201-C,中间相隔本实施示例的LNS(L2TP Network Server)1212-A、1212-B被连接。这些网络结构要件具有与实施示例1的网络结构要件对应的作用。也就是说,本实施示例的主干网1203相当于实施示例1的ISP网103。它们的相同之处为都是转接AS,只是用途各自不同,该转接AS用来使支干网和支干网(或者用户网和用户网)之间的流通量(traffic)通过。但是,本实施示例的主干网1203即使不是转接AS也就是说是存根AS,本发明也可以使用。在将主干网1203设为存根AS的场合下,虽然可以实现主干网和支干网之间的通信,但是不能进行支干网和其它支干网之间的通信。本实施示例的支干网1201相当于实施示例1的用户网101。它们的相同之处为都是存根AS,只是用途各自不同,该存根AS用来在和主干网(或者ISP网)之间只收发自AS发或自AS收的流通量。本实施示例的LNS 1212相当于实施示例1的BAS11。它们的相同之处为都是进行本发明BGP路由控制方法的BGP路由器,就本实施示例的LNS 1212来说,除去支干网方的线路是L2TP这种利用隧道协议的数据链路层虚拟线路之外,在功能上都是相同的。
主干网1203、支干网1201-A、1201-B、1201-C是作为各自不同的AS来构成的,全都具有相互不同的专用AS号。另外,与实施示例1的BAS相同,本实施示例的LNS 1212-A、1212-B作为自身的AS号全都具有相互相同且与主干网1203、支干网1201-A、1201-B、1201-C的任一个都不同的专用AS号。
本实施示例的LNS 1212-A、1212-B全都与主干网边缘路由器1213-A、1213-B的双方相连接。还有,与实施示例1相同,连接1台LNS的主干网边缘路由器必须全部属于相同的AS。
在本实施示例的LNS 1212-A、1212-B和支干网1201-A、1201B、1201-C之间,设置LAC(L2TP Access Concentrator)1214-A、1214-B、1214-C。在LAC 1214和LNS 1212之间存在L2TP网1204,是利用L2TP进行封装所用的IP网,在LAC 1214和LNS 1212之间如图所示建立利用L2TP的虚拟数据链路层线路。支干网边缘路由器1211-A、1211-B、1211-C通过物理或逻辑线路分别与LAC 1214-A、1214-B、1214-C相连接,在该线路上利用PPP协议建立有以1对1方式与LNS和LAC之间的L2TP隧道对应的隧道。据此,支干网边缘路由器1211-A、1211-B、1211-C在IP层次上与本实施示例的LNS 1212-A、1212-B的各自直接连接。LAC 1214虽然对于L2TP网1204内部是作为路由器进行动作的,但是对于外部则有关IP层是透过的,因此在关于支干网边缘路由器1211和LNS 1212之间的BGP路由控制进行设计时,可以忽视LAC 1214的存在。
还有,当实施本发明时,在具备本发明BGP路由控制方法的BGP路由器(本实施示例的LAC和实施示例1的BAS)和其配对路由器之间,如果数据链路层上的连接性被保证则也可以使用任何线路。例如,也可以利用其它隧道协议来连接本实施示例的支干网边缘路由器1211和LNS 1212之间,该其它隧道协议是MPLS和IPSec(SecurityArchitecture for Internet Protocol)等提供数据链路层连接性的协议。
在上面的连接线路基础上,主干网边缘路由器1213-A、1213-A全都与本实施示例的LNS 1212-A、1212-B双方建立EBGP配对连接。支干网边缘路由器1211-A、1211-B、1211-C全都与本实施示例的LNS1212-A、1212-B双方建立EBGP配对连接。由于本实施示例的LNS1212-A、1212-B进行按照本发明BGP路由控制方法的路由控制,因而可以通过这些配对连接,在主干网1203和支干网1201-A、1201-B、1201-C之间进行采用BGP的策略路由控制。
例如考虑到下述情形,即采用BGP使路由信息流向各支干网,该路由信息是处于主干网内与到IP地址前缀Z网络的到达路由有关的信息。但是,根据主干网1203内的网络结构以及主干网1203和LNS 1212之间的线路带宽等的状况,设为想按照主干网边缘路由器1213-A和LNS 1212-A之间的线路、主干网边缘路由器1213-B和LNS 1212-B之间的线路、主干网边缘路由器1213-A和LNS 1212-B之间的线路以及主干网边缘路由器1213-B和LNS 1212-A之间的线路优先次序,使IP数据包通过,该IP数据包具有与地址前缀Z匹配的目的地。
这种场合下,可以从主干网边缘路由器1213-A向LNS 1212-A将MED属性值设为50,从主干网边缘路由器1213-B向LNS 1212-B将MED属性值设为100,从主干网边缘路由器1213-A向LNS 1212-B将MED属性值设为150,从主干网边缘路由器1213-B向LNS 1212-A将MED属性值设为200,而通告与目的地Z有关的BGP路由信息。接收到这些路由信息的本实施示例LNS 1212-A、1212-B对与目的地Z有关的路由信息进行比较来选择最佳路由,以保持MED属性值的原状态将其最佳路由的路由信息向支干网边缘路由器1211-A、1211-B、1211-C进行通告。据此,来自LNS 1212-A其MED属性值为50以及来自LNS 1212-B其MED属性值为100的与目的地Z有关的路由信息,到达支干网边缘路由器1211-A、1211-B、1211-C的各自。而且,从支干网边缘路由器1211表明,本实施示例的LNS 1212-A、1212-B属于主干网1203的AS。为此,支干网边缘路由器1211使用MED属性来比较双方的路由信息,以MED属性值较小的来自LNS1212-A的路由信息作为最佳路由加以选择。
作为结果,从支干网1201-A、1201-B、1201-C发给主干网1203内网络1221的IP数据包流通量,经由LNS 1212-A和主干网边缘路由器1213-A到达。倘若,在主干网边缘路由器1213-A、LNS 1212-A及将它们连结的线路任一个中发生故障的场合下,由于MED属性值50的路由信息被取消,MED属性值100的路由信息成为最佳路由,因而转换成经由LNS 1212-B和主干网边缘路由器1213-B的路由。