scamper Matthew Luckie mjl@wand.net.nz - - PowerPoint PPT Presentation

scamper
SMART_READER_LITE
LIVE PREVIEW

scamper Matthew Luckie mjl@wand.net.nz - - PowerPoint PPT Presentation

scamper Matthew Luckie mjl@wand.net.nz http://www.wand.net.nz/scamper/ 1 What is scamper? Packet prober designed for large-scale active measurement of the Internet Probes at supplied packets-per-second rate Traceroute tcp,


slide-1
SLIDE 1

http://www.wand.net.nz/scamper/ 1

scamper

Matthew Luckie mjl@wand.net.nz

slide-2
SLIDE 2

http://www.wand.net.nz/scamper/ 2

What is scamper?

  • Packet prober designed for large-scale active

measurement of the Internet

– Probes at supplied packets-per-second rate

  • Traceroute

– tcp, udp, icmp, ipv4, ipv6, paris, pmtud, double-tree, load-balancer

  • Alias Resolution

– mercator, ally, radargun

  • Ping
  • Sting
slide-3
SLIDE 3

http://www.wand.net.nz/scamper/ 3

Approach

  • Original goal to replace use of

/sbin/traceroute

  • Flexible

– Standalone measurement utility

  • does not require ruby interpreter or perl or any libraries.

– Control socket: dynamically feed scamper work to do on demand – CLI: one-shot measurements

  • Focus just on implementing a good prober
  • Portable

– *BSD, Linux, MacOS X, Solaris, Windows

slide-4
SLIDE 4

http://www.wand.net.nz/scamper/ 4

scamper control socket

trace -P icmp-paris -q 1 130.217.250.39 OK MORE DATA 544 M$@4`!@```8#___\/`#$````!`````0````P````+2=:1IP`,U. (!```!``0` M+)&4@IL!``4!``X%`0``#@````S_CP(`%@````$!0!$````!*0 L``"P`."H9 M``#_CP(`%@````("_A$```#SA@L``"P`.*54``#_CP(`%@```` ,#_A$```#" MM`L``"P`.+\I``#_CP(`%@````0$_1$```#`#0L``"P`.!FI`` #_SP(`%P`` M``4%?!$```#16@L``"P`.```````_X\"`!8````%!GP1````PH P+```L`#@` M````_X\"`!8````&!WL1````S;@+```L`#@`````_X\"`!8``` `'"7H1```` MQ,L+```L`#@`````_X\"`!8````("GD1````U>0+```L`#@``` ``_X\"`!8` M```)"_@1````S_P+```L`#BG],``_X\"`!8````*#/<1````UT \+```L`#C^ @OL``_X\"`!8````+#O41````\`0+```L`#B;Y,`````` `

Data comes back in uuencoded binary warts format. i.e. records a lot of response detail Client can send commands whenever scamper says “MORE”.

slide-5
SLIDE 5

http://www.wand.net.nz/scamper/ 5

scamper command line

  • scamper –c ‘trace –P icmp-paris’

<filename>

  • scamper –c ‘trace –P icmp-paris’ –i

<ip1> <ip2> … <ipN>

slide-6
SLIDE 6

http://www.wand.net.nz/scamper/ 6

Approach

  • Good science

– Uses best timestamps available

  • Datalink timestamps (BPF)
  • Socket timestamps

– Binary file format records details of responses and meta-data of measurement

slide-7
SLIDE 7

http://www.wand.net.nz/scamper/ 7

Example Use Cases

  • CAIDA IPv6 AS core poster (Brad)
  • Dual-stack path analysis (Kenjiro Cho)
  • IMC papers:

– 2005: Inferring and Debugging Path MTU Discovery Failures – 2008: Traceroute Probe Method and Forward IP Path Inference

slide-8
SLIDE 8

http://www.wand.net.nz/scamper/ 8

Why implement your measurement techniques in scamper?

  • Portability taken care of, e.g.

– Datalink for putting crafted frames onto a link – Route socket for finding appropriate interface – Byte ordering requirements for raw sockets, etc. – Every operating system does things slightly differently

  • Event driven; don’t have to use threads to get

parallelism

  • Lends itself to integration with Ark
slide-9
SLIDE 9

http://www.wand.net.nz/scamper/ 9

How to get?

  • http://www.wand.net.nz/scamper/

– Source code GPLv2

  • FreeBSD, NetBSD, Debian packages.