Saturday, December 20, 2008

A Very Short Guide to Pseudowires

Pseudowires are used by carriers and Service Providers to transport layer 2 services (such as Ethernet and SONET/SDH traffic) edge-to-edge across their packet-switched (IP or MPLS) networks. So a pseudowire (PW) provides an emulated service.

The pseudowire construct - more properly Pseudo Wire Emulation Edge-to-Edge (PWE3) - is an architecture more than a protocol suite. The implementation of PWE3 doesn't, for example, necessarily need MPLS, although that's the usual implementation.

RFC3985 tells us that "The required functions of PWs include encapsulating service-specific bit streams, cells, or PDUs arriving at an ingress port and carrying them across an IP path or MPLS tunnel. In some cases it is necessary to perform other operations such as managing their timing and order, to emulate the behavior and characteristics of the service to the required degree of faithfulness."

The pseudowire definition includes higher-layer service adaptation and convergence functions which are service specific. When MPLS is the underlying packet transport network, a four byte control word may be used to carry this information (see diagram below - 'Flags, Frag, etc').

The pseudowire protocol also includes a 'pseudowire demultiplexer' (also below - 'PW Label') which specifically identifies the individual PW. A number of different PWs may be carried over the same label-switched path (LSP), which then operates as a kind of pseudowire 'trunk'.

PWE3 over MPLS

In most state-of-the-art networks, PWE3 will be carried between MPLS edge devices and will be carrying Ethernet traffic (or possibly TDM).

Pseudowires can be set up manually (through OAM&P), or via signalling using LDP or BGP.