1.1 Global topology As presented in Figure 1, S-Fabric defines following types of devices in the architecture:
Host (H) A host can be a physical server, a virtual machine, or a container in S-Fabric network. A host connects to S-Fabric via a leaf switch. A host can be moved within a data center or across multiple data centers. (P3)
Slice Controller (SC) S-Fabric brings up a sliced control plane by assigning a set of flows running on a topology of switches to a slice (P5). A tenant network is consisted of a set …show more content…
A slice controller keeps track of the mapping between actual MAC address and location MAC address for each IP address. A slice controller install the MAC-address-rewriting rules and packets-forwarding rules for flows within the slice, on all relevant switches of each flow. The installed rules are defined before the initialization of SC, by the orchestrator or manually by administrator, according to SFCs [10] definition of a slice. Furthermore, a slice controller handles ARP requests within one slice. In this way, S-Fabric requires no changes on hosts (P7).
Leaf Switch (L) A leaf switch is defined as a ToR switch of a set of hosts. To serve the entire service function chain, special hosts with network functions such as firewall (FW), load balancer (LB), boarder router (BR), IDS/IPS etc. are also connected to S-Fabric on leaf switches. A leaf switch has a connection to each spine switch within a data center. ECMP is used to load balance host to host flows at leaf switch to decide on which spine switch to forward the packets to.
Spine Switch …show more content…
Note, it cannot be updated by other controllers. Each entry of this table represents the neighborhood between the current controller and the controller identified with slice_id. The neighborhood means these two controllers can send/receive LoMAC requests and responses with each other.
2.2 Slice topology initialization We define a slice topology during slice initialization. The slice topology indicates the involved switches, subnets/hosts, boarder router, firewall instances, load balancers, NAT routers, IDS/IPS etc. We use a physical view to represent where the involved service functions are physically located and how they are connected to S-Fabric. We use a logical view to define the logical paths of the service function chain. Figures 2 shows an example slice by comparing its physical view to its logical view as for SFCs. A, B1, B2, C are hosts in subnet A, subnet B and subnet C. Subnet C is connected via internet to BR over IPSec VPN.
2.3
Subnet table initialization Each SC maintains a subnet table locally. A subnet table is presented in Table