1 15-744: Computer Networking L-1 Intro to Computer Networks 2 Outline •Administrivia • Layering 3 Who’s Who? •Professor: Srinivasan Seshan • http://www.cs.cmu.edu/~srini • [email protected] • Office hours: Friday 4:00-5:00 • TA: None! • Course info • http://www.cs.cmu.edu/~srini/15-744/F09/ 4 Objectives •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 researchers2 5 Web Page •Check regularly!! • Course schedule • Reading list • Lecture notes • Announcements • Assignments • Project ideas • Exams Discussion Site •http://great-white.cmcl.cs.cmu.edu:3000/ • Please visit http://great-white.cmcl.cs.cmu.edu:3000 and create an account. Open the collection CMU 15-744: Computer Networks -- Fall 09. You should then add yourself to the collection using the subscription code: ”15744”. • For each lecture, post a brief comment about each paper: • Since I would like to read the reviews before the lecture, you should have this done by 5pm the day before the lecture. • Learn to critique and appreciate systems papers • Try to be positive… • Why or why not keep this paper in syllabus? • What issues are left open for future research? • What are the important implications of the work? • What would have done differently? 6 7 Course Materials •Research papers • Links to ps or pdf on Web page • Combination of classic and recent work • ~40 papers • Optional readings • Recommended textbooks • For students not familiar with networking • Peterson & Davie or Kurose & Ross 8 Grading •Homework assignments (20%) • 4 Problem sets & hands-on assignments • Class + discussion site participation (10%) • 2 person project (35%) • Midterm exam + final exam (35%) • Closed book, in-class3 9 Class Coverage •Little coverage of physical and data link layer • Little coverage of undergraduate material • 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? 10 Lecture Topics Traditional • Layering • Internet architecture • Routing (IP) • Transport (TCP) • Queue management (FQ, RED) • Naming (DNS) Recent Topics • Machine rooms • Mobility/wireless • Active networks • QoS • Security • Network measurement • Overlay networks • P2P applications 11 Outline •Administrivia • Layering 12 This/Next Lecture: Design Considerations •How to determine split of functionality • Across protocol layers • Across network nodes • Assigned Reading • [SRC84] End-to-end Arguments in System Design • [Cla88] Design Philosophy of the DARPA Internet Protocols4 13 What 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 sensitivity 14 Back in the Old Days… 15 Packet Switching (Internet) Packets 16 Packet Switching •Interleave packets from different sources •Efficient: resources used on demand • Statistical multiplexing • General • Multiple types of applications • Accommodates bursty traffic • Addition of queues5 17 Characteristics of Packet Switching •Store and forward • Packets are self contained units • Can use alternate paths – reordering • Contention • Congestion • Delay 18 Internet[work] Internet[work] •A collection of interconnected networks • Host: network endpoints (computer, PDA, light switch, …) • Router: node that connects networks • Internet vs. internet 19 Challenge •Many differences between networks • Address formats • Performance – bandwidth/latency • Packet size • Loss rate/pattern/handling • Routing • How to translate between various network technologies? 20 How To Find Nodes? Internet Computer 1 Computer 2 Need naming and routing6 21 Naming What’s the IP address for www.cmu.edu? It is 128.2.11.43 Translates human readable names to logical endpoints Local DNS Server Computer 1 22 Routing R R R R R H H H H R R H R Routers send packet towards destination H: Hosts R: Routers 23 Meeting Application Demands •Reliability • Corruption • Lost packets • Flow and congestion control • Fragmentation • In-order delivery • Etc… 24 What if the Data gets Corrupted? Internet GET windex.html GET index.html Solution: Add a checksum Problem: Data Corruption 0,9 9 6,7,8 21 4,5 7 1,2,3 6 X7 25 What 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 Control 26 What if the Data gets Lost? Internet GET index.html Problem: Lost Data Internet GET index.html Solution: Timeout and Retransmit GET index.html GET index.html 27 Problem: Packet size Solution: Fragment data across packets What if the Data Doesn’t Fit? • On Ethernet, max IP packet is 1.5kbytes • Typical web page is 10kbytes GET inde x.ht ml GET index.html 28 Solution: Add Sequence Numbers Problem: Out of Order What if the Data is Out of Order? GET x.ht inde ml GET x.htindeml GET index.html ml 4 inde 2 x.ht 3 GET 18 29 Lots of Functions Needed •Link •Multiplexing • Routing • Addressing/naming (locating peers) • Reliability • Flow control • Fragmentation • Etc…. 30 What is Layering? •Modular approach to network functionality •Example: Link hardware Host-to-host connectivity Application-to-application channels Application 31 Protocols •Module in layered structure •Set of rules governing communication
View Full Document