Lecture - 05 - Internet Traffic Measurements-11
Lecture - 05 - Internet Traffic Measurements-11
Yuval Shavitt
School of Electrical Engineering
http://www.eng.tau.ac.il/~shavitt
Motivation
• Wide area networks are too complex to
grasp
– Many protocols at various levels interact and
effect behavior
• Many applications have performance
requirements
– End-to-end delay and loss, reliability
Motivation (2)
• Its an interesting complex system
– Has emergent characteristics like many living
systems:
• Biological systems
• Social networks
TCP/IP Protocols
TELNET FTP SMTP DNS Application
IP Network
Physical+
LAN wireless WAN Data link
Internet Measurement Challenges
Internet Measurement Challenges (1)
• Network size:
– 100,000,000s hosts, 1,000,000s routers, ~30,000 ASes
• Network Complexity
– Interaction between components, protocols,
applications, users
• All change over time
– New applications are added
– New protocol versions (TCP)
– New router design (AQM)
Internet Measurement Challenges (2)
10
Pr(k)
W. E. Leland, M. S. Taqqu, W. Willinger, and D. V. Wilson
log(Pr(degree))
8
• Active measurements
– Probes: Traceroute, ping, packet trains
– Application simulation
• Passive measurement
– Logs (WWW)
– Monitors, sniffers
Measurement resources on the
WWW
CAIDA:
www.caida.org/tools/taxonomy
SLAC:
www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html
When should we measure the Internet?
• Diurnal and weekly traffic cycles
• Time scales depend on “what” and “how”
• Passive measurement are typically continuous
– Can generate huge data sets
– Log access problems
– Privacy concerns
• Active measurements are typically discrete
– Important characteristics can be missed
– Probes can be filtered and/or detected
Who is measuring the Internet?
• Businesses do a great deal of measurement
– Mostly do not share with the research community
– examples:
• Akamai: http delay from server side
• HP (Mercury): http delay from client side
• Google: everything
• Academia and Research institutes
– Publish papers, but data may not be always available
• Internet Statistics and Metrics Analysis (ISMA)
– CAIDA attempt to create a global meta-data database
Publishing Internet Measurement
Studies
• All major networking conferences &
journals accept measurement papers
– ACM SIGCOMM, IEEE INFOCOM, ACM
SIGMETRICS
• Dedicated meetings:
– ACM Internet Measurement Conf. (IMC, IMW)
– Passive & Active Measurements Conf. (PAM)
– TridentCom
Active Measurement Techniques
Active Probes
• Active probes send stimulus (packets) into the
network and then measure the response
– Done on network, transport and application layers
• Active probes are useful to measure various
things:
– Delay, delay jitter, and loss
– Topology and routing behavior
– Capacity, bandwidth, and throughput
Simple delay/loss probing with ping
C:\>ping www.fer.hr
IP header
Type Code
Checksum
Sequence number
Any ICMP data
ICMP Message Types
Type No. Meaning
0 Echo reply
3 Destination unreachable
4 Source quench
PING
5 Redirect
8 Echo
9 Router advertisement
10 Router solicitation
11 Time exceeded
12 Parameter problem
13 Timestamp
14 Timestamp reply
15 Information requeste
16 Information reply
Application layer “ping”
• One can generate application layer
messages to test application reaction time
• Most common:
– TCP SYN message to port 80
traceroute
• Useful to learn the route characteristics
between two hosts.
• Sends a series of probes to successive nodes
along a route to an intended destination and
records the source address and time delay of
the message returned by each.
• Based on ICMP “TTL expired” message
IP datagram format
IP protocol version
number 32 bits total datagram
header length head. type of length (bytes)
(bytes) ver length
len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper Internet
remaining hops live layer checksum
(decremented at
each router) 32 bit source IP address
Trace complete.
C:\>tracert www.colbud.hu
Trace complete.
Probing for link characteristics
• Packet dispersion techniques can be used to
infer characteristics of each link along an
Internet path.
– Bandwidth, queuing delays, propagation delay
– Cross traffic may cause problem
• Many tools are available:
– bprobe [CC97], clink [D99], nettimer [LB99],
pathchar [J97], pchar [M00], pathrate [DRM01]
Capacity
• Maximum IPlayer throughput that a flow
can get, without any cross traffic
link 2
link 1 link 3
source sink
• Ci = capacity of link i
• Path capacity C=mini{Ci}
Available Bandwidth
• Maximum IPlayer throughput that a flow
can get, given (stationary) cross traffic
link 2
link 1 link 3
source sink
• ui = utilization of link i
• Path available bandwidth A=mini{Ci(1- ui)}
Packet Pair Dispersion
• Packet transmission time: τ=L/C
• Send two packets back-to-back
• Measure dispersion at the reciever
• Estimate C as L/
C 3C
L/C
L/3C L/C
• But cross-traffic ‘noise’ can effect .
Pathchar
• Developed by Van Jacobson to:
“allows any user to find the bandwidth,
delay, average queue and loss rate of every
hop between any source & destination on
the Internet”
• Measure the path hop by hop
– Default: 32 probes per hop
Self-Loading Periodic Streams
(SLoPS) [Jain Dovrolis 02]
Brosh&Shavitt, Infocom’05
HTTP Logs
• Have data about the client IP, transaction
time, command (GET/POST), return code,
bytes transferred, referrer, metadata (browser
type, OS, languages, etc.)
• Tools are available to analyze HTTP logs
– Webalizer
HTTP Log Example
24.77.192.99 - - [15/May/2005:23:54:59 +0300] "GET /science_down.gif HTTP/1.1" 200 1138 "http://www.netdimes.org/science.html
" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3"
68.231.117.28 - - [15/May/2005:23:52:05 +0300] "GET /ipmap.png HTTP/1.1" 200 4874697 "http://slashdot.org/" "Mozilla/5.0 (X11
; U; Linux i686; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /home_up.gif HTTP/1.1" 200 1096 "http://www.netdimes.org/" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /AboutUs_up.gif HTTP/1.1" 200 1169 "http://www.netdimes.org/" "Mozilla/4
.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.77.192.99 - - [15/May/2005:23:55:00 +0300] "GET /Install_down.gif HTTP/1.1" 200 1219 "http://www.netdimes.org/science.html
" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3"
69.141.103.137 - - [15/May/2005:23:54:50 +0300] "POST /DIMES/server HTTP/1.1" 200 3 "-" "Java/1.4.1_03"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /news_up.gif HTTP/1.1" 200 1086 "http://www.netdimes.org/" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /community_up.gif HTTP/1.1" 200 1199 "http://www.netdimes.org/" "Mozilla
/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /datastat_up.gif HTTP/1.1" 200 1233 "http://www.netdimes.org/" "Mozilla/
4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /science_up.gif HTTP/1.1" 200 1126 "http://www.netdimes.org/" "Mozilla/4
.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
71.106.2.53 - - [15/May/2005:23:55:00 +0300] "GET /favicon.ico HTTP/1.1" 200 5694 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.
1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
62.179.197.156 - - [15/May/2005:23:54:02 +0300] "GET /ipmap.png HTTP/1.1" 200 4874697 "http://slashdot.org/" "Mozilla/5.0 (Wi
ndows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /Install_up.gif HTTP/1.1" 200 1219 "http://www.netdimes.org/" "Mozilla/4
.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
24.236.177.187 - - [15/May/2005:23:55:00 +0300] "GET /EVERGROW40.gif HTTP/1.1" 200 4089 "http://www.netdimes.org/" "Mozilla/4
.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
195.252.52.155 - - [15/May/2005:23:55:00 +0300] "GET /science_down.gif HTTP/1.1" 200 1138 "http://www.netdimes.org/science.ht
ml" "Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.6) Gecko/20050318 Firefox/1.0.2"
[root@jupiter httpd]# grep "GET / " access_log |tail -10
68.54.223.47 - - [19/May/2005:12:36:20 +0300] "GET / HTTP/1.1" 200 14067 "-" "Mozilla/4.0 (compatible;
MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
132.76.80.118 - - [19/May/2005:12:49:44 +0300] "GET / HTTP/1.1" 304 -
"http://www.eng.tau.ac.il/~shavitt/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR
1.1.4322)"
24.169.148.213 - - [19/May/2005:13:06:58 +0300] "GET / HTTP/1.1" 200 14067 "-" "Mozilla/5.0
(Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
84.170.181.64 - - [19/May/2005:13:07:14 +0300] "GET / HTTP/1.1" 200 14067
"http://www.google.de/search?hl=de&q=dimes&meta=" "Mozilla/4.0 (compatible; MSIE 6.0; Windows
NT 5.1; SV1)"
130.240.136.220 - - [19/May/2005:13:07:25 +0300] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible;
MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
81.72.13.30 - - [19/May/2005:13:11:00 +0300] "GET / HTTP/1.1" 200 14067
"http://www.miranet.it/php/Articolo.php?id=708" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)"
194.78.199.123 - - [19/May/2005:13:13:44 +0300] "GET / HTTP/1.1" 200 14067 "-" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)"
82.152.182.12 - - [19/May/2005:13:23:10 +0300] "GET / HTTP/1.1" 200 14067 "-" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1)"
80.119.126.44 - - [19/May/2005:13:38:08 +0300] "GET / HTTP/1.1" 200 14067 "-" "Mozilla/5.0 (Windows;
U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
80.250.186.101 - - [19/May/2005:13:46:14 +0300] "GET / HTTP/1.1" 200 14067
"http://distributed.ru/forum/?a=topic&topic=583" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.8) Gecko/20050511 Firefox/1.0.4"
Example of Log Analysis
M&M, MIT
How does it work?
• 50% of traffic is comprised of 1500B packets
• Behavior at the second bottleneck:
Effect on dist.:
Keep b.n. gap
“white noise”
A-B-C A B C
C-B-A A B C
routers
The Internet Structure
The AS graph
The Internet Structure
The AS graph
The PoP level graph
Delay Measurements
Minimum delay of a link
C:\>tracert www.fer.hr
Trace complete.
A delay of a link inside TAU
Link Delay Measurements Histogram
5000
4500
4000
3500
Distribution of the delay
3000
among 1 ms bins
2500
2000
1500
1000
500
0
-150 -100 -50 0 50 100 150 200 250
Link delay [ms]
negative delay
Auto-Correlation Histogram
10
Histogram AutoCorrelation
10
autocorr of new histogram
autocorr of "sampled" histogram
9
10
8
10
7
10
6
10
5
10
4
10
3
10
-300 -200 -100 0 100 200 300
AutoCorrelation lag
Why periodic?
Maybe something wrong with the
code?
1.5
0.5
0
-100 -80 -60 -40 -20 0 20 40 60 80 100
Delay [ms]
6000
New Version
5000
4000
3000
2000
1000
0
-100 -80 -60 -40 -20 0 20 40 60 80 100
Delay [ms]
Auto-Correlation Histogram
10
Histogram AutoCorrelation
10
autocorr of new histogram
autocorr of "sampled" histogram
9
10
8
10
7
10
6
10
5
10
4
10
3
10
-300 -200 -100 0 100 200 300
AutoCorrelation lag
Why periodic?
How to define distance between ASes?
Maybe the same as between nodes?
• The distance between two ASes will be the distance
between the two border routers connecting them
14ms ?
from IP to AS routes
C:\>tracert www.fer.hr
MinASEdge(378,1248) = 9ms
MinASEdge(1248,701) = 1ms (non negative.)
MaxASEdge(378,1248) = 63ms
MaxASEdge(1248,701) = 56ms
DIMES AS Diameter definition
GPS
RS232->422
The Endace DAG 3.6GE card
• PCI bus – 32 bit 33 Mhz
• Single port full packet
capture at 10/100/1000
Mbit/s
• Precise timestamping
• Burst of patterned traffic
generator – sending
special packets at
10/100/1000 Mbit/s
ATOMIC -> ANME
Skitter
http://www.caida.org/tools/measurement/skitter