Course Information CS/ECE 438, CSE 425 Instructor Communication Networks Prof. Nikita Borisov Office Hours: 460 CSL, 244-5385 10-12 Tuesdays nikita@uiuc.edu or by appointment TA Nikita Borisov Monika Battala, battala2@uiuc.edu Office hours TBA ECE Department, UIUC Webpage http://www.cs.uiuc.edu/class/fa06/cs438 Newsgroup class.cs438 on news.cs.uiuc.edu 8/25/06 UIUC - CS/ECE 438, Fall 2006 2 Acknowledgments Prerequisites Slides are adapted from Prof. Kravets C Programming (CS241) Some material contributed by Profs. Pre-req for ECE students is ECE290, but ECE391/398SSL or C experience highly Luo, Lumetta, Hajek, Vaidya recommended Some material from Larry Peterson & Probability and Statistics (MATH James Kurose & Keith Ross 461,463 or ECE 413) 8/25/06 UIUC - CS/ECE 438, Fall 2006 3 8/25/06 UIUC - CS/ECE 438, Fall 2006 4 Textbook Recommended Text Computer Networks: A Top-Down UNIX Network Programming, Approach Featuring the Internet , by Kurose Volume 1 , by Stevens & Ross, 3rd Edition There are 3 editions We will be covering this text out of order Second & third edition more up-to-date Ch 1 First edition (1990) contains more Ch 5 + some of 6 background on general UNIX Ch 4 programming Ch 3 Some of Ch 2 8/25/06 UIUC - CS/ECE 438, Fall 2006 5 8/25/06 UIUC - CS/ECE 438, Fall 2006 6 1
Grading Policy Homework and Projects Homework 15% Homeworks: 7 homework assignments Due Wednesdays at 2:00 in class. General extension to Fridays at 2:00pm (hard Mid-term Exam 20% deadline). Oct 12 No questions to TA or on newsgroup after class Programming Projects 35% on Tuesday. 4 Programming projects Projects: 2% off per hour late Project 1: 5%, Projects 2- 4: 10% Final Exam 30% Due Fridays at 9:00pm. 8/25/06 UIUC - CS/ECE 438, Fall 2006 7 8/25/06 UIUC - CS/ECE 438, Fall 2006 8 Academic Honesty One Unit Students Your work in this class must be your own. Graduate students MAY take an extra unit project in conjunction with this class Penalties for excessive collaboration and Graduate students cheating are severe Register for 4 credits Sharing strategies and small code Write a survey paper in a networking research area of fragments (5-10 lines) OK your choice. Sharing homework answers and large Project proposal with list of 10+ academic references (no URL’s) due September 22 sections of code forbidden Paper due last day of class Don’t post these to newsgroup! Undergraduates may not take this project course If in doubt, ask the professor 8/25/06 UIUC - CS/ECE 438, Fall 2006 9 8/25/06 UIUC - CS/ECE 438, Fall 2006 10 Course Objectives Programming Objectives At the end of the semester, you should be At the end of the semester, you able to: should be able to Identify the problems that arise in networked Identify and describe the purpose of communication each component of the TCP/IP protocol Explain the advantages and disadvantages of suite existing solutions to these problems in the context of different networking regimes Develop solid client-server applications using TCP/IP Understand the implications of a given solution for performance in various networking regimes Understand the impact of trends in Evaluate novel approaches to these problems network hardware on network software issues 8/25/06 UIUC - CS/ECE 438, Fall 2006 11 8/25/06 UIUC - CS/ECE 438, Fall 2006 12 2
Course Contents Connectivity Overview Building Block UNIX Network Programming Links: coax cable, optical fiber, … Direct Link Networks Nodes: workstations, routers, … Multiple Access Links: Packet Switched Networks Internetworking Point-to-point Reliable Transport Congestion Control, QoS & Fair Sharing … Multiple access Performance Analysis and Queueing Theory 8/25/06 UIUC - CS/ECE 438, Fall 2006 13 8/25/06 UIUC - CS/ECE 438, Fall 2006 14 Indirect Connectivity Network Problems Switched Networks What must a network provide? Internetworks Connectivity Cost-effective Resource Sharing Recursive definition of a network Functionality Two or more nodes Performance connected by a physical link Two or more networks connected by one or more nodes 8/25/06 UIUC - CS/ECE 438, Fall 2006 15 8/25/06 UIUC - CS/ECE 438, Fall 2006 16 Addressing Effects of Indirect Connectivity Addressing Nodes receive data on one link and forward it onto the next -> switching network Unique byte-string used to indicate which node Circuit Switching is the target of communication Telephone Routing Stream-based (dedicated circuit) Links reserved for use by communication channel The process of determining how to forward Send/receive bit stream at constant rate messages toward the destination node based Packet Switching on its address Internet Types of Addresses Message-based (store-and-forward) Unicast: node-specific Links used dynamically Admission policies and other traffic Broadcast: all nodes on the network determine bandwidth Multicast: subset of nodes on the network 8/25/06 UIUC - CS/ECE 438, Fall 2006 17 8/25/06 UIUC - CS/ECE 438, Fall 2006 18 3
Cost-Effective Sharing of Circuit Switching: FDM and TDM Resources Example: FDM Physical links and switches must be shared 4 users among many users frequency TDM time Common multiplexing strategies frequency (Synchronous) time-division multiplexing (TDM) Frequency-division multiplexing (FDM) time 8/25/06 UIUC - CS/ECE 438, Fall 2006 19 8/25/06 UIUC - CS/ECE 438, Fall 2006 20 Statistical Multiplexing in a Statistical Multiplexing Switch Statistical Multiplexing (SM) Packets buffered in switch until forwarded Selection of next packet depends on policy On-demand time-division multiplexing How do we make these decisions in a fair manner? Scheduled on a per-packet basis Round Robin? FIFO? How should the switch handle congestion? Packets from different sources are interleaved Uses upper bounds to limit transmission … Queue size determines capacity per source 8/25/06 UIUC - CS/ECE 438, Fall 2006 21 8/25/06 UIUC - CS/ECE 438, Fall 2006 22 Functionality Channels Support For Common Services Channel Goal The abstraction for application-level communication Meaningful communication between hosts on a Idea network Turn host-to-host connectivity into process-to-process Idea communication Common services simplify the role of applications Host Host Hide the complexity of the network without overly APP constraining the application designer Semantics and interface depend on applications Host APP Request/reply: FTP, HTTP, DNS Channel Channel Message stream: video-on-demand, video conferencing Host Host 8/25/06 UIUC - CS/ECE 438, Fall 2006 23 8/25/06 UIUC - CS/ECE 438, Fall 2006 24 4
Channel Implementation Inter-process Communication Problems typically masked by Question communication channel abstractions Where does the functionality belong? Bit errors (electrical interference) Packet errors (congestion) Middle (switches)? Link/node failures Telephone system Message delays Edges (end hosts)? Out-of-order delivery Internet Eavesdropping Goal Fill the gap between what applications expect and what the underlying technology provides 8/25/06 UIUC - CS/ECE 438, Fall 2006 25 8/25/06 UIUC - CS/ECE 438, Fall 2006 26 Performance Performance ... and to do so while delivering “good” performance. Latency/delay Time from A to B Bandwidth/throughput Example: 30 msec (milliseconds) Data transmitted per unit time Many applications depend on round-trip time (RTT) Example: 10 Mbps Components Link bandwidth vs. end-to-end bandwidth Transmission time Notation Propagation delay over links KB = 2 10 bytes Queueing delays Mbps = 10 6 bits per second Software processing overheads 8/25/06 UIUC - CS/ECE 438, Fall 2006 27 8/25/06 UIUC - CS/ECE 438, Fall 2006 28 Performance Notes Delay x Bandwidth Product Speed of Light channel = pipe 3.0 x 10 8 meters/second in a vacuum delay = length 2.3 x 10 8 meters/second in a cable 2.0 x 10 8 meters/second in a fiber bandwidth = area of a cross section Comments No queueing delays in a direct link bandwidth x delay product = volume Bandwidth is not relevant if size = 1bit Software overhead can dominate when distance is small Delay Key Point Latency dominates small transmissions Bandwidth Bandwidth dominates large 8/25/06 UIUC - CS/ECE 438, Fall 2006 29 8/25/06 UIUC - CS/ECE 438, Fall 2006 30 5
Recommend
More recommend