<?xml version="1.0" encoding="utf-8"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="bcp" docName="draft-saldana-tsvwg-tcmtf-06" ipr="trust200811" obsoletes="4170">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="TCM-TF">Tunneling Compressed Multiplexed Traffic Flows (TCM-TF) Reference Model</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Jose Saldana" initials="J." surname="Saldana">
      <organization>University of Zaragoza</organization>
      <address>
        <postal>
          <street>Dpt. IEC Ada Byron Building</street>
          <!-- Reorder these if your country does things differently -->
          <city>Zaragoza</city>
          <region></region>
          <code>50018</code>
          <country>Spain</country>
        </postal>
        <phone>+34 976 762 698</phone>
        <email>jsaldana@unizar.es</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
       
    <author fullname="Dan Wing" initials="D." surname="Wing">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>771 Alder Drive</street>
          <!-- Reorder these if your country does things differently -->
          <city>San Jose</city>
          <region>CA</region>
          <code>95035</code>
          <country>US</country>
        </postal>
        <phone>+44 7889 488 335</phone>
        <email>dwing@cisco.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>  

    <author fullname="Julian Fernandez Navajas" initials="J." surname="Fernandez Navajas">
      <organization>University of Zaragoza</organization>
      <address>
        <postal>
          <street>Dpt. IEC Ada Byron Building</street>
          <!-- Reorder these if your country does things differently -->
          <city>Zaragoza</city>
          <region></region>
          <code>50018</code>
          <country>Spain</country>
        </postal>
        <phone>+34 976 761 963</phone>
        <email>navajas@unizar.es</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author> 

	<author initials="Muthu A M" surname="Perumal" fullname="Muthu Arul Mozhi Perumal">
       <organization>Cisco Systems</organization>
       <address>
         <postal>
           <street>Cessna Business Park</street>
           <street>Sarjapur-Marathahalli Outer Ring Road</street>
           <city>Bangalore</city>
           <region>Karnataka</region>
           <code>560103</code>
           <country>India</country>
         </postal>
         <phone>+91 9449288768</phone>
	   <email>mperumal@cisco.com</email>
       </address>
    </author>

    <author fullname="Fernando Pascual Blanco" initials="F." surname="Pascual Blanco">
      <organization>Telefonica I+D</organization>
      <address>
        <postal>
          <street>Ramon de la Cruz 84</street>
          <!-- Reorder these if your country does things differently -->
          <city>Madrid</city>
          <region></region>
          <code>28006</code>
          <country>Spain</country>
        </postal>
        <phone>+34 913128779</phone>
        <email>fpb@tid.es</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>   

    <date month="December" year="2013" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Transport</area>

    <workgroup>Transport Area Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>template</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
     <t>Tunneling Compressed and Multiplexed Traffic Flows (TCM-TF)
     is a method for improving the bandwidth utilization
	 of network segments that carry multiple flows in parallel sharing a common path.
	 The method combines standard protocols for header compression, multiplexing, and tunneling over
	 a network path for the purpose of reducing the bandwidth used when multiple flows
	 are carried over that path. The amount of packets per second can also be reduced.</t>
	 
	 <t>This document describes the TCM-TF framework and the different options which can
	 be used for each layer (header compression, multiplexing and tunneling).</t>
    </abstract>
  </front>


  <middle>
	<section title="Introduction">
		<t>This document describes a way to combine existing protocols for header compression, 
		multiplexing and tunneling to save bandwidth for applications that generate 
		long-term flows of small packets.</t>

		<section title="Requirements Language">
	        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
	        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
	        document are to be interpreted as described in <xref
	        target="RFC2119">RFC 2119</xref>.</t>
		</section>

		<section title="Bandwidth efficiency of flows sending small packets">
			<t>The interactivity demands of some real-time services (VoIP, videoconferencing, 
			telemedicine, video vigilance, online gaming, etc.) require a traffic profile consisting of 
			high rates of small packets, which are necessary in order to transmit frequent updates 
			between the two extremes of the communication. These services also demand low network 
			delays. In addition, some other services also use small packets, although they are not 
			delay-sensitive (e.g., instant messaging, M2M packets sending collected data in sensor 
			networks using wireless or satellite scenarios). For both the delay-sensitive and 
			delay-insensitive applications, their small data payloads incur significant overhead.</t>
			
			<t>When a number of flows based on small packets (small-packet flows) share the same path, 
			bandwidth can be saved by multiplexing packets belonging to different flows. If a 
			transmission queue has not already been formed but multiplexing is desired, it is necessary 
			to add a multiplexing delay, which has to be maintained under some threshold if the service 
			presents tight delay requirements.</t>
	
		<section title="Real-time applications using RTP">
		
			<t>The first design of the Internet did not include any mechanism capable of 
			guaranteeing an upper bound for delivery delay, taking into account that the
			first deployed services were e-mail, file transfer, etc., in which delay is not
			critical. RTP <xref target="RTP"></xref> was first defined in
			1996 in order to permit the delivery of real-time contents. Nowadays, although
			there are a variety of protocols used for signaling real-time flows (SIP 
			<xref target="SIP"></xref>, H.323, etc.), RTP has become the standard par 
			excellence for the delivery of real-time content.</t>

			<t>RTP was designed to work over UDP datagrams. This implies that an IPv4 packet 
			carrying real-time information has to include 40 bytes of headers: 20 for IPv4
			header, 8 for UDP, and 12 for RTP. This overhead is significant, taking into 
	   		account that many real-time services send very small payloads. It becomes even 	 
	    	more significant with IPv6 packets, as the basic IPv6 header is twice the size 
			of the IPv4 header. <xref target="table_1"></xref> illustrates the overhead problem
			of VoIP for two different codecs.</t>

        	<texttable anchor="table_1" title="Efficiency of different voice codecs">
          		<preamble></preamble>
         		<ttcol align="center">IPv4</ttcol>
          		<ttcol align="center">IPv6</ttcol>
          		<c>IPv4+UDP+RTP: 40 bytes header</c>
          		<c>IPv6+UDP+RTP: 60 bytes header</c>
          		<c>G.711 at 20 ms packetization: 25% header overhead</c>
          		<c>G.711 at 20 ms packetization: 37.5% header overhead</c>
          		<c>G.729 at 20 ms packetization: 200% header overhead</c>
          		<c>G.729 at 20 ms packetization: 300% header overhead</c>
          		<postamble></postamble>
        	</texttable>

      	</section>

		<section title="Real-time applications not using RTP">
			<t>At the same time, there are many real-time applications that do not use RTP. Some of them 
			send UDP (but not RTP) packets, e.g., First Person Shooter (FPS) online games 
			<xref target="First-person"></xref>, for which latency is very critical. The 
			quickness and the movements of the players are important, and can decide if 
			they win or lose a fight.</t>
      	</section>
   
		<section title="Other applications generating small packets">
			<t>Other applications without delay constraints are also becoming popular (e.g., instant 
			messaging, M2M packets sending collected data in sensor networks using wireless or 
			satellite scenarios). The number of wireless M2M (machine-to-machine) connections is 
			steady growing since a few years, and a share of these is being used for delay-intolerant 
			applications, e.g., industrial SCADA (Supervisory Control And Data Acquisition), 
			power plant monitoring, smart grids, asset tracking.</t>		
		</section>

		<section title="Optimization of small-packet flows">
	      	<t>In the moments or places where network capacity gets scarce, allocating
			more bandwidth is a possible solution, but it implies a recurring cost.
			However, including optimization techniques between a pair of network nodes
			(reducing bandwidth and packets per second) when/where required is a
			one-time investment.</t>
			
			<t>Thus, in scenarios including a bottleneck with a single
			Layer-3 hop, header compression standard algorithms <xref target="cRTP">
			</xref>, <xref target="ECRTP"></xref>, <xref target="IPHC"></xref>,
		   	<xref target="ROHC"></xref> can be used for reducing the overhead of each 
		   	flow, at the cost of additional processing.</t>
			
			<t>However, if header compression is to be deployed in a network path including
			several Layer-3 hops, tunneling can be used in order to allow the
			header-compressed packets to travel end-to-end, thus avoiding the need to
			compress and decompress at each intermediate node. In these cases,
			compressed packets belonging to different flows can be multiplexed together,
			in order to share the tunnel overhead. In this case, a small multiplexing
			delay will be necessary as a counterpart, in order to join a number of
			packets to be sent together. This delay has to be maintained under a
			threshold in order to grant the delay requirements.</t>
	      		      	
	       	<t>A demultiplexer is necessary at the end of the common path, so as to rebuild the 
		   	packets as they were originally sent, making multiplexing a 
		   	transparent process for the extremes of the flow.</t>

		   	<t>If only one stream is tunneled and compressed, then little bandwidth savings 
			will be obtained. In contrast, multiplexing is helpful to amortize the overhead 
			of the tunnel header over many payloads. The obtained savings grow with the number of
			flows optimized together <xref target="VoIP_opt"></xref>, <xref target="FPS_opt">
			</xref>.</t>
		</section>
			
		<section title="Energy consumption considerations">
			<t>As an additional benefit, the reduction of the sent information, and especially
			the reduction of the amount of packets per second to be managed by the intermediate 
			routers, can be translated into a reduction of the overall energy consumption of 
			network equipment. According to <xref target="Efficiency"></xref> internal packet 
			processing engines and switching fabric require 60% and 18% of the power consumption 
			of high-end routers respectively. Thus, reducing the number of packets to be managed 
			and switched will reduce the overall energy consumption. The measurements deployed in 
			<xref target="Power"></xref> on commercial routers corroborate this: a	study using 
			different packet sizes was presented, and the tests with big
			packets made the energy consumption get reduced, since a certain amount of
			energy is associated to header processing tasks, and not only to the sending
			of the packet itself.</t>

			<t>All in all, a tradeoff appears: on the one hand, energy consumption is increased
			in the two extremes due to header compression processing; on the other hand, energy 
			consumption is reduced in the intermediate nodes because of the reduction in the number
			of packets transmitted. Thi tradeoff should be explored more deeply.</t>
		</section>
	</section>
	
	<section title="Terminology">       
 
		<t>This document uses a number of terms to refer to the roles
   		played by the entities using TCM-TF.</t>

        <t><list style="symbols">
		<t>native packet</t>
		</list> </t>
		<t>A packet sent by an application, belonging to a flow that can be optimized by means of TCM-TF.</t>

        <t><list style="symbols">
		<t>native flow</t>
		</list> </t>
		
		<t>A flow of native packets. It can be considered a "small-packet flow" when the vast majority of the
		generated packets present a low payload-to-header ratio.</t>
		
        <t><list style="symbols">
		<t>TCM packet</t>
		</list> </t>

		<t>A packet including a number of multiplexed and header-compressed
		native ones, and also a tunneling header.</t>

        <t><list style="symbols">
		<t>TCM flow</t>
		</list> </t>

		<t>A flow of TCM packets, including a number of optimized native flows.</t>
		
        <t><list style="symbols">
		<t>TCM optimizer</t>
		</list> </t>
		
		<t>The host where TCM optimization is deployed.	It corresponds to both the ingress 
		and the egress of the tunnel transporting the compressed and multiplexed packets.</t>

   		<t>If the optimizer compresses headers, multiplexes packets and creates the tunnel, 
   		it behaves as a "TCM-ingress optimizer", or "TCM-IO". It takes native packets or flows and "optimizes" them.</t>
  
		<t>If it extracts packets from the tunnel, demultiplexes packets and decompresses headers, 
		it behaves as a "TCM-egress optimizer", or "TCM-EO". The TCM-egress optimizer takes a TCM flow and
		"rebuilds" the native packets as they were originally sent.</t>

        <t><list style="symbols">
		<t>TCM-TF session</t>
		</list> </t>

		<t>The relationship between a pair of TCM optimizers exchanging TCM packets.</t>
		
        <t><list style="symbols">
		<t>policy manager</t>
		</list> </t>

		<t>A network entity which makes the decisions about TCM-TF parameters: multiplexing 
		period to be used, flows to be optimized together, depending on their IP addresses, ports, etc. 
		It is connected with a number of TCM-TF optimizers, and orchestrates 
		the optimization that takes place between them.</t>
	 </section>


		<section title="Scenarios of application">
			<t>Different scenarios of application can be considered for the tunneling, 
			compressing and multiplexing solution. They can be classified according to
			the domains involved in the optimization:</t>
		
			<section title="Multidomain scenario">
				<t>In this scenario, the TCMT-TF tunnel goes all the way from one network edge (the
				place where users are attached to the ISP) to another, and therefore it can cross 
				several domains. As shown in <xref target="multidomain_scenario"></xref>, the 
				optimization is performed before the packets leave the domain of an ISP; the 
				traffic crosses the Internet tunnelized, and the packets are rebuilt in the 
				second domain.</t>

<figure align="center" anchor="multidomain_scenario">
        	<preamble></preamble>
        	<artwork align="center"><![CDATA[
      _  _ _ _                                     _  _
     ( `      ) _            _  _                 ( `   )_ _
    (  +------+  )`)        ( `   )_             ( +------+ `)
-->(_ -|TCM-IO|--- _) ---> (    )    `)   ----->(_-|TCM-EO|--_)-->
    (  +------+  _)       (_   (_ .  _) _)     (   +------+ _)
     (_ _   _ _)                                (_  _ (  _)  _)
                                     
         ISP 1               Internet               ISP 2

           <------------------TCM-TF-------------------->                          ]]></artwork>
        	<postamble></postamble>
</figure>			
				
				<t>Note that this is not from border to border (where ISPs connect to the Internet,
				which could be covered with specialized links) but from an ISP to another (e.g. 
				managing all traffic from individual users arriving at a Game Provider, regardless 
				users' location).</t>
				
				<t>Some examples of this could be:</t>
				<t><list style="symbols">			
					<t>An ISP could place a TCM optimizer in its aggregation network, in order to tunnel all
					the packets of a service, sending them to the application provider, who would rebuild the
					packets before forwarding them to the application server. This would result in savings 
					for both actors.</t>
			
					<t>A service provider (e.g., an online gaming company) could be allowed to place a TCM optimizer
					in the aggregation network of an ISP, being able to optimize all the flows of a game 
					or service. Another TCM optimizer would rebuild these packets once they arrive to the 
					network of the provider.</t>			
				</list></t>	

			</section>
			
			<section title="Single domain">
				<t>TCM-TF is only activated inside an ISP, from the edge to border, inside the network 
				operator. The geographical scope and network depth of TCM-TF activation could be on 
				demand, according to traffic conditions.</t>

				<t>If we consider the residential users of a real-time interactive application 
				(e.g., VoIP, an online game generating small packets) in a town or a district, 
				a TCM optimizing module can be included in network devices, in order 
				to group packets with the same destination. As shown in 
				<xref target="singledomain_scenario"></xref>, depending on the number of 
				users of the application, the packets could be grouped at different levels in DSL 
				fixed network scenarios, at gateway level in LTE mobile network scenarios or even 
				in other ISP edge routers. TCM-TF may also be applied for fiber residential accesses, 
				and in 2G/3G mobile networks. This would reduce bandwidth requirements in the 
				provider aggregation network</t>
				
<figure align="center" anchor="singledomain_scenario">
        	<preamble></preamble>
        	<artwork align="center"><![CDATA[
        	
         +------+
N users -|TCM-IO|\ 
         +------+ \    
                   \       _  _                        _  _
         +------+   \-->  ( `   )_       +------+     ( `   )_         
M users -|TCM-IO|------> (    )    `)  --|TCM-EO|--> (    )    `)
         +------+   / ->(_   (_ .  _) _) +------+   (_   (_ .  _) _)
                   /
         +------+ /         ISP                        Internet
P users -|TCM-IO|/
         +------+                     

            <------------TCM-TF-------------->
                          ]]></artwork>
        	<postamble></postamble>
</figure>
				
				<t>At the same time, the ISP would implement TCM-TF capabilities within its own MPLS 
				network in order to optimize internal network resources: optimizing modules could be 
				embedded in the Label Edge Routers of the network. In that scenario MPLS would be 
				the “tunneling” layer, being the tunnels the paths defined by the MPLS labels and 
				avoiding the use of other tunneling protocols.</t>

				<t>Finally, some networks use cRTP <xref target="cRTP"></xref> in order to obtain 
				bandwidth savings on the access link, but as a counterpart it consumes 
				considerable CPU resources on the aggregation router. In these cases, by means of TCM, 
				instead of only saving bandwidth on the access link, it could also be saved across 
				the ISP network, without the CPU impact on the aggregation router.</t>
			</section>
			
			<section title="Private solutions">
				<t>End users can also optimize traffic end-to-end from network borders. TCM-TF is used to 
				connect private networks geographically apart (e.g. corporation headquarters and subsidiaries), 
				without the ISP being aware (or having to manage) those flows, as shown in 
				<xref target="private_solutions_scenario"></xref>, where two different locations are connected
				through a tunnel traversing the Internet or another network.

<figure align="center" anchor="private_solutions_scenario">
        	<preamble></preamble>
        	<artwork align="center"><![CDATA[
   _  _                       _  _                       _  _
  ( `   )_       +------+    ( `   )_       +------+    ( `   )_         
 (    )    `)  --|TCM-IO|-->(    )    `)  --|TCM-EO|-->(    )    `)
(_   (_ .  _) _) +------+  (_   (_ .  _) _) +------+  (_   (_ .  _)_)

  Location 1                 ISP/Internet                Location 2

                    <-----------TCM-TF---------->
                          ]]></artwork>
        	<postamble></postamble>
</figure>	
				Some examples of these scenarios:</t>
				
				<t><list style="symbols">
					<t>The case of an enterprise with a number of distributed 
					central offices, in which an appliance could be placed next to the access router, being able 
					to optimize	traffic flows with a shared origin and destination. Thus, a number of remote desktop 
					sessions to the same server could be optimized, or a number of VoIP calls between 
					two offices could also require less bandwidth and fewer packets per second. In some cases the 
					tunnel is already included for security reasons, so the additional overhead of TCM-TF is lower.</t>
	
					<t>An Internet café, which is suitable of having many users of the same application 
					(e.g., VoIP, a game) sharing the same access link. Internet cafés are very popular in 
					countries with relatively low access speeds in households, where home computer penetration is 
					usually low as well. In many of these countries, bandwidth can become a serious limitation for 
					this kind of business, so TCM-TF savings may become interesting for their viability.</t>
					
					<t>Community networks <xref target="topology_CNs"></xref>
					(typically deployed in rural areas or in developing countries), in which a number of people 
					in the same geographical place share their connections 
					in a cooperative way, and a number of wireless hops are required in order to reach a router 
					connected to the Internet.</t>
					
					<t>Satellite communication links that often manage
					the bandwidth by limiting the transmission rate, measured in packets per second 
					(pps), to and from the satellite. Applications like VoIP that generate a large 
					number of small packets can easily fill the maximum number of pps slots, limiting 
					the throughput across such links. As an example, a G.729a voice call generates 
					50 pps at 20 ms packetization time. If the satellite transmission allows 1,500 pps, 
					the number of simultaneous voice calls is limited to 30. This results in poor 
					utilization of the satellite link's bandwidth as well as places a low bound on 
					the number of voice calls that can utilize the link simultaneously. 
					TCM optimization of small packets into one packet for transmission would improve 
					the efficiency.</t>

					<t>In a M2M/SCADA (Supervisory Control And Data Acquisition) context, TCM optimization can
					be applied when a satellite link is used for collecting the data of a number of sensors. M2M 
					terminals are normally equipped with sensing devices which can interface to proximity sensor 
					networks through wireless connections. The terminal can send the collected sensing data 
					using a satellite link connecting to a satellite gateway, which in turn will forward 
					the M2M/SCADA data to the to the processing and control center through Internet. The 
					size of typical M2M application transaction depends on the specific service and it may 
					vary from a minimum of 20 bytes (e.g., tracking and metering in private security) to about 
					1,000 bytes (e.g., video-surveillance).	In this context, TCM-TF concepts can be also applied 
					to allow a more efficient use of the available satellite link capacity, 
					matching the requirements demanded by some M2M services. If the case of large sensor deployments 
					is considered, where proximity sensor networks transmit data through different satellite terminals, 
					the use of compression algorithms already available in current satellite systems to reduce the 
					overhead introduced by UDP and IPv6 protocols is certainly desirable. In addition to this, 
					tunneling and multiplexing functions available from TCM-TF allows extending 
					compression functionality throughout the rest the network, to eventually reach the processing and 
					control centers.</t>
	
					<t>Desktop or application sharing where 
					the traffic from the server to the client typically consists of the delta of screen 
					updates. Also, the standard for remote desktop sharing emerging for WebRTC in the 
					RTCWEB Working Group is: {something}/SCTP/UDP (Stream Control Transmission 
					Protocol <xref target="SCTP"></xref>). In this scenario, SCTP/UDP could be used in other 
					cases: chatting, file sharing and applications related to WebRTC peers. There could be hundreds 
					of clients at a site talking to a server located at a datacenter over a WAN. Compressing, 
					multiplexing and tunneling this traffic could save WAN bandwidth and potentially improve latency.</t>
				</list></t>
			</section>			
		
			<section title="Mixed scenarios">			
				<t>Different combinations of the previous scenarios can be considered. Agreements between different 
				companies can be established in order to save bandwidth and to reduce packets per second. As an 
				example, <xref target="mixed_scenario"></xref> shows a game provider that wants 
				to TCM-optimize its connections by establishing associations between different TCM-IO/EOs 
				placed in the game server and several TCM-IO/EOs placed in the networks of different ISPs (agreements 
				between the game provider and each ISP would be necessary). In every ISP, the TCM-IO/EO would be 
				placed in the most adequate point (actually several TCM-IO/EOs could exist per ISP) in order to 
				aggregate enough number of users.</t>	

<figure align="center" anchor="mixed_scenario">
        	<preamble></preamble>
        	<artwork align="center"><![CDATA[
          _  _        
N users  ( `   )_    
+---+   (    )    `)      
|TCM|->(_ (_ .  _) 
+---+      ISP 1   \
          _  _      \      _  _         _                   _  _
M users  ( `   )_    \    ( `   )      ( ` )              ( `   )
+---+   (    )    `)  \ (    )   `)   (  )  `)   +---+   (    )   `)
|TCM|->(_   (_ ._)---- (_ (_ .  _) ->(_ (_ . _)->|TCM|->(_   (_ . _)
+---+      ISP 2      /   Internet      ISP 4    +---+  Game Provider
          _  _       /                   ^
O users  ( `   )_   /                    |
+---+   (    )  `) /                   +---+
|TCM|->(_   (_ ._)            P users->|TCM|
+---+      ISP 3                       +---+                          ]]></artwork>
        	<postamble></postamble>
</figure>				
				
				
			</section>		
      </section>

      <section title="Potential beneficiaries of TCM optimization">
		<t>In conclusion, a standard able to compress headers, multiplex a number of packets and send them
		together using a tunnel, can benefit various stakeholders:</t>
		
		<t><list style="symbols">
			<t>network operators can compress traffic flows sharing a common network segment;</t>
			
			<t>ISPs;</t>
			
			<t>developers of VoIP systems can include this option in their solutions;</t>
			
			<t>service providers, who can achieve bandwidth savings in their supporting infrastructures;</t>
			
			<t>users of Community Networks, who may be able to save significant bandwidth amounts, and to 
			reduce the number of packets per second in their networks.</t>
		</list></t>

		<t>Other fact that has to be taken into account is that the technique not only saves bandwidth 
		but also reduces the number of packets per second, which sometimes can be a 
		bottleneck for a satellite link or even for a network router.</t>
	
      </section>

      <section anchor="current" title="Current Standard">
        <t>The current standard <xref target="TCRTP"></xref> defines a way to reduce
        bandwidth and pps of RTP traffic, by combining three different standard
        protocols:</t>
        <t><list style="symbols">
          <t>Regarding compression, <xref target="ECRTP"></xref> is the selected option.</t>

          <t>Multiplexing is accomplished using PPP Multiplexing <xref target="PPP-MUX">
          </xref></t>

	  	  <t>Tunneling is accomplished by using L2TP (Layer 2 Tunneling Protocol 
	  	  <xref target="L2TPv3"></xref>).</t>
	  	  
        </list>The three layers are combined as shown in the <xref target="tcrtp_stack"></xref>:</t>


    <!--    <t><vspace blankLines='100' /></t>        This adds a page break before the figure -->

<figure align="center" anchor="tcrtp_stack">
        <preamble></preamble>

        <artwork align="center"><![CDATA[
RTP/UDP/IP
   |
   |         ----------------------------
   |              
 ECRTP             compressing layer
   |                   
   |         ----------------------------
   |
 PPPMUX            multiplexing layer
   |
   |         ----------------------------
   |
 L2TP              tunneling layer
   |
   |         ----------------------------
   |
  IP
]]></artwork>

        <postamble></postamble>
      </figure>
      </section>

      <section anchor="proposal" title="Improved Standard Proposal">

		<t>In contrast to the current standard <xref target="TCRTP"></xref>, TCM-TF
		allows other header compression protocols in addition to 
		RTP/UDP, since services based on small packets also use by bare UDP, as
		shown in <xref target="tcm-tf_stack"></xref>:</t>

<figure align="center" anchor="tcm-tf_stack">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
    UDP/IP        RTP/UDP/IP
         \           /
          \         /                  ------------------------------
           \       /
Nothing or ROHC or ECRTP or IPHC          header compressing layer
               |
               |                       ------------------------------
               |
   PPPMUX or other mux protocols             multiplexing layer
               |
              / \                      ------------------------------
             /   \
            /     \
   GRE or L2TP     \                           tunneling layer
          |        MPLS
          |                            ------------------------------
          IP
]]></artwork>

        <postamble></postamble>
      </figure>

		<t>Each of the three layers is considered as independent of the other two, 
		i.e. different combinations of protocols can be implemented according to 
		the new proposal:</t>

        <t><list style="symbols">
          <t>Regarding compression, a number of options can be considered: 
          as different standards are able to compress different headers 
          (<xref target="cRTP"></xref>, <xref target="ECRTP"></xref>, 
          <xref target="IPHC"></xref>, <xref target="ROHC"></xref>). The one 
          to be used could be selected depending on the traffic to compress and
          the concrete scenario (packet loss percentage, delay, etc.). 
          It also exists the possibility of having a null header compression, 
          in the case of wanting to avoid traffic compression, taking into 
          account the need of storing a context for every flow and the problems 
          of context desynchronization in certain scenarios. Although non shown in
          <xref target="tcm-tf_stack"></xref>, ESP (Encapsulating Security Payload 
          <xref target="ESP"></xref>) headers can also be compressed.</t>

          <t>Multiplexing is also accomplished using PPP Multiplexing <xref target="PPP-MUX">
          </xref>. Nevertheless, other multiplexing protocols can also be considered.</t>

	      <t>Tunneling is accomplished by using L2TP (Layer 2 Tunneling Protocol 
	      <xref target="L2TPv3"></xref>) over IP, GRE (Generic Routing Encapsulation 
	      <xref target="GRE"></xref>) over IP, or MPLS (Multiprotocol Label Switching 
	      Architecture <xref target="MPLS"></xref>).</t>
	      
        </list></t>
        
        <t>It can be observed that TCRTP <xref target="TCRTP"></xref> is included as an option
        in TCM-TF, combining <xref target="ECRTP"></xref>, <xref target="PPP-MUX">
        </xref> and  <xref target="L2TPv3"></xref>.</t>
        
        <t>If a single link is being optimized a tunnel is unnecessary.  In that case, both 
        optimizers can perform header compression between both of them. Multiplexing may still 
        be useful, since it reduces packets per second which is interesting in some environments
        (e.g., satellite). Another reason for that is the desire of reducing energy consumption. 
        Although no tunnel is employed, this can still be considered as TCM-TF optimization, so 
        TCM-TF signaling protocols can be employed here in order to negotiate the compression and 
        multiplexing parameters to be employed.</t>

        <t>Payload compression schemes could also be used, but they are not the aim of 
        this document.</t>
      </section>

    </section>


    <section title="Protocol Operation">
		<t>This section describes how to combine protocols belonging to trhee layers (compressing,
   		multiplexing, and tunneling), in order to save bandwidth for the considered flows.</t>

      <section title="Models of implementation">
		<t>TCM-TF can be implemented in different ways.  The most straightforward 
		is to implement it in the devices terminating the flows 
		(these devices can be e.g., voice gateways, or proxies grouping a 
		number of flows):</t>


<!--<t><vspace blankLines='100' /></t>  This adds a page break before the figure -->
<figure align="center" anchor="implem_1">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
     [ending device]---[ending device]
                     ^
                     |
                TCM-TF over IP
]]></artwork>

        <postamble></postamble>
      </figure>

		<t>Another way TCM-TF can be implemented is with an external optimizer.
		This device could be placed at strategic places in the network 
		and could dynamically create and destroy TCM-TF sessions without the 
		participation of the endpoints that generate the flows (<xref target="implem_2"></xref>).</t>

<figure align="center" anchor="implem_2">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
  [ending device]\                                   /[ending device]
  [ending device]----[optimizer]-----[optimizer]------[ending device]
  [ending device]/                                   \[ending device]
                  ^                ^                ^
                  |                |                |
               Native IP      TCM-TF over IP      Native IP
]]></artwork>

        <postamble></postamble>
      </figure>

		<t>A number of already compressed flows can also be merged in a tunnel using
		an optimizer in order to increase the number of flows in a tunnel (<xref target="implem_3"></xref>):</t>

<figure align="center" anchor="implem_3">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
  [ending device]\                                   /[ending device]
  [ending device]----[optimizer]------[optimizer]-----[ending device]
  [ending device]/                                   \[ending device]
                  ^                ^                ^
                  |                |                |
             Compressed        TCM-TF over IP    Compressed
]]></artwork>

        <postamble></postamble>
      </figure>

      </section>

      <section anchor="choice" title="Choice of the compressing protocol">
        <t>There are different protocols that can be used for compressing 
        IP flows:</t>

        <t><list style="symbols">
          <t>IPHC (IP Header Compression <xref target="IPHC"></xref>) permits the compression 
          of UDP/IP and ESP/IP headers. It has a low implementation 
          complexity. On the other hand, the resynchronization of the 
          context can be slow over long RTT links. It should be used in 
          scenarios presenting very low packet loss percentage.</t>

          <t>cRTP (compressed RTP <xref target="cRTP"></xref>) works the same way as IPHC, 
          but is also able to compress RTP headers. The link layer transport 
          is not specified, but typically PPP is used.  For cRTP to compress 
          headers, it must be implemented on each PPP link.  A lot of context 
          is required to successfully run cRTP, and memory and processing 
          requirements are high, especially if multiple hops must implement 
          cRTP to save bandwidth on each of the hops.  At higher line rates, 
          cRTP's processor consumption becomes prohibitively expensive. cRTP 
          is not suitable over long-delay WAN links commonly used when tunneling, 
          as proposed by this document. To avoid the per-hop expense of cRTP, a 
          simplistic solution is to use cRTP with L2TP to achieve end-to-end cRTP.
          However, cRTP is only suitable for links with low delay and low loss.
          Thus, if multiple router hops are involved, cRTP's expectation of 
          low delay and low loss can no longer be met.  Furthermore, packets can arrive
          out of order.</t>

	      <t>ECRTP (Enhanced Compressed RTP <xref target="ECRTP"></xref>) is an extension of cRTP 
	      <xref target="cRTP"></xref> that provides tolerance to packet loss and packet 
	      reordering between compressor and decompressor. Thus, ECRTP should be used 
	      instead of cRTP when possible (e.g., the two TCM optimizers implementing ECRTP).</t>

	      <t>ROHC (RObust Header Compression <xref target="ROHC"></xref>) is able to compress UDP/IP, 
	      ESP/IP and RTP/UDP/IP headers. It is a robust scheme developed for header 
	      compression over links with high bit error rate, such as wireless ones. 
	      It incorporates mechanisms for quick resynchronization of the context. 
	      It includes an improved encoding scheme for compressing the header fields 
	      that change dynamically. Its main drawback is that it requires significantly 
	      more processing and memory resources than the ones necessary for IPHC or 
	      ECRTP.</t>
	      
        </list> This standard does not determine which of the existing protocols has to be 
        used for the compressing layer. The decision will depend on the scenario, and will 
        mainly be determined by the packet loss probability, RTT, and the availability 
        of memory and processing resources. The standard is also suitable to include other 
        compressing schemes that may be further developed.</t>

        <section title="Context Synchronization in ECRTP">
		  <t>When the compressor receives an RTP packet that has an unpredicted
   		  change in the RTP header, the compressor should send a COMPRESSED_UDP
          packet (described in <xref target="ECRTP"></xref>) to synchronize the 
          ECRTP decompressor state.  The COMPRESSED_UDP packet updates the RTP context 
          in the decompressor.</t>

          <t>To ensure delivery of updates of context variables, COMPRESSED_UDP
          packets should be delivered using the robust operation described in
          <xref target="ECRTP"></xref>.</t>

          <t>Because the "twice" algorithm described in <xref target="ECRTP"></xref> relies 
          on UDP checksums, the IP stack on the RTP transmitter should transmit UDP
          checksums.  If UDP checksums are not used, the ECRTP compressor should use the 
          cRTP Header checksum described in <xref target="ECRTP"></xref>.</t>


        </section>

        <section title="Context Synchronization in ROHC">
		  <t>ROHC <xref target="ROHC"></xref> includes a more complex mechanism in order 
		  to maintain context synchronization. It has different operation modes and defines 
		  compressor states which change depending on link behavior.</t>
        </section>

      </section>

      <section title="Multiplexing">
	      <t>Header compressing algorithms require a layer two protocol that allows 
	      identifying different protocols. PPP <xref target="PPP"></xref> is suited for this, 
	      although other multiplexing protocols can also be used for this layer of TCM-TF.</t>

		  <t>When header compression is used inside a tunnel, it reduces the size of 
		  the headers of the IP packets carried in the tunnel.  However, the 
		  tunnel itself has overhead due to its IP header and the tunnel header (the 
		  information necessary to identify the tunneled payload).</t>  

		  <t>By multiplexing multiple small payloads in a single tunneled packet, reasonable bandwidth
		  efficiency can be achieved, since the tunnel overhead is shared by multiple packets belonging 
		  to the flows active between the source and destination of an L2TP tunnel. The packet size 
		  of the flows has to be small in order to permit good bandwidth savings.</t>

          <t>If the source and destination of the tunnel are the same as the
          source and destination of the compressing protocol sessions, then the source 
          and destination must have multiple active small-packet flows to get any benefit 
          from multiplexing.</t>

          <t>Because of this, TCM-TF is mostly useful for applications
          where many small-packet flows run between a pair of hosts. The
          number of simultaneous sessions required to reduce the header
          overhead to the desired level depends on the average payload size, and 
          also on the size of the tunnel header.
          A smaller tunnel header will result in fewer simultaneous sessions
          being required to produce adequate bandwidth efficiencies.</t>
      </section>

      <section title="Tunneling">
        <t>Different tunneling schemes can be used for sending end to end the compressed
        payloads.</t>
       <section title="Tunneling schemes over IP: L2TP and GRE">
		<t>L2TP tunnels should be used to tunnel the compressed payloads end to end.
        L2TP includes methods for tunneling messages used in PPP session
        establishment, such as NCP (Network Control Protocol).  This allows 
        <xref target="IPCP-HC"></xref> to 
        negotiate ECRTP compression/decompression parameters.</t>
	   
	    <t>Other tunneling schemes, such as GRE <xref target="GRE"></xref> may also be 
	    used to implement the tunneling layer of TCM-TF.</t>
	   </section>
	   
       <section title="MPLS tunneling">
       <t>In some scenarios, mainly in operator´s core networks, the use of MPLS is widely 
       deployed as data transport method. The adoption of MPLS as tunneling layer in this 
       proposal intends to natively adapt TCM-TF to those transport networks.</t>

	   <t>In the same way that layer 3 tunnels, MPLS paths, identified by MPLS labels, 
	   established between Label Edge Routers (LSRs), could be used to transport the 
	   compressed payloads within an MPLS network. This way, multiplexing layer must be 
	   placed over MPLS layer. Note that, in this case, layer 3 tunnel headers do not have to
	   be used, with the consequent data efficiency improvement.</t>
	   </section>

      </section>

      <section title="Encapsulation Formats">
		<t>The packet format for a packet compressed is:</t>

<figure align="center" anchor="encap_1">
        <preamble></preamble>
        <artwork align="left"><![CDATA[
        +------------+-----------------------+
        |            |                       |
        |   Compr    |                       |
        |   Header   |      Data             |
        |            |                       |
        |            |                       |
        +------------+-----------------------+
            ]]></artwork>
        <postamble></postamble>
      </figure>


   <t>The packet format of a multiplexed PPP packet as defined by <xref target="PPP-MUX">
   </xref> is:</t>
   
<figure align="center" anchor="encap_2">
        <preamble></preamble>
        <artwork align="left"><![CDATA[
      +-------+---+------+-------+-----+   +---+------+-------+-----+
      | Mux   |P L|      |       |     |   |P L|      |       |     |
      | PPP   |F X|Len1  |  PPP  |     |   |F X|LenN  |  PPP  |     |
      | Prot. |F T|      | Prot. |Info1| ~ |F T|      | Prot. |InfoN|
      | Field |          | Field1|     |   |          |FieldN |     |
      | (1)   |1-2 octets| (0-2) |     |   |1-2 octets| (0-2) |     |
      +-------+----------+-------+-----+   +----------+-------+-----+
            ]]></artwork>

        <postamble></postamble>
      </figure>

   <t>The combined format used for TCM-TF with a single payload is all of
   the above packets concatenated. Here is an example with one payload, using
   L2TP or GRE tunneling:</t>
   
<figure align="center" anchor="encap_3">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
        +------+------+-------+----------+-------+--------+----+
        | IP   |Tunnel| Mux   |P L|      |       |        |    |
        |header|header| PPP   |F X|Len1  |  PPP  | Compr  |    |
        | (20) |      | Proto |F T|      | Proto | header |Data|
        |      |      | Field |          | Field1|        |    |
        |      |      | (1)   |1-2 octets| (0-2) |        |    |
        +------+------+-------+----------+-------+--------+----+
               |<------------- IP payload -------------------->|
                              |<-------- Mux payload --------->|
            ]]></artwork>
        <postamble></postamble>
      </figure>

   <t>If the tunneling technology is MPLS, then the scheme would be:</t>
 <figure align="center" anchor="encap_4">
        <preamble></preamble>

        <artwork align="left"><![CDATA[
        +------+-------+----------+-------+--------+----+
        |MPLS  | Mux   |P L|      |       |        |    |
        |header| PPP   |F X|Len1  |  PPP  | Compr  |    |
        |      | Proto |F T|      | Proto | header |Data|
        |      | Field |          | Field1|        |    |
        |      | (1)   |1-2 octets| (0-2) |        |    |
       -+------+-------+----------+-------+--------+----+
               |<---------- MPLS payload -------------->|
                       |<-------- Mux payload --------->|
            ]]></artwork>
        <postamble></postamble>
      </figure>
  
   <t>If the tunnel contains multiplexed traffic, multiple "PPPMux
   payload"s are transmitted in one IP packet.</t>

      </section>

    </section>

    <section anchor="Contributing_Authors" title="Contributing Authors">
   
    <figure align="left">
        <artwork align="left"><![CDATA[
Gonzalo Camarillo
Ericsson
Advanced Signalling Research Lab.
FIN-02420 Jorvas
Finland

Email: Gonzalo.Camarillo@ericsson.com
            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
Michael A. Ramalho
Cisco Systems, Inc.
8000 Hawkins Road
Sarasota, FL 34241-9300
US

Phone: +1.732.832.9723
Email: mramalho@cisco.com            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
Jose Ruiz Mas
University of Zaragoza
Dpt. IEC Ada Byron Building
50018 Zaragoza
Spain

Phone: +34 976762158
Email: jruiz@unizar.es            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
Diego Lopez Garcia
Telefonica I+D
Ramon de la cruz 84
28006 Madrid
Spain

Phone: +34 913129041
Email: diego@tid.es            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
David Florez Rodriguez
Telefonica I+D
Ramon de la cruz 84
28006 Madrid
Spain

Phone: +34 91312884
Email: dflorez@tid.es            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
Manuel Nunez Sanz
Telefonica I+D
Ramon de la cruz 84
28006 Madrid
Spain

Phone: +34 913128821 
Email: mns@tid.es            ]]></artwork>
      </figure>

    <figure align="left">
        <artwork align="left"><![CDATA[
Juan Antonio Castell Lucia
Telefonica I+D
Ramon de la cruz 84
28006 Madrid
Spain

Phone: +34 913129157 
Email: jacl@tid.es            ]]></artwork>
      </figure>


    <figure align="left">
        <artwork align="left"><![CDATA[
Mirko Suznjevic
University of Zagreb
Faculty of Electrical Engineering and Computing, Unska 3
10000 Zagreb
Croatia

Phone: +385 1 6129 755 
Email: mirko.suznjevic@fer.hr           ]]></artwork>
      </figure>

    </section>


    <section anchor="Acknowledgements" title="Acknowledgements">
      <t></t>

    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

    </section>

    <section anchor="Security" title="Security Considerations"> 
    	<t>The most straightforward option for securing a number of non-secured flows sharing a path 
    	is by the use of IPsec <xref target="IPsec"></xref>, when TCM using an IP tunnel is employed. 
    	Instead of adding a security header to the packets of each native flow, and then compressing 
    	and multiplexing them, a single IPsec tunnel can be used in order to secure all the flows together, 
    	thus achieving a higher efficiency. This use of IPsec protects the packets only within the 
    	transport network between tunnel ingress and egress and therefore does not provide end-to-end 
    	authentication or encryption.</t>
    	
    	<!-- In some cases , e.g., where the end points are trusted, this model may be appropriate.-->
    	<!-- previous sentence has been removed, according to Dan's suggestion -->
    	
    	<t>When a number of already secured flows including ESP <xref target="ESP"></xref> headers 
    	are optimized by means of TCM, and the addition of further security is not necessary, 
    	their ESP/IP headers can still be compressed using suitable algorithms <xref target="RFC5225"></xref>, 
    	in order to improve the efficiency. This header compression does not change the end-to-end security model.</t>
    	
		<t>The resilience of TCM-TF to denial of service, and the use of TCM-TF to deny service to other parts 
		of the network infrastructure, is for future study.</t>	
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">

      &RFC2119;

	  <reference anchor="PPP-MUX" target="">
        <front>
          <title>PPP Multiplexing</title>
          <author initials="R." surname="Pazhyannur">
            <organization></organization>
          </author>
          <author initials="I." surname="Ali">
            <organization></organization>
          </author>
          <author initials="C." surname="Fox">
            <organization></organization>
          </author>
		  <date year="2001" />         
        </front>
        <seriesInfo name="RFC" value="3153" />
      </reference>

	  <reference anchor="ECRTP" target="">
        <front>
          <title>Enhanced Compressed RTP (CRTP) for Links with High Delay, Packet Loss 
          and Reordering</title>
          <author initials="T." surname="Koren">
            <organization></organization>
          </author>
          <author initials="S." surname="Casner">
            <organization></organization>
          </author>
          <author initials="J." surname="Geevarghese">
            <organization></organization>
          </author>
          <author initials="B." surname="Thompson">
            <organization></organization>
          </author>
		  <author initials="P." surname="Ruddy">
            <organization></organization>
          </author>
		  <date year="2003" />          
        </front>
        <seriesInfo name="RFC" value="3545" />
      </reference>
   
	  <reference anchor="cRTP" target="">
        <front>
          <title>Compressing IP/UDP/RTP Headers for Low-Speed Serial Links</title>	
          <author initials="S." surname="Casner">
            <organization></organization>
          </author>
          <author initials="V." surname="Jacobson">
            <organization></organization>
          </author>
          <date year="1999" />        
        </front>
        <seriesInfo name="RFC" value="2508" />
      </reference>
   
   
	  <reference anchor="IPHC" target="">
        <front>
          <title>IP Header Compression</title>
          <author initials="M." surname="Degermark">
            <organization></organization>
          </author>
          <author initials="B." surname="Nordgren">
            <organization></organization>
          </author>
          <author initials="S." surname="Pink">
            <organization></organization>
          </author>
          <date year="1999" />        
        </front>
        <seriesInfo name="RFC" value="2580" />
      </reference>

      <reference anchor="IPCP-HC" target="">
        <front>
          <title>IP Header Compression over PPP</title>
          <author initials="M." surname="Engan">
            <organization></organization>
          </author>
          <author initials="S." surname="Casner">
            <organization></organization>
          </author>
          <author initials="C." surname="Bormann">
            <organization></organization>
          </author>
          <author initials="T." surname="Koren">
            <organization></organization>
          </author>
		  <date year="2003" />
        </front>
        <seriesInfo name="RFC" value="3544" />
      </reference>
      
      <reference anchor="RTP" target="">
        <front>
          <title>RTP: A Transport Protocol for Real-Time Applications</title>
          <author initials="H." surname="Schulzrinne">
            <organization></organization>
          </author>
          <author initials="S." surname="Casner">
            <organization></organization>
          </author>
          <author initials="R." surname="Frederick">
            <organization></organization>
          </author>
          <author initials="V." surname="Jacobson">
            <organization></organization>
          </author>
		  <date year="2003" />
        </front>
        <seriesInfo name="RFC" value="3550" />
      </reference>
      
      <reference anchor="L2TPv3" target="">
        <front>
          <title>Layer Two Tunneling Protocol - Version 3 (L2TPv3)</title>
          <author initials="J." surname="Lau">
            <organization></organization>
          </author>
          <author initials="M." surname="Townsley">
            <organization></organization>
          </author>
          <author initials="I." surname="Goyret">
            <organization></organization>
          </author>
		  <date year="2005" />
        </front>
        <seriesInfo name="RFC" value="3931" />
      </reference>

      <reference anchor="PPP" target="">
        <front>
          <title>The Point-to-Point Protocol (PPP)</title>
          <author initials="W." surname="Simpson">
            <organization></organization>
          </author>
		  <date year="1994" />
        </front>
        <seriesInfo name="RFC" value="1661" />
      </reference>

      <reference anchor="GRE" target="">
        <front>
          <title>Generic Routing Encapsulation (GRE)</title>
          <author initials="D." surname="Farinacci">
            <organization></organization>
          </author>
          <author initials="T." surname="Li">
            <organization></organization>
          </author>
          <author initials="S." surname="Hanks">
            <organization></organization>
          </author>
          <author initials="D." surname="Meyer">
            <organization></organization>
          </author>
          <author initials="P." surname="Traina">
            <organization></organization>
          </author>
		  <date year="2000" />
        </front>
        <seriesInfo name="RFC" value="2784" />
      </reference>

      <reference anchor="ROHC" target="">
        <front>
          <title>The RObust Header Compression (ROHC) Framework</title>
          <author initials="K." surname="Sandlund">
            <organization></organization>
          </author>
          <author initials="G." surname="Pelletier">
            <organization></organization>
          </author>
          <author initials="L-E." surname="Jonsson">
            <organization></organization>
          </author>
		  <date year="2010" />
        </front>
        <seriesInfo name="RFC" value="5795" />
      </reference>

<reference anchor="RFC5225">
<front>
<title>
RObust Header Compression Version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite
</title>
<author initials="G." surname="Pelletier" fullname="G. Pelletier">
<organization/>
</author>
<author initials="K." surname="Sandlund" fullname="K. Sandlund">
<organization/>
</author>
<date year="2008" month="April"/>
<abstract>
<t>
This document specifies ROHC (Robust Header Compression) profiles that efficiently compress RTP/UDP/IP (Real-Time Transport Protocol, User Datagram Protocol, Internet Protocol), RTP/UDP-Lite/IP (User Datagram Protocol Lite), UDP/IP, UDP-Lite/IP, IP and ESP/IP (Encapsulating Security Payload) headers.</t><t> This specification defines a second version of the profiles found in RFC 3095, RFC 3843 and RFC 4019; it supersedes their definition, but does not obsolete them.</t><t> The ROHCv2 profiles introduce a number of simplifications to the rules and algorithms that govern the behavior of the compression endpoints. It also defines robustness mechanisms that may be used by a compressor implementation to increase the probability of decompression success when packets can be lost and/or reordered on the ROHC channel. Finally, the ROHCv2 profiles define their own specific set of header formats, using the ROHC formal notation. [STANDARDS-TRACK]
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5225"/>
<format type="TXT" octets="246120" target="http://www.rfc-editor.org/rfc/rfc5225.txt"/>
</reference>

      <reference anchor="TCRTP" target="">
        <front>
          <title>Tunneling Multiplexed Compressed RTP (TCRTP)</title>
          <author initials="B." surname="Thomson">
            <organization></organization>
          </author>
          <author initials="T." surname="Koren">
            <organization></organization>
          </author>
          <author initials="D." surname="Wing">
            <organization></organization>
          </author>
		  <date year="2005" />
        </front>
        <seriesInfo name="RFC" value="4170" />
      </reference>

      <reference anchor="SIP" target="">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author initials="J." surname="Rosenberg">
            <organization></organization>
          </author>
          <author initials="H." surname="Schulzrinne">
            <organization></organization>
          </author>
          <author initials="G." surname="Camarillo">
            <organization></organization>
          </author>
          <author initials="et" surname="al.">
            <organization></organization>
          </author>

		  <date year="2005" />
        </front>
        <seriesInfo name="RFC" value="3261" />
      </reference>

      <reference anchor="SCTP" target="">
        <front>
          <title>Stream Control Transmission Protocol</title>
          <author initials="R." surname="Stewart, Ed.">
            <organization></organization>
          </author>
 		  <date year="2007" />
        </front>
        <seriesInfo name="RFC" value="4960" />
      </reference>
      
      <reference anchor="ESP" target="">
        <front>
          <title>IP Encapsulating Security Payload </title>
          <author initials="S." surname="Kent">
            <organization></organization>
          </author>
 		  <date year="2005" />
        </front>
        <seriesInfo name="RFC" value="4303" />
      </reference>

	<reference anchor="MPLS">
	<front>
	<title>Multiprotocol Label Switching Architecture</title>
		<author initials="E." surname="Rosen" fullname="E. Rosen">
		<organization/>
		</author>
		<author initials="A." surname="Viswanathan" fullname="A. Viswanathan">
		<organization/>
		</author>
		<author initials="R." surname="Callon" fullname="R. Callon">
		<organization/>
		</author>
		<date year="2001" month="January"/>
		<abstract>
		<t>
		This document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]
		</t>
		</abstract>
		</front>
		<seriesInfo name="RFC" value="3031"/>
		<format type="TXT" octets="147175" target="http://www.rfc-editor.org/rfc/rfc3031.txt"/>
	</reference>

	<reference anchor="IPsec">
		<front>
		<title>Security Architecture for the Internet Protocol</title>
		<author initials="S." surname="Kent" fullname="S. Kent">
		<organization/>
		</author>
		<author initials="K." surname="Seo" fullname="K. Seo">
		<organization/>
		</author>
		<date year="2005" month="December"/>
		<abstract>
		<t>This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TRACK]		</t>
		</abstract>
		</front>
		<seriesInfo name="RFC" value="4301"/>
		<format type="TXT" octets="262123" target="http://www.rfc-editor.org/rfc/rfc4301.txt"/>
	</reference>
</references>  
    
<references title="Informative References">
    <reference anchor="topology_CNs" target="">
        <front>
          <title>Topology patterns of a community network: Guifi. net.</title>
          <author initials="D." surname="Vega">
            <organization>Universitat Politecnica de Catalunya</organization>
          </author>
          <author initials="L." surname="Cerda-Alabern">
            <organization>Universitat Politecnica de Catalunya</organization>
          </author>
          <author initials="L." surname="Navarro">
            <organization>Universitat Politecnica de Catalunya</organization>
          </author>
          <author initials="R." surname="Meseguer">
            <organization>Universitat Politecnica de Catalunya</organization>
          </author>
   
		  <date year="2012" />
        </front>
        <seriesInfo name="Proceedings Wireless and Mobile Computing, Networking and Communications (WiMob), 2012 IEEE 8th International Conference on (pp. 612-619)" value=""/>
      </reference>
      
      <reference anchor="First-person" target="">
        <front>
          <title>A Survey of First-Person Shooter Gaming Traffic on the Internet</title>
          <author initials="S." surname="Ratti">
            <organization>University of Ottawa, Canada</organization>
          </author>
          <author initials="B." surname="Hariri">
            <organization>University of Ottawa, Canada</organization>
          </author>
          <author initials="S." surname="Shirmohammadi">
            <organization>University of Ottawa, Canada</organization>
          </author>
		  <date year="2010" />
        </front>
        <seriesInfo name="IEEE Internet Computing" value="vol 14, no. 5, pp. 60-69" />
     </reference>
    
     <reference anchor="VoIP_opt" target="">
        <front>
          <title>Evaluating the Influence of Multiplexing Schemes and 
          Buffer Implementation on Perceived VoIP Conversation Quality</title>
          <author initials="J." surname="Saldana">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Fernandez-Navajas">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Ruiz-Mas">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Murillo">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="E." surname="Viruete">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J.I." surname="Aznar">
            <organization>University of Zaragoza, Spain</organization>
          </author>
		  <date year="2012" />
        </front>
        <seriesInfo name="Computer Networks (Elsevier)" value="Volume 6, Issue 11, pp 2920 - 2939. Nov. 30" />
      </reference>
      
      <reference anchor="FPS_opt" target="">
        <front>
          <title>First Person Shooters: Can a Smarter Network Save Bandwidth without Annoying the Players?</title>
          <author initials="J." surname="Saldana">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Fernandez-Navajas">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Ruiz-Mas">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J.I." surname="Aznar">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="E." surname="Viruete">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="L." surname="Casadesus">
            <organization>University of Zaragoza, Spain</organization>
          </author>
		  <date year="2011" />
        </front>
        <seriesInfo name="IEEE Communications Magazine" value="vol. 49, no.11, pp. 190-198" />
      </reference>
      
      <reference anchor="Efficiency" target="">
        <front>
          <title>Energy Efficiency in the Future Internet: A Survey of Existing Approaches and Trends in
			Energy-Aware Fixed Network Infrastructures</title>
          <author initials="R." surname="Bolla">
            <organization>University of Genoa, Italy</organization>
          </author>
          <author initials="R." surname="Bruschi">
            <organization>University of Genoa, Italy</organization>
          </author>
          <author initials="F." surname="Davoli">
            <organization>University of Genoa, Italy</organization>
          </author>
          <author initials="F." surname="Cucchietti">
            <organization>Telecom Italia, Italy</organization>
          </author>
		  <date year="2011" />
        </front>
        <seriesInfo name="IEEE Communications Surveys and Tutorials" value="vol.13, no.2, pp.223,244" />
      </reference>
    
      <reference anchor="Power" target="">
        <front>
          <title>Power Awareness in Network Design and Routing</title>
          <author initials="J." surname="Chabarek">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="J." surname="Sommers">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="P." surname="Barford">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="C." surname="Estan">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="D." surname="Tsiang">
            <organization>University of Zaragoza, Spain</organization>
          </author>
          <author initials="S." surname="Wright">
            <organization>University of Zaragoza, Spain</organization>
          </author>
		  <date year="2008" />
        </front>
        <seriesInfo name="INFOCOM 2008. The 27th Conference on Computer 
        Communications. IEEE" value="pp.457,465" />
      </reference>

</references>


    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>
