12.07.2015 Views

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

The ns Manual (formerly ns Notes and Documentation)1 - NM Lab at ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 21XCP: eXplicit Congestion control ProtocolXCP is a feedback-based congestion control system th<strong>at</strong> uses direct, explicit, router feedback to avoid congestion in thenetwork. It is designed for both scalability <strong>and</strong> generality. It was developed by Dina K<strong>at</strong>abi, starting from a suggestion byMark H<strong>and</strong>ley (refer to [?] for detailed descriptio<strong>ns</strong>). <strong>The</strong> <strong>ns</strong> code for XCP which was originally developed by Dina K<strong>at</strong>abiwas modified, extended <strong>and</strong> integr<strong>at</strong>ed into <strong>ns</strong>-2.28 <strong>at</strong> USC/ISI. It still continues to evolve as of today. If you are interested inlooking <strong>at</strong> Dina’s original source code please go to her website <strong>at</strong> http://www.ana.lcs.mit.edu/dina/XCP/21.1 Wh<strong>at</strong> is XCP?XCP is a congestion control protocol th<strong>at</strong> can be applied to any tra<strong>ns</strong>port protocol. It performs especially well in very highdelay-b<strong>and</strong>width product networks. Typically in large b<strong>and</strong>width-delay product networks, efficiency of TCP goes down inthe event of multiple of packet losses <strong>and</strong> becomes u<strong>ns</strong>table irrespective of queueing schemes used. However in similarenvironments, XCP, using a control theory based feedback model, achieves much more efficiency, stability <strong>and</strong> fairness bysending feedback from the network to the sender for setting the d<strong>at</strong>a flow into the network.XCP’s scalability results from the fact th<strong>at</strong> it requires no per-flow st<strong>at</strong>e in the router to calcul<strong>at</strong>e the feedback. Most routerassistedcongestion control systems maintain per-flow inform<strong>at</strong>ion used to alloc<strong>at</strong>e the resources. XCP keeps very littleinform<strong>at</strong>ion in the router, <strong>and</strong> this inform<strong>at</strong>ion is chosen to minimize both the amount of router st<strong>at</strong>e <strong>and</strong> the per-packetoper<strong>at</strong>io<strong>ns</strong> needed to upd<strong>at</strong>e th<strong>at</strong> st<strong>at</strong>e.For generality, XCP divides the resource alloc<strong>at</strong>ion function between two controllers: a congestion controller th<strong>at</strong> e<strong>ns</strong>uresth<strong>at</strong> flows use all available capacity, <strong>and</strong> a fairness controller th<strong>at</strong> e<strong>ns</strong>ures th<strong>at</strong> flows are alloc<strong>at</strong>ed the capacity fairly. Mostcongestion control systems fail to make this division, much less to implement as two conceptually distinct systems. Thisdivision allows a clear exposition <strong>and</strong> implement<strong>at</strong>ion of two basic resource alloc<strong>at</strong>ion functio<strong>ns</strong> in XCP. XCP sources sendadditional inform<strong>at</strong>ion about their current round-trip times <strong>and</strong> router-assigned throughput in each packet. XCP routers i<strong>ns</strong>ertfeedback into the packets th<strong>at</strong> is interpreted by the sources.Although XCP may be implemented for any tra<strong>ns</strong>port protocol, however as an initial test it has been implemented in TCP.<strong>The</strong> next section gives details of the way XCP is implemented in <strong>ns</strong>.201

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!