实现三层VPN网络接入的系统及方法与流程

文档序号:16848065发布日期:2019-02-12 22:29阅读:999来源:国知局
本申请涉及计算机网络领域,具体涉及一种实现三层vpn网络接入的系统以及一种实现三层vpn网络接入的方法。
背景技术
::在经济全球化的今天,公司各分支机构,公司与合作伙伴、供应商,公司与客户之间都可能建立连接通道以进行信息传送。传统的企业网组网方案中,要进行远端lan到lan互连,除了租用ddn专线或帧中继之外,并无更好的解决方法。但是这样的方案必然导致高昂的长途线路租用费及长途电话费。于是,虚拟专用网vpn(virtualprivatenetwork)应运而生了。现有技术下,ip网络中,运营商为了实现三层vpn网络互联(图1为现有技术下实现三层vpn网络接入的系统架构图),需要运营商在网络边缘部署边界路由器pe,pe路由器和客户路由器ce之间通过ebgp协议或其他igp路由协议通告路由,pe路由器之间通过mp-bgp通告路由实现基于mpls的三层vpn。现有技术提供的实现三层vpn网络接入的方案存在一些缺陷:首先,运营商需要投资pe路由器搭建mplsl3vpn网络,由于pe路由器需要采用高端路由器,因此投资较大;其次,在配置pe路由器时需要通过命令行进行大量复杂的路由协议的配置,不仅使前期开通业务和维护比较复杂,而且后期进行故障排查也比较困难。综上所述,现有的实现三层vpn网络接入的方案存在投资较大、业务开通较复杂、故障排查比较困难的问题。技术实现要素:本申请提供一种实现三层vpn网络接入的系统,以解决现有的实现三层vpn网络互联的系统存在投资较大、业务开通较复杂、故障排查比较困难的问题。本申请提供一种实现三层vpn网络接入的系统,所述系统包括:至少两台客户路由器、若干台openflow交换机以及sdn控制器;这些设备之间具有下列关系:在业务接入点部署openflow交换机用于提供三层vpn网络接入;每台客户路由器至少与一台openflow交换机连接;所述sdn控制器通过openflow协议管理所述openflow交换机;所述sdn控制器与每台客户路由器之间分别建立bgp邻居关系;所述sdn控制器通过bgp路由协议学习到每台客户路由器的路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器;所述每台客户路由器根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息;所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,openflow交换机根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。可选的,所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,包括:所述sdn控制器将客户路由器的bgp路由信息逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机;或者所述sdn控制器将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机。可选的,当采用将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机上的方式时,所述sdn控制器和所述客户路由器互联的ip地址位于同一个大的网段内。可选的,所述sdn控制器将从客户路由器学习的bgp路由通告给其他客户路由器时,采用bgprouteserver技术或者bgp路由策略技术确保通告路由的bgp下一跳地址保持不变。可选的,建立bgp邻居关系时所使用的路由协议包括:ebgp路由协议或ibgp路由协议。本申请还提供一种实现三层vpn网络接入的方法,所述方法包括:在业务接入点部署openflow交换机并且集中部署sdn控制器;sdn控制器与每台客户路由器之间分别建立bgp邻居关系;所述sdn控制器通过bgp路由协议学习到每台客户路由器的路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器;所述每台客户路由器根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息;所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,openflow交换机根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。可选的,所述sdn控制器与每个客户路由器之间分别建立bgp邻居关系,包括:所述sdn控制器在每个openflow交换机接入客户路由器的端口和sdn控制器之间建立一条管理vll;所述sdn控制器通过所述管理vll与每个所述客户路由器之间分别建立bgp邻居关系。可选的,所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,包括:所述sdn控制器将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机。可选的,所述方法包括:所述sdn控制器和所述客户路由器互联的ip地址位于同一个大的网段内。可选的,所述sdn控制器将从客户路由器学习的bgp路由通告给其他客户路由器时,采用bgprouteserver技术或者bgp路由策略技术确保通告路由的bgp下一跳地址保持不变。可选的,所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,包括:所述sdn控制器将客户路由器的bgp路由信息逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机。可选的,建立bgp邻居关系时所使用的路由协议包括:ebgp路由协议或ibgp路由协议。与现有技术相比,本发明具有以下优点:本申请提供一种实现三层vpn网络接入的系统,所述系统包括:至少两台客户路由器、若干台openflow交换机以及sdn控制器;这些设备之间具有下列关系:在在业务接入点部署openflow交换机用于提供三层vpn网络接入;每台客户路由器至少与一台openflow交换机连接;所述sdn控制器通过openflow协议管理所述openflow交换机;所述sdn控制器与每台客户路由器之间分别建立bgp邻居关系;所述sdn控制器通过bgp路由协议学习到每台客户路由器的路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器;所述每台客户路由器根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息;所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,openflow交换机根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。本申请提供的实现三层vpn网络接入的系统具有以下优点:首先,本申请方案中的骨干网络设备采用的openflow交换机,通常采用支持openflow协议的白盒交换机,属于中低端设备,因此投资较小;其次,本申请提供的系统中的路由协议以及业务开通和维护由sdn控制器实现,由于sdn网络采用图形化界面,其用户界面更友好,可以极大的减少网络投资并且可以提供业务的快速开通和灵活管理。附图说明图1是现有技术下实现三层vpn网络接入的系统架构图。图2是本申请第一实施例采用第一种方式构造openflow流表的系统示意图。图3是本申请第一实施例采用第二种方式构造openflow流表的系统示意图。图4是本申请第二实施例提供的实现三层vpn网络接入的方法的流程图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。在介绍本申请的实施例之前,先对本申请的相关技术术语进行介绍。路由表:是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径。vpn:在公用的通信基础平台上提供私有网络的技术,运营商一般通过隧道协议和采用安全机制来满足客户的私密性需求。三层vpn(l3vpn):应用于有三层需求的的私有网络业务。l3vpn业务采用路由的方式进行流量的转发。在路由器接收到流量数据包后,在路由转发表中查找流量数据包的目的地址,使用预先建立的通道进行流量数据包跨网络的传送。为了感知客户网络,运营商采用边界路由器pe和客户路由器ce进行路由信息的交互。sdn:softwaredefinednetworking,即软件定义网络,相对于传统网络的一种创新的新型网络架构,旨在实现使网络设备的数据平面和控制平面的彻底分离。sdn控制器(sdncontroller):指和网元(包括交换机、路由器等)进行交互的控制单元,单个或多个控制器组成控制平面。mplslabel:mpls是利用标记(label)进行数据转发的。当分组进入网络时,要为其分配固定长度的短标记,并将标记与分组封装在一起,在整个转发过程中,交换节点仅根据标记进行转发。openflow:一种新的网络协议,在转发层面定义了新的网络交换模型,在控制层面定义了与转发设备通信的标准。vll:virtualleasedline,2层虚拟专线。bgp:常用的ip路由协议,用于在不同的路由器之间通告路由。ebgp:外部边界网关协议。ibgp:内部边界网关协议。vlan:虚拟局域网,将业务隔离在一个二层网络内。ofs:openflow交换机的简称。mac:为网络设备的物理地址、硬件地址,用来定义的位置。在osi模型中,第三层网络层负责ip地址,第二层数据链路层则负责mac地址。客户路由器ce(customeredge),用户边缘设备,服务提供商所连接的用户端路由器。客户路由器ce通过连接一个或多个pe路由器,为用户提供服务接入。流表,由多个流表项组成,每个流表项就是一个转发规则,进入交换机的流量数据包通过查询流表来获得转发目的端口。本申请第一实施例为一种实现三层vpn网络接入的系统,所述系统包括:至少两台客户路由器、若干台openflow交换机以及sdn控制器;这些设备之间具有下列关系:在业务接入点部署openflow交换机用于提供三层vpn网络接入;每台客户路由器至少与一台openflow交换机连接;所述sdn控制器通过openflow协议管理所述openflow交换机;所述sdn控制器与每台客户路由器之间分别建立bgp邻居关系;所述sdn控制器通过bgp路由协议学习到每台客户路由器的路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器;所述每台客户路由器根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息;所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,openflow交换机根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。在具体实施时,所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,包括两种构造openflow流表的方式:第一种方式:所述sdn控制器将客户路由器的bgp路由信息逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机;第二种方式:所述sdn控制器将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机。图2示出了本申请第一实施例采用第一种方式构造openflow流表的系统示意图。图3示出了本申请第一实施例采用第二种方式构造openflow流表的系统示意图。在具体实施时,所述sdn控制器与每台客户路由器之间分别建立bgp邻居关系时,sdn控制器首先在每个openflow交换机接入客户路由器的端口和sdn控制器之间建立一条管理vll,然后sdn控制器通过所述管理vll与每个所述客户路由器之间分别建立bgp邻居关系。sdn控制器在与客户路由器建立bgp邻居关系时可以采用ebgp路由协议,也可以采用ibgp路由协议。图2和图3中,sdn控制器与每台客户路由器之间建立了ebgp邻居。在整个系统中,sdn控制器处于核心的地位,sdn控制器通过邻居路由协议(例如ebgp)学习到每台客户路由器的bgp路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器,使其他客户路由器可以学习到远端网络的bgp路由信息。例如,图2和图3中,sdn控制器通过ebgp路由协议学习到客户路由器ce1的bgp路由信息,并将其通告给客户路由器ce2和ce3;sdn控制器还将学习到的客户路由器ce2和ce3的bgp路由信息通告给客户路由器ce1。通过sdn控制器将客户路由器的bgp路由信息通告给其他客户路由器,每个客户路由器都学习到了其他路由器的bgp路由信息。sdn控制器中还记录每个ce互联ip地址对应的mac地址信息,例如图2和图3中ce1对应的mac地址信息为00:00:00:00:00:01,ce2对应的mac地址信息为00:00:00:00:00:02,ce3对应的mac地址信息为00:00:00:00:00:03。需要说明的是,采用第二种方式构造openflow流表时,sdn控制器和客户路由器互联的ip地址需要处于一个大的网段内。例如,图3中,sdn控制器和客户路由器ce1,ce2,ce3互联的ip地址在一个大的网段内:10.1.1.0/24。sdn控制器在通告客户路由器路由的时候,如果采用常规bgp路由通告的方法,会把通告的路由的bgp下一跳地址改为sdn控制器自己的ip地址,这不符合方案中的流表设计要求。因此在sdn通告客户路由器路由时,需要通过bgprouteserver技术,或者bgp路由策略技术,确保通告的客户路由器路由的bgp下一跳地址保持不变。在每台客户路由器学习到的其他客户路由器的bgp路由信息后,就可以根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息。例如,图2的本地路由表信息:ce1:routingtable:11.1.1.0/24本地直连11.1.2.0/24next-hop10.1.1.211.1.3.0/24next-hop10.1.1.2ce2:11.1.2.0/24本地直连routingtable:11.1.1.0/24next-hop10.1.2.211.1.3.0/24next-hop10.1.2.2ce3:routingtable:11.1.3.0/24本地直连11.1.1.0/24next-hop10.1.3.211.1.2.0/24next-hop10.1.3.2图3的本地路由表信息为:ce1:routingtable:11.1.1.0/24本地直连11.1.2.0/24next-hop10.1.1.211.1.3.0/24next-hop10.1.1.3ce2:routingtable:11.1.2.0/24本地直连11.1.1.0/24next-hop10.1.1.111.1.3.0/24next-hop10.1.1.3ce3:routingtable:11.1.3.0/24本地直连11.1.1.0/24next-hop10.1.1.111.1.2.0/24next-hop10.1.1.2要保证openflow交换机对流量的正确转发,需要对其配置openflow流表,在配置流表时有两种方式,第一种方式:所述sdn控制器将客户路由器的bgp路由信息逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机,即sdn控制器通过学习到的全网络的bgp路由信息,逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机。例如,图2中openflow交换机的openflow流表为:ofs-1openflowtable:entry1:matchin_portp1+dip11.1.2.0/24actions=output:link1,dmac=00:00:00:00:00:02entry2:matchin_portp1+dip11.1.3.0/24actions=output:link3,dmac=00:00:00:00:00:03entry3:matchdip11.1.1.0/24actions=output:p1ofs-2openflowtable:entry1:matchin_portp1+dip11.1.1.0/24actions=output:link1,dmac=00:00:00:00:00:01entry2:matchin_portp1+dip11.1.3.0/24actions=output:link2,dmac=00:00:00:00:00:03entry3:matchdip11.1.2.0/24actions=output:p1ofs-3openflowtable:entry1:matchin_portp1+dip11.1.1.0/24actions=output:link3,dmac=00:00:00:00:00:01entry2:matchin_portp1+dip11.1.2.0/24actions=output:link2,dmac=00:00:00:00:00:02entry3:matchdip11.1.3.0/24actions=output:p1其中,link1、link2、link3为sdn控制器在openflow交换机之间建立的业务流量vll,用于转发业务流量。link1:ofs1和ofs2之间转发ce1和ce2之间的流量link2:ofs1和ofs3之间转发ce1和ce3之间的流量link1:ofs2和ofs3之间转发ce2和ce3之间的流量dip为流量的目的ip,dmac为流量的目的mac,当流量从客户路由器ce送给openflow交换机时,目的mac地址是sdn控制器的mac,本地openflow交换机会直接通过link1,link2,link3等链路将流量直接送给目的端的openflow交换机,所以本地的openflow交换机需要将流量的目的mac改成流量最终到达的目的客户路由器设备的mac地址。需要说明的是,本例中的流表项entry并不是完整的流表项,是为了介绍本申请节选的与本申请相关的部分。在配置完交换机的流表后,openflow交换机就可以根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。例如,图2中,ce1收到network1到network2的流量,根据流量的目的地址网段11.1.2.0/24查询本地路由表后会将流量送给和ofs-1互联的端口,ofs-1上会根据流量的入端口p1,流量目的ip匹配到entry1,流量会通过路径link1送给ofs-2,ofs-2根据目的ip匹配到entry3后从端口p1送出给ce2。通过流表实现了从network1到network2的流量转发。第一种方式下,匹配流表的条件是流量进入的端口,以及流量的目的ip地址,由于目的ip地址的数量会很多,而且链路中断、客户路由器路由变化等原因都会引起路由变化,造成openflow交换机要支持大量的流表条目,而且sdn控制器需要经常更新流表。第二种方式:所述sdn控制器将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机上,实现流表的配置。sdn控制器将学习到的客户路由器的互联接口的mac地址映射成openflow流表中转发条目,由于每个客户路由器的互联接口的mac地址只有一个,因此会减少转发条目的数量。例如,图3中openflow交换机的openflow流表为:ofs-1openflowtable:entry1:matchin_portp1+dmac00:00:00:00:00:02actions=output:link1entry2:matchin_portp1+dmac00:00:00:00:00:03actions=output:link3entry3:matchdmac00:00:00:00:00:01actions=output:p1ofs-2openflowtable:entry1:matchin_portp1+dmac00:00:00:00:00:01actions=output:link1entry2:matchin_portp1+dmac00:00:00:00:00:03actions=output:link2entry3:matchdmac00:00:00:00:00:02actions=output:p1ofs-3openflowtable:entry1:matchin_portp1+dmac00:00:00:00:00:01actions=output:link3entry2:matchin_portp1+dmac00:00:00:00:00:02actions=output:link2entry3:matchdmac00:00:00:00:00:03actions=output:p1其中,link1、link2、link3、dmac与图2相同,不再详述。在配置完交换机的流表后,openflow交换机就可以根据openflow流表实现客户路由器所连接的网络之间的流量的转发。例如,图3中,ce1收到network1到network2的流量,根据流量的目的地址网段11.1.2.0/24查询本地路由表,该路由的next-hop为10.1.1.2,所以将数据报文的目的mac设置为00:00:00:00:00:02后送给和ofs-1互联的端口,ofs-1上会根据流量的入端口p1,流量目的mac匹配到entry1,流量会通过路径link1送给ofs-2,ofs-2根据目的mac匹配到entry3后从端口p1送出给ce2。采用第二种方式,匹配流表的条件是流量进入的端口,以及流量的目的mac地址,由于匹配的目的mac很少,此处mac是客户路由器端口的mac,和用户流量的目的ip没有关系,这样可以大量减少ofs需要支持的流表条目数,用户路由的震荡收敛也不会影响流表的内容,增加了系统的稳定性。采用第一种方式的图2中,当每个客户路由器ce后面连的network数量变成3个时,例如:ce1连的network:11.1.1.0/24,11.1.11.0/24,11.1.21.0/24ce2连的network:11.1.2.0/24,11.1.12.0/24,11.1.22.0/24ce3连的network:11.1.3.0/24,11.1.13.0/24,11.1.23.0/24则ops-1流表为:entry1:matchin_portp1+dip11.1.2.0/24actions=output:link1,dmac=00:00:00:00:00:02entry2:matchin_portp1+dip11.1.12.0/24actions=output:link1,dmac=00:00:00:00:00:02entry3:matchin_portp1+dip11.1.22.0/24actions=output:link1,dmac=00:00:00:00:00:02entry4:matchin_portp1+dip11.1.3.0/24actions=output:link3,dmac=00:00:00:00:00:03entry5:matchin_portp1+dip11.1.13.0/24actions=output:link3,dmac=00:00:00:00:00:03entry6:matchin_portp1+dip11.1.23.0/24actions=output:link3,dmac=00:00:00:00:00:03entry7:matchdip11.1.1.0/24actions=output:p1entry8:matchdip11.1.11.0/24actions=output:p1entry9:matchdip11.1.21.0/24actions=output:p1可见,采用第一种方式时,openflow交换机的流表项数量随着客户路由器ce后面连接的network数量的增加而增加。在图3中,当每个ce后面连接的network数量变成3个时,每个ops流表仍然包含3条流表项。下表比较了ce本地通告路由条目数不同的情况下流表的大小:由上表可见,采用第二种方式时,当网络拓扑确定了之后,客户路由器ce增加、减少路由表条目数,都不会影响openflow交换机的流表项数,用户路由的震荡收敛也不会影响流表的内容,可见,采用第二种方式增加了系统的稳定性。以上介绍了实现三层vpn网络接入的系统,本申请的系统采用中低端openflow交换机代替传统的高端pe路由器,因此投资较小;其次,本申请提供的系统中的路由协议以及业务开通和维护由sdn控制器实现,由于sdn网络采用图形化界面,其用户界面更友好,可以极大的减少网络投资并且可以提供业务的快速开通和灵活管理。尤其采用第二种方式,还能够增加系统的稳定性。在以本申请提供的实现三层vpn网络接入的系统为基础,本申请第二实施例提供了实现三层vpn网络接入的方法。请参见图4,其示出了本申请第二实施例提供的实现三层vpn网络接入的方法的流程图。以下结合图2、图3、图4介绍。步骤s401,在业务接入点部署openflow交换机并且集中部署sdn控制器。所述业务接入点,指运营商的业务接入点。在具体实施时,将sdn控制器部署在服务器上,sdn控制器通过openflow协议控制openflow交换机。步骤s402,sdn控制器与每台客户路由器之间分别建立bgp邻居关系。本步骤的目的是通过sdn控制器与每台客户路由器之间分别建立bgp邻居关系,实现sdn控制器与客户路由器之间交换路由信息。所述邻居关系是指采用某种路由协议建立的邻居关系,例如ebgp路由协议邻居关系。所述sdn控制器与每台客户路由器之间分别建立bgp邻居关系时,sdn控制器首先在每个openflow交换机接入客户路由器的端口和sdn控制器之间建立一条管理vll,然后sdn控制器通过所述管理vll与每个所述客户路由器之间分别建立bgp邻居关系。sdn控制器在与客户路由器建立bgp邻居关系时可以采用ebgp路由协议,也可以采用ibgp路由协议。图2和图3中,sdn控制器与每台客户路由器之间建立了ebgp邻居。步骤s403,所述sdn控制器通过bgp路由协议学习到每台客户路由器的路由信息,并将从每台客户路由器学习的bgp路由信息通告给其他客户路由器。在sdn控制器与每台客户路由器之间分别建立bgp邻居关系后,sdn控制器便可以将通过从每台客户路由器学习的bgp路由信息通告给其他客户路由器。例如,图2和图3中,sdn控制器通过ebgp路由协议学习到客户路由器ce1的bgp路由信息,并将其通告给客户路由器ce2和ce3;sdn控制器还将学习到的客户路由器ce2和ce3的bgp路由信息通告给其他客户路由器。通过sdn控制器将客户路由器的bgp路由信息通告给客户路由器ce1,每个客户路由器都学习到了其他路由器的bgp路由信息。sdn控制器中还记录每个ce互联ip地址对应的mac地址信息,例如图2和图3中ce1对应的mac地址信息为00:00:00:00:00:01,ce2对应的mac地址信息为00:00:00:00:00:02,ce3对应的mac地址信息为00:00:00:00:00:03。步骤s404,所述每台客户路由器根据学习到的其他客户路由器的bgp路由信息建立本地路由表信息。客户路由器路由表信息中包括路由网段以及下一跳的信息,当流量转发时,客户路由器根据流量的目的ip地址查询路由表信息,匹配到相应的路由条目后进行流量转发。例如,图2的本地路由表信息:ce1:routingtable:11.1.1.0/24本地直连11.1.2.0/24next-hop10.1.1.211.1.3.0/24next-hop10.1.1.2ce2:11.1.2.0/24本地直连routingtable:11.1.1.0/24next-hop10.1.2.211.1.3.0/24next-hop10.1.2.2ce3:routingtable:11.1.3.0/24本地直连11.1.1.0/24next-hop10.1.3.211.1.2.0/24next-hop10.1.3.2图3的本地路由表信息为:ce1:routingtable:11.1.1.0/24本地直连11.1.2.0/24next-hop10.1.1.211.1.3.0/24next-hop10.1.1.3ce2:routingtable:11.1.2.0/24本地直连11.1.1.0/24next-hop10.1.1.111.1.3.0/24next-hop10.1.1.3ce3:routingtable:11.1.3.0/24本地直连11.1.1.0/24next-hop10.1.1.111.1.2.0/24next-hop10.1.1.2步骤s405,所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,openflow交换机根据openflow流表实现客户路由器所连接的网络之间的流量的转发,从而实现了三层vpn网络接入。所述sdn控制器根据收集到的bgp路由信息和路由拓扑信息构造不同的openflow流表并下发到相应的openflow交换机,包括两种构造openflow流表的方式:第一种方式:所述sdn控制器将客户路由器的bgp路由信息逐条映射成openflow交换机的openflow流表中的转发条目下发到相应的openflow交换机;第二种方式:所述sdn控制器将所述客户路由器的互联接口的mac地址映射成openflow流表中的转发条目下发到相应的openflow交换机。需要说明的是,采用第二种方式构造openflow流表时,sdn控制器和客户路由器互联的ip地址需要处于一个大的网段内。例如,图3中,sdn控制器和客户路由器ce1,ce2,ce3互联的ip地址在一个大的网段内:10.1.1.0/24。sdn控制器在通告客户路由器路由的时候,如果采用常规bgp路由通告的方法,会把通告的路由的bgp下一跳地址改为sdn控制器自己的ip地址,这不符合方案中的流表设计要求。因此在sdn通告客户路由器路由时,需要通过bgprouteserver技术,或者bgp路由策略技术,确保通告的客户路由器路由的bgp下一跳地址保持不变。两种方式产生的openflow流表、流量转发实现过程、以及两种方式的区别在第一实施例中进行了详细的介绍,详情参见第一实施例,此处不再详述。本申请提供的实现三层vpn网络接入的方法,通过sdn网络来提供客户网络间的三层vpn互联,骨干网络设备由支持openflow协议的白盒交换机搭建,可以极大的减少网络投资;此外,本申请提供的方法中的路由协议以及业务开通和维护由sdn控制器实现,由于sdn网络采用图形化界面,其用户界面更友好,可以提供业务的快速开通和灵活管理。本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1