Font Size: a A A

Design And Implementation Of Traffic Steering For Service Function Chain Based On Software Defined Network

Posted on:2019-04-22Degree:MasterType:Thesis
Country:ChinaCandidate:Q C HeFull Text:PDF
GTID:2348330545955663Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
The delivery of services typically requires packets to be steered through a sequence of service functions.However,the deployment of services is still a complex and risky task,greatly increasing network operators' operating and capital outlay costs.A main reason is that the current deployment models for services are often tightly coupled with network topologies and physical resources,thus complicating the entire service configuration.To ensure that traffic passes through a set of specified service functions,complex and error-prone low-level configuration is required while deploying services.Physical topology constraints also force all traffic through the rigid set of service functions,even though some of the traffic may require only some of these service functions.Software-Defined Networking(SDN)eliminates the need to statically deploy services using error-prone and complex low-level configurations,and it can dynamically create network connections in a programmable way to direct traffic through required service functions.However,there are also some challenges in the service function chain under the SDN environment.In terms of traffic steering for service function chains in the data plane,applying the existing capabilities supported by OpenFlow protocol may lead to incorrect forwarding decisions when there is a loop in the route used to steer traffic because the packet lacks contextual information that can represent its processing status in the service function chain.Switches may demand information that indicates the processing state of a packet to make accurate decisions.In the failure recovery,since one link may appear in the forwarding paths of multiple service function chains,the controller needs to find out the affected service function chains according to the failed link when a link failure occurs.Only by identifying the service function chains affected by the failed link can the controller recalculate the forwarding paths for these service function chains.What's worse,when a link in the forwarding path of a service function fails and the source communication device does not stop generating traffic,the switch flow expiry mechanism may not delete the flow entries along the original path in time.This means that the traffic will never be able to be rerouted to another available link even though there are multiple paths available in the topology,which requires the controller to proactively delete the flow entries along the original path of the service function chain through a method.This paper mainly studies the traffic steering for service function chain based on SDN.The main contents of this paper include:(1)We propose a label-based traffic steering method.When there is a loop in the forwarding path of a service function chain,this method uses the Push-Tag action defined by the OpenFlow protocol to add tags to packet headers,where the added tag encodes the processing state of the current packet in corresponding service function chain.The switches determine the correct forwarding behavior by looking at the value of the added tag.In this paper,an algorithm is also designed to judge whether there is a loop in the forwarding path.If there is a loop,the algorithm needs to find the switches that are responsible for adding tags.(2)We propose a failure recovery method based on the cookie mechanism.In this method,each service function chain is assigned a unique identifier.For a service function chain,the cookie field of each flow entry on the forwarding path needs to include its identifier information.When installing flow entries for the forwarding paths of all service function chains,the method needs to record the bidirectional relationship between the identifier of the service function chain and the switch as well as its port on the forwarding paths.When a link fails,the method can retrieve the affected service function chains from the relationship according to the switches and their ports at both ends of the failed link.For the problem that the switch flow expiry mechanism may not delete the flow entries along the original path in time,the method can retrieve the switches of corresponding forwarding path from the relationship according to the identifier of the service function chain,and proactively delete the incorrect flow entries by sending FLOW_MOD messages whose type is DELETE to these switches.At last,we give pseudo code of the failure recovery process based on the Cookie mechanism.(3)The northbound interface for traffic steering is designed on the controller to receive requests of creating and deleting the forwarding path for the specific service function chain.
Keywords/Search Tags:software defined networking, service function chain, traffic steering, northbound interface
PDF Full Text Request
Related items