Presentation is loading. Please wait.

Presentation is loading. Please wait.

DIMES Distributed Internet MEasurement and Simulation Yuval Shavitt DIMES.

Similar presentations


Presentation on theme: "DIMES Distributed Internet MEasurement and Simulation Yuval Shavitt DIMES."— Presentation transcript:

1 DIMES Distributed Internet MEasurement and Simulation Yuval Shavitt shavitt@eng.tau.ac.il http://www.netdimes.org DIMES

2 The Internet Structure routers

3 The Internet Structure The AS graph

4 The Internet Structure The AS graph The PoP level graph Metropology

5 Revealing the Internet Structure

6

7

8 30 new links 7 new links NO new links Diminishing return!  Deploying more boxes does not pay-off

9 Revealing the Internet Structure To obtain the ‘ horizontal ’ links we need strong presence in the edge

10 Diminishing Return? [Chen et al 02], [Bradford et al 01]: when you combine more and more points of view the return diminishes very fast What have they missed? –The mass of the tail is significant No. of views

11 Diminishing Return? [Chen et al 02], [Bradford et al 01]: when you combine more and more points of view the return diminishes very fast What have they missed? –The mass of the tail is significant No. of views

12 Diminishing return? –Replace instrumentation boxes with software agents –Ask for volunteers do help with the measurement  –The cost of the first agent is very high –each additional agent costs almost zero Advantages –Large scale distribution: view the Internet from everywhere –Remove the “ academic bias ” measure the commercial Internet Capabilities –Anything you can write in Java! –Obtaining Internet maps at all granularity level with annotations connectivity, delay, loss, bandwidth, jitter, …. –Tracking the Internet evolution in time –Monitoring the Internet in real time DIMES DIMES: Why and What

13 Diminish … shminimish

14 Diminish … Shminimish 2005 6500 0.8 b Science slashdot YNET

15 How many ASes see an edge? ~9000/6000 are seen only by one

16 Why to Study the Internet? It is there, it is a complex system,... Understanding its structure and dynamics –Improve applications performance (WWW, file sharing) –help improve routing –predict Internet growth DIMES is a project set to study the Internet structure.

17 DIMES Distributed System Design: Obtaining the Internet Structure The Internet as a complex system: static and dynamic analysis Correlating the Internet with the World: Geography, Economics, Social Sciences

18 Why DIMES? The Internet is an engineered system, so someone must know how it is built, no? NO! It is an uncoordinated interconnection of Autonomous Systems (ASes=networks). No central database about Internet structure. Several projects attempt to reveal the structure: Skitter, RouteViews, …

19 Challenges It ’ s a distributed systems: –Measurement traffic looks malicious Flying under the NOC radar screens (Agents cannot measure too much) –Optimize the architecture: Minimize the number of measurements Expedite the discovery rate BUT agents are –Unreliable –Some move around Distributed System complex system real world

20 Agents To be able to use agents wisely we need agents profiles: –Reliablility Daily (seen in 7 of the last 10 days) Weekly (seen in 3 of the last 4 weeks) –Location: Static Bi-homed: where mostly? Mobile: identify home base –Abilities: what type of measurements can it perform? Distributed System complex system real world Many new agents vanish within days Surprise: those who stay tend to be very reliable –Almost 24/7 Mobile agents –New vantage points –Challenge for dynamic analysis Current agent count –Daily: 1200-1400 –Weekly: over 1800

21 Agent shavitt Fairly stable measurements from Israel 2 idle weeks Reappear in Spain

22

23

24 Degree distribution [Faloutsos99,Lakhina03,Barford01,Chen02] Clustering coefficient [Bar04] Disassortativity [Vespignani] Network motifs (ala Uri Alon) Distributed System complex system real world Static Internet Graph Analysis

25 Degree Distribution k Pr(k) Zipf plot

26 + AS map for Oct 2005 RouteViews (BGP) 21281 nodes 48629 edges = 4.57 DIMES 17573 nodes 51485 edges = 5.86 30,984 in both maps 20,501 new edges 69,130 edges > 6.47

27

28 Current Status Over 4400 users, over 9700 agents –87 countries –All continents –Over 650 ASes –More than 1200 are active daily Over 5,000,000 measurements a day

29 Ru Aus Ger May 2006

30 Degree vs. neighbor degree

31 The Internet as a real world mirror Changes in the world effect the Internet growth To model Internet growth one needs to take into account –Geographic location –Political/caltural biases –Economic development –Human rights issues Distributed System complex system real world

32 Internet and Politics

33 Internet and the World City connectivity map Correlation between population * wealth and Internet size Correlation between trade and Internet connectivity PoP level map analysis Distributed System complex system real world

34

35 Vision A Network that optimizes itself: –every device with a measurement module. –How to concert the measurements? –How to aggregate them? –How to analyze them is a hierarchical fashion?

36 The DIMES Architecture Client-server Pull model –All communication is originated by agent –Future: agent-agent communication Data is kept in a rational database (MySQL) Hard bound on network usage –Negligible CPU usage

37 Agent Join Process 1.User download the DIMES agent User id, join group, agent id 2.An entry is created in the database agent table 3.Agent gets random script 4.Every hour: keep alive (query for new scripts) 5.Send results: 1.When result file crosses a threshold 2.When agent wakes up

38 Measurements Current Ping Traceroute Packettrain (in debug) Future IPv6 (initial trials)

39 Target Set Initial set of 300,000,000 web sites –Using DNS we got 3,000,000 IP addresses Collected IP addresses from measurements Scan APs without known addresses –Space scans to same AP from an agent  We have over 5,000,000 IP addresses

40 The Experiment Life-Cycle Planning Deploying Executing Result aggregation & filtering Default result analysis –Topology inference –AS path analysis

41 Topology Discovery Discovery –Random probing –Motifs Triangles –Geographic location Same country Validation –Greedy set cover

42 Router Alias Resolution Ping, ping, ping, … No DNS No Rocketfuel tricks (and potholes)

43 Experiments Currently three priorities –Urgent Timed experiments Time synchronized –Normal Most planned experiments –Background Random topology discovery Router alias resolution Easy to add more

44 Data Filtering IP level loops –But not in the last hop –Disregard for topology AS level loops –But not in the last hop –Disregard for topology Destination appears early –Disregard for topology Agent Black List Too many discoveries Close to too many destinations (ping)

45 Database Structure Every measurement has a unique id and is placed in a raw result table (insert time, agent, id, source IP, dest IP, experiment id, run id) The unique id is used to access the measurement details in other tables (traceroute/ping/packettrain tables)

46 Main Database Tables Main Meas Tab. raw_res_main Traceroute Tab. raw_res_traceroute Ping Tab. raw_res_ping AS topologyRouter topology Alt. Traceroute Tab. raw_res_traceroute_alt AS Traceroute Tab. AStraceroute

47 AS Level Topology AS node: AS Number AS name Discovering time Validation time In Degree Out Degree Max Radius AS edge: Source AS Dest AS Discovering time Validation time Discovering Agent Measurement number Min Delay & Max Delay Betweeness Visit Count Validating Agent Validating IP

48 IP Traceroute Tables A traceroute measurement is comprised of 4 traceroutes. Traceroutes are done vertically: 1,2,3,4, …,1,2,3,...,1,2,3, …,1,2,3, … Each hop has an entry that is connected to a measurement via the unique id and hop number. The most commom IP per hop is kept in the main traceroute table –Additional IP addresses are kept in alternative tables

49 Planner A web interface to easy –Design expr. –Deploy expr. –Get results Support XML feed Support Java API Agent groupsDestination groups

50 Measurements Software Agents perform scripts A new agent s/w design: –just write it in Java –use macro at the script level thin C++ dll deliver a packet to the interface Java wrapper tracerouteping Packet train your module

51 public void create() throws SQLException, PlannerException { // Set experiment's general properties (similar to the web // interface, with a few extra features) Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR,30); Experiment experiment = this.getExperiment(); experiment.setCompletionTime(c); experiment.setPriority(2); String[] ops = {ExperimentPlanner.OPERATION_TRACEROUTE}; experiment.setOperations(ops); FixedAgentsGroup agents = new FixedAgentsGroup("Active Agents",limit, experiment.getId()); this.setAgentsGroupDef(agents); FixedDestsGroup dests = new FixedDestsGroup("Agents' IPs",limit, experiment.getId()); this.setDestsGroupDef(dests); // Query the database directly to get the information int[] agentsIndices = new int[limit]; String[] correspondingIPs = new String[limit]; // Set the groups memebers according the query's results this.setAgentsGroupExpansion(agents.getName(), agentsIndices); this.setDestsGroupExpansion(dests.getName(), correspondingIPs); // Map between the groups this.addMapping(agents.getName(), dests.getName());

52 DIMES Future DIMES as a leading research tool (6-8M measurements/day) –Data is available to all –Easy to run distributed experiments Fast deployment cycle –Easy to add new capabilities Plug-ins to improve applications –P2P communication –Web downloads (FireFox plug-in is available)

53 DIMES Agents in Europe

54 Who PI: Yuval Shavitt Ph.D. students: Eran Shir, Tomer Tankel Master ’ s student: Dima Feldman, Udi, Elad, Anat.. Programmers: Anat Halpern, Ohad Serfati, Yoav Freund, Ela M. Undergrads: Roni Ilani, …. Collaborators: HUJI, ColBud

55 http://www.netdimes.org

56 The effect of publicity


Download ppt "DIMES Distributed Internet MEasurement and Simulation Yuval Shavitt DIMES."

Similar presentations


Ads by Google