140 likes | 251 Views
Scalability is King. Internet: Scalability Rules. Scalability is : a critical factor in every decision Ease of deployment and interconnection The intelligence is in the outskirts of the network. Internet: Design Goals. The goal: to interconnect multiple existing networks and technologies
E N D
Internet: Scalability Rules • Scalability is : a critical factor in every decision • Ease of deployment and interconnection • The intelligence is in the outskirts of the network
Internet: Design Goals • The goal: to interconnect multiple existing networks and technologies • Packet switching over circuit switching • Reasons: • the applications were suited for this: rlogin • Packet switching was well understood • More flexible, less committal • “The design philosophy of the DARPA Internet protocol”, SIGCOMM 88
Internet Design: Secondary Level Goals • Fault-tolerance (DARPA is the army) • Support multiple communication services • Accommodate various technologies & networks • Allow distributed management • Enable cost effective resource • Ease of interconnection: adding a host • Resources used in the Internet must be accountable (less attention)
Fault Tolerance: The Internet Premise:One Robust Connected Network • Robust to random, sensitive to focused failures • The network tends to stay as one connected component Size of Largest Connected Component #Deleted nodes
I. State: The Enemy of Scalability • Routing state: the information that a router needs to keep in order to route • Large routing state is bad • Consumes memory • Makes look-up slow • State = information = intelligence • The trade-off: intelligent vs scalable behavior
Telephone network: End devices are stupid Core is intelligent Internet: End devices are intelligent Core is stupid (forward packets, no guarantees) Telephone network: Circuit switching Ultra reliable, guarantee quality(real-time) Centralized control Difficult to add new users Cumbersome to new apps Internet: Packet switching Unreliable: no guarantees Decentralized Easy to add new users Easy to add new applications I. An Interesting Antithesis
I. Internet: Routing State • What does a router know? • Routing table: • IP prefix -> outgoing link • What is an IP prefix? • Scalability: • IP prefixes aggregate many IPs to one entry • Routers do not* keep per connection information * Some exceptions exist.
I. State Per Flow: pros and cons • What would state per flow give us? • Differentiate our behavior per flow • Provide QoS • Be fair: share resources accordingly • Monitor and measure: accountability - costing • Ensure that packets follow the same path
II. Centralized vs Decentralized Routing • Centralized • All information exists in one place • Decisions are taken there • The decision involves the whole path • OSPF: all routes have all the info: • Decentralized • Each router makes a decision in isolation • Each router knows partial/aggregated information • RIP, BGP are some protocols
III. Dynamic vs. Static Routing • Routing is an optimization problem • What are we trying to optimize? • Static metrics (non time varying) • Number of hops (hopcount) • Link capacity • Buffer space • Dynamic metrics (time varying) • End2end (e2e) Delay • Link delay • Link utilization • Available buffer space
III. Dynamic or Static Routing? • Static routing • Stable • Arguably: utilizes resources well in the long run • Dynamic routing • Flexible - adaptable • Better performance (short term at least)
IV. QoS Aware Routing • Quality of Service is tightly coupled with Reservations • I need 10Mb/s with at most 100msec e2e delay • Problems: • Find a suitable path • Centrally easier, • Distributed: start reserving, then backtrack • Reserving resources along the path • Protecting resources from future flows
For next time • Refresh your memory: Kurose - Ross • Textbook: chapter 1: intro • Textbook: chapter 4: Network Layer and routing • Read: Clark’s sigcomm ‘88 paper • Case study: How stable is Internet routing: • Run traceroute (linux) and see what happens