[Scamper-dev] Scamper Data Objects

Bradley Huffaker bhuffake at caida.org
Mon May 24 18:15:38 PDT 2004


https://staff.caida.org/~bhuffake/projects/scamper/specifications/data_specifications.20040524.txt

##############################################################
Mon May 24 18:14:42 PDT 2004
written by Bradley Huffaker
##############################################################

--------------------------------------------------------------------
    Goals 
--------------------------------------------------------------------

    This should outline the different data objects:

--------------------------------------------------------------------
    Scamper Data Objects
--------------------------------------------------------------------

Start Cycle Object -    This marks the beginning of the cycle and lists
                        the set of options which will be used for the
                        comming cycle.  These options can include: collect
                        hop RTT, number of tries for a non responsive
                        hope,or to use source routing.

End Cycle Object -      This will mark the end of a cycle and will be used 
                        by archive/sorter to close off the filehandler 
			for this cycle.

IP Key Object -		This holds a Dictionary Index for each IPv6
			address seen.

Ip Path Object -	This holds the collection of information which
			is stored when IP path discovery is preformed for a 
			destination with a fixed set of Source Routed IPs.

MTU Path Object -	This will hold the collection of information which
			is stored when MTU discovery is preformed for a 
			destination with a fixed set of Source Routed IPs.


--------------------------------------------------------------------
Start Cycle Object 
--------------------------------------------------------------------

This marks the beginning of the cycle and lists the set of options which
were used in the following cycle.

Main Attributes
    ListId		int		List ID to which is starting a cycle
    Description		text field	Short decription of list's 
					goal.
Options Attributes
    NumTries		int		The num of Times to try a 
					destination be quiting
    CollectHopRtt	boolean		Whether to colelct Rtt,NumTries
					for the intermidate hops.
    GapLimit		int		This is the limited number of 
					nonresponsive hops
		    
    collect hop RTT, number of tries for a non responsive hope,or to use
    source routing.

--------------------------------------------------------------------
End Cycle Object 
--------------------------------------------------------------------

This marks the end of a cycle.  Not sure how important it is.  Although
we could choose to store some statistics about the cycle just run and since 
it would always be a the end of the file it should be easy to just skip to
that point to collect them.

Main attributs
    ListId		int		List ID to which is ending a cycle

Statics Attributes
    NumberIps		int		number of traces
    NumberComplete	int		number of traces complete 
    NumberReply		int		number of traces with replies

--------------------------------------------------------------------
IP Key Object 
--------------------------------------------------------------------

This holds the Dictionary Key to IP address mapping.

    ListId		int		List to which this key belongs
    CycleId		int		Cycle to which this key belongs

    IpKey		32 bits		Unique Key for a given IP
    Address Family	int		The address family of the IP 
    IP			128 bits	network ordered IP address

--------------------------------------------------------------------
IP Path Object 
--------------------------------------------------------------------

This holds the information collected about a trace to a given destination.

Header Attributes
    ListId		int		List to which this trace belongs
    CycleId		int		Cycle to which this trace belongs

    Address Family	int		Address Family used in the trace
    SourceIP		32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
    DestinationIP	32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
    Timestamp		long int	When trace started probing

Reply Attributes
    ReplyRecieved	boolean		Flag to whether Destination responded
    RequestTTL		int		TTL of request which got first
					response
    ReplyRTT		double		RTT to get reply from destination
    ReplyTTL		int		TTL found in replying packet
    NumTries		int		Number of attempts at given TTL
					before a Response.

Halt Attributes
    HaltReason		int		Possible Flags
					HaltReason		HaltReasonData
					------------------------------------
					S  success/no_halt	- null - 
					U  icmp_unreachable	icmp_code
					L  loop_detected	loop_length
					G  gap_detected		gap_limit

    HaltReasonData	int		icmp_code - The IMCP code that
					    caused the halt
					loop_length - length of loop
					    that caused the halt
					gap_detected - gap length that 
					    caused the halt.

Source Route Attributes
    NumSourceRouteIPs	int		Number of Source Routed IPs

    SourceRouteIPs	32 bit Array	Array of IPs
					IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
IP Hop Attributes
    NumIpHopObjects	int		Number of IpHopObjects

    IP Hop Object
	ReplyIP		32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
	RequestTTL	int		TTL of request which got first
					response
	ReplyRTT	double		RTT to get reply from destination
	ReplyTTL	int		TTL found in replying packet
	NumTries	int		Number of attempts at given TTL

--------------------------------------------------------------------
MTU Path Object 
--------------------------------------------------------------------

This holds the information collected about a MTU hops

Header Attributes
    ListId		int		List to which this trace belongs
    CycleId		int		Cycle to which this trace belongs

    Address Family	int		Address Family used in the trace
    SourceIP		32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
    DestinationIP	32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
    Timestamp		long int	When trace started probing

Halt Attributes
    HaltReason		int		Possible Flags
					HaltReason		HaltReasonData
					------------------------------------
					S  success/no_halt	- null - 
					U  icmp_unreachable	icmp_code
					L  loop_detected	loop_length
					G  gap_detected		gap_limit

    HaltReasonData	int		icmp_code - The IMCP code that
					    caused the halt
					loop_length - length of loop
					    that caused the halt
					gap_detected - gap length that 
					    caused the halt.

Source Route Attributes
    NumSourceRouteIPs	int		Number of Source Routed IPs

    SourceRouteIPs	32 bit Array	Array of IPs
					IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
MTU Hop Attributes
    NumMtuObjects	int		Number of Mtu Objects Stored

    MTU Hop Object
        MTU		int		MTU recorded
	ReplyIP		32 bits		IPv4 - actual IP address
					IPv6 - IpKey from IP Key Object
	RequestTTL	int		TTL of request which got first
					response
	ReplyRTT	double		RTT to get reply from destination
	ReplyTTL	int		TTL found in replying packet
	NumTries	int		Number of attempts at given TTL

-- 
Bradley Huffaker        Terrorism is the price of Liberty
CAIDA/SDSC/UCSD         Tyranny   is the price of Security


More information about the Scamper-dev mailing list