News and Notes 4/20 • Thursday’s class will be a course review – will make comments about relative importance of topics for final • Thursday’s class will also have formal course evaluation – very important! • Several people have requested more time for HW4 • Our final deal: – all present in Thursday’s class have until Tue 4/27 to submit HW4 – will pass around attendance sheet – those not at Thursday’s class must meet original HW4 deadline • which, of course, is Thursday Game Theory and the Internet Networked Life CSE 112 Spring 2004 Prof. Michael Kearns The Internet: What is It? • The Internet is a massive network of connected but decentralized computers • Began as an experimental research NW of the DoD (ARPAnet) in the 1970s • All aspects (protocols, services, hardware, software) evolved over many years • Many individuals and organizations contributed • Designed to be open, flexible, and general from the start • Completely unlike prior centralized, managed NWs – e.g. the AT&T telephone switching network Internet Basics • Can divide all computers on the Internet into two types: – computers and devices at the “edge” • your desktop and laptop machines • big compute servers like Eniac • your web-browsing cell phone, your Internet-enabled toaster, etc. – computers in the “core” • these are called routers • they are very fast and highly specialized; basically are big switches • Every machine has a unique Internet (IP) address – IP = Internet Protocol – like phone numbers and physical addresses, IP addresses of “nearby” computers are often very similar • IP addresses are how everything finds everything else! • Note: the Internet and the Web are not the same! – the Web is one of many services that run on the Internet Internet Packet Routing • At the lowest level, all data is transmitted as packets – small units of data with addressing and other important info – if you have large amounts of data to send (e.g. a web page with lots of graphics), it must be broken into many small packets – somebody will have to reassemble them at the other end • All routers do is receive and forward packets – forward packet to the “next” router on path to destination – they only forward to routers they are physically connected to – how do they know which neighboring router is “next”? • Routing tables: – giant look-up tables – for each possible IP address, indicates which router is “next” • e.g. route addresses of form 128.8.*.* to neighbor router A • route 128.7.2.* to neighbor router B, etc. – need to make use of subnet addressing (similar to zip codes) – distributed maintenance of table consistency is complex • must avoid (e.g.) cycles in routing • requires distributed communication/coordination among routers • Two handy programs: traceroute and nslookup The IP (Internet Protocol) • There are many possible conventions or protocols routers could use to address issues such as: – what to do if a router is down? – who worries about lost packets? – what if someone wants their packets to move faster? • However, they all use a single, simple protocol: IP • IP offers only one service: packet delivery – – – – – with no guarantee of delivery with no levels of service with no notification of lost or delayed packets knows nothing about the applications generating/receiving packets this simplicity is its great strength: provides robustness and speed – – – – TCP: for building connections, resending lost packets, etc. http: for the sending and receiving of web pages ssh: for remote access to edge computers etc. etc. etc. • Higher-level protocols are layered on top of IP: Competition in the Internet • You and I both want to download the Starr report – I’d like to get the material as quickly as possible; so would you – connectivity to the hosting server is a finite resource – we’re in competition • I want to watch “The Matrix” in streaming high-res video – you just want to read your email – real-time arrival of packets is important to me; not to you – I might be willing to pay more for “priority service” packet delivery • Many of us want to watch “The Matrix” (multicast) – those of “near” each other (e.g. Penn) might share costs • share common route from source until final hop – some parties might be more isolated • e.g. lone Wyoming Tech grad student • his route has little overlap with anyone else – how should we pay? Case Study: Selfish Routing • Standard Internet routing: – route your traffic follows entirely determined by routing tables – out of your control – generally based on shortest paths, not current congestion! • Source routing: – you specify in the packet header the exact sequence of routers – better be a legitimate path! – in principle, can choose path to avoid congested routers • Source routing as a game: – traffic desiring to go from A to B (a flow) viewed as a player • number of players = number of flows (huge) – actions available to a flow: all the possible routes through the NW • number of actions = number of routes (huge) – penalty to a flow following a particular route: latency in delivery – rationality: if flow can get lower latency on a different route, it will! • Let’s look at T. Roughgarden’s excellent slides on the topic – we will examine the material in pages 1-23 Case Study: QoS • QoS = Quality of Service – many varying services and demands on the Internet • • • • email: real-time delivery not critical chat: near real-time delivery critical; low-bandwidth voice over IP: real-time delivery critical; low-bandwidth teleconferencing/streaming video: real-time critical; high-bandwidth – varying QoS guarantees required • email: not much more than IP required; must retransmit lost packets • chat/VoIP: two-way connection required • telecon/streaming: high-bandwidth two-way connections • Must somehow be built on top of IP • Whose going to pay for all of this? How much? – presumably companies offering the services – costs passed on to their customers • What should the protocols/mechanism look like? • There are many elaborate answers to these questions… Brief Aside: Differential Pricing • Suppose party P produces a research report at cost $1000 • Only two possible customers, A and B – A values the report at $400, B at $900 – If P charges $400: both A and B buy, P makes $800 < $1000 – If P charges $900, only B buys, P makes $900 < $1000 • Solution: charge each their valuation, P makes $1300 • Fairness questions • Differential pricing? – first class vs. coach airfaire and other “premium” services QoS and the Paris Metro • Paris Metro (until recently) – two classes of service: first (expensive) and coach (cheaper) – exact same cars, speed, destinations, etc. – people pay for first class: • because it is less crowded • because the type of person willing/able to pay first class is there • etc. – self-regulating: • if too many people are in first class, it will be come less attractive • Andrew Odlyzko’s PMP protocol for QoS: – – – – divide the Internet into a small number of identical virtual NWs simply charge different prices for each an entirely economic solution California toll roads