1 15-744: Computer Networking L-15 Changing the Network 2 Adding New Functionality to the Internet • Overlay networks • Active networks • Assigned reading • Active network vision and reality: lessons from a capsule-based system • Optional reading • Future Internet Architecture: Clean-Slate Versus Evolutionary Research • Resilient Overlay Networks Clean-Slate vs. Evolutionary • Successes of the 80s followed by failures of the 90’s • IP Multicast • QoS • RED (and other AQMs) • ECN • … • Concern that Internet research was dead • Difficult to deploy new ideas • What did catch on was limited by the backward compatibility required 3 4 Outline • Active Networks • Overlay Routing (Detour) • Overlay Routing (RON) • Multi-Homing2 5 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 6 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 7 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 8 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 debate3 9 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 10 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 11 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 code 12 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 routers4 13 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 used 14 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 15 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? 16 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 objects5 17 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 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. 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? 20 Outline • Active Networks • Overlay Routing (Detour) • Overlay Routing (RON) • Multi-Homing6 21 The Internet Ideal • Dynamic routing routes around failures • End-user is none the wiser 22 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. 23 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, IPv6 24 Overlay for
View Full Document