DIMES Measurements. 2 Topics Description of the measurement module’s structure –How it’s activated –What the output looks like Measurement algorithm –Hop.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
Advertisements

Router Implementation Project-2
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
CSCI 4550/8556 Computer Networks Comer, Chapter 23: An Error Reporting Mechanism (ICMP)
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Lab 4: Simple Router CS144 Lab 4 Screencast May 2, 2008 Ben Nham Based on slides by Clay Collier and Martin Casado.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Internet Control Message Protocol (ICMP)
CPSC 441 Tutorial - Network Tools 1 Network Tools CPSC 441 – Computer Communications Tutorial.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Internet Control Message Protocol (ICMP). Introduction The Internet Protocol (IP) is used for host-to-host datagram service in a system of interconnected.
Chapter 5 The Network Layer.
Chapter 23: ARP, ICMP, DHCP IS333 Spring 2015.
ICMP: Ping and Trace CCNA 1 version 3.0 Rick Graziani Spring 2005.
1 Internet Control Message Protocol (ICMP) RIZWAN REHMAN CCS, DU.
CISCO NETWORKING ACADEMY Chabot College ELEC ping & traceroute.
1 ICMP – Using Ping and Trace CCNA Semester
1 ICMP : Internet Control Message Protocol Computer Network System Sirak Kaewjamnong.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 7 Connect the SUSE Linux Enterprise Server to the Network.
CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College
Björn Landfeldt School of Information Technologies NETS 3303 ICMP and applications.
1 Figure 3-33: Internet Control Message Protocol (ICMP) ICMP is for Supervisory Messages at the Internet Layer ICMP and IP  An ICMP message is delivered.
Module 4 – Learning about other Devices Testing network connections.
Internet Control Message Protocol ICMP. ICMP has two major purposes: –To report erroneous conditions –To diagnose network problems ICMP has two major.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Problem Statement Map of OSU Routers Gopi Krishna Tummala Rupam Kundu Graduate Students The Ohio State University.
Herramientas para diagnósticos. Ping USO: Ping nombre.dominio o dirección IP Options: -t Ping the specifed host until interrupted. -a Resolve addresses.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
IP Forwarding.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 2 Module 9 Basic Router Troubleshooting.
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP: A helper protocol to IP The Internet Control Message Protocol (ICMP) is the protocol used for error.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
Internet Protocols. Address Resolution IP Addresses are not recognized by hardware. If we know the IP address of a host, how do we find out the hardware.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
1 Chapter 23 Internetworking Part 3 (Control Messages, Error Handling, ICMP)
Advanced Packet Analysis and Troubleshooting Using Wireshark 23AF
1 8 Traceroute Program. 2 8 Introduction - Problem Wich route do my packets follow towards my destination?
ERICSON BRANDON M. BASCUG Alternate - REGIONAL NETWORK ADMINISTRATOR HOW TO TROUBLESHOOT TCP/IP CONNECTIVITY.
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP The PING Tool Traceroute program IGMP.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
CCNA 2 Router and Routing Basics Module 8 TCP/IP Suite Error and Control Messages.
4: Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Lecture#6:Connectivity Verification
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Connectivity Verification
COMP2322 Lab 5 IP Steven Lee March 22, 2017.
Network Tools and Utilities
Internet Control Message Protocol (ICMP)
Module 4 – Learning about other Devices
ICMP ICMP = Internet Control Message Protocol Layer 3
Internet Control Message Protocol
COMPUTER NETWORKS CS610 Lecture-33 Hammad Khalid Khan.
8 Network Layer Part V Computer Networks Tutun Juhana
ICMP – Using Ping and Trace
Part1: Ipconfig ping command Tracert command Getmac command
Lecture#7:Connectivity Verification
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
ICMP – Using Ping and Trace
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
ITL Simple Diagnostic Tools
Internet Control Message Protocol Version 4 (ICMPv4)
Lecture#6:Connectivity Verification
Internet Control Message Protocol
Internet Control Message Protocol
TCP/IP Protocol Suite 1 Chapter 9 Upon completion you will be able to: Internet Control Message Protocol Be familiar with the ICMP message format Know.
Presentation transcript:

DIMES Measurements

2 Topics Description of the measurement module’s structure –How it’s activated –What the output looks like Measurement algorithm –Hop alternatives –Protocols –Glitches and observations Writing measurements for DIMES

3 Structure of the measurement module Uniform API (Measurements) –Uniform activation –Uniform result export – should be adapted to new types of measurements Native implementation of actual measurement, due to Java limitations

4 Measurements Measurements DLL execute Traceroute OperationPing Operation executeMTR(HostIP, MeasurementType, Protocol,PingNum,InitialPort)

5 DimesExperiment AllIPs_5841 NORMAL :01: :01:21 TRACEROUTE UDP nolly-pc true … Result File

cisco.eng.tau.ac.il 0 … Hop Details

7 MTR - Traceroute and Ping Same algorithm for both measurements –4 traces in 1 measurement (was 10) –2 possible protocols – ICMP, UDP –Increasing UDP ports –Delay between packet sending

8 Measurements Algorithm While (numPing < maxNumPing) If (time to send next packet) If (current TTL > max TTL) or (current TTL > min responsive TTL) return send packet (current TTL, current port num) if (traceroute) ++ current TTL wait for packet for short period and process if finished a trace ++ numPing reset TTL ++ port num

9 Hop Alternatives Separate traces in a single measurement Different IPs emerge for the same hop Possible reasons: –Different routes route flapping Load balancing –Same route, different hop IP Router interfaces

10 Result File Revisited Hop Alternatives ge car2.Washington1.Level3.net ge car2.Washington1.Level3.net null

11 UDP/ICMP Interface-router resolving – alternatives InfoProtocolDestinationSourceTimeNo. Source port: Destination: port 33435UDP Destination unreachableICMP Source port: Destination: port 33435UDP Destination unreachableICMP Source port: Destination: port 33435UDP Destination unreachableICMP Echo (ping) requestICMP Echo (ping) replyICMP Echo (ping) requestICMP Echo (ping) replyICMP Echo (ping) requestICMP Echo (ping) replyICMP

Differences in packet handling policies – noisy results Block (ignore) Accumulating/batch block (reply to 5 packets in every 10) Delay block (reply to a packet, then wait a fixed delay in which you block) Several echo replies to a single request

13 Batch Block Example No.TimeSourceDestinationProtocolInfo UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: UDPSource port: Destination port: UDPSource port: Destination port: UDPSource port: Destination port: UDPSource port: Destination port: ICMPDestination unreachable

14 Delay Block Example No.TimeSourceDestinationProtocolInfo UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: UDPSource port: Destination port: ICMPDestination unreachable UDPSource port: Destination port: ICMPDestination unreachable

15 Multiple Echo Replies Example No.TimeSourceDestinationProtocolInfo ICMPEcho (ping) request ICMPEcho (ping) reply ICMPEcho (ping) reply

16 Glitches Blocking policies mess with ping results –Batch and delay blocking Delay between ping packets is increased –Delay between Traceroute packets: 50 mSec –Delay between Ping packets: 500 mSec Number of traces is reduced: 10 4 Blocking policies mess with our credibility… –Google stops responding to UDP –DIMES agent is accused of port scanning Fixed port number for each trace Maximum of hosts allowed in a trace is decreased

17 More Hitches We got some strange results …

18 Histogram AutoCorrelation

19 Why you should read borrowed code thoroughly int gettimeofday(struct timeval* tv, struct timezone *tz) { if(!tv) return -1; struct _timeb timebuffer; _ftime(&timebuffer); tv->tv_sec = timebuffer.time; tv->tv_usec = timebuffer.millitm * ; return 0; }

20 Porting UNIX code should be done carefully In windows environment _ftime() function gives worse then 10ms accuracy !!! To get higher accuracy we have used: QueryPerformanceFrequency((LARGE_INTEGER*)&freq); QueryPerformanceCounter((LARGE_INTEGER*)&perfVal); time = ((perfVal* ) / freq);

21 Anything else seems odd? Strange new way of getting microSec accuracy output from milliSec accuracy input… tv->tv_sec = timebuffer.time; tv->tv_usec = timebuffer.millitm * ;

22 compare

Writing measurements for DIMES

24 DIMES Agent Measurement Hierarchy Add new measurement type: TRACEROUTE and PING are hardcoded

25 DIMES Agent Measurement Hierarchy Add methods to execute the new operation Add new Measurement Operation New DLL – add measurement

26 So how do you add a measurement? Agent Side Add the measurement implementation and compile the new measurement DLL –Compile it to be accessible from Java (JNI). Add calling method in Measurements. Add new Measurement Operation. Add new Measurement Type. Change Syntax Tree to support the new Measurement Type.

27 If operation syntax is different – adapt the Parser. If the result fields are different, adapt Measurements to write these results correctly. So how do you add a measurement? Agent Side

28 So how do you add a measurement? Server Side Add support to new operation type in the DB: –Add new raw results table Add support in the maintenance task –How to import the new results into the DB