DOC PREVIEW
Berkeley ELENG 122 - Internet Design Principles

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

11Internet Design PrinciplesEE 122: Intro to Communication NetworksFall 2006 (MW 4-5:30 in Donner 155)Vern PaxsonTAs: Dilip Antony Joseph and Sukun Kimhttp://inst.eecs.berkeley.edu/~ee122/Materials with thanks to Jennifer Rexford, Ion Stoica,and colleagues at Princeton and UC Berkeley2Announcements• Electronic copy of P&D Chapter 1 available, seeannouncements Web page• Homework #1 due date postponed 1 week, nowWed Sept. 20. (Also, bug fixes for Problem #2.)• Make sure you’re on the mailing list!• Vern & Dilip away next week @ SIGCOMM, nooffice hours– Sukun lectures Mon Sept. 11– No Lecture Wed Sept. 13• Please see note in announcements page reprinters to use for hardcopy of the notes3Overview• Roles played by end systems– Clients, servers, peer-to-peer• Architecture & layering• The End-to-End Principle4End System: Computer on the ‘NetInternetAlso known as a “host”…5Clients and Servers• Client program– Running on end host– Requests service– E.g., Web browserGET /index.html6Clients 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 serverGET /index.html“Site under construction”27Clients Are Not Necessarily Human• Example: Web crawler (or spider)– Automated client program– Tries to discover & download many Web pages– Forms the basis of search engines like Google• Spider client– Start with a base list of popular Web sites– Download the Web pages– Parse the HTML files to extract hypertext links– Download these Web pages, too– And repeat, and repeat, and repeat…– (Per Project #2)8Client-Server Communication• Client “sometimes on”– Initiates a request to theserver when interested– E.g., Web browser on yourlaptop or cell phone– Doesn’t communicatedirectly with other clients– Needs to know the server’saddress• Server is “always on”– Services requests frommany client hosts– E.g., Web server for thewww.cnn.com Web site– Doesn’t initiate contact withthe clients– Needs a fixed, well-knownaddress9Peer-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 findwhere a file is located, respond to queries, and forwardqueries– Scalability by harnessing millions of peers– Each peer acting as both a client and server10Client and Server Processes• Program vs. process– Program: collection of code– Process: a running program on a host• Communication between processes– Same end host: inter-process communication Governed by the operating system on the end host• (Though can use network protocols for this too)– Different end hosts: exchanging messages Governed by the network protocols• Client and server processes– Client process: process that initiates communication– Server process: process that waits to be contacted11The Problem• Re-implement every application for every technology?• No! But how does the Internet design avoid this?Skype SSH NFSPacketradioCoaxial cableFiberopticApplicationTransmissionMediaHTTP12Solution: Intermediate Layers• Introduce intermediate layers that provide set of abstractionsfor various network functionality & technologies– A new app/media implemented only once– Variation on “add another level of indirection”Skype SSH NFSPacketradioCoaxial cableFiberopticApplicationTransmissionMediaHTTPIntermediate layers313Network Architecture• Architecture is not the implementation itself• Architecture is how to organize/structure theelements of the system & their implementation– What interfaces are supported Using what sort of abstractions– Where functionality is implemented– The modular design of the network14Computer System ModularityPartition system into modules & abstractions:• Well-defined interfaces give flexibility– Change implementation of modules– Extend functionality of system by adding new modules• E.g., libraries encapsulating set of functionality• E.g., programming language + compiler abstractsaway 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 performance15Network System ModularityLike software modularity, but:• Implementation distributed across many machines(routers and hosts)• Must decide:– How to break system into modules Layering– Where modules are implemented End-to-End Principle• We will address these choices in turn16Layering: A Modular Approach• Paritition 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 layersLink hardwareHost-to-host connectivityApplication-to-application channelsApplication17Properties of Layers (OSI Model)• Service: what a layer does• Service interface: how to access the service– Interface for layer above• Protocol (peer interface): how peerscommunicate to achieve the service– Set of rules and formats that govern thecommunication between network elements– Does not govern the implementation on a singlemachine, but how the layer is implemented betweenmachines18Physical Layer (1)• Service: move signals (information) between twosystems connected by a physical link• Interface: specifies how to send bits• Protocol: coding scheme used to represent bits,voltage levels, duration of a bit• Examples: coaxial cable, optical fiber links;transmitters, receivers419(Data)link Layer (2)• Service:– Framing (attach frame separators)– Deliver data frames from one peer to another Perhaps across multiple hops– Possible others: arbitrate access to common physical media per-hop reliable transmission per-hop flow control• Interface: send a data unit (packet) to a machineconnected to the same physical network• Protocols: addressing (link-layer specific),Medium Access Control (MAC) (e.g., CSMA/CD -Carrier Sense Multiple Access / Collision Detection)20(Inter)Network Layer (3)• Service:– Deliver a packet to specified inter-network destination Inter-network = across multiple


View Full Document

Berkeley ELENG 122 - Internet Design Principles

Documents in this Course
Lecture 6

Lecture 6

22 pages

Wireless

Wireless

16 pages

Links

Links

21 pages

Ethernet

Ethernet

10 pages

routing

routing

11 pages

Links

Links

7 pages

Switches

Switches

30 pages

Multicast

Multicast

36 pages

Switches

Switches

18 pages

Security

Security

16 pages

Switches

Switches

18 pages

Lecture 1

Lecture 1

56 pages

OPNET

OPNET

5 pages

Lecture 4

Lecture 4

16 pages

Ethernet

Ethernet

65 pages

Models

Models

30 pages

TCP

TCP

16 pages

Wireless

Wireless

48 pages

Load more
Download Internet Design Principles
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Internet Design Principles and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Internet Design Principles 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?