service chaining
Think of a parcel that has to pass through several stations in a fixed order before it can leave a depot: first weighing, then customs, then labelling, then loading. Each station does one job and hands the parcel to the next. Service chaining is the same idea for network traffic: it routes packets through an ordered sequence of network functions — say firewall, then intrusion detection, then load balancer — so each function gets to do its job in the right order before the traffic continues to its destination.
Concretely, in an NFV world the functions are virtual network functions (VNFs) running on servers, and service chaining is the plumbing that steers traffic through them in the chosen order. Instead of physically cabling boxes in a line (the old way), an SDN controller or a steering mechanism directs each flow: send this traffic to the firewall VNF, then to the IDS VNF, then out. Different flows can follow different chains — web traffic might go through a web firewall and a load balancer, while VoIP skips those and gets a traffic shaper. The chain is defined in software and can be changed by reconfiguring the steering, not by rewiring anything.
Why it matters: service chaining is how NFV delivers real, layered services, because security and traffic policies almost always require several functions applied in a specific sequence. Defining chains in software makes them flexible — you can insert a new function into the path or reorder them without touching cables. The honest caveats: order matters (decrypting before inspecting, filtering before load balancing), and every hop adds latency and a possible failure point, so a long chain can become both a delay and a fragility you must engineer around. SDN and NFV are usually the machinery that makes flexible chaining practical.
Incoming web traffic for a company is steered, by SDN rules, through three VNFs in order: a firewall (drop disallowed sources), then a load balancer (pick a healthy backend), then a traffic shaper (cap the rate). VoIP traffic is matched separately and sent through a shorter chain that skips the load balancer. Both chains are defined in the controller; rewiring is a config change, not a cabling job.
Steer each flow through the functions it needs, in the order it needs them.
Order is part of correctness, not just a detail: inspecting traffic before decrypting it, or load-balancing before filtering, can defeat the purpose of the chain. Service chaining defines the path, not the functions themselves.