Current service function chaining (SFC) solutions are cumbersome adaptations of classic routing mechanisms, which lack flexibility and agility to cope with new dynamic services required by network functions virtualization (NFV). These SFC solutions require modification of forwarding tables in both physical and virtual elements in the path when updating a chain. In addition, current SFC implementations restrict traffic engineering to sub-optimal resource allocation solutions, because limited switch table sizes prevent the consideration of all possible traffic paths. Moreover, overlay chaining decisions are usually decoupled from the actual underlay routing of packets across service functions. To tackle these issues, we propose KeySFC, a traffic steering scheme that uses software-defined networking (SDN) and strict source routing. KeySFC exploits the fabric network concept in data center networks (DCNs) in two ways: (i) edge software switches classify, encapsulate, forward, and decapsulate flows with SFC labels; and (ii) core tableless switches forward packets based on simple modulo operations over these labels. Thus, the modification of a small number of flow entries in edge elements allows changing of SFC labels and effectively stitching paths via SDN. An OpenStack-based prototype demonstrates that the traffic steering scheme provided by KeySFC has the potential to enable efficient traffic engineering and to provide agile path migration per SFC segment.
Read full abstract