CN112511431B - 一种用于虚拟化网络仿真的路由流量融合方法 - Google Patents

一种用于虚拟化网络仿真的路由流量融合方法 Download PDF

Info

Publication number
CN112511431B
CN112511431B CN202011259590.1A CN202011259590A CN112511431B CN 112511431 B CN112511431 B CN 112511431B CN 202011259590 A CN202011259590 A CN 202011259590A CN 112511431 B CN112511431 B CN 112511431B
Authority
CN
China
Prior art keywords
node
network
service flow
flow message
neighbor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011259590.1A
Other languages
English (en)
Other versions
CN112511431A (zh
Inventor
于金萍
毕经平
李文斌
李文啸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202011259590.1A priority Critical patent/CN112511431B/zh
Publication of CN112511431A publication Critical patent/CN112511431A/zh
Application granted granted Critical
Publication of CN112511431B publication Critical patent/CN112511431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种用于虚拟化网络仿真的路由流量融合方法,包括:S1、根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表;S2、根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;S3、依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理;由此,本发明在仿真平台中低成本、高灵活性、高效率地实现了路由流量的融合,便于在仿真平台上准确地开展各种网络空间安全研究。

Description

一种用于虚拟化网络仿真的路由流量融合方法
技术领域
本发明涉及网络空间科学研究领域,具体来说涉及网络仿真领域,更具体地说,涉及一种用于虚拟化网络仿真的路由流量融合方法。
背景技术
在网络空间科学研究领域,网络仿真平台是验证网络空间新技术、评估网络空间风险、开展网络攻防演训、开发新型网络系统与协议等重要任务的核心基础设施。当前主流的网络仿真平台多是基于云和虚拟化的方式实现的虚实结合仿真网络环境。其中,“虚”是指通过在虚拟机中部署网络功能软件(如Quagga)等实现路由器、防火墙等常见网络功能设备的仿真;“实”是指功能复杂暂时还无法通过软件模拟的节点,将直接以物理实体的方式接入仿真网络中。
然而,当前基于云和虚拟化的网络仿真技术存在流量与路由分离的问题。具体来说,其无法为仿真网络中运行的业务流量提供与真实网络一致的路由传输。原因在于,当前网络仿真平台采用的网络虚拟化技术只支持在源和目的之间建立直通隧道(如VXLAN隧道),将业务流量直接从源端虚拟机(Virtual Machine,简称VM)传输到目的端虚拟机,而不支持从源到目的之间经过其他虚拟节点(如路由器、防火墙等)的通信。
这种流量与路由分离的网络仿真无法为用户提供逼真的网络体验,还会产生误导性甚至与真实网络完全相反的结果。例如,当开展攻防演练任务时,假设防御方的网络如图1所示。假设当攻击方控制了防御方的部分主机使之成为僵尸主机,僵尸主机和web服务器之间通过一些路由器连接,比如路由器R1、R2、R3和R4。假设攻击方通过这些僵尸主机向攻击目标web服务器发送DDoS攻击流量时,防御方切断了连接被控主机的路由器,如图1中的路由器R1。在真实网络中,由于路由器R1被切断,这些DDoS攻击流量将无法到达攻击目标,而导致DDoS攻击失败。但是,在基于云和虚拟化的网络仿真平台中,由于无法将流量与路由融合,这些DDoS攻击流量在仿真平台上传输时,并不会经过路由器R1,而将直接被发送到攻击目标。因此,无论路由器R1的状态如何,DDoS攻击均会成功,这与真实网络上的结果完全相反。
更重要的是,由于仿真网络中流量与路由分离,许多可以在真实网络中进行的手段,如负载均衡、安全策略更新、路由策略更新、流量监测等,均无法在仿真网络中开展,极大限制了仿真网络可适用的场景范围。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种用于虚拟化网络仿真的路由流量融合方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种用于虚拟化网络仿真的路由流量融合方法,包括:S1、根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表;S2、根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;S3、依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理。本发明通过软件定义的形式在Overlay技术之上生成了一个对应于当前仿真网络的逻辑链路层。仿真网络中所有业务流量报文从当前节点中发出时都将先被该逻辑链路层处理,从而在无需探测仿真网络网络层行为与配置的同时,自动实现对业务流量相关路由传输的支持,解决了当前网络仿真平台只支持在源和目的之间建立直通隧道(如VXLAN隧道),将业务流量直接从源端虚拟节点传输到目的端虚拟节点,而不支持从源到目的中间经过其他虚拟节点(如路由器、防火墙等)的通信的问题,使得载均衡、安全策略更新、路由策略更新、流量监测等仿真手段能够在网络仿真平台上准确、高效地开展。
为了让各个NVE设备掌握下一跳邻居节点的情况,优选的,所述步骤S1包括:S11、在仿真网络中所有节点都完成部署后,SDN控制器获取仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息;S12、SDN控制器基于用户规划的仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息生成每个当前节点的邻居信息,其中,所述邻居信息包括当前节点IP地址、当前节点MAC地址、当前节点网口、邻居节点IP地址、邻居节点MAC地址、邻居节点网口和用于指示当前节点和邻居节点是否接入相同的NVE设备的连接类型。本发明在各物理主机中生成的NVE设备连接的节点的邻居信息表有助于各NVE设备在流量传输过程中获知当前节点的邻居节点的地址信息,并在后续流量转发过程中作为修改业务流量报文的MAC地址的依据;而邻居信息中连接类型为逻辑链路层判断修改后的业务流量报文将在虚拟网络还是物理网络中提供处理参考,以保障业务流量报文不论是在虚拟网络还是物理网络均能逐跳传输到对应的邻居节点。
为了保障各个节点的报文均能实现路由和流量的融合,且避免对硬件底层进行大量的配置,优选的,所述步骤S2包括:S21、在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层;S22、根据邻居信息表基于南向接口协议编排各NVE设备中的逻辑链路层流量传输配置,以将任何业务流量报文配置为每次从仿真网络的节点发出后均经过该节点的逻辑链路层处理,使处理后的业务流量报文按照仿真网络路由路径到达下一跳邻居节点。
为了在虚拟网络和物理网络中支持业务流量报文实现逐跳传输,优选的,所述步骤S22中对逻辑链路层进行流量传输配置以使逻辑链路层按照以下方式处理每次收到的业务流量报文:S221、对于发出业务流量报文的当前节点没有下一跳邻居节点的情况,丢弃该业务流量报文,结束通信:S222、对于发出业务流量报文的当前节点与下一跳邻居节点接入同一个NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文经过虚拟网络发送给下一跳邻居节点;S223、对于发出业务流量报文的当前节点与下一跳邻居节点接入不同的NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点。该步骤中,相当于将每个NVE设备接入的节点的邻居信息组成邻居信息表存储在该NVE设备中,根据邻居信息表与NVE设备中的隧道封装模块共同构建软件定义的逻辑链路层,通过逻辑链路层确定发送修改后的业务流量报文的逻辑链路,在虚拟网络和物理网络中保障业务流量报文均能实现逐跳传输。
对于某个当前节点需要访问其他节点,首次发出报文的情况,优选的,所述步骤S3包括:在仿真网络中当前节点需要访问其他节点时,该当前节点产生的业务流量报文将到达该当前节点相连的NVE设备;该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;在该当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。按照该方式,由于NVE设备仅掌握与该NVE设备连接的当前节点在仿真网络拓扑结构上直接连接的邻居节点的情况,按照该方式,对业务流量报文的转发处理也仅支持根据本地的邻居信息查找是否存在路由路径上存在当前节点的下一跳邻居节点,并根据该查找到的信息来修改报文的目的地址为下一跳邻居节点的信息,然后将修改的报文通过给定网口发出以到达下一跳邻居节点,下一跳邻居节点同样按照此方式来处理收到的报文,由此实现路由与流量的融合,保障仿真结果的真实性、准确性。
对于中间路由的情况,优选的,所述步骤S3还包括:在仿真网络的业务流量报文到达相关路由路径的中间某跳时,该跳对应的网络设备将按照与该业务流量报文匹配的路由规则对应的动作处理该业务流量报文;处理该业务流量报文之后,该跳对应的当前节点将业务流量报文再次转发,转发后将到达该当前节点相连的NVE设备;该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。逻辑链路层可以通过查询邻居信息表得到当前节点发出该报文的网口直接相邻的下一跳邻居节点和其网口信息。在当前节点向确定的下一跳邻居节点发送报文时将严格按照邻居信息中给定的当前节点网口发送到对应的邻居节点网口。
为了让报文在位于同一物理主机的节点(对应于经虚拟网络通信)和不同物理主机上的节点(对应于经物理网络通信)的通信不受具体的连接类型的限制,彻底实现虚实解耦,优选的,所述逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出包括:在该当前节点有下一跳邻居信息且其中连接类型为第一连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文发送给邻居节点;在该当前节点有下一跳邻居信息且其中连接类型为第二连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点;其中,所述第一连接类型表示该当前节点和邻居节点接入同一个NVE设备,所述第二连接类型表示该当前节点和邻居节点彼此接入不同的NVE设备。本发明的NVE设备是经SDN控制器配置的,使得流量传输的整个过程完全基于SDN控制器下发的配置自动执行,无需改变原有的隧道封装技术,如VXLAN技术,也无需修改物理网络配置或增加新的物理网络设备,从而达到真正的虚实解耦。
由于一些硬件设备可能暂不支持网络功能虚拟化,优选的,所述NVE设备包括软件NVE设备和硬件NVE设备,所述软件NVE设备用于连接虚拟节点,所述硬件NVE设备用于连接暂不支持网络功能虚拟化的物理设备。本发明通过专门的硬件NVE设备和软件NVE设备连接接入仿真网络的所有节点,并通过SDN控制器进行集中管控,从而既可以实现物理设备的一键接入、任意组网,也可以灵活、自动地将流量报文与仿真网络路由融合。
由于用户可能在仿真过程中对节点的状态进行调整,导致一些节点的路由能力发生变化,优选的,所述方法还包括:在仿真网络的任何节点的路由能力发生变化时,响应于该节点的路由能力变化的情况,更新该节点以及该节点的邻居节点对应的NVE设备中的邻居信息表。本发明能够方便用户在进行网络空间科学研究时根据研究的需要对相应的节点执行相应的操作,比如攻防演练时切断相应的路由设器,若相应的操作导致仿真网络某的节点的路由能力发生变化,则相关的邻居信息表的更新过程自动进行,无需用户修改底层物理网络的功能与配置,使得业务流量报文会按照更新后的情况进行传输,既保障了仿真结果的真实性,又避免了给用户造成极大的修改工作量。
根据本发明的第二方面,提供一种基于Overlay技术构建的网络仿真平台,包括:SDN控制器,用于根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表,以及根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;多个NVE设备,用于依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理。本发明在仿真平台中低成本、高灵活性、高效率地实现了路由流量的融合,便于在仿真平台上准确地开展各种网络空间安全研究;而且,本发明提出的方法无需改变仿真平台所采用的Overlay技术本身的架构和实现,也无需新协议或新硬件的支持,更无需修改底层物理网络的功能与配置,从而真正做到虚实解耦的仿真网络流量路由融合传输,让仿真网络可适用的场景范围得以扩展。
根据本发明的第三方面,提供一种计算机可读存储介质,其上包含有计算机程序,所述计算机程序可被处理器执行以实现如第一方面所述方法的步骤。
根据本发明的第四方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现如第一方面所述方法的步骤。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为用于说明现有技术的缺陷的基于仿真网络的攻防场景示意图;
图2为根据本发明实施例的用于虚拟化网络仿真的路由流量融合方法的流程示意图;
图3为根据本发明实施例的仿真网络拓扑示例;
图4为上述仿真网络拓扑示例在仿真网络的物理部署示例;
图5为根据本发明实施例的虚拟节点和物理设备采用不同的方式接入仿真平台的物理基础设施的示意图;
图6为根据本发明实施例的仿真网络路由流量融合实现机制的示意图;
图7为根据本发明实施例的节点NF1对应的NVE设备对业务流量报文的处理过程示意图;
图8为根据本发明实施例的网络仿真平台的一个示意性实施方式;
图9为根据本发明实施例的网络仿真平台的另一个示意性实施方式。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,由于仿真网络中流量与路由分离,使得仿真结果与真实应当得到的结果不一致,导致一些攻击方式在仿真平台中不能开展。为了解决当前基于云和虚拟化的网络仿真技术,业务流量与仿真路由分离的问题,本发明提出根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表;根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理,从而使业务流量按照路由规则中设置的路由路径进行逐跳传输。由此,本发明在仿真平台中低成本、高灵活性、高效率地实现了路由流量的融合,便于在仿真平台上准确地开展各种网络空间安全研究。本发明提出的方法无需改变仿真平台所采用的Overlay技术本身的架构和实现,也无需新协议或新硬件的支持,更无需修改底层物理网络的功能与配置,从而真正做到虚实解耦的仿真网络流量路由融合传输,让仿真网络可适用的场景范围得以扩展。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
仿真网络拓扑结构,是指组成仿真网络的各个节点的分布情况和连接状态形成的拓扑图。
虚拟位置信息,是指虚拟节点的虚拟IP地址和虚拟MAC地址。
物理位置信息是指物理设备的IP地址和MAC地址。
物理设备例如是虚拟节点所在的服务器或者暂不支持网络功能虚拟化的物理设备。
参见图2,本发明提供一种用于虚拟化网络仿真的路由流量融合方法,包括步骤S1、S2、S3。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
首先,对本发明的应用背景进行介绍。本发明应用于基于Overlay技术构建的网络仿真平台。在网络仿真平台中,仿真网络拓扑结构由用户根据需要配置,得到用户自定义的网络拓扑图,以便根据用户需要生成对应的仿真网络,在该仿真网络上开展相应的网络空间科学研究。图3示出了一个示意性的仿真网络拓扑结构,其中,主机Host1连接于虚拟节点NF1,虚拟节点NF1连接于虚拟节点NF2和虚拟节点NF3,虚拟节点NF2和虚拟节点NF3分别连接于虚拟节点NF4,虚拟节点NF4连接于主机Host2。图3中eth0、eth1、eth2表示用于连接相应节点的网口,一个节点的一个网口连接邻居节点。为了简化描述,部分连接对应的网口未示出。vIP1、vIP2、vIP3、vIP4、vIP5、vIP6分别表示各节点对应的虚拟IP地址;vMAC1、vMAC2、vMAC3、vMAC4、vMAC5、vMAC6分别表示各节点对应的虚拟MAC地址。
获得仿真网络拓扑结构后,网络仿真平台可根据仿真网络拓扑结构在相应的设备(例如服务器)上部署对应的节点从而得到对应的仿真网络。例如,在图4给出的仿真网络的物理部署的示意性结果中,假设有4台服务器,分别是服务器1、服务器2、服务器3、服务器4(对应于物理主机);将图2中的主机Host1(应当理解的是,主机实际也是一种节点)和节点NF4部署在服务器1中,将节点NF3部署到服务器2中,将节点NF1和节点NF2部署到服务器3中,将主机Host2部署到服务器4中。每个服务器的IP地址分别表示为IP1、IP2、IP3、IP4;每个服务器的MAC地址分别表示为MAC1、MAC2、MAC3、MAC4;每个服务器中的NVE设备分别表示为NVE-1、NVE-2、NVE-3、NVE-4。每台服务器的操作系统例如是Linux或者Win(Window)。应当理解,本发明中,当前节点、邻居节点、节点、虚拟节点均指代仿真网络的节点,应用于本发明中的不同描述场景。虚拟节点是部署于物理主机上的仿真网络的节点。仿真网络构建完成之后,用户可以在构建的仿真网络的节点上配置所需的路由策略,该路由策略包括一种或者多种路由规则。仿真网络构建完成之后,用户可以在仿真网络的节点上配置任意形式的路由策略。例如,路由策略可以是基于开放式最短路径优先协议(Open Shortest PathFirst,简称OSPF协议)的路由规则,也可以是基于边界网关协议(Border GatewayProtocol,简称BGP协议)的路由规则,也可以是用户新开发的网络协议对应的路由规则。但是,目前网络仿真平台中,无法为仿真网络中运行的业务流量提供与真实网络一致的路由传输。原因在于,当前网络仿真平台采用的网络虚拟化技术更侧重于如何确保业务流量传输到目的端,其只支持在源和目的之间建立直通隧道(如VXLAN隧道),将业务流量直接从源端虚拟机(virtual machine,简称VM)传输到目的端VM,而不支持从源到目的中间经过其他虚拟节点(如路由器、防火墙等)的通信。从而使得目前的网络仿真平台存在路由和流量分离导致仿真结果不准确,一些网络空间科学研究无法准确开展的问题。
步骤S1:根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表。
根据本发明的一个实施例,步骤S1包括:S11、在仿真网络中所有节点都完成部署后,SDN控制器获取仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息(对应于部署位置信息);S12、SDN控制器基于用户规划的仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息生成每个当前节点的邻居信息,其中,所述邻居信息包括当前节点IP地址、当前节点MAC地址、当前节点网口、邻居节点IP地址、邻居节点MAC地址、邻居节点网口和用于指示当前节点和邻居节点是否接入相同的NVE设备的连接类型。例如:当仿真网络中所有节点对应的虚拟机(对应于虚拟节点)都完成部署之后,负责仿真网络的节点部署的管理平面通过SDN控制器提供的应用程序接口(Application ProgrammingInterface,简称API)将仿真网络拓扑结构和/或仿真网络的节点的位置信息输入给SDN控制器。SDN控制器能够根据仿真网络拓扑结构和仿真网络的节点的位置信息基于南向接口协议编排各个NVE设备上的配置,包括编排相关NVE设备中的邻居信息表,使其能够包含该NVE设备接入的节点的所有邻居信息。这些邻居信息与NVE设备中的隧道封装模块结合,可以提供软件定义的与仿真网络拓扑结构一致的逻辑链路层。隧道封装模块是VXLAN模块(Virtual eXtensible Local Area Network,虚拟可扩展的局域网)或者NVGRE模块(Network Virtualization using Generic Routing Encapsulation,使用通用路由协议封装的网络虚拟化)。对于位置信息,如果节点是虚拟节点,则节点的位置信息包括虚拟位置信息和该节点所在的服务器的物理位置信息。如果节点是物理节点,则节点的位置信息为该节点的物理位置信息和连接该节点的物理NVE设备的位置信息。SDN控制器基于用户规划的仿真网络拓扑结构,生成仿真网络中每个节点的邻居信息。节点的邻居信息的格式是(当前节点的IP地址,当前节点的MAC地址,当前节点的网口,邻居节点的IP地址,邻居节点的MAC地址,邻居节点的网口)。例如节点NF1的邻居信息(vIP1,vMAC1,eth0,vIP2,vMAC2,eth0)表明IP地址为vIP1的NF通过其网口eth0与IP地址为vIP2的节点NF2的网口eth0相连。在本发明中,前面带字母v的IP地址和MAC地址表示其为虚拟节点的虚拟IP地址和虚拟MAC地址。SDN控制器基于仿真网络每个节点的物理部署位置,生成NVE设备上针对当前仿真拓扑的邻居信息表,该表中包含了当前NVE设备连接的所有节点的邻居信息,并增加一项连接方式(对应于连接类型),其值为1或0。其中,1表示第一连接类型,0表示第二连接类型。换言之,1表示该项邻居信息中当前节点与相邻节点接入相同的NVE设备。0表示该项邻居信息中当前节点与相邻节点接入不同的NVE设备。编号为NVE-3的NVE设备中的邻居信息表如下表所示:
表1如图3所示仿真网络中NVE-3中的邻居信息表
Figure BDA0002774197400000101
该实施例的技术方案至少能够实现以下有益技术效果:在各物理主机中生成的NVE设备连接的节点的邻居信息表有助于各NVE设备在流量传输过程中获知当前节点的邻居节点的地址信息,并在后续流量转发过程中作为修改业务流量报文的MAC地址的依据;而邻居信息中连接类型为逻辑链路层判断修改后的业务流量报文将在虚拟网络还是物理网络中提供处理参考,以保障业务流量报文不论是在虚拟网络还是物理网络均能逐跳传输到对应的邻居节点。
对于NVE设备,由于一些物理设备可能暂时无法用虚拟机实现,因此将会以硬件的形式接入用于构建仿真网络的物理基础设施网络。优选的,NVE设备包括软件NVE设备和/或硬件NVE设备,所述软件NVE设备用于连接虚拟节点,所述硬件NVE设备用于连接需要以硬件设备的形式接入的物理设备。例如,参见图5,对于虚拟节点集群,其可通过软件NVE设备接入一个仿真平台底层物理设施;对于一些物理设备,如物理设备1、物理设备2和物理设备3,其可通过硬件NVE设备接入仿真平台底层物理网络(对应于物理基础设施网络)。物理设备例如是思科Nexus 7000系列交换机、思科ASA5500系列防火墙。硬件NVE设备的功能与连接虚拟节点的软件NVE设备的功能类似,且也与仿真平台的SDN控制器通过南向接口协议建立连接。此时,SDN控制器可以依据物理设备在网络拓扑中的位置,配置硬件NVE设备中的邻居信息表;并配置与物理设备相邻的其他节点所接入的NVE设备中的VXLAN表,增加物理设备MAC地址对应的VTEP IP地址为硬件NVE设备的IP地址。VTEP是指VXLAN Tunnel Endpoints,VXLAN隧道端点。该实施例的技术方案至少能够实现以下有益技术效果:本发明通过专门的硬件NVE设备和软件NVE设备连接接入仿真网络的所有节点,并通过SDN控制器进行集中管控,从而既可以实现物理设备的一键接入、任意组网,也可以灵活、自动地将流量报文与仿真网络路由融合。
步骤S2:根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置。
根据本发明的一个实施例,步骤S2包括:S21、在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层;S22、根据邻居信息表基于南向接口协议编排各NVE设备中的逻辑链路层流量传输配置,以将任何业务流量报文配置为每次从仿真网络的节点发出后均经过该节点的逻辑链路层处理,使处理后的业务流量报文按照仿真网络路由路径到达下一跳邻居节点。仿真网络构建完成之后,用户可以在仿真网络的节点上配置任意形式的路由策略。即:用户构建的仿真网络的节点上配置所需的路由策略,该路由策略包括一种或者多种路由规则。例如,路由策略可以是基于开放式最短路径优先协议(Open Shortest PathFirst,简称OSPF协议)的路由规则,也可以是基于边界网关协议(Border GatewayProtocol,简称BGP协议)的路由规则,也可以是用户新开发的网络协议对应的路由规则。逻辑链路层无需知道用户在仿真网络上配置了何种路由协议或路由策略,当仿真网络某个的节点想要通过仿真网络访问其他节点时,该节点产生的报文将会首先到达其相连的NVE设备,由该NVE设备中的逻辑链路层来进行处理。
优选的,该方法还包括:在仿真网络的任何节点的路由能力发生变化时,响应于该节点的路由能力变化的情况,更新该节点以及该节点的邻居节点对应的NVE设备中的邻居信息表。例如,如果主机Host1要向主机Host2发送报文,此时用户切断了主机Host1连接的节点NF1,则图4中NVE-1、NVE-2、NVE-3中的邻居信息表将进行更新,删除邻居信息表中与NF1有关的邻居信息,更新后NVE-1中查询不到主机Host1的下一跳邻居节点,则报文将被丢弃,通信结束。该实施例的技术方案至少能够实现以下有益技术效果:本发明能够方便用户在进行网络空间科学研究时根据研究的需要对相应的节点执行相应的操作,比如攻防演练时切断相应的路由设器,若相应的操作导致仿真网络的某节点的路由能力发生变化,则相关的邻居信息表的更新过程自动进行,无需用户修改底层物理网络的功能与配置,使得业务流量报文会按照更新后的情况进行传输,既保障了仿真结果的真实性,又避免了给用户造成极大的修改工作量。
根据本发明的一个实施例,步骤S22中对逻辑链路层进行流量传输配置以使逻辑链路层按照以下方式处理每次收到的业务流量报文:S221、对于发出业务流量报文的当前节点没有下一跳邻居节点的情况,丢弃该业务流量报文,结束通信:S222、对于发出业务流量报文的当前节点与下一跳邻居节点接入同一个NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文经过虚拟网络发送给下一跳邻居节点;S223、对于发出业务流量报文的当前节点与下一跳邻居节点接入不同的NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点。隧道封装表包括各建立的Overlay隧道对应的隧道封装信息,每个逻辑链路层中存储所有与其相关的Overlay隧道对端逻辑链路层的隧道封装映射信息构成的隧道封装表。隧道封装映射信息的格式为邻居节点MAC地址-隧道封装的网络标识符-邻居节点关联的NVE设备的IP地址(对应于隧道封装目的端的IP地址)。该步骤中,相当于将每个NVE设备接入的节点的邻居信息组成邻居信息表存储在该NVE设备中,根据邻居信息表与NVE设备中的隧道封装模块共同构建软件定义的逻辑链路层,通过逻辑链路层确定发送修改后的业务流量报文的逻辑链路,在虚拟网络和物理网络中保障业务流量报文均能实现逐跳传输。
步骤S3:依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理。
根据本发明的一个实施例,所述步骤S3包括:在仿真网络中当前节点需要访问其他节点时,该当前节点产生的业务流量报文将到达该当前节点相连的NVE设备;该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;在该当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。例如,仿真网络的节点产生的初始的业务流量报文将被该节点连接的NVE设备处理后,转发到其路由的第一跳,即默认网关节点中。优选的,步骤S3还包括:在仿真网络的业务流量报文到达相关路由路径的中间某跳时,该跳对应的网络设备将按照与该业务流量报文匹配的路由规则对应的动作处理该业务流量报文;处理该业务流量报文之后,该跳对应的当前节点将业务流量报文再次转发,转发后将到达该当前节点相连的NVE设备;该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。当仿真网络的业务流量报文到达其相关路由的中间某一跳时,该跳对应的网络设备将该报文(本发明中,报文和业务流量报文可互换使用)匹配的路由规则对应的动作处理该报文,如修改其报文头的某个域的信息,通过给定的网口转发报文,或者直接丢弃报文。如果报文被丢弃,该次通信将直接结束。如果报文再次被当前网络设备节点转发出,报文仍会先到达该节点对应的NVE设备进行处理。由此,可以实现让业务流量报文按照路由路径逐跳传输,而非经过隧道直达终点。该实施例的技术方案至少能够实现以下有益技术效果:由于NVE设备是经SDN控制器配置的,使得流量传输的整个过程完全基于SDN控制器下发的配置自动执行,无需改变原有的隧道封装技术,如VXLAN技术,也无需修改物理网络配置或增加新的物理网络设备,从而达到真正的虚实解耦。
根据本发明的一个示例,参见图6,如图所示的仿真网络拓扑结构(对应于图3,因此标记不作重复介绍)中,在现有技术中,如果一个业务报文流量从主机Host1出发,会经过VXLAN隧道直达主机Host2,达不到真实的路由与流量融合的效果,使得仿真结果出现偏差。而本发明中,通过一些虚拟节点VM和物理设备来实现仿真网络,如将主机Host1、NF1、NF2用虚拟节点VM实现,节点NF4直接以物理设备的形式通过硬件NVE设备接入。在NVE设备的原有功能外增加逻辑链路层功能,每个节点在发出业务流量报文之后,该业务流量报文都经过NVE设备的逻辑链路层的处理,从而将其目的地址修改为路由路径的下一跳节点,让业务流量报文在节点间按合集传输路径传输,从而在隧道中实现与仿真网络拓扑一致的逻辑链路层,实现路由流量融合,为开展网络空间研究提供准确可靠的仿真平台。
根据本发明的一个实施例,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出包括:在该当前节点有下一跳邻居信息且其中连接类型为第一连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文发送给邻居节点;在该当前节点有下一跳邻居信息且其中连接类型为第二连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点;其中,所述第一连接类型表示该当前节点和邻居节点接入同一个NVE设备,所述第二连接类型表示该当前节点和邻居节点彼此接入不同的NVE设备。例如,如果邻居节点与当前计算节点在邻居信息表连接方式项的值为1,表明该两节点位于同一个NVE设备,该NVE设备将直接将修改MAC地址后的报文转发给邻居网络节点。如果邻居节点与当前计算节点在邻居信息表连接方式项的值为0,表明该两节点位于不同NVE设备,NVE设备将通过修改后的报文的目的MAC信息查询的隧道封装表,如VXLAN表,找到匹配的VXLAN网络标识符(VXLAN Network Identifier,简称VNI)和远端的VXLAN隧道端点(VXLAN Tunnel Endpoints,简称VTEP)的IP地址,并在修改后的报文之上进行VXLAN封装,最后将报文发送到物理网络中。如果仿真平台采用了其他隧道技术,如NVGRE隧道技术,则是查询NVGRE表,后续按照以上过程进行NVGRE封装后发出。需要注意的是,由于基于云和虚拟化的仿真平台中,NVE执行实际的VXLAN封装与解封装操作,所以上述远端的VXLAN隧道端点即该邻居节点所连接的NVE设备。进行VXLAN封装后的报文将通过物理网络直接到达其邻居网络设备所连接的NVE设备;该NVE设备收到报文后解封装VXLAN,并依据解封后的报文的目的MAC地址,将报文发送给该邻居节点。该实施例的技术方案至少能够实现以下有益技术效果:本发明将由隧道直达的报文改为了按照路由路径逐跳传输从源节点到达目的节点的形式,实现了路由和流量的融合,为准确开展多种网络空间科学实验提供了可能;NVE设备基于邻居信息表和隧道封装模块的结合,实现了对仿真网络的业务流量报文按网络层路由配置的逐跳传输,其实质是在仿真网络拓扑链路的两端节点间建立了隧道,发挥TCP/IP网络模型中的链路层功能,将报文从隧道的一端传送到另一端,从而实现无需探测或干涉仿真网络网络层行为与配置,即可实现流量报文与网络层行为与配置完全一致的路由传输。
根据本发明的一个示例,参见图7,从NF1发出的原始报文,其格式自里向外(对应于图中自下而上)分别是:数据部分(即Payload);IP头部(与本发明相关的IP头部内容主要是源IP地址和目的IP地址);以太帧头部(与本发明相关的以太网头部信息是源MAC地址和目的MAC地址)。如图7中,其展示的是一个从图3的主机Host1发到主机Host2的报文在到达节点NF1后发出的报文经过NVE设备的处理过程。其中,源IP为发出报文的主机(本例中即Host1,非NF1)的IP地址,目的IP为报文想要送达的主机IP地址,本例中即Host2的IP地址。源MAC地址为NF1的MAC地址,目的MAC地址未知。即:到达NF1节点后,从节点NF1的eth1出发的原始帧中,IP头部内的信息包括源IP地址src_ip=vIP5和目的IP地址dst_ip=vIP6,以太帧头部的信息包括源MAC地址src_MAC=vMAC1和目的MAC地址dst_MAC=FF:FF:FF:FF:FF:FF(全F地址)。在该报文发出后,节点NF1相关的NVE设备(即NVE-3)依据邻居信息表修改目的MAC地址,即将dst_MAC=FF:FF:FF:FF:FF:FF修改为dst_MAC=vMAC3。查邻居信息表得到节点NF1和节点NF3的连接方式为0,即两者部署于不同的服务器中,NVE设备在发出报文前还会进行VXLAN封装,在上述报文之外加上VXLAN封装部分。VXLAN封装部分包括:VXLAN头部、UDP头部、(服务器的)IP地址、目的IP地址、外部以太帧头,分别对应于标记VXLANHeader、UDP Header、src_ip、dst_ip、outer MAC Header。例如,此处是将IP地址为IP3中的节点NF1的报文传输给位于IP地址为IP2中的节点NF3,则VXLAN封装部分的src_ip=IP3、dst_ip=IP2。如果一个节点的下一跳邻居节点在同一NVE设备中,则不会添加VXLAN封装部分,直接发出。仿真网络的业务流量将一直重复上述过程,直至报文被丢弃或到达目的节点,通信结束。应当注意的是,本发明是在仿真平台的原始功能上新增的逻辑链路层功能,因此,在图7的过程中,实际上省略了一部分原有的操作,为避免误解,此处进行简单说明。即:实际上节点NF1获得报文时,因为是从主机Host1发来的报文,以太帧头部原来的信息包括源MAC地址src_MAC=vMAC5和目的MAC地址dst_MAC=vMAC1,原有的操作中,NF1节点对应的网卡收到报文后会直接剥离这一部分信息,在当前节点处理完报文再次发出后,会以当前节点网卡MAC地址作为源MAC地址,由于未知目的端对应的MAC地址,即dst_mac=unKnown,将直接以全F的地址作为目的MAC地址,从而得到图7原始报文以太帧头部中所示的结果。
综上,本发明提出一种用于虚拟化网络仿真的路由流量融合方法,相当于一种面向虚拟化网络仿真的虚实解耦路由流量融合方法。该方法主要适用于基于Overlay技术(如VXLAN隧道技术)实现的网络仿真平台。该方法通过软件定义的形式在Overlay技术之上生成了一个对应于当前仿真网络的“逻辑链路层”。仿真网络中所有业务流量报文从当前节点中发出时都将先被该“逻辑链路层”处理,从而在无需探测仿真网络网络层行为与配置的同时,自动实现对业务流量相关路由传输的支持。
根据本发明的一个实施例,一种基于Overlay技术构建的网络仿真平台,包括:SDN控制器,用于根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表,以及根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;多个NVE设备,用于依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理。具体来说,在NVE设备中增加逻辑链路层功能模块,SDN控制器基于仿真网络拓扑编排NVE(Network Virtualization Edge,网络虚拟边缘)设备中的逻辑链路层配置,NVE设备中逻辑链路层功能模块据此处理从仿真网络达到逻辑链路层的业务流量报文,使处理后的报文可以直接通过Overlay技术的隧道封装转发到仿真网络路由路径的下一跳节点所在的位置,而不是直接到达报文的目的端。由此,无需改变Overlay技术本身的架构和实现,也无需专门的硬件支持,更无需修改底层物理网络的功能与配置,从而真正做到虚实解耦的仿真网络流量路由融合传输。
根据本发明的一个实施例,对于SDN控制器和NVE设备,通过扩展原有基于Overlay实现的网络仿真平台的SDN控制器与NVE功能实现,在原有模块的基础上增加实现本发明的功能的模块来实现本发明的方案。例如,参见图8,SDN控制器中,在原有控制模块的基础上,新增一个仿真网络路由流量融合控制模块,由此基于SDN南向接口协议与相应NVE设备进行通信,SDN南向接口协议例如是OpenFlow协议。类似地,软件NVE设备中,在原有功能模块的基础上新增逻辑链路层功能模块,通过逻辑链路层功能模块来执行对业务流量报文的转发处理。软件NVE模块设备连接虚拟的节点,例如图中的主机节点Host和虚拟的网络节点NF。硬件NVE设备包括逻辑链路层功能模块和VXLAN功能模块。
根据本发明的另一个实施例,本发明也支持与原有Overlay解耦的实施方式,如图9所示。不改变原SDN控制器,而直接新增用于执行路由流量融合的SDN控制器,其通过访问接口与原SDN控制器功能实现相互访问与调用。同样地,不改变原NVE功能,而新增专门的实现逻辑链路层功能的软件NVE设备,其通过访问接口与原软件NVE设备实现互访和调用。仿真所需的物理网络设备仍通过硬件NVE设备接入仿真平台。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种用于虚拟化网络仿真的路由流量融合方法,其特征在于,包括:
S1、根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表;
S2、根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;
S3、依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理;
其中,所述步骤S3包括:
在仿真网络中当前节点需要访问其他节点时,该当前节点产生的业务流量报文将到达该当前节点相连的NVE设备;
该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;
在该当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;
在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1包括:
S11、在仿真网络中所有节点都完成部署后,SDN控制器获取仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息;
S12、SDN控制器基于用户规划的仿真网络拓扑结构及其各个节点的虚拟位置信息和/或物理位置信息生成每个当前节点的邻居信息,其中,所述邻居信息包括当前节点IP地址、当前节点MAC地址、当前节点网口、邻居节点IP地址、邻居节点MAC地址、邻居节点网口和用于指示当前节点和邻居节点是否接入相同的NVE设备的连接类型。
3.根据权利要求2所述的方法,其特征在于,所述步骤S2包括:
S21、在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层;
S22、根据邻居信息表基于南向接口协议编排各NVE设备中的逻辑链路层流量传输配置,以将任何业务流量报文配置为每次从仿真网络的节点发出后均经过该节点的逻辑链路层处理,使处理后的业务流量报文按照仿真网络路由路径到达下一跳邻居节点。
4.根据权利要求3所述的方法,其特征在于,所述步骤S22中对逻辑链路层进行流量传输配置以使逻辑链路层按照以下方式处理每次收到的业务流量报文:
S221、对于发出业务流量报文的当前节点没有下一跳邻居节点的情况,丢弃该业务流量报文,结束通信:
S222、对于发出业务流量报文的当前节点与下一跳邻居节点接入同一个NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文经过虚拟网络发送给下一跳邻居节点;
S223、对于发出业务流量报文的当前节点与下一跳邻居节点接入不同的NVE设备的情况,修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点。
5.根据权利要求3所述的方法,其特征在于,所述步骤S3还包括:
在仿真网络的业务流量报文到达相关路由路径的中间某跳时,该跳对应的网络设备将按照与该业务流量报文匹配的路由规则对应的动作处理该业务流量报文;
处理该业务流量报文之后,该跳对应的当前节点将业务流量报文再次转发,转发后将到达该当前节点相连的NVE设备;
该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;
当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;
在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。
6.根据权利要求5所述的方法,其特征在于,所述逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出包括:
在该当前节点有下一跳邻居信息且其中连接类型为第一连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并直接将修改后的业务流量报文发送给邻居节点;
在该当前节点有下一跳邻居信息且其中连接类型为第二连接类型时,逻辑链路层修改业务流量报文的目的MAC地址为该邻居信息中对应的邻居节点的MAC地址并经过隧道封装模块根据修改后的业务流量报文的目的MAC信息查询隧道封装表,根据查询到的隧道封装的网络标识符和隧道封装目的端的IP地址在修改后的业务流量报文上进行隧道封装,将隧道封装后的业务流量报文经仿真网络的物理网络发送给下一跳邻居节点;
其中,所述第一连接类型表示该当前节点和邻居节点接入同一个NVE设备,所述第二连接类型表示该当前节点和邻居节点彼此接入不同的NVE设备。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述NVE设备包括软件NVE设备和硬件NVE设备,所述软件NVE设备用于连接虚拟节点,所述硬件NVE设备用于连接暂不支持网络功能虚拟化的物理设备。
8.根据权利要求2至5任一项所述的方法,其特征在于,所述方法还包括:在仿真网络的任何节点的路由能力发生变化时,响应于该节点的路由能力变化的情况,更新该节点以及该节点的邻居节点对应的NVE设备中的邻居信息表。
9.一种基于Overlay技术构建的网络仿真平台,其特征在于,包括:
SDN控制器,用于根据构建的仿真网络拓扑结构和仿真网络的节点的部署位置信息,在各物理主机的NVE设备中生成该NVE设备连接的节点的邻居信息表,以及根据邻居信息表在NVE设备构建软件定义的与仿真网络拓扑结构一致的逻辑链路层并对逻辑链路层进行流量传输配置;
多个NVE设备,用于依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理,其中,所述依据经流量传输配置的逻辑链路层对仿真网络中任何业务流量报文进行路由流量融合处理包括:
在仿真网络中当前节点需要访问其他节点时,该当前节点产生的业务流量报文将到达该当前节点相连的NVE设备;
该当前节点相连的NVE设备查询本地存储的邻居信息表获得与该当前节点相关的邻居信息;
在该当前节点没有下一跳邻居信息时,逻辑链路层丢弃该当前节点的业务流量报文;
在该当前节点有下一跳邻居信息时,逻辑链路层根据对应的连接类型使用与之适配的方式对业务流量报文进行转发处理后通过给定的网口发出。
10.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至8中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1至8中任一项所述方法的步骤。
CN202011259590.1A 2020-11-12 2020-11-12 一种用于虚拟化网络仿真的路由流量融合方法 Active CN112511431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011259590.1A CN112511431B (zh) 2020-11-12 2020-11-12 一种用于虚拟化网络仿真的路由流量融合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011259590.1A CN112511431B (zh) 2020-11-12 2020-11-12 一种用于虚拟化网络仿真的路由流量融合方法

Publications (2)

Publication Number Publication Date
CN112511431A CN112511431A (zh) 2021-03-16
CN112511431B true CN112511431B (zh) 2022-03-22

Family

ID=74957222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011259590.1A Active CN112511431B (zh) 2020-11-12 2020-11-12 一种用于虚拟化网络仿真的路由流量融合方法

Country Status (1)

Country Link
CN (1) CN112511431B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113114509B (zh) * 2021-04-16 2023-04-18 浪潮思科网络科技有限公司 一种在sdn网络环境中进行报文转发仿真的方法及设备
CN114363191B (zh) * 2021-12-24 2023-11-10 中国联合网络通信集团有限公司 一种基于节点与ip地址的路由扩散模拟方法及装置
CN114500297B (zh) * 2022-04-01 2022-07-15 中国科学技术大学 基于虚实融合的大规模网络测试系统
CN114900436B (zh) * 2022-04-29 2023-03-21 电子科技大学 一种基于多维融合模型的网络孪生方法
CN115714725B (zh) * 2022-10-17 2023-09-12 江西科骏实业有限公司 一种面向教学应用的网络指令虚拟仿真实现方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763570A (zh) * 2016-04-26 2016-07-13 北京交通大学 一种基于虚拟化技术的分布式实时网络仿真系统
CN110011835A (zh) * 2019-03-14 2019-07-12 烽火通信科技股份有限公司 网络仿真方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170006082A1 (en) * 2014-06-03 2017-01-05 Nimit Shishodia Software Defined Networking (SDN) Orchestration by Abstraction
CN108123818B (zh) * 2016-11-30 2020-10-09 江南大学 一种虚实网络灵活可扩展融合的仿真方法
CN108234169B (zh) * 2016-12-15 2021-02-12 北京仿真中心 一种分布式仿真网络结构实时动态优化方法
CN108282376B (zh) * 2018-04-20 2021-06-08 江南大学 一种基于轻量级虚拟化的LDDoS仿真方法
CN110956864A (zh) * 2018-09-27 2020-04-03 中国人民解放军战略支援部队信息工程大学 一种网络安全训练场景模拟系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763570A (zh) * 2016-04-26 2016-07-13 北京交通大学 一种基于虚拟化技术的分布式实时网络仿真系统
CN110011835A (zh) * 2019-03-14 2019-07-12 烽火通信科技股份有限公司 网络仿真方法及系统

Also Published As

Publication number Publication date
CN112511431A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN112511431B (zh) 一种用于虚拟化网络仿真的路由流量融合方法
EP3677000B1 (en) Method and system for tracing packets in software defined networks
EP3808040B1 (en) Apparatus and method to trace packets in a packet processing pipeline of a software defined networking switch
US11444864B2 (en) Optimized datapath troubleshooting with trace policy engine
EP3254417B1 (en) Method and system for supporting port ranging in a software-defined networking (sdn) system
US11115328B2 (en) Efficient troubleshooting in openflow switches
US9940153B2 (en) Method for generating configuration information, and network control unit
CN108737272B (zh) 一种云计算中高性能路由转发方法
US10263808B2 (en) Deployment of virtual extensible local area network
CN112311606B (zh) 一种用于构建虚实解耦仿真网络的方法
US20160315866A1 (en) Service based intelligent packet-in mechanism for openflow switches
EP3125476A1 (en) Service function chaining processing method and device
CN112511432B (zh) 一种Overlay网络虚拟化SFC路由配置、传输方法及系统
WO2017199062A1 (en) Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks
EP3456020B1 (en) Mechanism for inline packet response generation in software defined networks
EP4046351B1 (en) Rtps discovery in kubernetes
US11863454B2 (en) Systems and methods for scalable validation of multiple paths in a network using segment routing
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
CN105917617A (zh) 针对校园网中的线路速率性能的单跳叠加架构
CN110752989A (zh) 一种东西向流量转发方法与装置
CN113965509A (zh) 路由方法、跨设备链路聚合组、装置、存储介质和网络
GB2559660A (en) Implementing service function chains
Litmanen Segment routing
US11218406B2 (en) Optimized datapath troubleshooting
Seck et al. BOPIS-Software: A Python based Software application for SDN East-West inter Autonomous System communication and Programmable Network Monitoring tool

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant