140 likes | 260 Vues
Scalability is a fundamental aspect of the Internet's architecture, influencing every design decision from deployment to fault tolerance. The Internet's ability to interconnect diverse networks using packet switching provides flexibility and efficient resource management. Unlike traditional telephone networks, where the core is intelligent and endpoints are simple, the Internet employs a decentralized approach to routing, allowing for ease of adding new users and applications. This article explores the importance of scalability, routing state management, centralized versus decentralized routing, and the implications for Quality of Service (QoS).
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