Lin Zhang
Columbia University
New York, NY 10027
USA
lz2110@columbia.edu
Differentiated
services enhancements to the Internet protocol are intended to enable scalable
service discrimination in the Internet without the need for per-flow state and
signaling at every hop. A replacement header field, called the DS field, is
defined, which is intended to supersede the existing definitions of the IPv4
TOS octet [RFC791]. Six bits of the DS field are used as a codepoint (DSCP) to
select the PHB a packet experiences at each node. A two-bit currently unused
(CU) field is reserved.
However ,
unfortunately Ipv4 packets containing DSCP are reputed to unsupported in some
routers in the Internet, and the DSCP bits will get to lost (be zeroed) when
the packets pass though those routers. To verity the view that some packets
with DSCP do indeed lost those DSCP bits when they travel through the Internet,
I have conducted a series of simple experiments, create the packets, set the
DSCP bits , and send them to some destination across the Internet, and use
probes distributed across the Internet
to observe the header of the IP packets and measure whether ISPs allows
DSCPs (DiffServ code points) in IP packets to cross unaltered , compute delay
and compare with the packet without DSCP bits set.
1 . INTRODUCTION
To date, the
Internet has mostly taken an egalitarian approach to packet scheduling in
router queues. All packets receive equal service; no packets, including
delay-sensitive audio and video packets, receive special priority in the router
queues. No matter how much money you have or how important you are, you must
join the end of the line and wait your turn! Due to the lack of any special
effort to deliver packets in a timely manner, it is an extremely challenging
problem to develop successful multimedia networking applications for the
Internet.
Differentiated
services is to introduce a small number of classes (possibly just two classes),
assign each datagram to one of the classes, give datagrams different levels of
service according to their class in the router queues, and charge users
according to the class of packets that they are sending into the network.
The IP
Precedence field is something of a forerunner of the DS field. IP Precedence,
and the IP Precedence Field, were first defined in [RFC791].
Although
early BBN IMPs implemented the Precedence feature, early commercial routers and
UNIX IP forwarding code generally did not. As networks became more complex and
customer requirements grew, commercial router vendors developed ways to implement
various kinds of queueing services including priority queueing, which were
generally based on policies encoded in filters in the routers, which examined
IP addresses, IP protocol numbers, TCP or UDP ports, and other header fields.
IP Precedence was and is among the options such filters can examine.
However ,
unfortunately Ipv4 packets containing DSCP are reputed to unsupported in some
routers in the Internet, and the DSCP bits will get to lost or be zeroed when
the packets pass though those routers. Despite this alleged lose of DSCP there
does not appear to exist any recent measurements of how many percentage of
packets lost their DSCP in their Internet trip .
The generally
referred to reason, as to why packets containing DSCP lost it, is that some routers
do not trust DSCP . A reason for this is not all QoS techniques are appropriate
for all network routers. Because edge routers and backbone routers in a network
do not necessarily perform the same operations, the QoS tasks they perform
might differ as well.
To this end a
series of simple experiments have been conducted using a tool name Iperf
http://dast.nlanr.net/Projects/Iperf/ to
create TCP and UDP packets with DSCP bits set to measure if routers actually
zeroed the DSCP when the packets traveling on the Internet , and to examine if
the packets with DSCP get more delay than otherwise.
Even though our experiments are still at an initial stage, I believe that it is quite clear from out collected data that some packets carrying DSCP bits are in fact lose them during the end to end transmission on the Internet, briefly about one third from all DSCP set packets. However, the round trip time seems no difference between the DSCP set TCP connection and otherwise. Seems the router either zero the DSCP filed, which mean do not trust it, or the router just ignore it.
The remainder of
this paper is structured as follows. In section 2, the setup and results of the
experiments are presented. Section 3 some related work on IP packet measurement
. Section 4 ,conclusions and future work.
2. Whether ISPs allows DSCPs (DiffServ code points) in IP packets to cross unaltered
Our hypothesis is
that some packets with DSCPs bits will lost them , or be zeroed during travel
across Internet , because some routers may not trust DSCP among the path . In
this section I will present a set of experiments which support this hypothesis.
2.1. Measurement
Methodology
To check whether
ISPs allows DSCPs (DiffServ code points) in IP packets to cross unaltered, I
use the network of PlanetLab http://www.planet-lab.org/php/top.php to did the measurement.
Do the measurement on the PlanetLab network
PlanetLab currently
consists of 160 machines, hosted by 65 sites, spanning 16 countries. Most of
the machines are hosted by research institutions, although some are located in
co-location and routing centers (e.g., on Internet2's Abilene backbone). All of
the machines are connected to the Internet, currently peering with 100 ISPs.
The goal is for PlanetLab to grow to 1,000 widely distributed nodes that peer
with the majority of the Internet's regional and long-haul backbones. Much of
this infrastructure was supported with funding from Intel. PlanetLab nodes are
1.0GHz IA32, PIII class processor or greater , and currently run a Linux
distribution that is largely based on RedHat 7.3. My data sources include the
nodes of some research universities and some labs from research companies .
On the planetlab’s
network environment (Linux) I installed the application of iperf http://dast.nlanr.net/Projects/Iperf/ on some
node machines random selected all over the world , for sending TCP and UDP
packets with the DSCP filed set . And then use the application of plabdump, a wrapper for tcpdump that can be used to observe traffic based on
TCP or UDP port, as probes to observe those received DSCPs set packet .
At Columbia
campus, to observe the received packets, I set up a machine with the
application of ethereal http://www.ethereal.com/
, a network protocol analyzer, and I another well known application tcpdump
http://www.tcpdump.org/ , which to prints out the headers of
the receive packets . I used those tools to verify that the iperf applications
were setting the DSCP bits in the IP headers.
output
of ethereal
The measurement consisted of:
1.
Starting
iperf to create a TCP connect with the DSCP field set to 0x20 , which means
Class Selector 1: 001000 [RFC2474],
and send the packet out to public Internet networks destinate to another
node of planetlab node or the probe machine in Columbia campus with ethereal or
tcpdump software installed ;
2.
At the
receiver use plabdump or ethereal as probes to observe the received packet, to
print the header out, examine the DSCP filed to see has been changed or not ,
use tcpdump to verify the results;
3.
Use ethereal
to create the average RTT graph of 10 seconds TCP packet transmit with the DSCP
set;
4.
Do the test
again without the DSCP set and get the RTT of normal packets;
5.
For those
packets which lost their DSCP bits (be zeroed), use the same sender send the
packet to another receiver , or use another sender to send packets to this
receiver ; if this time the DSCP does remain in the packet , use the
“traceroute” application to track the routers on the path, to find out at which
point the packets lost their DSCP bits ;
6.
Compare the
RTT (round trip time ) of the packets with DSCP set which were successfully
received, to the normal packets.
Below is a DSCP
carrying packet received by a probe at the receiver , of the output of
application ehtereal :
In this special case , the packet was sent from a node of IP address
171.64.64.216 (planetlab-1.stanford.edu) , to IP address 128.59.150.9 , a node
of Columbia University, and I seized this packet use one of the probes , ethereal ,(I could use
other tools like Tcpdump, plabdump too get this packet too), and print out the
whole packet . At the sender (Stanford node), I create the packet using iperf,
and set the DSCP field as 0x20 (Class Selector 1), and from the analyst of the
packet at the probe, we see the DSCP bits are kept in the header . For I set
the probe at the receiver side, in Columbia campus in this case, means there is
no router in the path strips DSCP bits or zero them.
I gathered a list of
web-sites to a number of sites including Universities and some companies around
the world and performed the above procedure . In my more than one hundred
runs , about 20% to 30% packets observed lost their DSCP at receiver traveling
on the Internet.
2.2. Discusson
Among my tests, in some cases , the DSCP bits did
disappeared .Then I tried to find out at which point of the path , those bits
changed to zero. I created another DSCP
packet from the same sender which we already know lost its DSCP in the
previous test , sent the packet to another destination (another probe). It may
also lost the DSCP at receiver too . Or,
the result could be one receiver get DSCP and one lost it, as in graph 1
:
Graph 1
I sent packets
from Paris to Tokyo first and to London for the second try. Tokyo received the
packet with its DSCP kept and London got all zero in packet’s DSCP field . For
find out the point which at the packet lost its DSCP , I used the “traceroute”
application to track the routers on the path, from those three nodes to each
other , the DSCP must lost between the path of router C and D . Later, I use
London, which lost the DSCP when acted as receiver , to sent packets out , to
other nodes . If all the packets received at the other side of the Internet
lost DSCP bits, then it is most likely the DSCP lost at router D, which is the
London’s access router.
From my test,
about 20% packets lost DSCP at the local access router , in the other word, the
packet carrying DSCP sent out from that kind of network can not be received
with DSCP successfully in any
receiver in the Internet.
Another case is
the host in the multihome network , means the local network has two
Internet connections , as in graph 2:
Graph 2
DSCP packets were
sent from Paris to Tokyo first and to London for the second try. Tokyo received
the packet with its DSCP kept and London got all zero in packet’s DSCP field .
From the traceroute , the results tells all packets come out from route A keep
the DSCP and all packets go through router C lost it . And if let Tokyo or
London act as sender , send DSCP packet to probes, will keep DSCP bits . So, it
is most likely, router A support DSCP, while router C does not trust it at all
.
It is the
case of Columbia campus network . By discussing with out AcIS (Academic
Information Systems) staff , I get to know Columbia campus has two gateways
to Internet, one is Columbia commodity Internet gateway (nyser-gw) which is
Cisco 6509 , the other is the Internet2 gateway (nn2k-gw ) using Cisco
7500/RSP4 . The observation is all packets go through (nyser-gw) lost their
DSCP , while nn2k-gw keep the DSCP . This clearing of the DSCP bits since
packets on 100Mbps links are not trusted so the resetting occurs at the 100Mbps
interface on the Cisco 6509 Sup2/MSFC2 when the packet in or out to Columbia
campus.
That give
the rise of all packets go through Internet2 which from most university keep
their DSCP , while all packet transmit from companies on the commercial
Internet lost DSCP, change to all zero. This multihome environment makes the
packets go out or come in to Columbia campus have about 50 percentage
possibility to lost their DSCPs , base on what path the packet select to use .
During my
tests, I met another case of this kind of multihome network at
lanetlab1.ashburn.equinix.planet-lab.org
65.77.223.82 Equinix –
Ashburn , from the observation of “traceroute”, I found all traffic out from
one access gateway lost the DSCP and from another gateway keep it .
2.3. Effects on DSCP transmit time
From some recently
researches and papers published on the Internet, I get to know that packets
carrying IPv4 options are both delayed to a greater extent and dropped more
often than packets without options. But will packets with DSCPs get more delay
or not?
To find out if
packet with DSCP set get more delay or not , I used etheareal at testing nodes
to capture TCP session for 10 seconds , for TCP session with DSCP set and
normal TCP session, and compare the RTT of those two sessions .
From the
statistics of RTT for ten seconds TCP transmit , there is seems no difference
between the packet with DSCP set to the normal TCP packets . So in most case ,
the back bone routers probably just ignore DSCP bits , for normally , any
packet requiring extra work ends up in the slow path .
2.4. Results
By sending packet
from 30 senders to 5 probes respectively , the following results were achieved:
Mostly , at the
probe of the receiver, I could get the DSCP unchanged , and the same RTT of
non-DSCP packet , means the ISP backbone routers just forward the DSCP set
packet without any additional process.
In some cases ,
less than one third of all tests, the access routers ( or layer 3 switches like
Cisco 6509 ) of the network do not trust DSCP, could cause
the DSCP lost at the edge of the Internet. This kind of situation include only
one access router and multihome cases .
In the case of
compare the transmit time of packet carry DSCP with normal data packet, I used
iperf to send TCP packets with different DSCP , the average RTT was no difference from the output of RTT
graph of ethereal , regardless of whether the DSCP bits were not set or set .
So the SP routers normally just ignore the DSCP bits.
Below is the graph
of using iperf to create special Ipv4 packet and send to the probe on the
Internet.
Use Iperf to create a
IP packet carrying DSCP bits
3. RELATED WORK
A ping delay with
Ipv4 header options measurement has been done by Prof. Michael Welzl [5] , he
used RTT to measure the delay . Another measurement of the Ipv4 header options
delay has been done by Pierre Fransson [6], using ICMP header , and the
solution is Ipv4 options do cause more delay in the Internet. There does not
seem to exist any substantial amount of measurements on the support of DSCP
field however , so I did this series of experiments base on the measurement
focus on the field of Differentiated Services.
4. CONCLUSIONS AND FUTURE WORK
I have gathered
data from 150 different runs, by sending packet from 30 random selected nodes
to 5 probes . Out of these, I observed some packets carrying DSCP bits are in
fact lose them during the end to end transmission on the Internet, about 20% to
30% from all DSCP set packets, depends on the node selection. However, the
round trip time seems no difference between the DSCP set TCP connection and otherwise.
Seems the router either zero the DSCP filed, which mean do not trust it, or the
router just ignore it.
Finally it is
worth noting that when the host using private IP address , which means it need
to pass SP’s NAT translate router to get on the Internet, the
DSCP bits get lost.
The next step , I plan to use this test environment to observe other kind of packet,for example, I could set the IP or TCP options, and send the packet though the Internet , to find out whether ISP support other slightly-unusual IP and TCP features such as IP header options.
5. ACKNOWLEDGMENTS
Thanks to professor Henning Schulzrinne of Columbia University , this
project is under his instruction . I greatly benefited from discussions with
Weibin Zhao , who is my mentor of
this measurement , he gave me many very good suggestions . This test was
supported by the equipment of planetlab network
services .
6. REFERENCE
[1] K.
Nichols, S. Blake, F. Baker and D. Black . Definition of the Differentiated
Services Field (DS Field). RFC 2474 , Internet Engineering Task Force ,
December 1998.
[2] S.
Blake , D. Black , M. Carlson , E. Davies , Z. Wang and W. Weiss . An
Architecture for Differentiated Services . RFC 2475 , Internet Engineering Task
Force , December 1998.
[3] IEPM. TOS: Type of Serveice . August
1999
[4] IEPM. SLAC QBSS Measurements . August
9, 2001.
[5] Michael Welzl . The impact of “Slow Path” processing . September
2002.
[6] Pierre Fransson and Andreas Jonsson .
The Need for an Alternative to Ipv4-Options .
[7] Andre Broido , Ryan King, Evi Nemeth ,
and kc claffy . Radon spectroscopy of packet delay .