Internet Design Principles EE 122 Intro to Communication Networks Fall 2007 WF 4 5 30 in Cory 277 Vern Paxson TAs Lisa Fowler Daniel Killebrew Jorge Ortiz http inst eecs berkeley edu ee122 Materials with thanks to Jennifer Rexford Ion Stoica and colleagues at Princeton and UC Berkeley 1 Announcements Homework 1 is now out due Fri Sept 21 before lecture Phase 1 of Project 1 now out due Wed Sept 26 at 11PM Make sure you re on the mailing list I won t have office hours on Friday other than by appt Answer to question from last lecture Yes Frame Relay networking uses virtual circuits If you don t have a class account yet come up at the break for a form 2 1 Overview Standardization of protocols Roles played by end systems Clients servers peer to peer Architecture layering The End to End Principle Fate Sharing 3 Protocol Standardization Ensure communicating hosts speak the same protocol Standardization to enable multiple implementations Or the same folks have to write all the software Standardization Internet Engineering Task Force Based on working groups that focus on specific issues Produces Request For Comments RFCs o Promoted to standards via rough consensus and running code IETF Web site is http www ietf org RFCs archived at http www rfc editor org De facto standards same folks writing the code P2P file sharing Skype your protocol here 4 2 End System Computer on the Net Internet Also known as a host 5 Clients and Servers Client program Running on end host Requests service E g Web browser GET index html 6 3 Clients and Servers Client program Running on end host Requests service E g Web browser Server program Running on end host Provides service E g Web server GET index html Site under construction 7 Client Server Communication Client sometimes on Initiates a request to the server when interested E g Web browser on your laptop or cell phone Doesn t communicate directly with other clients Needs to know the server s address Server is always on Services requests from many client hosts E g Web server for the www cnn com Web site Doesn t initiate contact with the clients Needs a fixed well known address 8 4 Peer to Peer Communication No always on server at the center of it all Hosts can come and go and change addresses Hosts may have a different address each time Example peer to peer file sharing Any host can request files send files query to find where a file is located respond to queries and forward queries Scalability by harnessing millions of peers Each peer acting as both a client and server 9 The Problem Application Transmission Media Skype SSH Coaxial cable NFS Fiber optic HTTP Radio Re implement every application for every technology No But how does the Internet design avoid this 10 5 Solution Intermediate Layers Introduce intermediate layers that provide set of abstractions for various network functionality technologies A new app media implemented only once Variation on add another level of indirection Application Skype SSH NFS HTTP Intermediate layers Transmission Media Coaxial cable Fiber optic Packet radio 11 Network Architecture Architecture is not the implementation itself Architecture is how to organize structure the elements of the system their implementation What interfaces are supported o Using what sort of abstractions Where functionality is implemented The modular design of the network 12 6 Computer System Modularity Partition system into modules abstractions Well defined interfaces give flexibility Hides implementation thus it can be freely changed Extend functionality of system by adding new modules E g libraries encapsulating set of functionality E g programming language compiler abstracts away not only how the particular CPU works but also the basic computational model Well defined interfaces hide information Isolate assumptions Present high level abstractions But can impair performance 13 Network System Modularity Like software modularity but Implementation distributed across many machines routers and hosts Must decide How to break system into modules o Layering Where modules are implemented o End to End Principle Where state is stored o Fate sharing We will address these choices in turn 14 7 Layering A Modular Approach Partition the system Each layer solely relies on services from layer below Each layer solely exports services to layer above Interface between layers defines interaction Hides implementation details Layers can change without disturbing other layers 15 Properties of Layers OSI Model Service what a layer does Service interface how to access the service Interface for layer above Protocol peer interface how peers communicate to achieve the service Set of rules and formats that govern the communication between network elements Does not govern the implementation on a single machine but how the layer is implemented between machines 16 8 Physical Layer 1 Service move bits between two systems connected by a single physical link Interface specifies how to send and receive bits E g require quantities and timing Protocols coding scheme used to represent bits voltage levels duration of a bit 17 Data Link Layer 2 Service Enable end hosts to exchange atomic messages with one another o Using abstract addresses i e not just direct physical connections Perhaps over multiple physical links o But using the same framing headers trailers Possible other services o arbitrate access to common physical media o reliable transmission flow control Interface send messages frames to other end hosts receive messages addressed to end host Protocols addressing routing Media Access Control MAC e g CSMA CD Carrier Sense Multiple Access Collision Detection 18 9 Inter Network Layer 3 Service Deliver packets to specified inter network destination o Inter network across multiple layer 2 networks Works across networking technologies e g Ethernet 802 11 Frame Relay ATM o No longer the same framing all the way Possible other services o packet scheduling priority o buffer management Interface send packets to specified internetwork destinations receive packets destined for end host Protocols define inter network addresses globally unique construct routing tables 19 Transport Layer 4 Service Provide end to end communication between processes Demultiplexing of communication between hosts Possible other services o Reliability in the presence of errors o Timing properties o Rate adaption flow control congestion control Interface send message to specific process at given destination local
View Full Document