115-744: Computer NetworkingL-1 Intro to Computer NetworksL -1; 9-17-04© Srinivasan Seshan, 2004 2Outline• Administrivia• Layering• Design principles in internetworks• IP designL -1; 9-17-04© Srinivasan Seshan, 2004 3Who’s Who?• Professor: Srinivasan Seshan• http://www.cs.cmu.edu/~srini• [email protected]• Office hours: Friday 4:00-5:00• TA: Vyas Sekar• [email protected]• Office hours: Tuesday 4:00-5:00• Course info• http://www.cs.cmu.edu/~srini/15-744/F04/L -1; 9-17-04© Srinivasan Seshan, 2004 4Objectives• Understand the state-of-the-art in network protocols, architectures and applications• Understand how networking research is done• Teach the typical constraints and thought processes used in networking research• How is class different from undergraduate networking (15-441)• Training network programmers vs. training network researchers2L -1; 9-17-04© Srinivasan Seshan, 2004 5Web Page• Check regularly!!• Course schedule• Reading list• Lecture notes• Announcements• Assignments• Project ideas•Exams• Student listL -1; 9-17-04© Srinivasan Seshan, 2004 6Course Materials• Research papers• Links to ps or pdf on Web page• Combination of classic and recent work• ~50 papers• Optional readings• Recommended textbooks• For students not familiar with networking• Peterson & Davie or Kurose & RossL -1; 9-17-04© Srinivasan Seshan, 2004 7Grading• Homework assignments • Problem sets & hands-on assignments (15%)• Hand-ins for readings (10%)• Class participation (5%)• 2 person project (30%)• Midterm exam (20%)• Final exam (20%)L -1; 9-17-04© Srinivasan Seshan, 2004 8Waitlist & HW 0• Class is heavily over-subscribed• Unlikely to take any more students• Position on waitlist irrelevant • HW 0 – due next class• If you are trying to add class• HW 0 due early – Wednesday to TA• I will email enrollment decisions as early as possible3L -1; 9-17-04© Srinivasan Seshan, 2004 9Class Coverage• Little coverage of physical and data link layer• Students expected to know this• Focus on network to application layer• We will deal with:• Protocol rules and algorithms• Investigate protocol trade-offs• Why this way and not another?L -1; 9-17-04© Srinivasan Seshan, 2004 10Lecture TopicsTraditional•Layering• Internet architecture• Routing (IP)• Transport (TCP)• Queue management (FQ, RED)• Naming (DNS)Recent Topics•Multicast• Mobility/wireless• Active networks• QOS• Security• Network measurement• Overlay networks• P2P applicationsL -1; 9-17-04© Srinivasan Seshan, 2004 11Outline• Administrivia• Layering• Design principles in internetworks• IP designL -1; 9-17-04© Srinivasan Seshan, 2004 12What is the Objective of Networking?• Communication between applications on different computers• Must understand application needs/demands• Traffic data rate• Traffic pattern (bursty or constant bit rate)• Traffic target (multipoint or single destination, mobile or fixed)• Delay sensitivity• Loss sensitivity4L -1; 9-17-04© Srinivasan Seshan, 2004 13Back in the Old Days…L -1; 9-17-04© Srinivasan Seshan, 2004 14Packet Switching (Internet)PacketsL -1; 9-17-04© Srinivasan Seshan, 2004 15Packet Switching• Interleave packets from different sources• Efficient: resources used on demand• Statistical multiplexing• General• Multiple types of applications• Accommodates bursty traffic• Addition of queuesL -1; 9-17-04© Srinivasan Seshan, 2004 16Characteristics of Packet Switching• Store and forward• Packets are self contained units• Can use alternate paths – reordering• Contention• Congestion• Delay5L -1; 9-17-04© Srinivasan Seshan, 2004 17Internet[work]Internet[work]• A collection of interconnected networks• Host: network endpoints (computer, PDA, light switch, …)• Router: node that connects networks• Internet vs. internetL -1; 9-17-04© Srinivasan Seshan, 2004 18Challenge• Many differences between networks• Address formats• Performance – bandwidth/latency• Packet size• Loss rate/pattern/handling• Routing• How to translate between various network technologies?L -1; 9-17-04© Srinivasan Seshan, 2004 19How To Find Nodes?InternetComputer 1 Computer 2Need naming and routingL -1; 9-17-04© Srinivasan Seshan, 2004 20NamingWhat’s the IP address for www.cmu.edu?It is 128.2.11.43Translates human readable names to logical endpointsLocal DNS ServerComputer 16L -1; 9-17-04© Srinivasan Seshan, 2004 21RoutingRRRRRHHHHRRHRRouters send packet towards destinationH: HostsR: RoutersL -1; 9-17-04© Srinivasan Seshan, 2004 22Meeting Application Demands• Reliability• Corruption• Lost packets• Flow and congestion control• Fragmentation• In-order delivery•Etc…L -1; 9-17-04© Srinivasan Seshan, 2004 23What if the Data gets Corrupted?InternetGET windex.htmlGET index.htmlSolution: Add a checksumProblem: Data Corruption0,9 9 6,7,8 21 4,5 7 1,2,3 6XL -1; 9-17-04© Srinivasan Seshan, 2004 24What if Network is Overloaded?Problem: Network Overload• Short bursts: buffer• What if buffer overflows?• Packets dropped• Sender adjusts rate until load = resources “congestion control”Solution: Buffering and Congestion Control7L -1; 9-17-04© Srinivasan Seshan, 2004 25What if the Data gets Lost?InternetGET index.htmlProblem: Lost DataInternetGET index.htmlSolution: Timeout and RetransmitGET index.htmlGET index.htmlL -1; 9-17-04© Srinivasan Seshan, 2004 26Problem: Packet sizeSolution: Fragment data across packetsWhat if the Data Doesn’t Fit?• On Ethernet, max IP packet is 1.5kbytes• Typical web page is 10kbytesGETindex.htmlGET index.htmlL -1; 9-17-04© Srinivasan Seshan, 2004 27Solution: Add Sequence NumbersProblem: Out of OrderWhat if the Data is Out of Order?GETx.htindemlGET x.htindemlGET index.htmlml 4 inde 2 x.ht 3 GET 1L -1; 9-17-04© Srinivasan Seshan, 2004 28Lots of Functions Needed•Link• Multiplexing • Routing• Addressing/naming (locating peers)• Reliability• Flow control• Fragmentation• Etc….8L -1; 9-17-04© Srinivasan Seshan, 2004 29What is Layering?• Modular approach to network functionality•Example:Link hardwareHost-to-host connectivityApplication-to-application channelsApplicationL -1; 9-17-04© Srinivasan Seshan, 2004 30Protocols• Module in layered structure• Set of rules governing communication between network elements (applications, hosts, routers)• Protocols define:• Interface
View Full Document