A gateway in SONA is a special compute node, which plays role as a connection point to external networks. It performs NAT and PAT for outbound traffics and also exchanges routes to external routers with BGP or OSPF. Scalable gateway provides load balancing and high availability by allowing multiple redundant gateways to the system.
Features
- Provides load balancing among multiple gateways
- Provides a selection of load balancing mechanisms including random, hash, and port stats
- Provides fast failover for a gateway failure
High Level Architecture
SONA is composed of multiple ONOS applications, and Scalable Gateway and vRouter are takes in charge of the North-South connectivity.
- Scalable Gateway selects and provides a GNODE per VM
- SONA OpenstackSwitching takes care of L2 connection between CNODE and GNODE
- SONA OpenstackRouting takes care of NAT/PAT at the gateways
- vRouter takes care of connectivity between GNODEs and external routers
- GNODE is composed of two software switches controlled by SONA and vRouter
- br-int which is controlled by SONA, OpenstackRouting module specifically, performs NAT and PAT of N-S packets
- br-router which is controlled by vRouter makes the GNODE as a legacy router and it performs forwarding packets to right port
Detailed Design
Scalable Gateway takes an advantage of OpenFlow “Fast Failover” group for load balancing and HA, where each bucket represents a single gateway. Each VM has its own gateway group and the bucket order of each group is decided by various mechanisms of the scalable gateway so that the outbound traffic of the VMs can be distributed.
Fast failover group takes the first bucket until its watch port is alive. It takes the next bucket if the first bucket fails.