29
Ian Taylor - [email protected] UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping Scalable P2P Applications NATO IST RTG-12 WORKSHOP Dr Ian Taylor Lecturer & Coordinator, Triana-Grid Group, Cardiff University, UK Contractor, Ball Aerospace On- going work with SRSS group (Brian Adamson & Rick Jones) Navy Research Lab, Washington DC

Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - [email protected] UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

Ian Taylor - [email protected] UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Network Simulation Tools for Prototyping Scalable P2P Applications

NATO IST RTG-12 WORKSHOP

Dr Ian Taylor

Lecturer & Coordinator, Triana-Grid Group, Cardiff University, UK

Contractor, Ball Aerospace

On-

going work with SRSS group (Brian Adamson & Rick Jones)

Navy Research Lab, Washington DC

Page 2: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

Report Documentation Page Form ApprovedOMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering andmaintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, ArlingtonVA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if itdoes not display a currently valid OMB control number.

1. REPORT DATE 01 DEC 2007

2. REPORT TYPE N/A

3. DATES COVERED

4. TITLE AND SUBTITLE Network Simulation Tools for Prototyping Scalable P2P Applications

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S) 5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Cardiff University, UK

8. PERFORMING ORGANIZATIONREPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release, distribution unlimited.

13. SUPPLEMENTARY NOTES

14. ABSTRACT

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT

UU

18. NUMBEROF PAGES

28

19a. NAME OFRESPONSIBLE PERSON

a. REPORT unclassified

b. ABSTRACT unclassified

c. THIS PAGE unclassified

Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

Page 3: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Contents

BackgroundTriana

groupSRSS Group

SRSS FrameworkUnderlying Technology

MANET NS-2

SRSS DevelopmentsProtolibPAI

Cardiff P2P InterfaceTriana

and the GAPP2PS Binding

discovery mechanismsRendezvous Nodes

The Whole PictureScenarios and Conclusions

Page 4: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Cardiff Triana

Project

Page 5: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Coalescing Binary Search

Page 6: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Triana

PrototypeGEO 600 Coalescing Binary Search

Page 7: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

SRSS Project

Stands for …Scalable Robust Self-organizing Sensors …

Simulate mobile sensor networks using NS-2Investigate Publish/subscribe/P2P discovery mechanisms e.g. Unicast, Multicast etc Conduct simulations to trade-off performance of application-level and/or network level discovery mechanisms in sensor environment.Running within MANET networks -

wireless connectivity

For NS-2, this involves:Integrating data transmission between NS-2 nodes (via Protolib) Building infrastructure to allow different middleware to be easily integrated into this architecture.

Page 8: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Overview of SRSS Architecture

NetworkWireless (or wired..)

NS-2MANET simulations

Protolib

(NRL)

Protolib

Appliation

Interface (PAI)

P2P Middleware (discovery, communication mechanisms)

Application –

dynamic self organizing sensor nets

Page 9: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

The SRSS Environment

What is MANET ?Mobile Ad hoc NetworksWireless transmissionNo centralized administration / controlNo existing network infrastructureA node can be a source, a sink or a transitAll nodes participate in the discovery of a route

ApplicationsCooperative mobile data exchangeRapidly deployable communication with efficient networkingCommunication where no infrastructure exists

•Flexible for experimentation, but demonstration-worthy form factor.•Linux on PC-104 or similar platform is a likely candidate.

Main ProcessorSensor Apps/Agents/etc

Operating SystemNetworking Stack

Wirelessinterface(s)

SensorDevice(s)

and the sensors …

Page 10: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

NS-2: A Network Simulator

Discrete event simulatorPacket-levelLink layer and up

i.e. network, transport, session, presentation and applicationWired and wireless simulationsPlatforms

Most UNIX and UNIX-like systemsWindow 95/98/NT(Emulation only for FreeBSD for now)

Page 11: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

NS-2: OTcl

and C++

C++ OTcl

Pure C++objects

Pure OTclobjects

C++/OTcl split objects

ns

Agents/communication Simulations/scenarios

Page 12: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

NAM -

Example

• Three TCP slow-start restart algorithms• Test -

improving restart of idle TCP connections

10 clients Router Server

Page 13: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Protolib

-

Brian Adamson and Joe Macker, NRL

Protocol Prototyping library (ProtoLib) -

C++ class library

Cross-platform –

works on Windows and Unix using native implementations

Provides networking capabilities –Currently supports UDP communication

Unicast

and Multicast

Communication works across networks or between NS-2 nodes, by:overriding basic NS-2 UDP protocol implementationcan communicate data across NS2 nodes Can simulate real networked applications passing real dataWe are doing this for the P2P world ..

Page 14: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Application

Protolib

Overview

Communication

UDP

Protolib

Network NS-2

Timers

Event Dispatcher

TCP* Protocol Timer

Underlying Fabric

Event Notifications

(*) Will be implemented next phase

Page 15: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Protolib

ApplicationEvent Dispatcher

triggerUDP Receive

Network

Simple Protolib

Scenario

NS-2

Protolib

ApplicationUDP Send

100 Millisec

TimerEvent Dispatcher

trigger

CallbackFunctions

Page 16: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Protolib

Protolib

Application Interface (PAI)

PAI

PTI (Timing)PCI (Communication)

Abstracts reliance on specific networking/timing mechanisms in Protolib/others

Middleware/Applications use PAI and change environment to choose configuration e.g. Network or NS-2 etcProvides generic classes for creating sockets/timersSupport multiple sockets/timers + listeners e.g. for timeouts or

UDP receive data events –

multithreaded event dispatchingProvides a concise C++ interface for Java JNI integration

P2P Middleware

Page 17: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

PAI Structure, Factory Method Design

PAI Engine

PAITimerPAISocket PAIDispatcher

PAIFactory

UDPSocket

NS2UDP

SocketTimer NS2

TimerEventDisp.

NS2EventDisp.

PAI Interface

Application

Calls e.g. send/receive

Notifications e.g. Socket Received Data,

Timer time outs

PAIEnvironment

Page 18: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

PAI Example

pai.getEnvironment()->setBinding(PAI_NETWORK); pai.getEnvironment()->setNetworkProtocol(PAI_UDP);

timer = pti->addTimer(1.0, 5);sock = pci->addSocket(5004);

pci->addListener(sock, this, (CallbackFunc)&PAI_Example::OnTxTimeout);pti->addListener(timer, this, (CallbackFunc)&PAI_Example::OnSocketRecv);

pti->runTimers();

void PAI_Example::OnTxTimeout() {…..

pci->send(sock1, "127.0.0.1", buffer, len);}

void PAI_Example::OnSocketRecv() {…..

char *buf = pci->recv(sock1, &addr, &len);}

Example Main Program:

When Timer times out: When Data is Received:

Page 19: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

P2P Middleware

P2P Middleware Requirements?Dynamic Discovery Mechanisms e.g. Unicast, MulticastCommunication –

support different transport protocols UDP, TCP etcLightweight

P2P: Which middleware to use?First promising choice: JXTA –

Summer 2002 Problems:

Lightweight ? Only by limiting functionality on Edge peersScalability problems –

discovering multiple pipes unreliable in testsDifficult to extend code base

JXTA uses Endpoint Implementations to represent different network communication protocols e.g. TCP, Bluetooth etc BUT:Different implementation for discovery –complex to plug in new layer

Page 20: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Gridlab

GAT Architecture

Application(e.g. Triana)

Adapter

Adapter

GA

PA

dapter

OGSAService JXTA P2PSWeb

Service

GridLab GAT (www.gridlab.org)

GAP is our P2P Application-level Interface

Page 21: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Triana

and the GAP Interface

Interface between Application and Peer-to-Peer Middleware

Provides an insulation layer for P2P applications

loosely coupled, dynamically late bound modules

SimpleGeneric

Not Triana SpecificContains common calls e.g. advertise_service, discover_service, create_pipe etc

GAP Interface

JXTA Web Services P2PS

Triana

or any other

application

For more info on Triana

Distributed Implementation, see www.trianacode.org

Page 22: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

P2PS –

Dr Ian Wang, Cardiff

Lightweight P2P Middleware:Language independent specification –

reference implementation is in Java –

C++ version in planningCommunication is language independent –

use XML adverts and data structures

Pluggable transport layer –

currently implemented UDP, TCP/IPDynamic Discovery –

using Unicast

and MulticastFactory design, using resolvers

Decentralized structureUses Rendezvous nodes (self nominated) for caching adverts/data

(centralized-decentralized) network structure for scalabilityImplements Relays -

traversing firewalls1/100th

size of JXTA ... Release (www.trianacode.org) soon .. for open source development

Page 23: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

P2PS Architecture

Discovery ServiceBroadcast/locate adverts + queries in discovery subnet

Pipe ServiceConnect pipes using endpoint resolvers

Rendezvous ServiceSend/receive queries from known rendezvous peers

TCP Resolver ??? Resolver

DiscoveryService

RendezvousService

P2PS Peer

PipeService

UDP Resolver

NetworkUDP TCP ???

Page 24: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Discovery Service

All peers have Discovery ServicesCaches local adverts + queries Broadcast adverts + queries to all peers in its discovery subnetResponds to received adverts + queriesDiscovery subnet scope determined by resolvers

e.g. UDP Multicast scope

Peer

Discovery Subnet

Page 25: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Discovery Service Scenario

1.

Peer A creates pipeBroadcasts advertCaches advert locally (not cached at Peer B)

2.

Peer B queries for all pipes Broadcasts query

3.

Peer A receives queryMatches query with locally cached pipe advertSends pipe advert direct to Peer B

4.

Peer B discovers pipe

Peer

Discovery Subnet

A

B

broadcastquery

responseadvert

Page 26: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Rendezvous Service

Peers can optionally become rendezvous peersDirect pipe connections to other rendezvous peers

usually in other discovery subnetsCache all received adverts + queriesForward queries to known rendezvous peers

Note: Adverts are not forwarded outside discovery subnet

RendezvousPeer

Non-RendezvousPeer

Discovery Subnet

Direct Pipe

Page 27: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Protolib

P2PS Comms

NS-2 GAP Integration

C++ Interface (JNI)

JXTA P2P P2PS

GAP Layer

SRSS Application

Network

Network NS-2

Web Serv.

PAIJNIJNI

Page 28: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Status Of Implementation

Network NS-2

Protolib

(NRL)

Protolib

Appliation

Interface (PAI)

JNI

GAP with P2PS Binding

JNI

Application –

dynamic self organizing sensor nets

Page 29: Network Simulation Tools for Prototyping Scalable P2P ... · Ian Taylor - I.J.Taylor@cs.cf.ac.uk UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE Network Simulation Tools for Prototyping

UNCLASSIFIED – APPROVED FOR PUBLIC RELEASE

Scenarios and Conclusions

Resulting system has many applications/uses:Mobile Sensors –

test discovery in simulated dynamically changing environments.Triana

simulate P2P environment –

see if P2P middleware actually scales without having to run Triana

on 1000’s of nodes …

The new GAT/GAP EU proposal –

The P2P Gap interface will be generalized further in Gridlab2 with input from applications –

NRL, GW@Home

(AIP) and ..