一种跨多自治系统混合网络虚拟专用网的实现方法

文档序号:7626300阅读:120来源:国知局
专利名称:一种跨多自治系统混合网络虚拟专用网的实现方法
技术领域
本发明涉及虚拟专用网领域,特别是一种跨多自治系统混合网络虚拟专用网的实现方法。
背景技术
多协议标签交换(MPLS)是一种结合了网络协议(IP)的路由功能和异步传输模式(ATM)的快速转发功能的技术。因此,MPLS通过将IP数据包构造为带标签的MPLS包,可以实现IP数据包的快速转发。边界网关协议/多协议标签交换(BGP/MPLS)虚拟专用网(VPN)是一种三层VPN技术,它利用BGP的多协议扩展属性传递带标签的VPN路由,并通过MPLS的标签特性进行业务的隔离转发,从而提供VPN服务。
BGP/MPLS VPN按照其拓扑结构类型,可分为单自治系统BGP/MPLSVPN和跨多自治系统BGP/MPLS VPN,两者的区别在于前者提供BGP/MPLSVPN服务的骨干网络是由单个自治系统组成,而后者是由多个自治系统组成。另外,按照VPN用户间通信的IP版本是否相同,可分为VPN同类网站点间通信和异类网站点间通信,两者区别在于相互通信的VPN站点所在网络的IP版本是否相同。
在关于ppvpn标准RFC2547的IETF草案4(draft-ieft-ppvpn-rfc2547bis-04)中,已经提出了全网络协议版本4(IPv4)网络单自治系统和跨多自治系统BGP/MPLS VPN同类网通信的解决方案,在RFC2766中提出了利用NAT-PT技术实现纯网络协议版本6(IPv6)网络中的主机与纯IPv4网络中的主机进行通信的方案,而在draft-ieft-13vpn-bgp-ipv6-02中提出了针对IPv4 MPLS骨干网络和IPv6 VPN用于网络的单自治系统BGP/MPLS VPN解决方案。以下分别描述上述三种现有的技术方案。
现有技术一在RFC2547BIS中提出了基于IPv4骨干网络跨多自治系统BGP/MPLSVPN的三种解决方案,这里以其中第一种解决方案为例说明,该方案如图1所示。
如图1所示,MPLS骨干网由AS100和AS200两个自治系统组成,提供商边缘设备(PE)1连接VPN A站点1(site1)和VPN B站点2(site2),PE2连接VPN A站点3(site3)和VPN B站点4(site4)。并且,图1中所有的网络均为IPv4网络。
为了实现VPN站点间的通信,首先需要在VPN站点间进行VPN路由学习,再根据学习到的VPN路由进行业务数据的通信。其中,前一过程称为VPN控制流的传递,后一过程称为业务流的转发。下面以站点1的路由100.0.0.0/8发布到站点3说明该方案中控制流的传递过程,以站点3向站点1发送目的地址为100.0.0.1的VPN业务流为例说明该方案中业务流的转发过程。
首先说明控制流的传递过程,该过程包括以下步骤步骤101,站点1的用户边缘设备(CE)1与PE1之间配置静态路由、内部网关协议(IGP)或外部边缘网关协议(EBGP),CE1向PE1通告所述VPN路由100.0.0.0/8。
步骤102,根据与VPN A站点1对应的接口,PE1将接收到的VPN路由100.0.0.0/8写入PE1的虚拟路由转发表(VRF)1中,并为该路由分配标签;其中VRF1是对应于VPN A的虚拟路由转发表,VRF2是对应于VPN B的虚拟路由转发表。
步骤103,在PE1与自治系统边界路由器(ASBR)1之间,通过配置多协议-内部边缘网关协议(MP-IBGP),PE1将VPN路由100.0.0.0/8连同为其分配的标签一起通告到ASBR1。
步骤104,ASBR1将该VPN路由写入本地的VRF1中。
步骤105,ASBR1中的VRF1和VRF2通过物理或逻辑的连接分别与ASBR2中的VRF1和VRF2相连,因此ASBR1可以将VRF1中的VPN路由100.0.0.0/8通告到ASBR2的VRF1中。
步骤106,ASBR2为上述VPN路由100.0.0.0/8重新分配标签,并将该标签与该VPN路由一同通过MP-IBGP通告到PE2。
步骤107,PE2接收到该VPN路由,将其写入本地VRF1中。
步骤108,根据VRF1与VPN站点的对应关系,PE2通过IGP、EBGP或静态路由将该VPN路由通告到站点3。
接着说明站点3向站点1发送目的地址为100.0.0.1的VPN业务流的过程,该过程包括以下步骤步骤121,CE3通过查找本地路由表,将目的地址为100.0.0.1的VPN业务流转发到PE2。
步骤122,PE2根据与站点3对应的VRF1,查找目的地址为100.0.0.1的前缀路由及其标签,然后将该业务流封装为MPLS报文,转发至ASBR2。
步骤123,与步骤105一样,ASBR2的VRF1与ASBR1的VRF1之间的存在物理或逻辑的连接,因此ASBR2将还原的VPN业务流转发至ASBR1。
步骤124,ASBR1在本地VRF1中查找得到目的地址为100.0.0.1的前缀路由及标签,根据此标签将接收到的该VPN业务流封装为MPLS包转发至PE1。
步骤125,PE1将接收到的MPLS包还原为IP数据包,并根据弹出的标签将该业务流转发至站点3。
从上述方案可以看出,RFC2547BIS中的跨多自治系统BGP/MPLS VPN解决方案一,只能解决基于IPv4网络的BGP/MPLS VPN,不能解决MPLS骨干网络和VPN站点为IPv4/IPv6混合网络的BGP/MPLS VPN。
现有技术二在RFC2766中,提出了利用网络地址转换-协议转换(NAT-PT)技术实现纯IPv6网络中的主机与纯IPv4网络中的主机之间进行通信的方案。该技术方案如图2所示,其中网络1为纯IPv6网络,网络2为纯IPv4网络;图中NAT-PT为网络地址转换-协议转换器,用于完成IP包、网间控制报文协议(ICMP)包在IPv4和IPv6之间的转换;域名服务-应用层网关(DNS-ALG),用于实现域名服务(DNS)请求应答报文在IPv4和IPv6之间的转换,以及检测IP包中所封装的上层报文中的IP地址。图二中短虚线(201至206)所示为网络1中的IPv6主机A发起向网络2中的IPv4主机B通信的域名解析过程,长虚线(221至226)所示为网络2中的IPv4主机B发起向网络1中的IPv6主机A通信的域名解析过程。
参照图2,网络1中IPv6主机A发起向网络2中IPv4主机B的通信过程如下步骤201,主机A向NAT-PT发送IPv6 DNS请求。
步骤202,NAT-PT收到该请求,由DNS-ALG将该请求转换为IPv4 DNS请求,并发往网络2的IPv4 DNS服务器。
步骤203,网络2中的DNS服务器将解析回的IPv4地址返回NAT-PT。
步骤204,NAT-PT在该IPv4地址前添加特定地址前缀并返回主机A。
步骤205,主机A用此IPv4地址构造IPv6数据包,并发送给NAT-PT,该IPv6数据包由于目的地址的特定前缀被路由到NAT-PT。
步骤206,NAT-PT使用去掉前缀的IPv4地址作为目的地址,转换该IPv6数据包为IPv4数据包,并发往主机B。
继续参照图2,网络2中IPv4主机B发起向网络1中IPv6主机A的通信过程如下步骤221,主机B向NAT-PT发送IPv4 DNS请求。
步骤222,NAT-PT接收到该请求后,DNS-ALG将该请求转换为IPv6DNS请求,并发往网络1中的IPv6 DNS服务器。
步骤223,网络1中的DNS服务器将解析回的IPv6地址返回给NAT-PT。
步骤224,NAT-PT从本地具有特定地址前缀的IPv4地址池中选出一个IPv4地址返回给主机B。
步骤225,主机B用此IPv4地址构造IPv4数据包,并发送给NAT-PT,由于该IPv4数据包目的地址具有特定前缀,因此该数据包被路由到NAT-PT。
步骤226,NAT-PT找到与该数据包目的地址对应的IPv6地址,以此地址为目的IPv6地址,将该IPv4数据包转换为IPv6数据包,并发往主机A。
从上述技术方案可以看出,现有技术二只是提供了相邻的IPv4网络和IPv6网络中主机通信的方案,对于跨越多个自治系统的异类网络站点之间的通信,并没有提出解决方案。
现有技术三在draft-ieft-13vpn-bgp-ipv6-02中,提出了骨干网为IPv4或IPv6单自治系统、且VPN用户站点为IPv6网络下的BGP/MPLS VPN解决方案,该方案如图3所示。参照图3,所有VPN用户站点均为IPv6网络,MPLS骨干网为IPv4网络;其中,VPN A站点1、VPNB站点2接入PE1,VPN A站点3、VPNB站点4接入PE2。
以下参照图3描述将站点1的VPN路由3ffe3240∷/32通告到站点3的控制流传递过程,以及站点3向站点1发送目的地址为3ffe3240∷1的VPN业务流的业务流传递过程,来说明现有技术三。
首先描述控制流的传递过程步骤301,CE1通过静态路由、EBGP、IGP等方法向PE1发布站点1内的VPN路由3ffe3240∷/32。
步骤302,PE1收到上述站点的VPN路由,将其写入VPN A对应的IPv6VRF1中,并为该路由分配标签。
步骤303,PE1通过MP-IBGP将上述带标签的IPv6路由通告给PE2。在通告VPN路由的BGP报文中,多协议可达属性中的可达信息为IPv6 VPN路由3ffe3240∷/32,下一跳字段为PE1的IPv4地址映射的IPv6 VPN地址;步骤304,PE2接收该路由,将其添加到VPN A对应的IPv6 VRF1中。其中,下一跳为PE1的IPv4地址映射的IPv6 VPN地址。
步骤305,PE2通过静态路由、IGP、EBGP等方法向CE3发布该路由。
其次,说明业务流的传递过程,如下步骤321,站点3内目的地址为3ffe3240∷1的IPv6数据包被转发至CE3。
步骤322,CE3查找本地路由表,根据查找到的前缀路由将上述IPv6数据包转发至PE2。
步骤323,PE2查询与VPN站点3对应的VRF1,为该IPv6数据包压入二级标签,其中栈底标签是PE1为站点1的IPv6 VPN路由3ffe3240∷/32路由分配的标签,栈顶标签为PE2到PE1的IPv4标签交换路径(LSP)标签。
步骤324,通过PE2到PE1的LSP,PE2将MPLS包转发至PE1。
步骤325,PE1根据栈底标签将MPLS包还原为IPv6数据包,并将该IPv6数据包转发至站点1中的目的主机。
从上述现有技术三的方案可以看出,该方案解决了骨干网为IPv4或IPv6单自治系统、VPN站点为IPv6网络的VPN站点之间的通信问题,但是现有技术三并没有提出针对BGP/MPLS VPN骨干网络为跨多自治系统的IPv4/v6混合网络、且VPN站点为IPv4/6混合网络的情况的解决方案。

发明内容
有鉴于此,本发明提出了一种跨多自治系统混合网络VPN的实现方法,用以解决在骨干网络为跨多自治系统的IPv4/v6混合网络的VPN站点之间的通信的问题。
根据上述目的,本发明提出了一种跨多自治系统混合网络VPN的实现方法,该方法包括以下步骤A.设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点通过多自治系统混合网络向第二站点通告第一站点的VPN路由;B.第二站点内源主机根据所述路由通过所述多自治系统混合网络向第一站点发送目的地址为第一站点内目的主机的VPN业务流。
在上述技术方案中,所述第一站点和第二站点为同类网站点;所述步骤A包括设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点将第一站点的VPN路由通告给与第一站点连接的第一自治系统,第一自治系统将所述第一站点的VPN路由通告给与第二站点连接的第二自治系统,第二自治系统所述第一站点的VPN路由通告给第二站点;所述步骤B包括第二站点内源主机根据所述路由将所述VPN业务流发送到第二自治系统,第二自治系统将所述VPN业务流发送给第一自治系统,第一自治系统将所述路由发送到第一站点内的目的主机。
在上述方案中,所述步骤A包括A10.在与第一站点连接的第一PE、与第二站点连接的第二PE、第一PE所在自治系统的第一ASBR、第二PE所在自治系统的第二ASBR内,为属于不同VPN的每个虚拟路由转发表VRF分别建立IPv4 VRF及IPv6 VRF;A11.第一站点的第一CE将所述第一站点的VPN路由通告给第一PE;A12.第一PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第一ASBR,并且该VPN路由的下一跳为具有与该VPN路由相同版本IP的第一PE的环回地址;A13.第一ASBR将所述第一站点的VPN路由写入自身的VRF,在转发信息库(FIB)中查找得到VRF中对应该VPN路由的栈顶标签,并通过与第二ASBR之间相连的子接口,将所述第一站点的VPN路由通告到第二ASBR,并且该VPN路由下一跳为具有与该VPN路由相同IP版本的、与第一ASBR内该VPN路由所属VRF对应的子接口IP地址;A14.第二ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二PE;A15.第二PE将所述第一站点的VPN路由写入自身的VRF,在FIB中查找得到VRF中对应该VPN路由的栈顶标签,并将所述第一站点的VPN路由通告到第二站点的第二CE;A16.第二CE将所述第一站点的VPN路由写入自身的路由表;所述步骤B包括B11.第二站点内源主机发出所述VPN业务流;B12.第二CE接收到所述VPN数据流后,根据预先保存在自身路由表中的内容将该VPN数据流发送给与第二站点连接的第二PE;B13.第二PE根据预先保存在自身VRF内的第一站点VPN路由,将所述VPN数据流封装为多协议标签交换MPLS包,发送给第二PE所在自治系统的第二ASBR;B14.第二ASBR还原所述MPLS包得到所述VPN数据流,并根据预先保存在自身的VRF所对应的子接口,将所述VPN数据流发送给与第一站点连接的第一PE所在自治系统的第一ASBR;B15.第一ASBR将所述VPN数据流封装为MPLS包,根据预先保存在自身VRF内的第一站点VPN路由,将所述VPN数据流封装为MPLS包,并将该MPLS包发送给第一PE;B16.第一PE还原所述MPLS包得到所述VPN数据流,并根据预先保存在标签转发信息表中的内容将所述VPN数据流发送给第一站点的第一CE;B17.第一CE将所述VPN数据流转发给所述目的主机。
较佳地,在步骤A11中,第一站点通过外部边界网关协议EBGP、内部网关协议IGP或静态路由向第一PE通告所述第一站点的VPN路由;和/或在步骤A15中,第二PE通过EBGP、IGP或静态路由向第二站点通告所述第一站点的VPN路由。
在步骤A16中,第二CE进一步将所述第一站点的VPN路由通告给第二站点内的其他路由设备。
在步骤A13中,第一ASBR通过预先在第一ASBR与第二ASBR的各个子接口之间配置的EBGP,将第一站点的VPN路由通告到第二ASBR。
步骤A13中所述在FIB中查找得到VRF中对应该VPN路由的栈顶标签的步骤之前,进一步包括判断第一ASBR所在的自治系统的IP版本与该VPN路由的IP版本是否相同,如果相同则直接在FIB中查找得到VRF中对应该VPN路由的栈顶标签,如果不同则对该VPN路由的下一跳进行处理后在FIB中查找得到VRF中对应该VPN路由的栈顶标签;步骤A15中所述在FIB中查找得到VRF中对应该VPN路由的栈顶标签的步骤之前,进一步包括判断第一ASBR所在的自治系统的IP版本与该VPN路由的IP版本是否相同,如果相同则直接在FIB中查找得到VRF中对应该VPN路由的栈顶标签,如果不同则对该VPN路由的下一跳进行处理后在FIB中查找得到VRF中对应该VPN路由的栈顶标签。
在上述技术方案中,所述第一站点和第二站点为异类网站点;所述步骤A包括设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点将第一站点的VPN路由通告给与第一站点连接的第一自治系统,第一自治系统将所述第一站点的VPN路由通告给与第二站点连接的第二自治系统,第二自治系统所述第一站点的VPN路由通告给第二站点,第二站点将所述第一站点VPN路由通告到第二DNS服务器和第二NAT-PT;所述步骤B包括第二站点内源主机根据所述路由通过第二DNS服务器和第二NAT-PT请求得到第一站点内目的主机的第二属性地址,源主机根据所述第二属性地址构造目的地址为所述第二属性地址的第二属性数据包,并将其发送给第一站点内目的主机。
在上述技术方案中,所述步骤A包括A20.设置第一站点内第一DNS服务器的上级DNS服务器地址为第一站点中的第一DNS-ALG地址,设置第二站点内第二DNS服务器的上级DNS服务器地址为第二站点中的第二DNS-ALG地址;A21.第一站点的第一CE将所述第一站点的VPN路由通告给与第一站点连接的第一PE;A22.第一PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第一PE所在自治系统的第一ASBR;A23.第一ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到与第二站点连接的第二PE所在自治系统的第二ASBR;A24.第二ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二PE;A25.第二PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二站点的第二CE;A26.第二CE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二DNS和第二NAT-PT;所述步骤B包括B21.第二站点内的源主机向第二属性DNS服务器发送第二属性DNS请求;B22.第二属性DNS服务器将所述第二属性DNS请求发送给第二DNS-ALG;B23.第二DNS-ALG将所述第二属性DNS请求转换成第一属性DNS请求,并将所述第一属性DNS请求发送给第一站点内的第一属性DNS服务器;B24.第一属性DNS服务器解析所述第一属性DNS请求得到的目的主机的第一属性地址,并将所述目的主机的第一属性地址返回给第二DNS-ALG服务器;B25.第二DNS-ALG服务器根据第一属性地址构造指向第二NAT-PT的第二属性地址,并将所述第二属性地址返回给第二属性DNS服务器;B26.第二DNS服务器将所述第二属性地址返回给源主机;B27.源主机发出目的地址为所述第二属性地址的第二属性数据包,将所述第二属性数据包路由到第二NAT-PT;B28.第二NAT-PT根据第二属性地址得到第一属性地址,将第二属性数据包转换为第一属性数据包,并将所述第一属性数据包发送给第一CE;B29.第一CE将所述第一属性数据包转发给目的主机。
所述第一站点为IPv4网络站点,所述第二站点为IPv6网络站点;所述第一属性为IPv4,所述第二属性为IPv6;在步骤B25中,所述第二DNS-ALG服务器根据所述IPv4地址构造IPv6地址的步骤包括第二DNS-ALG服务器在IPv4地址前添加特定地址前缀,构造所述IPv6地址;在步骤B29中,所述第二NAT-PT根据IPv6地址得到IPv4地址的步骤包括第二NAT-PT取出所述IPv6地址中的后32位,得到所述IPv4地址。
所述第一站点为IPv6网络站点,所述第二站点为IPv4网络站点;所述第一属性为IPv6,所述第二属性为IPv4;在步骤B25中,所述第二DNS-ALG服务器根据所述IPv6地址构造IPv4地址的步骤包括第二DNS-ALG服务器从本地具有特定地址前缀的IPv4地址池中任选出一个IPv4地址所述IPv4地址;所述步骤B25进一步包括保存所述IPv6地址和IPv4地址之间的对应关系的步骤;在步骤B29中,所述第二NAT-PT根据IPv4地址得到IPv6地址的步骤包括第二NAT-PT根据所述对应关系查找到与所述IPv4地址对应的IPv6地址。
在步骤A21中,第一站点通过EBGP、IGP或静态路由向第一PE通告所述第一站点的VPN路由;和/或在步骤A25中,第二PE通过EBGP、IGP或静态路由向第二站点通告所述第一站点的VPN路由。
在步骤A26中,第二CE进一步将所述第一站点的VPN路由通告给第二站点内的其他路由设备。
在步骤A23中,第一ASBR通过预先配置的第一ASBR与第二ASBR之间的EBGP,将第一站点的VPN路由通告到第二ASBR。
所述DNS-ALG和NAT-PT具有相同的地址。
从上述方案中可以看出,由于本发明对现有技术进行修改和补充,给出了在骨干网络为跨多自治系统的IPv4/v6混合网络时,实现VPN站点间相互通信的方法。本发明的技术方案实现过程比较简单,适合于VPN用户较少的情况。


图1为现有技术一的网络结构示意图;图2为现有技术二的网络结构示意图;图3为现有技术三的网络结构示意图;图4A为根据本发明第一实施例的示意图;图4B为根据本发明第二实施例的流程示意图;图5A为根据本发明第二实施例的示意图;图5B和图5C为根据本发明第二实施例的流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
第一实施例参考图4A,MPLS骨干网络由IPv4网络AS100和IPv6网络AS200组成;PE1连接VPN A站点1和VPN B站点2,PE2连接VPN A站点3和VPN B站点4,其中VPN站点1、站点3、站点4为IPv4网络,站点2为IPv6网络。
图4A中主要路由设备的配置如下PE1、PE2、ASBR1、ASBR2设置IPv4/v6双协议栈,其IPv6环回地址为IPv6兼容IPv4地址或IPv6映射IPv4地址,下面以IPv6兼容IPv4地址为例描述;PE1与CE1、CE2之间,PE2与CE3、CE4之间配置IGP、EBGP或静态路由;PE1与ASBR1之间、PE2与ASBR2之间利用IPv4/v6环回地址配置MP-IBGP,传递带标签的VPNIPv4/v6路由;ASBR1与ASBR2之间配置MP-EBGP,通过帧中继的子接口或是ATM的虚电路连接对应的VRF;AS100、AS200内运行IGP。
BGP/MPLS VPN的VPN站点间通信主要分为控制流的传递和业务流的转发,前者指属于同一VPN的用户站点间进行路由学习的过程,后者指属于同一VPN的用户站点相互学习到了彼此的VPN路由后,根据所学习到的路由信息进行业务流转发的过程。下面以VPN A站点1内的VPN路由100.0.0.0/8通告到VPN A站点3,以及站点3向站点1发送目的地址为100.0.0.1的业务流为例,详细说明第一实施例。
首先参照图4B的步骤401至步骤410,描述站点1向站点3通告本站点内100.0.0.0/8的VPN路由,其具体过程如下步骤401,通过PE1与CE1之间配置的EBGP、IGP或静态路由,CE1将VPN路由100.0.0.0/8通告到PE1。
步骤402,PE1根据接收到VPN路由的接口,将VPN路由100.0.0.0/8写入与VPN A对应的IPv4 VRF1中,并为该路由分配标签1001,在PE1的IPv4 VRF1中可写入如下条目Destinationout interfacenext hop top labelbottom label100.0.0.0/8 E0direct-connect----1001其中,目的前缀(destination)100.0.0.0/8表示可达的前缀路由,出接口(out interface)E0表示PE1的出接口为E0,下一跳(next hop)为direct-connect表示PE1与CE1直接连接,栈底标签(bottom label)1001表示PE1为该VPN路由分配的标签。
步骤403,PE1通过与ASBR1之间的MP-IBGP会话,向ASBR1通告所分配标签为1001的VPN A路由100.0.0.0/8。
在PE1的MPLS标签转发信息表中写入如下条目in interfaceout interfacein labelout labelE1 E0 1001 ----其中,入接口(in interface)E1表示PE1的入接口为E1,出接口(outinterface)E0表示PE1的出接口为E0,入标签(bottom label)1001表示PE1为该VPN路由分配的标签。
步骤404,ASBR1根据路由目标属性将该VPN路由写入本地的VRF1中,因此在ASBR1的IPv4 VRF1中写入如下条目Destinationout interfacenext hoptop labelbottom label100.0.0.0/8 E0 10.0.0.1 201001其中目的前缀100.0.0.0/8表示可达的前缀路由;E0表示ASBR1的接口E0;10.0.0.1是PE1的IPv4环回地址,表示100.0.0.0/8 VPN路由的下一跳地址;栈顶标签20表示ASBR1到PE1的IPv4 LSP标签,该标签可以通过在ASBR1的转发信息库(FIB)中查找到该VPN路由下一跳10.0.0.1的LSP标签得到;栈底标签1001表示PE1为该VPN路由分配的标签。
步骤405,ASBR1的VRF1与ASBR2的VRF1之间通过物理或逻辑接口相连,通过在ASBR1与ASBR2之间配置的EBGP,ASBR1将VRF1中的VPN路由100.0.0.0/8通告到ASBR2,该VPN路由不携带任何标签,且下一跳为ASBR1内VRF1所对应的子接口的IPv4地址。
步骤406,ASBR2根据与ASBR1相连的子接口信息以及接收到VPN路由的IP版本,将该VPN路由写入本地的IPv4 VRF1中,并且为该VPN路由重新分配标签2002,在ASBR2的IPv4 VRF1中写入如下条目Destinationout interfacenext hoptop labelbottom label100.0.0.0/8if-1 20.0.0.1 ---- 2002其中,目的前缀(destination)100.0.0.0/8表示可达的前缀路由,出接口(out interface)if-1表示PE1的出接口为if-1,下一跳(next hop)为20.0.0.1,栈底标签(bottom label)2002表示ASBR1为该VPN路由分配的标签。
步骤407,ASBR2通过与PE2之间的MP-IBGP会话向PE2通告标签为2002的VPN路由100.0.0.0,其中下一跳地址为ASBR2的IPv4环回地址。由于AS200为IPv6网络,因此该IPv4 VPN路由的通告是建立在TCP/IPv6连接基础之上。
在ASBR2的标签转发信息表中写入如下条目in interfaceout interfacein labelout labelE0 if-1 2002 ----其中,入接口(in interface)E0表示PE1的入接口为E1,出接口(outinterface)if-1表示ASBR的出接口为if-1,入标签(bottom label)2002表示ASBR1为该VPN路由分配的标签。
步骤408,PE2接收到此VPN路由,根据路由目标属性将该VPN路由写入本地IPv4 VRF1中,在根据该VPN路由的下一跳递归查找与该VPN路由对应的栈顶标签时,由于该下一跳地址为ASBR2的IPv4环回地址,因此在该下一跳前添加前缀∷,查找PE2到∷30.0.0.1的LSP标签,作为VPN路由100.0.0.0/8的栈顶标签,假设该标签为40,则PE2的IPv4 VRF1中写入如下条目Destinationout interfacenext hoptop labelbottom label
100.0.0.0/8 E1 30.0.0.1 40 2002步骤409,PE2通过与CE3之间配置的EBGP、IGP或静态路由,向CE3通告上述VPN路由100.0.0.0/8,其中下一跳为PE2的E0接口的IPv4地址。
步骤410,CE3接收到此VPN路由,写入本地路由表,并向站点3内其他路由设备通告此VPN路由。
通过以上步骤,VPN站点1内的100.0.0.0/8的VPN路由通告到VPN站点3,站点3内的所有路由设备学习到了该VPN路由。因此,根据此路由信息,站点3可以向站点1发送目的地址前缀为100.0.0.0/8的VPN业务流。
参照图4B中步骤421至步骤427,站点3向站点1发送目的地址为100.0.0.1的VPN业务流,其具体过程如下步骤421,站点3内源主机发出的目的地址为100.0.0.1的VPN业务流,首先在站点3内被转发到CE3。
步骤422,CE3查找本地路由表,找到该VPN业务流目的地址前缀路由的下一跳地址为PE2的E0接口IPv4地址,因此该业务流被转发到PE2。
步骤423,PE2根据业务流转发来的接口查找与VPN A站点对应的VRF1,在IPv4 VRF1中查找得到前缀路由100.0.0.0/8的栈顶标签为40,栈底标签为2002,出接口为E1。因此,该VPN业务流被封装为MPLS包,其栈底标签2002,栈顶标签40,从接口E1沿PE2到ASBR2的LSP转发往ASBR2。
步骤424,经过P4和P3路由器的转发,ASBR2接收到PE2发来的VPN业务流,根据ASBR2的标签转发信息表弹出标签2002,ASBR2还原VPN数据流,并将还原的VPN业务流从接口if-1转发给ASBR1。
步骤425,ASBR1从接口if-1接收到目的地址为100.0.0.1的VPN业务流,因此查找与if-1接口对应的IPv4 VRF1,查找到该目的地址前缀路由100.0.0.0/8的栈顶标签为20,栈底标签为1001,出接口为E0。因此,该VPN业务流在ASBR1被封装为MPLS包,压入栈底标签1001,栈顶标签20,从接口E0沿ASBR1到PE1的LSP发往PE1。
步骤426,经过P2和P1路由器的转发,PE1从接口E0接收到标签为1001的VPN业务流,通过查找本地标签转发信息表,PE1弹出标签1001,PE1还原上述MPLS包得到VPN业务流,并将所还原的VPN业务流从接口E1转发给CE1。
步骤427,CE1接收到目的地址为100.0.0.1的VPN业务流,将该业务流转发至本站点内的目的主机。
通过以上步骤,可以实现VPN站点3向站点1 VPN业务流的转发。其他属于同一VPN的用户站点间转发业务流的过程与此相似,只要同一VPN内的用户站点互相学习到了彼此的VPN路由,则VPN业务流的转发将根据通告VPN路由时写入VRF和标签转发信息表的信息进行封装和转发。
第二实施例在第一实施例中,进行通信的两个站点是同类网络站点,在第二实施例中,以异类网络站点之间的通信为例说明本发明的实施。
在第二实施例中VPN异类网站点间的互通采用了NAT-PT技术,对VPN站点间的业务流进行网络地址转换-协议转换,将其转换为与之通信的站点相同IP版本的VPN业务流,再进行通信。
如图5A所示,MPLS骨干网由IPv4网络AS100和IPv6网络AS200组成;VPN A站点1和VPN B站点2接入PE1,VPN A站点4和VPN B站点3接入PE2;其中站点2、站点3、站点4为IPv4网络,站点1为IPv6网络。以下将对本方案进行详细说明。图5A中的虚线部分表示站点1中的IPv6主机A发起DNS请求的解析过程,后文将进行详细说明。
在图5A中主要路由设备的配置如下PE1、PE2、ASBR1、ASBR2以及站点1、站点2中DNS服务器、NAT-PT(DNS-ALG)、CE1、CE4均采用IPv4/v6双协议栈;PE1、PE2、ASBR1、ASBR2的IPv6环回地址均为IPv6兼容IPv4地址,也可以设置为IPv4映射的IPv6地址,下面以IPv兼容IPv4地址为例描述;配置站点1中IPv6 DNS服务器和和站点4中IPv4 DNS服务器的上级DNS服务器地址分别为站点1和站点4中的DNS-ALG地址;PE1与CE1、PE2与CE4之间配置IGP、EBGP或静态路由;PE1与ASBR1之间,PE2与ASBR2之间利用IPv4/v6环回地址配置MP-IBGP,用于传递带标签的VPN路由;ASBR1与ASBR2之间利用IPv4环回地址配置MP-EBGP传递VPN路由。
图5A中站点1和站点4内的DNS服务器分别为IPv6 DNS服务器和IPv4DNS服务器,用于对站点1、站点4内的域名提供解析服务;DNS-ALG是域名服务-应用层网关,用于对接收到的DSN请求和应答进行处理,以及对上层协议报文中的IP地址进行扫描;NAT-PT进行IPv4/v6、ICMPv4/v6之间的转换,在IPv4站点4的NAT-PT中有一个具有特定地址前缀的IPv4地址池,该前缀路由指向NAT-PT自身。本实施例中将NAT-PT和DNS-ALG结合为同一设备。下面分别以站点1内的IPv6主机A向站点4内的IPv4主机B发起通信,以及站点4内的IPv4主机B向站点1内的IPv6主机A发起通信为例,对本方案进行详细说明。
为了实现VPN异类网站点间的互通,首先必须要彼此学习对方站点的VPN路由信息。该VPN路由的学习与第一实施例同类网通信中VPN路由学习的过程相同。即,首先将VPN路由通告给出口PE,写入出口PE的VRF;由出口PE通告带标签的VPN路由到本自治系统内的ASBR;通过ASBR间的EBGP再将VPN路由通告到邻接ASBR,并写入邻接ASBR的VRF中;邻接ASBR再将带标签的VPN路由通告到入口PE,写入入口PE的VRF;再由入口PE通告到本端相应的VPN站点。
经过VPN路由学习,站点1内的CE1、NAT-PT,及DNS服务器可以学习到站点4内CE4、DNS服务器、NAT-PT的IPv4 VPN路由以及站点4内其他所有IPv4 VPN路由信息。同样站点4内的CE4、NAT-PT、及DNS服务器可以学习到站点1内CE1、DNS服务器、NAT-PT的IPv6 VPN路由以及站点1内其他所有IPv6 VPN路由信息。
参照图5B,站点1内的IPv6主机A向站点4内IPv4主机B发起通信,其具体过程如下步骤501,主机A向站点1内的IPv6 DNS服务器发送IPv6 DNS请求。
步骤502,由于站点1内的IPv6 DNS服务器内不存在该域名,因此IPv6DNS服务器将该请求发往上一级DNS服务器。由于在DNS服务器中已经配置上级DNS服务器地址为DNS-ALG的地址,因此该DNS请求被转发到站点1内的DNS-ALG。
步骤503,站点1内的DNS-ALG收到该DNS请求,转换IPv6 DNS请求为IPv4 DNS请求,并将转换后的IPv4 DNS请求转发给站点4内的IPv4DNS服务器。由于站点1内的DNS-ALG是IPv4/v6双栈,已经学习到了站点4内DNS服务器的IPv4 VPN路由,因此该IPv4 DNS请求可以被转发到站点4的DNS服务器。
步骤504,站点4内IPv4 DNS服务器对该DNS请求进行解析,将解析回的主机B的IPv4地址作为DNS应答,根据已经学习到的站点1内DNS-ALG的VPN路由信息,返回给站点1的DNS-ALG。
步骤505,站点1内的DNS-ALG在所述解析回的主机B的IPv4地址前添加特定地址前缀,构造为IPv6地址,返回给站点1内的DNS服务器。
步骤506,DNS服务器将该IPv6地址返回给主机A。
步骤507,主机A以此IPv6地址为目的地址构造IPv6数据包。由于该目的地址具有特定前缀,并且该前缀路由指向NAT-PT,因此该IPv6数据包被路由到站点1内的NAT-PT。
步骤508,NAT-PT取出目的地址的后32位(即主机B的IPv4地址)作为目的地址,将接收到的IPv6数据包转换为IPv4数据包,根据学习到的站点4的VPN路由,将转换后的IPv4数据包转发到CE4。
步骤509,CE4将接收到的IPv4数据包转发至主机B。
通过以上过程,站点1内的IPv6主机A可以实现向站点4内IPv4主机B的通信。
以下将详细说明站点4内的IPv4主机B向站点1内的IPv6主机A发起通信的过程,由于IPv4地址与IPv6地址相互映射的方法不同,因此在此过程中站点4的NAT-PT和DNS-ALG的处理方式与上述站点1中的处理方式将有所不同。
参照图5C,站点4内的IPv4主机B向站点1内IPv6主机A发起通信,其具体过程如下步骤521,主机B向站点4内的IPv4 DNS服务器发送IPv4 DNS请求。
步骤522,因为站点4的DNS服务器内不存在该域名,因此DNS服务器将该DNS请求发往上级DNS服务器。由于在站点4的DNS服务器内配置的上级DNS服务器地址为站点4的DNS-ALG地址,因此该IPv4 DNS请求被转发到DNS-ALG。
步骤523,站点4的DNS-ALG接收到该DNS请求,将该IPv4 DNS请求转换为IPv6 DNS请求,并将该请求转发往站点1内的DNS服务器。由于站点4内的DNS-ALG已经学习到站点1中DNS服务器的路由,因此,该请求通过PE2、ASBR2、ASBR1、PE1等路由设备的转发可以到达站点1的IPv6 DNS服务器。
步骤524,站点1内的IPv6 DNS服务器接收到该IPv6 DNS请求,解析得到主机A的IPv6地址,并将该IPv6地址返回给站点4的DNS-ALG;步骤525,站点4中的DNS-ALG接收到解析回的主机A的IPv6地址,从本地的一个具有特定地址前缀的IPv4地址池中任选出一个IPv4地址,将该地址返回给站点4内的DNS服务器,并在地址映射表中记录主机A的IPv6地址与该IPv4地址的对应关系。
步骤526,站点4的DNS服务器将上述地址返回给主机B。
步骤527,主机B用接收到的IPv4地址作为目的地址构造IPv4数据包。由于该IPv4数据包目的地址所具有特定地址前缀,且该前缀路由指向NAT-PT,因此该数据包被路由到站点4的NAT-PT。
步骤528,NAT-PT接收到该IPv4数据包,查找映射表中与该IPv4目的地址对应的IPv6地址,找到该地址为主机A的IPv6地址,因此,NAT-PT以此地址为目的地址将接收到的IPv4数据包转换为IPv6数据包,发往主机A。由于NAT-PT已经学习到了站点1的VPN路由,因此该IPv6数据包被转发到站点1的CE1。
步骤529,CE1接收到该目的地址为主机A地址的IPv6数据包,将此IPv6数据包转发至目的主机A。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种跨多自治系统AS混合网络虚拟专用网VPN的实现方法,其特征在于,该方法包括以下步骤A.设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点通过多自治系统混合网络向第二站点通告第一站点的VPN路由;B.第二站点内源主机根据所述路由通过所述多自治系统混合网络向第一站点发送目的地址为第一站点内目的主机的VPN业务流。
2.根据权利要求1所述的方法,其特征在于,所述第一站点和第二站点为同类网站点;所述步骤A包括设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点将第一站点的VPN路由通告给与第一站点连接的第一自治系统,第一自治系统将所述第一站点的VPN路由通告给与第二站点连接的第二自治系统,第二自治系统所述第一站点的VPN路由通告给第二站点;所述步骤B包括第二站点内源主机根据所述路由将所述VPN业务流发送到第二自治系统,第二自治系统将所述VPN业务流发送给第一自治系统,第一自治系统将所述路由发送到第一站点内的目的主机。
3.根据权利要求2所述的方法,其特征在于,所述步骤A包括A10.在与第一站点连接的第一提供商边缘设备PE、与第二站点连接的第二PE、第一PE所在自治系统的第一自治系统边界路由器ASBR、第二PE所在自治系统的第二ASBR内,为属于不同VPN的每个虚拟路由转发表VRF分别建立网络协议版本四IPv4 VRF及网络协议版本六IPv6 VRF;A11.第一站点的第一用户边缘设备CE将所述第一站点的VPN路由通告给第一PE;A12.第一PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第一ASBR,并且该VPN路由的下一跳为具有与该VPN路由相同版本IP的第一PE的环回地址;A13.第一ASBR将所述第一站点的VPN路由写入自身的VRF,在转发信息库FIB中查找得到VRF中对应该VPN路由的栈顶标签,并通过与第二ASBR之间相连的子接口,将所述第一站点的VPN路由通告到第二ASBR,并且该VPN路由下一跳为具有与该VPN路由相同IP版本的、与第一ASBR内该VPN路由所属VRF对应的子接口IP地址;A14.第二ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二PE;A15.第二PE将所述第一站点的VPN路由写入自身的VRF,在FIB中查找得到VRF中对应该VPN路由的栈顶标签,并将所述第一站点的VPN路由通告到第二站点的第二CE;A16.第二CE将所述第一站点的VPN路由写入自身的路由表;所述步骤B包括B11.第二站点内源主机发出所述VPN业务流;B12.第二CE接收到所述VPN数据流后,根据预先保存在自身路由表中的内容将该VPN数据流发送给与第二站点连接的第二PE;B13.第二PE根据预先保存在自身VRF内的第一站点VPN路由,将所述VPN数据流封装为多协议标签交换MPLS包,发送给第二PE所在自治系统的第二ASBR;B14.第二ASBR还原所述MPLS包得到所述VPN数据流,并根据预先保存在自身的VRF所对应的子接口,将所述VPN数据流发送给与第一站点连接的第一PE所在自治系统的第一ASBR;B15.第一ASBR将所述VPN数据流封装为MPLS包,根据预先保存在自身VRF内的第一站点VPN路由,将所述VPN数据流封装为MPLS包,并将该MPLS包发送给第一PE;B16.第一PE还原所述MPLS包得到所述VPN数据流,并根据预先保存在标签转发信息表中的内容将所述VPN数据流发送给第一站点的第一CE;B17.第一CE将所述VPN数据流转发给所述目的主机。
4.根据权利要求3所述的方法,其特征在于,在步骤A11中,第一站点通过外部边界网关协议EBGP、内部网关协议IGP或静态路由向第一PE通告所述第一站点的VPN路由;和/或在步骤A15中,第二PE通过EBGP、IGP或静态路由向第二站点通告所述第一站点的VPN路由。
5.根据权利要求3所述的方法,其特征在于,在步骤A16中,第二CE进一步将所述第一站点的VPN路由通告给第二站点内的其他路由设备。
6.根据权利要求3所述的方法,其特征在于,在步骤A13中,第一ASBR通过预先在第一ASBR与第二ASBR的各个子接口之间配置的EBGP,将第一站点的VPN路由通告到第二ASBR。
7.根据权利要求3所述的方法,其特征在于,步骤A13中所述在FIB中查找得到VRF中对应该VPN路由的栈顶标签的步骤之前,进一步包括判断第一ASBR所在的自治系统的IP版本与该VPN路由的IP版本是否相同,如果相同则直接在FIB中查找得到VRF中对应该VPN路由的栈顶标签,如果不同则对该VPN路由的下一跳进行处理后在FIB中查找得到VRF中对应该VPN路由的栈顶标签;步骤A15中所述在FIB中查找得到VRF中对应该VPN路由的栈顶标签的步骤之前,进一步包括判断第一ASBR所在的自治系统的IP版本与该VPN路由的IP版本是否相同,如果相同则直接在FIB中查找得到VRF中对应该VPN路由的栈顶标签,如果不同则对该VPN路由的下一跳进行处理后在FIB中查找得到VRF中对应该VPN路由的栈顶标签。
8.根据权利要求1所述的方法,其特征在于,所述第一站点和第二站点为异类网站点;所述步骤A包括设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点将第一站点的VPN路由通告给与第一站点连接的第一自治系统,第一自治系统将所述第一站点的VPN路由通告给与第二站点连接的第二自治系统,第二自治系统所述第一站点的VPN路由通告给第二站点,第二站点将所述第一站点VPN路由通告到第二域名服务DNS服务器和第二网络地址转换-协议转换器NAT-PT;所述步骤B包括第二站点内源主机根据所述路由通过第二DNS服务器和第二NAT-PT请求得到第一站点内目的主机的第二属性地址,源主机根据所述第二属性地址构造目的地址为所述第二属性地址的第二属性数据包,并将其发送给第一站点内目的主机。
9.根据权利要求8所述的方法,其特征在于,所述步骤A包括A20.设置第一站点内第一DNS服务器的上级DNS服务器地址为第一站点中的第一域名服务-应用层网关DNS-ALG地址,设置第二站点内第二DNS服务器的上级DNS服务器地址为第二站点中的第二DNS-ALG地址;A21.第一站点的第一CE将所述第一站点的VPN路由通告给与第一站点连接的第一PE;A22.第一PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第一PE所在自治系统的第一ASBR;A23.第一ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到与第二站点连接的第二PE所在自治系统的第二ASBR;A24.第二ASBR将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二PE;A25.第二PE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二站点的第二CE;A26.第二CE将所述第一站点的VPN路由写入自身的VRF,并将所述第一站点的VPN路由通告到第二DNS和第二NAT-PT;所述步骤B包括B21.第二站点内的源主机向第二属性DNS服务器发送第二属性DNS请求;B22.第二属性DNS服务器将所述第二属性DNS请求发送给第二DNS-ALG;B23.第二DNS-ALG将所述第二属性DNS请求转换成第一属性DNS请求,并将所述第一属性DNS请求发送给第一站点内的第一属性DNS服务器;B24.第一属性DNS服务器解析所述第一属性DNS请求得到的目的主机的第一属性地址,并将所述目的主机的第一属性地址返回给第二DNS-ALG服务器;B25.第二DNS-ALG服务器根据第一属性地址构造指向第二NAT-PT的第二属性地址,并将所述第二属性地址返回给第二属性DNS服务器;B26.第二DNS服务器将所述第二属性地址返回给源主机;B27.源主机发出目的地址为所述第二属性地址的第二属性数据包,将所述第二属性数据包路由到第二NAT-PT;B28.第二NAT-PT根据第二属性地址得到第一属性地址,将第二属性数据包转换为第一属性数据包,并将所述第一属性数据包发送给第一CE;B29.第一CE将所述第一属性数据包转发给目的主机。
10.根据权利要求9所述的方法,其特征在于,所述第一站点为IPv4网络站点,所述第二站点为IPv6网络站点;所述第一属性为IPv4,所述第二属性为IPv6;在步骤B25中,所述第二DNS-ALG服务器根据所述IPv4地址构造IPv6地址的步骤包括第二DNS-ALG服务器在IPv4地址前添加特定地址前缀,构造所述IPv6地址;在步骤B29中,所述第二NAT-PT根据IPv6地址得到IPv4地址的步骤包括第二NAT-PT取出所述IPv6地址中的后32位,得到所述IPv4地址。
11.根据权利要求9所述的方法,其特征在于,所述第一站点为IPv6网络站点,所述第二站点为IPv4网络站点;所述第一属性为IPv6,所述第二属性为IPv4;在步骤B25中,所述第二DNS-ALG服务器根据所述IPv6地址构造IPv4地址的步骤包括第二DNS-ALG服务器从本地具有特定地址前缀的IPv4地址池中任选出一个IPv4地址所述IPv4地址;所述步骤B25进一步包括保存所述IPv6地址和IPv4地址之间的对应关系的步骤;在步骤B29中,所述第二NAT-PT根据IPv4地址得到IPv6地址的步骤包括第二NAT-PT根据所述对应关系查找到与所述IPv4地址对应的IPv6地址。
12.根据权利要求9所述的方法,其特征在于,在步骤A21中,第一站点通过EBGP、IGP或静态路由向第一PE通告所述第一站点的VPN路由;和/或在步骤A25中,第二PE通过EBGP、IGP或静态路由向第二站点通告所述第一站点的VPN路由。
13.根据权利要求9所述的方法,其特征在于,在步骤A26中,第二CE进一步将所述第一站点的VPN路由通告给第二站点内的其他路由设备。
14.根据权利要求9所述的方法,其特征在于,在步骤A23中,第一ASBR通过预先配置的第一ASBR与第二ASBR之间的EBGP,将第一站点的VPN路由通告到第二ASBR。
15.根据权利要求9所述的方法,其特征在于,所述DNS-ALG和NAT-PT具有相同的地址。
全文摘要
本发明公开了一种跨多自治系统混合网络VPN的实现方法,该方法包括以下步骤A.设置网络中各设备的包括多个网络协议版本的路由信息,根据所述路由信息,VPN第一站点通过多自治系统混合网络向第二站点通告第一站点的VPN路由;B.第二站点内源主机根据所述路由通过所述多自治系统混合网络向第一站点发送目的地址为第一站点内目的主机的VPN业务流。本发明通过对现有技术进行修改和补充,给出了在骨干网络为跨多自治系统的IPv4/v6混合网络时,实现VPN站点间相互通信的方法。本发明的技术方案实现过程比较简单,适合于VPN用户较少的情况。
文档编号H04L29/06GK1852213SQ200510115309
公开日2006年10月25日 申请日期2005年11月14日 优先权日2005年11月14日
发明者张宏科, 李德丰, 郜帅, 谷志慧, 张思东 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1