The phenomenal growth of Internet over the past couple of decades has inspired researchers to explore new services and protocols for the next generation Internet. Although significant innovation has happened at the application layer, the network core has remained fundamentally resistant to changes. Often, the service providers are wary of the economic consequences of deploying experimental protocols and services on their stable network infrastructures.
Network virtualization addresses this issue by creating many logical overlay networks on top of existing network infrastructure. These virtual networks can be used for the deployment of experimental protocols and services without interrupting the services of the current network infrastructure. Additionally, virtualization opens up opportunities for new business models such as "infrastructure as a service" that can potentially lower the operating costs of infrastructure providers.
Conventional approaches for network virtualization use host virtualization techniques in software such as full or para virtualization. However, these solutions suffer from low performance, despite the high design flexibility. Interestingly, field programmable gate arrays (FPGAs) can serve as good platforms for high performance network virtualization by virtue of their adaptability, parallelization and specialization. In this project, we are developing a network virtualization platform using FPGAs that can offer high performance with a degree of design flexibility close to many software solutions.
We have developed multiple virtual data planes on a Virtex II FPGA available on the NetFPGA board. Our current research efforts focus on scalable implementations of data planes on resource limited FPGAs, exploitation of partial reconfiguration to enhance flexibility and development of a programmer friendly design environment for network researchers.
This work has been funded by National Science Foundation grant CNS-0831940.