1.一种基于NetFPGA的可编程虚拟化路由器的通信方法,其特征在于包括以下步骤:
A、在安装有Linux操作系统的主机上安装虚拟化软件OpenVZ,并在虚拟化软件上得到若干个虚拟容器,在每个虚拟容器内部安装路由协议软件Zebra或Quagga,得到虚拟路由器;
B、在每个虚拟路由器内部创建与底层硬件网络接口个数相同的虚拟以太网网卡veth;
C、在主机上开启Linux内核软件网桥模块802.1d Ethernet Bridging,并安装软件网桥命令行配置工具brctl-utils,创建与NetFPGA的物理网络接口个数对应的软件网桥,其中软件网桥为透明软件网桥;在虚拟以太网网卡和NetFPGA板卡网络接口之间设置软件网桥进行桥接,虚拟路由器依次通过虚拟以太网卡、软件网桥接收来自NetFPGA板卡网络接口的数据包,经过虚拟路由器的处理得到路由信息再通过虚拟以太网卡、软件网桥传输到NetFPGA的寄存器中,然后通过NetFPGA板卡网络接口与外界网络实现数据包的转发。
2.根据权利要求1所述的基于NetFPGA的可编程虚拟化路由器的通信方法,其特征在于:步骤A中的虚拟路由器,具有独立的root访问权限、IP地址、内存、处理器、应用程序、系统库和配置文件。
3.根据权利要求1所述的基于NetFPGA的可编程虚拟化路由器的通信方法,其特征在于:步骤B中,虚拟以太网网卡veth包括位于虚拟路由器内部的虚拟网络接口ethx和位于物理主机端的虚拟物理主机以太网网卡vethx,且虚拟网络接口和虚拟物理主机以太网网卡端口对应连接进行数据通信。
4.根据权利要求1所述的基于NetFPGA的可编程虚拟化路由器的通信方法,其特征在于:步骤C中的软件网桥之间具有避免产生环路的STP生成树协议,所述STP生成树协议采用IEEE 802.1D标准。