1 CS 268: Computer Networking L-16 Changing the Network 2 Adding New Functionality to the Internet • Overlay networks • Active networks • Assigned reading • Resilient Overlay Networks • Active network vision and reality: lessons from a capsule-based system2 3 Outline • Active Networks • Overlay Routing (Detour) • Overlay Routing (RON) • Multi-Homing 4 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 deployment3 5 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 6 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 deploy4 7 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 8 Case Study: MIT ANTS System • Conventional Networks: • All routers perform same computation • Active Networks: • Routers have same runtime system • Tradeoffs between functionality, performance and security5 9 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 10 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 (i.e. name) is MD5 of code6 11 Capsules Active Node IP Router Active Node Capsule Capsule IP Header Version Data Type Previous Address Type Dependent Header Files ANTS-specific header • Capsules are forwarded past normal IP routers 12 Capsules Active Node 1 IP Router Active Node 2 Capsule Request for code Capsule • When node receives capsule uses “type” to determine code to run • What if no such code at node? • Requests code from “previous address” node • Likely to have code since it was recently used7 13 Capsules Active Node 1 IP Router Active Node 2 Capsule Capsule Code Sent • 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 14 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?8 15 Functions Provided to 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 16 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 path9 17 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. 18 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?10 19 Outline • Active Networks • Overlay Routing (Detour) • Overlay Routing (RON) • Multi-Homing 20 The Internet Ideal • Dynamic routing routes around failures • End-user is none the wiser11 21 Lesson from Routing Overlays • End-hosts can measure path performance metrics on the (small number of) paths that matter • Internet routing scales well, but at the cost of performance End-hosts are often better informed about performance, reachability problems than routers. 22 Overlay Routing • Basic idea: • Treat multiple hops through IP network as one hop in “virtual” overlay network • Run routing protocol on overlay nodes • Why? • For performance – can run more clever protocol on overlay • For functionality – can provide new features such as multicast, active processing, IPv612 23 Overlay for Features • How do we add new features to the network? • Does every router need to support new feature? • Choices • Reprogram all routers active networks • Support new feature within an overlay • Basic technique: tunnel packets • Tunnels • IP-in-IP encapsulation • Poor interaction with firewalls, multi-path routers, etc. 24 Examples • IP V6 & IP Multicast • Tunnels
View Full Document