* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Survey
Document related concepts
Distributed operating system wikipedia , lookup
Deep packet inspection wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Internet protocol suite wikipedia , lookup
Distributed firewall wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Computer cluster wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Peer-to-peer wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
15-744: Computer Networking L-19 Active Networks Active Networks • Active networks • Active services • Assigned reading • [W99] Active network vision and reality: lessons from a capsule-based system • [AMK98] An Active Service Framework and its Application to Real Time Multimedia Transcoding © Srinivasan Seshan, 2001 L -17; 03-14-01 2 Overview • Active Networks • Active Services © Srinivasan Seshan, 2001 L -17; 03-14-01 3 Why Active Networks? • Traditional networks route packets looking only at destination • Also, maybe source fields (e.g. multicast) • Problem • Rate of deployment of new protocols and applications is too slow • Solution • Allow computation in routers to support new protocol deployment © Srinivasan Seshan, 2001 L -17; 03-14-01 4 Active Networks • Nodes (routers) receive packets: • Perform computation based on their internal state and control information carried in packet • Forward zero or more packets to end points depending on result of the computation • Users and apps can control behavior of the routers • End result: network services richer than those by the simple IP service model © Srinivasan Seshan, 2001 L -17; 03-14-01 5 Why not IP? • Applications that do more than IP forwarding • • • • • • • • Firewalls Web proxies and caches Transcoding services Nomadic routers (mobile IP) Transport gateways (snoop) Reliable multicast (lightweight multicast, PGM) Online auctions Sensor data mixing and fusion • Active networks makes such applications easy to develop and deploy © Srinivasan Seshan, 2001 L -17; 03-14-01 6 Variations on Active Networks • Programmable routers • More flexible than current configuration mechanism • For use by administrators or privileged users • Active control • Forwarding code remains the same • Useful for management/signaling/measurement of traffic • “Active networks” • Computation occurring at the network (IP) layer of the protocol stack capsule based approach • Programming can be done by any user • Source of most active debate © Srinivasan Seshan, 2001 L -17; 03-14-01 7 Case Study: MIT ANTS System • Conventional Networks: • All routers perform same computation • Active Networks: • Routers have same runtime system • Tradeoffs between functionality, performance and security © Srinivasan Seshan, 2001 L -17; 03-14-01 8 System Components • Capsules • Active Nodes: • Execute capsules of protocol and maintain protocol state • Provide capsule execution API and safety using OS/language techniques • Code Distribution Mechanism • Ensure capsule processing routines automatically/dynamically transfer to node as needed © Srinivasan Seshan, 2001 L -17; 03-14-01 9 Capsules • Each user/flow programs router to handle its own packets • Code sent along with packets • Code sent by reference • Protocol: • Capsules that share the same processing code • May share state in the network • Capsule ID is MD5 of code © Srinivasan Seshan, 2001 L -17; 03-14-01 10 Capsules Active Node IP Router Capsule IP Header Version Active Node Capsule Type Previous Address Type Dependent Header Files Data ANTS-specific header • Capsules are forwarded past normal IP routers © Srinivasan Seshan, 2001 L -17; 03-14-01 11 Capsules Request for code Active Node 1 IP Router Capsule Active Node 2 Capsule • When node receives capsule uses “type” to determine code to run • If no code at node requests code from “previous address” node • Likely to have code since it was recently used © Srinivasan Seshan, 2001 L -17; 03-14-01 12 Capsules Code Sent Active Node 1 IP Router Active Node 2 Capsule Capsule • Code is transferred from previous node • Size limited to 16KB • Code is signed by trusted authority (e.g. IETF) to guarantee reasonable global resource use © Srinivasan Seshan, 2001 L -17; 03-14-01 13 Research Questions • Execution environments • What can capsule code access/do? • Safety, security & resource sharing • How isolate capsules from other flows, resources? • Performance • Will active code slow the network? • Applications • What type of applications/protocols does this enable? © Srinivasan Seshan, 2001 L -17; 03-14-01 14 Functions Provided by Capsule • Environment Access • Querying node address, time, routing tables • Capsule Manipulation • Access header and payload • Control Operations • Create, forward and suppress capsules • How to control creation of new capsules? • Storage • Soft-state cache of app-defined objects © Srinivasan Seshan, 2001 L -17; 03-14-01 15 Safety, Resource Mgt, Support • Safety: • Provided by mobile code technology (e.g. Java) • Resource Management: • Node OS monitors capsule resource consumption • Support: • If node doesn’t have capsule code, retrieve from somewhere on path © Srinivasan Seshan, 2001 L -17; 03-14-01 16 Performance • User level Java implementation ok for T1 (1.5Mbps) © Srinivasan Seshan, 2001 L -17; 03-14-01 17 Performance • Based on profile of code Java specific overheads and user level send/receive are bulk of extra overhead • Safe evaluation and type demultiplexing only add 30% overhead • Other more efficient technologies available • Software fault isolation (SFI) • Proof carrying code (PCC) © Srinivasan Seshan, 2001 L -17; 03-14-01 18 Applications/Protocols • Limitations • Expressible limited by execution environment • Compact less than 16KB • Fast aborted if slower than forwarding rate • Incremental not all nodes will be active • Proof by example • Host mobility, multicast, path MTU, Web cache routing, etc. © Srinivasan Seshan, 2001 L -17; 03-14-01 19 Discussion • Active nodes present lots of applications with a desirable architecture • Key questions • Is all this necessary at the forwarding level of the network? • Is ease of deploying new apps/services and protocols a reality? © Srinivasan Seshan, 2001 L -17; 03-14-01 20 Overview • Active Networks • Active Services © Srinivasan Seshan, 2001 L -17; 03-14-01 21 Active Service • Way of doing “application-level active networking” for a specific domain • Service agents (“Servents”) • Perform operations like transcoding and multicast-to-unicast conversion in a cluster environment © Srinivasan Seshan, 2001 L -17; 03-14-01 22 Components of Architecture • Service environment: defines programming model and execution environment • Service location: how to locate AS1 cluster • Service management: resource allocation in cluster • Service control: how to control servent • Service attachment: how to attach a cluster if a client doesn’t have multicast • Service composition: not explored © Srinivasan Seshan, 2001 L -17; 03-14-01 23 Service Environment • Environments at application layer and uses MASH infrastructure • Claim: a good environment is domainspecific as are the APIs • Safety not addressed • Can leverage work on type-safe languages, etc. © Srinivasan Seshan, 2001 L -17; 03-14-01 24 Service Location/Management • How to locate cluster? • Use mechanism like DHCP (or even DNS) • Listen on well-known multicast address for advertisements • Static configuration (/etc/X.config) • Service Management • This topic is the bulk of the paper © Srinivasan Seshan, 2001 L -17; 03-14-01 25 Servent Launching (ASCP) • Uses announce/listen protocol model and no centralized manager • Periodically announce set of (key; value) pairs on multicast group • Receivers either update, refresh or age entries out of table • Error recovery subsumed as part of normal operation • Host managers, on per cluster machine, use this to launch servents • Servent floods • Prevent using multicast damping (random timers/suppression) © Srinivasan Seshan, 2001 L -17; 03-14-01 26 Processor Sharing • Use of a birth-death process to grow and wean number of cluster machines • N is the desired target number of machines and n is the number of actual machines in current operation • If n<N, randomly fork copy on an idle machine with probability pl = min(1, N/n-1) • And if n>N,kill with probability 1-N/n • Property that no HMs exist can be made exponentially small in the target number © Srinivasan Seshan, 2001 L -17; 03-14-01 27 Other Issues • Service Control • Application specific control • In MeGa architecture, uses SCUBA (Scalable ConsensUs–based Bandwidth Allocation) to control servents • Service Attachment • Uses “soft-state gateways” to bridge multicastto-unicast regions • Paper describes deployment experience on Berkeley NOW © Srinivasan Seshan, 2001 L -17; 03-14-01 28 Discussion • Framework for active services in the context of media gateways and real time Mbone applications • Specific to restricted class of applications • Soft-state announce-listen protocols is different from “standard” centralized managers © Srinivasan Seshan, 2001 L -17; 03-14-01 29 Review • Papers present two ways of building flexible networks • Changes the way IP forwarding is done • Works at application layer © Srinivasan Seshan, 2001 L -17; 03-14-01 30 Announcements • Approximately 1month to project due date!!! • Final exam on May 8th – time TBA • No HW3 • Spend extra time on your project • Make sure you keep up with reading – it will be critical on exam © Srinivasan Seshan, 2001 L -17; 03-14-01 31 Next Lecture: Application Networking • HTTP • APIs • Assigned reading • [BSR99] An Integrated Congestion Management Architecture for Internet Hosts • [PM95] Improving HTTP Latency © Srinivasan Seshan, 2001 L -17; 03-14-01 32