CN113193998B - 网络仿真方法、可编程交换机和计算机可读存储介质 - Google Patents

网络仿真方法、可编程交换机和计算机可读存储介质 Download PDF

Info

Publication number
CN113193998B
CN113193998B CN202110463748.5A CN202110463748A CN113193998B CN 113193998 B CN113193998 B CN 113193998B CN 202110463748 A CN202110463748 A CN 202110463748A CN 113193998 B CN113193998 B CN 113193998B
Authority
CN
China
Prior art keywords
port
network
switch
simulation
programmable switch
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
CN202110463748.5A
Other languages
English (en)
Other versions
CN113193998A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110463748.5A priority Critical patent/CN113193998B/zh
Publication of CN113193998A publication Critical patent/CN113193998A/zh
Application granted granted Critical
Publication of CN113193998B publication Critical patent/CN113193998B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种网络仿真方法,应用于可编程交换机,所述网络仿真方法包括以下步骤:获取待仿真网络的网络拓扑的第一描述参数;根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;根据所述第一描述参数链接各个所述第二端口。本发明还公开一种可编程交换机和计算机可读存储介质。本发明构建的仿真网络具有真实性高、可重现性高以及适用大型生产网络优点。

Description

网络仿真方法、可编程交换机和计算机可读存储介质
技术领域
本发明涉及网络仿真技术领域,尤其涉及一种网络仿真方法、可编程交换机和计算机可读存储介质。
背景技术
当前的网络仿真方法可以分为三类。
第一类为网络模拟器(Simulator),例如ns2、ns3、OMNet++。网络模拟器利用CPU的计算能力来对真实的网络和流量进行建模。网络模拟器支持灵活的定制,可以轻松地扩展到大型网络,但其模型在功能和性能方面不能完全代表真实的网络及流量,仿真网络的真实性较差。
第二类为网络仿真器(Emulator),例如Mininet、Mininet-Hifi、CrystalNet在CPU(central processing unit,中央处理器)上运行与真实设备相同的代码。网络仿真器是可定制的,像网络模拟器一样容易扩展,并且在功能方面实现了较高的保真度。但是,由于网络仿真器仍然是在CPU上运行的,因此无法提供在真实网络中可重现的性能结果,尤其是无法仿真较高的网络带宽,例如Gbps的场景。
第三类为网络实验床(Test-Bed)通过真实设备进行网络实验。受成本和资源的限制,自行搭建的实验床通常只能支持小规模试验,其结果可能不适用于大型生产网络。
综上,现有技术中的仿真网络无法同时满足真实性高、可重现性高以及适用大型生产网络。
发明内容
本发明的主要目的在于提供一种网络仿真方法、可编程交换机和计算机可读存储介质,旨在解决现有技术中的仿真网络无法同时满足真实性高、可重现性高以及适用大型生产网络的问题。
为实现上述目的,本发明提供一种网络仿真方法,应用于可编程交换机,所述网络仿真方法包括以下步骤:
获取待仿真网络的网络拓扑的第一描述参数;
根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;
根据所述第一描述参数链接各个所述第二端口。
在一实施例中,所述根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口的步骤包括:
根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
根据所述映射关系,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口。
在一实施例中,所述可编程交换机包括多个端口组,所述根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系的步骤包括:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定端口映射的第一目标要求以及第一约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第一目标要求以及所述第一约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在一实施例中,所述可编程交换机包括多个端口组,且至少部分的所述端口组的至少部分队列作为端口,所述根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系的步骤包括:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定队列映射的第二目标要求以及第二约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第二目标要求以及所述第二约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在一实施例中,确定队列映射的第二目标要求以及第二约束条件的步骤之前还包括:
确定端口映射的第一目标要求以及第一约束条件;
基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
若基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件未确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系,则确定队列映射的第二目标要求以及第二约束条件。
在一实施例中,所述根据所述第一描述参数链接各个所述第二端口的步骤包括:
在根据所述第一描述参数确定所述第二端口与主机端口未有链接关系时,将所述第二端口的链接模式设置为环回模式;
将具有环回模式的当前第二端口与所述当前第二端口待链接的其他第二端口,进行单向链接。
在一实施例中,所述确定所述网络拓扑中的第一端口在所述可编程交换机上映射的第二端口的步骤之后,还包括:
获取所述网络拓扑的路由配置的第二描述参数,并根据所述第二描述参数仿真所述网络拓扑中每个仿真交换机的路由;
根据所述第一描述参数链接各个所述第二端口,并对所述仿真交换机的路由进行修正。
在一实施例中,所述对所述仿真交换机的路由进行修正的步骤包括:
通过路由配置的应用程序接口,对所述仿真交换机的路由表进行表项的增加和/或删减。
在一实施例中,所述对所述仿真交换机的路由进行修正的步骤包括:
创建每个仿真交换机对应的路由代理;
通过所述路由代理基于路由协议运行路由算法确定目标表项,并基于所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
在一实施例中,所述对所述仿真交换机的路由进行修正的步骤包括:
创建每个仿真交换机对应的控制平面,所述控制平面采集对应的所述仿真交换机的网络信息,并将所述网络信息发送至远程控制控制器;
接收所述远程控制器发送的所述目标表项,并根据所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
为实现上述目的,本发明提供一种可编程交换机,所述可编程交换机包括存储器、处理器以及存储在所存储器内并可在所述处理器上运行的网络仿真程序,所述网络仿真程序被所述处理器执行时实现如上所述的网络仿真方法的各个步骤。
为实现上述目的,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有网络仿真程序,所述网络仿真程序被处理器执行时实现如上所述的网络仿真方法的各个步骤。
本发明提供的网络仿真方法、可编程交换机和计算机可读存储介质,可编程交换机获取待仿真网络中网络拓扑的第一描述参数,并根据第一描述参数在可编程交换机的端口中确定网络拓扑中第一端口映射的第二端口,再根据第一描述参数链接各个第二端口。本发明可编辑交换的端口与仿真网络中的网络拓扑的端口映射,使得仿真网络能够在可编程交换机上获取真实的网络以及流量,提高了仿真网络的真实性;且可编辑交换的端口与仿真网络中的端口映射使得仿真网络能够支持较大的网络拓扑结构以适用于大型生产网络;此外,可编程交换机具有高带宽的特性,使得仿真网络的可重现性高,也即本发明提供的网络仿真方法构建的仿真网络具有真实性高、可重现性高以及适用大型生产网络优点。
附图说明
图1为本发明实施例涉及的可编程交换机的硬件结构示意图;
图2为本发明网络仿真方法第一实施例的流程示意图;
图3为仿真网络的拓扑图;图4为本发明网络仿真方法第二实施例中步骤S30的细化流程示意图;
图5为本发明网络仿真方法第三实施例的流程示意图;
图6为本发明网络仿真方法中的分布式路由的仿真示意图;
图7为本发明网络仿真方法中的集中式路由的仿真示意图;
图8为本发明网络仿真方法第四实施例中步骤S20的细化流程示意图;
图9为本发明仿真网络的工作示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的主要解决方案是:获取待仿真网络的网络拓扑的第一描述参数;根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;根据所述第一描述参数链接各个所述第二端口。
本发明可编辑交换的端口与仿真网络中的网络拓扑的端口映射,使得仿真网络能够在可编程交换机上获取真实的网络以及流量,提高了仿真网络的真实性;且可编辑交换的端口与仿真网络中的端口映射使得仿真网络能够支持较大的网络拓扑结构以适用于大型生产网络;此外,可编程交换机具有高带宽的特性,使得仿真网络的可重现性高,也即本发明提供的网络仿真方法构建的仿真网络具有真实性高、可重现性高以及适用大型生产网络优点。
如图1所示,图1是本发明实施例方案涉及的可编程交换机的硬件结构示意图。
如图1所示,本发明实施例方案涉及是可编程交换机。可编程交换机不同于以往固定功能的交换机,它允许更多的逻辑处理/算术运算等来定义数据包处理和转发行为。可编程交换机可以支持每个数据包上配置修改数据包头部以及维护交换机内部的状态。报文在交换机中先经过一个可编程的解析器(Parser),解析器将头部域从报文中提取出来,将载荷分开缓存,载荷不参与匹配。然后,被提取出来的头部再经过由匹配动作表构成的包含多个阶段(Stage)的流水线(Pipeline)。流水线包括入口流水线(Ingres Pipeline)和出口流水线(Egress Pipeline)。入口流水线中的匹配动作表决定了报文的输出端口和进入的队列。基于入口流水线阶段的处理,报文可能被转发、复制、丢弃或者触发流控制。出口流水线的匹配动作表同样可以对报文头部域进行修改。匹配动作表通过使用P4(P4为高级编程语言)语言的数据结构,例如计数器(counter)和寄存器(register)等来实现带状态的处理。报文在各个阶段之间传递的过程中,可以携带额外的信息,称为元数据(metadata)。元数据可以包括入端口信息、时间戳等等。利用可编程交换机提供的硬件原语,可以通过编写程序来配置它的报文处理流程。
可编程交换机具有高带宽的特性。具体的,可编程交换机可以在每个数据包上都能以线速运行并且只有纳秒级的延迟。可编程交换机可谓Tofino交换机[43,44],Tofino交换机[43,44]是当前最快的可编程交换机,它一共可以有64个100Gbps的交换机端口,每个端口又可以被配置为1x100Gbps、1x40Gbps、4x25Gbps或者4x10Gbps的子端口,因此一个可编程交换机可最多有256个子端口,总的数据包的吞吐能达到6.4Tbps。
可编程交换机可以包括:处理器101,例如CPU,通信总线102,存储器103。其中,通信总线102用于实现这些组件之间的连接通信。本领域技术人员可以理解,图1中示出的结构并不构成对可编程交换机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器中可以包括网络仿真程序。
在图1所示的装置中,处理器101可以用于调用存储器103中存储的网络仿真程序,并执行以下操作:
获取待仿真网络的网络拓扑的第一描述参数;
根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;
根据所述第一描述参数链接各个所述第二端口。
在一实施例中,所述根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口的步骤包括:
根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
根据所述映射关系,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定端口映射的第一目标要求以及第一约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第一目标要求以及所述第一约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定队列映射的第二目标要求以及第二约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第二目标要求以及所述第二约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
确定端口映射的第一目标要求以及第一约束条件;
基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
若基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件未确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系,则确定队列映射的第二目标要求以及第二约束条件。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
在根据所述第一描述参数确定所述第二端口与主机端口未有链接关系时,将所述第二端口的链接模式设置为环回模式;
将具有环回模式的当前第二端口与所述当前第二端口待链接的其他第二端口,进行单向链接。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
获取所述网络拓扑的路由配置的第二描述参数,并根据所述第二描述参数仿真所述网络拓扑中每个仿真交换机的路由;
根据所述第一描述参数链接各个所述第二端口,并对所述仿真交换机的路由进行修正。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
通过路由配置的应用程序接口,对所述仿真交换机的路由表进行表项的增加和/或删减。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
创建每个仿真交换机对应的路由代理;
通过所述路由代理基于路由协议运行路由算法确定目标表项,并基于所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
在一实施例中,处理器101可以调用存储器103中存储的网络仿真程序,还执行以下操作:
创建每个仿真交换机对应的控制平面,所述控制平面采集对应的所述仿真交换机的网络信息,并将所述网络信息发送至远程控制控制器;
接收所述远程控制器发送的所述目标表项,并根据所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
本实施例根据上述方案,可编程交换机获取待仿真网络中网络拓扑的第一描述参数,并根据第一描述参数在可编程交换机的端口中确定网络拓扑中第一端口映射的第二端口,再根据第一描述参数链接各个第二端口。本发明可编辑交换的端口与仿真网络中的网络拓扑的端口映射,使得仿真网络能够在可编程交换机上获取真实的网络以及流量,提高了仿真网络的真实性;且可编辑交换的端口与仿真网络中的端口映射使得仿真网络能够支持较大的网络拓扑结构以适用于大型生产网络;此外,可编程交换机具有高带宽的特性,使得仿真网络的可重现性高,也即本发明提供的网络仿真方法构建的仿真网络具有真实性高、可重现性高以及适用大型生产网络优点。
基于上述可编程交换机的硬件构架,提出本发明网络仿真方法的实施例。
参照图2,图2为本发明网络仿真方法的第一实施例,应用于可编程交换机,所述网络仿真方法包括以下步骤:
步骤S10,获取待仿真网络的网络拓扑的第一描述参数;
在本实施例中,执行主体为可编程交换机。可编程交换机可以支持用户输入所需仿真的网络。具体的,可编程交换机设置有仿真API(Application ProgrammingInterface,应用程序接口),用户可以通过仿真API描述网络仿真任务,网络仿真任务即表征为用户所需仿真的网络。仿真API包含两类。一类用于描述网络拓扑,另一类用于描述路由配置;故,可编程交换机可以从描述网络拓扑的仿真API中获取输入的第一描述参数,且可从描述路由配置的仿真API中获取第二描述参数,第一描述参数为待仿真网络的网络拓扑的描述参数,第二描述参数为待仿真网络的路由配置的描述参数,待仿真网络即为用户需要模拟的网络,第一描述参数即为描述网络拓扑的信息,且该信息可以以参数的形式存在。
进一步,参照图3以及表1,表1以及图3给出了一个仿真API使用实例,其中,图3为用户需要仿真的网络,也即为Emulated Topology(仿真拓扑)。待仿真网络的网络拓扑中包含三个仿真交换机sw1、sw2和sw3,其中,sw1通过端口x1和主机端口h1相连,sw3通过端口x6和主机端口h2相连,而sw1和sw2、sw2和sw3也分别相连。表1说明了如何通过仿真API来描述图3中的待仿真网络。仿真API通过添加仿真交换机(表1中的第2~4行),添加端口(表1中的第5~10行)和添加链路(表1中的第11~12行)。
表1
Figure BDA0003041768110000101
步骤S20,根据所述第一描述参数,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;
在本实施例中,可编程交换机进行网络的仿真时,需要先进行数据平面仿真。数据平面仿真的核心要素在于如何在一个可编程交换机中模拟不同的网络拓扑。对此,可编程交换机可被分割为多个仿真交换机,相应地,待仿真网络中的网络拓扑内每个仿真交换机也映射到拥有独立队列和带宽的一组端口,也即通过可编程交换机中的真实端口映射出仿真交换机的端口,从而实现将可编程交换机分割为多个仿真交换机。
数据平面的仿真包括交换机仿真以及链路仿真。具体的,可编程交换机基于第一描述参数在可编程交换机的端口中,确定每个仿真交换机的第一端口所映射的第二端口,从而完成交换机仿真。具体而言,交换机仿真包括三个流程:
1、可编程交换机中P2L(Physical-to-Logical物理到逻辑)Port Mapper(端口映射)模块在接收到数据包(数据包为第一描述参数)后,根据端口映射关系匹配可编程交换机上的输入端口(物理),并输出用户输入网络拓扑中的仿真交换机和仿真交换机的端口(逻辑端口);
2、对于每个仿真交换机,可编程交换机生成相应的匹配操作表,这些匹配操作表根据当前仿真交换机的路由策略设置转发端口,除了路由表外,每个仿真交换机中还可以实现其他一些复杂的网络功能,例如负载平衡和防火墙;
3、可编程交换机中的L2P(Logical-to-Physical逻辑到物理)Port Mapper(端口映射)模块基于端口映射关系,将转发端口(逻辑端口)还原为可编程交换机上的端口(物理端口),并转发数据包。
步骤S30,根据所述第一描述参数链接各个所述第二端口。
在完成仿真交换机仿真后,再进行链路仿真。链路仿真即为将各个第二端口进行链接。第一描述参数中包括有描述仿真交换机的第一端口之间的链接关系,因此,可编程交换机可以根据第一描述参数中关于第一端口之间的链接关系得到各个第二端口的链接关系,例如,可以根据第一描述参数得到第二端口Y1与Y2链接,可编程交换机则将Y1与Y2进行链接。
在本实施例提供的技术方案中,可编程交换机获取待仿真网络中网络拓扑的第一描述参数,并根据第一描述参数在可编程交换机的端口中确定网络拓扑中第一端口映射的第二端口,再根据第一描述参数链接各个第二端口。本发明可编辑交换的端口与仿真网络中的网络拓扑的端口映射,使得仿真网络能够在可编程交换机上获取真实的网络以及流量,提高了仿真网络的真实性;且可编辑交换的端口与仿真网络中的端口映射使得仿真网络能够支持较大的网络拓扑结构以适用于大型生产网络;此外,可编程交换机具有高带宽的特性,使得仿真网络的可重现性高,也即本发明提供的网络仿真方法构建的仿真网络具有真实性高、可重现性高以及适用大型生产网络优点。
参照图4,图4为本发明网络仿真方法的第二实施例,基于第一实施例,所述步骤S30的步骤包括:
步骤S31,在根据所述第一描述参数确定所述第二端口与主机端口未有链接关系时,将所述第二端口的链接模式设置为环回模式;
步骤S32,将具有环回模式的当前第二端口与所述当前第二端口待链接的其他第二端口,进行单向链接。
链路仿真的简易方法是用网线将同一链路上的两个端口人为地连接起来,但是对于大规模网络来说这种方法很繁琐。对此,本实施例通过将端口的链接模式设置为loopback模式(环回模式),使得每个具有loopback模式的端口都被用作单向的链路,从而将数据包传输至与其自身相连的另一台仿真交换机。
在本实施例中,只有连接到其他仿真交换机的端口配置为loopback模式,而连接到主机的端口仍然是通过网线连接。将前者称为switch-port,后者称为host-port。因此,当用户调用仿真API进行仿真交换机的端口进行描述时,应当对这两种类型的端口进行区分描述,也即第一描述参数中包括有仿真交换机的第一端口之间的链接关系。
可编程交换机基于第一描述参数得到各个第一端口之间的第一链接关系,从而基于链接关系确定每个第一端口对应的第二端口之间的第二链接关系,进而根据第二链接关系确定第二端口是否与主机端口有链接关系。若是第二端口与主机端口未有链接联系,则将第二端口的链接模式设置为环回模式。可编程交换机依次在各个第二端口中选择一个作为当前第二端口,若是当前第二端口具有环回模式,则基于第二链接关系确定当前第二端口待链接的其他第二端口,最后,将当前第二端口与其他第二端口进行单向链接。
在本实施例提供的技术方案中,可编程交换机根据第一描述参数确定第二端口与主机端口未有链接关系时,将第二端口的链接设置为环回模式,且将具有环回模式的当前第二端口与其他第二端口进行单向链接,从而简化仿真交换机之间的链路仿真流程。
参照图5,图5为网络仿真方法的第三实施例,基于第一或第二实施例,所述步骤S20之后,还包括:
步骤S40,获取所述网络拓扑的路由配置的第二描述参数,并根据所述第二描述参数仿真所述网络拓扑中每个仿真交换机的路由;
步骤S50,根据所述第一描述参数链接各个所述第二端口,并对所述仿真交换机的路由进行修正。
在本实施例中,数据平面的仿真还包括对网络拓扑中的仿真交换机的配有配置。
仿真API包含两类。一类用于描述网络拓扑,另一类用于描述路由配置;故,可编程交换机可以从描述网络拓扑的仿真API中获取输入的第一描述参数,且可从描述路由配置的仿真API中获取第二描述参数,第一描述参数为待仿真网络的网络拓扑的描述参数,第二描述参数为待仿真网络的路由配置的描述参数,待仿真网络即为用户需要模拟的网络,第一描述参数即为描述网络拓扑的信息,且该信息可以以参数的形式存在,同理,第二描述参数即为描述待仿真网络中仿真交换机的路由配置的信息,且路由配置的信息以参数的形式存在。
参照表2,表2为用户对仿真网络的网络拓扑以及路由配置的描述示意图,具体如下:
表2
Figure BDA0003041768110000131
其中,拓扑配置即为待仿真网络的网络拓扑。
可编程交换机在确定每个仿真交换机的第一端口所映射的第二端口,在基于第二描述参数仿真每个仿真交换机的路由,再进行链路仿真,也即基于第一描述参数链接各个第二端口进行链路仿真。在完成链路仿真后,即可初步模拟出需要的仿真网络,仿真网络即可运行,可以基于仿真网络的运行情况或者仿真交换机执行路由表所对应的路由策略的表现,对每个仿真交换机的路由进行修正,也即将仿真交换机中的路由表的表项进行增加、删减等。
具体的,仿真交换机的路由表第二描述参数得到路由策略,并基于路由策略设置仿真交换机的路由表;此外,进行链路仿真时,可编程交换机可以在仿真链路里使用匹配动作表进行一些链路延迟、丢包率的仿真,可编辑交换可以基于匹配动作表确定仿真交换中的路由表。用户可以通过路由配置的应用程序接口,直接对仿真交换机的路由表进行表项的增加和/或删减,此种方式为静态路由的设置。
此外,仿真交换机还支持动态路由设置。具体的,动态路由包括分布式和集中式的路由控制。对于分布式路由,参照图6,本实施例可编程交换机在switch CPU(主机CPU)上为每个仿真交换机创建一个单独的容器(Routing Agent)作为路由代理。用户可以指定路由协议(例如OSPF),并在路由代理中运算第一路由算法(第一路由算法例如Dijkstra)。路由代理将路由消息注入到仿真交换机(仿真交换机即为图6中的sw1、sw2以及sw3),并管理switch ASIC(switch ASIC为主机中的特殊应用集成电路)上的仿真交换机上的路由条目(路由条目即为路由表的表项)。可编程交换机CPU上的Runtime(Runtime指的是CPU上的某个程序处于运行状态)用于传输路由条目(Routing Message)并在仿真交换机上添加/删减路由条目。可以理解的是,可编程交换机创建每个仿真交换机对应的路由代理,通过路由代理基于路由协议运行路由算法确定目标表项,并基于所述目标表项,对仿真交换机的路由表进行表项的增加和/或删减。需要说明的是图6中的Routing Entry指的是路由条目进入Runting以及仿真交换机,且programmabel switch为可编程交换机。
对于集中式路由,参照图7,本实施例支持使用远程控制器进行集中式的路由控制,用户可以在远程控制器(远程控制器即为图7中的controller)上运行路由程序。每个仿真交换机在Runtime上都有一个本地控制平面,用于与控制器建立控制通道。控制器从本地控制平面收集网络状态,通过将网络状态带入第二路由算法(集中式路由的路由算法与分布式路由算法不同)以计算路由条目,并将路由条目分配到对应的本地控制平面;然后,控制平面基于接收的路由条目在相应的仿真交换机上增加和/或删减表项。可以理解的是,可编程交换机创建每个仿真交换机对应的控制平面,所述控制平面采集对应的所述仿真交换机的网络信息(网络状态),并将网络信息发送至远程控制控制器;远程控制器基于网络信息确定目标表项,并将目标办表项发送至对的控制平面;接收所述远程控制器发送的所述目标表项,并根据目标表项,对仿真交换机的路由表进行表项的增加和/或删减。
此外,对于仿真交换机的路由配置进行修正为控制平面仿真,控制平面仿真用于模仿路由协议或程序如何控制生产网络。此外,为了能够在控制平面上准确模拟网络行为,本实施例同时支持静态路由以及动态路由。
整体而言,本实施例首先通过用户使用给定的仿真API描述需要仿真网络的网络仿真任务,网络仿真任务包括第一描述参数以及第二描述参数;然后,可编程交换机对数据平面进行仿真,位于Switch CPU(可编辑交换的CPU)上的Compiler(编译器)会生成P4(P4为一种高级编程语言)程序、仿真交换机配置以及流表项,来实现在可编程交换机上构造给定的仿真网络的网络拓扑;再者,进行控制平面仿真,通过支持静态添加或删除路由表项、在switch CPU上创建容器运行分布式路由agent进行静态路由配置,或者,和远程控制器之间建立控制通道来进行动态路由配置;最后,用户可以运行生成的P4程序,并进行相应的实时配置,从而进行仿真网络的控制。
在本实施例中,可编程交换机在确定网络拓扑中第一端口在可编程交换机上映射的第二端口后,对网络拓扑中的仿真交换机进行路由设置,并在对各个第二端口进行链接后,在对仿真交换机的路由进行修正,从而使得仿真网络能够准确的模拟网络的网络行为。
参照图8,图8为本发明网络仿真方法的第四实施例,基于第一至第三中任一实施例,所述步骤S20包括:
步骤S21,根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
步骤S22,根据所述映射关系,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口。
在本实施例中,用户可以指定仿真交换机的端口与可编程交换机的端口之间的映射关系,该映射关系可以通过仿真API输入至可编程交换机内,可编程交换机则获取含有映射关系的第一描述参数。
可编程交换机基于第一描述参数即可获取仿真交换机的端口与可编程交换机的端口之间的映射关系,从而基于映射关系,从可编程交换机的端口中确定每个仿真交换机的第一端口映射的第二端口。
参照图9,图9为仿真网络的工作示意图。
1、将网络拓扑中的每个端口x1~x6映射到可编程交换机上的端口y1~y6。将switch-port(y2~y5)配置为loopback模式,而host-port(y1和y6)通过网线与主机端口连接;
2、当数据包从host-port(例如y1)进入可编程交换机时,为其添加一个VLAN标签;
3、由于y1对应x1,来自y1的数据包被视为从端口x1到达仿真交换机sw1,假设sw1的路由策略为将报文在端口x1和x2之间互相转发,则数据包应当被转发到x2;
4、端口x2被映射到y2,取决于转发端口类型,数据包要么离开仿真拓扑,要么通过loopback端口进入下一个仿真的交换机。由于y2是loopback端口,因此将再次从y2接收数据包,链路仿真模块识别当前链路,即link1;
5、数据包进入下一个仿真的交换机。端口y2作为将数据包从交换机sw1传输到sw2的单向链路,因此来自y2的数据包被视为来自仿真交换机sw2上的端口x3。因此,数据包被转发到端口x4,x4被映射到可编程交换机上的端口y4;
6、与第4步一样,数据包再次被y4收到,相当于link2;
7、与第5步一样,数据包由仿真交换机sw3发送到端口y6;
8、由于y6是host-port,因此数据包将离开仿真的拓扑。在数据包离开可编程交换机之前,其VLAN标签被移除。
在本实施例提供的技术方案中,可编程交换机根据第一描述参数确定仿真交换机的端口与可编程交换机的端口的映射关系,从而根据映射关系准确的在可编程交换机的端口中确定每个仿真交换机的第一端口所映射的第二端口。
在一实施例中,步骤S21包括:
A、根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
B、确定端口映射的第一目标要求以及第一约束条件;
C、根据所述带宽、所述第一数量、所述第二数量、所述第一目标要求以及所述第一约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在本实施例中,可编程交换机包括多个端口组。例如,可编程交换机中有x个100G端口组,并且每个端口组可以细分为1x100G,2x40G,4x25G或4x10G端口,则仿真网络所模拟的端口总数不能超过4x。以Tofino可编程交换机为例,一共有64个100G的端口组,则最多可以仿真出包含256个端口的网络拓扑。
为了将网络拓扑中的端口映射到可编程交换机上的端口(Port Mapper,PM),本实施例将PM问题形式化为0-1整数线性规划(ILP)问题。例如,表3中列举了相关的输入输出变量:
表3
Figure BDA0003041768110000171
对于端口映射这一PM问题,输入变量包括拓扑仿真要求,即网络拓扑中端口的带宽和队列数(S,bk,qk),以及可编程交换机上的可用端口组的数量(P)。此外,需要考虑到PM问题的目标以及约束条件。目标即为PM问题的目标要求,例如,目标要求为:尽量减少可编程交换机上使用的端口数量,PM问题的约束条件具体参照表4:
表4
Figure BDA0003041768110000172
约束条件C1~C3保证了端口的一一对应关系;约束条件C4要求可编程交换机上的映射端口带宽不应小于输入端口带宽,如果分配更多带宽,将采用带宽整形(BandwidthShaping);约束条件C5给出了可编程交换机上的队列约束。
第一描述参数中包括有用户指定相应的网络配置,例如,端口带宽和队列数量,故,可编程交换机可以从第一描述参数中获取网络拓扑的端口的以及队列的第一数量,并在可编程交换机上确定空闲的端口组的第二数量。空闲的端口组可以理解为可用的端口组,也即端口组中的端口未被占用。可编程交换机再获取端口映射(PM问题)的第一目标要求以及第一约束条件,从而根据带宽、第一数量、第二数量、第一目标要求以及第一约束条件确定仿真交换机的端口与可编程交换机的端口之间的映射关系。需要说明的是,带宽、第一数量、第二数量、第一目标要求以及第一约束条件输出的变量为二进制,也即包含两个部分,一个为仿真网络中端口与可编程交换机的端口的映射关系,另一个是可编程交换机上端口组中端口带宽配置(xi 1,2,3,4),可以理解的是,在对仿真网络的端口进行映射后,需要重新基于输出变量配置可编程交换机中端口组中各个端口的带宽配置。
在本实施例提供的技术方案中,可编程交换机中包括多个端口组,可编程交换机基于端口映射所对应的QM问题出发,得到仿真网络的端口与可编程交换机的端口之间最佳映射关系。
在一实施例中,步骤S21包括:
D、根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
E、确定队列映射的第二目标要求以及第二约束条件;
F、根据所述带宽、所述第一数量、所述第二数量、所述第二目标要求以及所述第二约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
网络仿真的一个关键限制因素是一个可编程交换机中的端口是有限的,为了模拟更大的拓扑,本实施例将至少部分端口组下至少队列视为逻辑端口,也即可以将全部的端口组的一部分队列作为逻辑端口、将全部的端口组的全部队列作为逻辑端口、将一部分的端口组的一部分队列作为逻辑端口、或者将全部的端口组的全部队列作为逻辑端口。例如,将端口组的32个队列或者一部分队列看做为逻辑端口。一方面,可编程交换机支持为每个数据包指定出口队列,就像出口端口一样;另一方面,利用每个队列的最大带宽整形(portshaping),可以配置队列带宽以模拟指定的输入端口带宽。
本实施例涉及的是仿真网络中端口与可编程交换机中端口组的队列的映射关系,也即为队列映射。用户可以指定仿真网络的某个端口与可编程交换机的端口进行端口映射或者进行队列映射(Queue Mapper,QM)。本实施例可以将队列映射简化为QM问题。
QM问题采用与PM相同的输入,但具有不同的输出。对于映射到物理端口的host-port,QM具有与PM相同的输出。对于switch-port,本实施例定义另外两个二进制变量来表示队列映射关系。具体的,QM问题对应目标也为尽量使用更少的端口以预留出更多的可编程交换机带宽。约束包括两方面,即host-port和switch-port。QM问题的约束条件具体参照表5。约束条件C1表示一个可编程交换机端口可以被映射到switch-port或host-port。约束条件C2表示host-port的映射关系。约束条件C3~C5给出了switch-port的约束条件。具体来说,C4要求每个switch-port映射的队列应该属于同一端口组。C3和C5要求可编程交换机上的每个端口组最多具有100Gbps带宽和32个队列可分配。
表5
Figure BDA0003041768110000191
可以理解的是,可编程交换机可以从第一描述参数中获取网络拓扑的端口的以及队列的第一数量,并在可编程交换机上确定空闲的端口组的第二数量。空闲的端口组可以理解为可用的端口组,也即端口组中的端口未被占用。可编程交换机再获取端口映射(QM问题)的第二目标要求以及第二约束条件,从而根据带宽、第一数量、第二数量、第二目标要求以及第二约束条件确定仿真交换机的端口与可编程交换机的端口之间的映射关系。
此外,对于端口映射以及队列映射,用户可以进行指定。若用户未进行指定,则先进行端口映射,若是端口映射失败,则基于队列映射获取映射关系。也即步骤S21包括:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定端口映射的第一目标要求以及第一约束条件;
基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
若基于所述带宽、所述第一数量、所述第一目标要求以及所述第一约束条件未确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系,则确定队列映射的第二目标要求以及第二约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第二目标要求以及所述第二约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
在本实施例提供的技术方案中,可编程交换机将端口组的队列作为端口,从而扩大的仿真网络的端口映射数量,使得可编程交换机能够支持大型生产网络的模拟。
本发明还提供一种可编程交换机,所述可编程交换机包括存储器、处理器以及存储在所存储器内并可在所述处理器上运行的网络仿真程序,所述网络仿真程序被所述处理器执行时实现如上实施例所述的网络仿真方法的各个步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有网络仿真程序,所述网络仿真程序被处理器执行时实现如上实施例所述的网络仿真方法的各个步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种网络仿真方法,应用于可编程交换机,其特征在于,所述可编程交换机包括多个端口组,所述网络仿真方法包括以下步骤:
获取待仿真网络的网络拓扑的第一描述参数;
根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系,包括:根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;确定端口映射的第一目标要求以及第一约束条件;根据所述带宽、所述第一数量、所述第二数量、所述第一目标要求以及所述第一约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系;
根据所述映射关系,在所述可编程交换机的端口中,确定所述网络拓扑中的第一端口映射的第二端口;
根据所述第一描述参数链接各个所述第二端口,包括:在根据所述第一描述参数确定所述第二端口与主机端口未有链接关系时,将所述第二端口的链接模式设置为环回模式;将具有环回模式的当前第二端口与所述当前第二端口待链接的其他第二端口,进行单向链接。
2.如权利要求1所述的网络仿真方法,其特征在于,所述可编程交换机包括多个端口组,且至少部分的所述端口组的至少部分队列作为端口,所述根据所述第一描述参数,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系的步骤包括:
根据所述第一描述参数确定网络拓扑的端口的带宽以及队列的第一数量,并在所述可编程交换机上确定空闲的端口组的第二数量;
确定队列映射的第二目标要求以及第二约束条件;
根据所述带宽、所述第一数量、所述第二数量、所述第二目标要求以及所述第二约束条件,确定所述网络拓扑中的第一端口与可编程交换机的端口的映射关系。
3.如权利要求1-2任一项所述的网络仿真方法,其特征在于,所述确定所述网络拓扑中的第一端口在所述可编程交换机上映射的第二端口的步骤之后,还包括:
获取所述网络拓扑的路由配置的第二描述参数,并根据所述第二描述参数仿真所述网络拓扑中每个仿真交换机的路由;
根据所述第一描述参数链接各个所述第二端口,并对所述仿真交换机的路由进行修正。
4.如权利要求3所述的网络仿真方法,其特征在于,所述对所述仿真交换机的路由进行修正的步骤包括:
创建每个仿真交换机对应的路由代理;
通过所述路由代理基于路由协议运行路由算法确定目标表项,并基于所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
5.如权利要求3所述的网络仿真方法,其特征在于,所述对所述仿真交换机的路由进行修正的步骤包括:
创建每个仿真交换机对应的控制平面,所述控制平面采集对应的所述仿真交换机的网络信息,并将所述网络信息发送至远程控制器;
接收所述远程控制器发送的目标表项,并根据所述目标表项,对所述仿真交换机的路由表进行表项的增加和/或删减。
6.一种可编程交换机,其特征在于,所述可编程交换机包括存储器、处理器以及存储在所存储器内并可在所述处理器上运行的网络仿真程序,所述网络仿真程序被所述处理器执行时实现如权利要求1-5中任一项所述的网络仿真方法的各个步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有网络仿真程序,所述网络仿真程序被处理器执行时实现如权利要求1-5中任一项所述的网络仿真方法的各个步骤。
CN202110463748.5A 2021-04-27 2021-04-27 网络仿真方法、可编程交换机和计算机可读存储介质 Active CN113193998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110463748.5A CN113193998B (zh) 2021-04-27 2021-04-27 网络仿真方法、可编程交换机和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110463748.5A CN113193998B (zh) 2021-04-27 2021-04-27 网络仿真方法、可编程交换机和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113193998A CN113193998A (zh) 2021-07-30
CN113193998B true CN113193998B (zh) 2022-11-15

Family

ID=76979748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110463748.5A Active CN113193998B (zh) 2021-04-27 2021-04-27 网络仿真方法、可编程交换机和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113193998B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115827917B (zh) * 2023-01-05 2023-04-28 北京千种幻影科技有限公司 用于模拟器设备的数据同步方法、装置、设备及存储介质
CN117201325A (zh) * 2023-09-07 2023-12-08 之江实验室 一种网络仿真脚本的生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452850A (zh) * 2016-09-23 2017-02-22 西安交通大学 一种sdn控制器性能测试方法及系统
CN108234169A (zh) * 2016-12-15 2018-06-29 北京仿真中心 一种分布式仿真网络结构实时动态优化方法
WO2019017842A1 (en) * 2017-07-18 2019-01-24 National University Of Singapore NETWORK VIRTUALIZATION METHOD, COMPUTER-READABLE MEDIUM, AND VIRTUALIZATION NETWORK
CN109802852A (zh) * 2018-12-13 2019-05-24 烽台科技(北京)有限公司 应用于网络靶场的网络仿真拓扑的构建方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153417C (zh) * 2002-10-25 2004-06-09 清华大学 基于穿通-末端网络模型的路由协议测试方法及系统
CN101567818B (zh) * 2008-12-25 2011-04-20 中国人民解放军总参谋部第五十四研究所 基于硬件的大规模网络路由仿真方法
US8898333B1 (en) * 2010-08-31 2014-11-25 Juniper Networks, Inc. Methods and apparatus related to a virtual multi-hop network topology emulated within a data center
CN104954166B (zh) * 2015-04-27 2019-03-12 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
TWI647934B (zh) * 2017-04-21 2019-01-11 思銳科技股份有限公司 網路拓樸實機模擬方法與系統
CN112532428B (zh) * 2020-11-10 2022-03-15 南京大学 一种业务驱动的大规模网络仿真方法与系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452850A (zh) * 2016-09-23 2017-02-22 西安交通大学 一种sdn控制器性能测试方法及系统
CN108234169A (zh) * 2016-12-15 2018-06-29 北京仿真中心 一种分布式仿真网络结构实时动态优化方法
WO2019017842A1 (en) * 2017-07-18 2019-01-24 National University Of Singapore NETWORK VIRTUALIZATION METHOD, COMPUTER-READABLE MEDIUM, AND VIRTUALIZATION NETWORK
CN109802852A (zh) * 2018-12-13 2019-05-24 烽台科技(北京)有限公司 应用于网络靶场的网络仿真拓扑的构建方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"测试流量生成的设计与实现";赵盈,徐明伟,郑国勤;《小型微型计算机系统》;20060228;全文 *

Also Published As

Publication number Publication date
CN113193998A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN113193998B (zh) 网络仿真方法、可编程交换机和计算机可读存储介质
CN104954166B (zh) 一种基于硬件的网络仿真系统及仿真方法
CN101626383B (zh) 一种航空电信网的路由测试方法及路由器虚拟机
CN104079492B (zh) 一种OpenFlow网络中流表配置的方法、装置和系统
US6757742B1 (en) Computer-based system for validating hash-based table lookup schemes in a network switch
CN105763385B (zh) 流量调度方法及装置
CN108234187B (zh) 一种面向数据报文转发的高逼真链路仿真方法
CN102195803B (zh) 数据通信方法和数据通信系统
CA2483292A1 (en) Methods and systems for changing a topology of a network
US11979290B2 (en) Controlling parallel data processing for service function chains
CN109905280A (zh) 一种面向移动卫星网络的仿真方法及系统
Herrscher et al. A dynamic network scenario emulation tool
CN110838954A (zh) 一种轻量级大规模自主网络协议功能测试方法
CN113259164B (zh) 基于虚拟化构建真实路由系统实现虚实组网的方法
CN114553752A (zh) 基于仿真软件的网络性能测试方法、装置和计算机设备
CN101370009B (zh) 基于Linux内核网络子系统的虚拟网络块框架的构建方法
CN110022263A (zh) 一种数据传输的方法及相关装置
CN111800342B (zh) 一种基于ovs的nfv报文转发方法
CN113347023A (zh) 网络模拟器及其动态切换方法
CN113162677A (zh) 一种实物设备与虚拟网络仿真平台的通信方法及装置
CN106059804B (zh) 基于改进的opnet-hla的大规模网络仿真方法
CN104871497A (zh) 流表处理方法和装置
Chiang et al. ES-5G: A Novel Edge-based SDN-enabled 5G Architecture for Lower Latency
CN101252779A (zh) 策略执行点选择方法及设备
Battenfeld et al. A modular architecture for hot swappable mobile ad hoc routing algorithms

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