Download Computer Networks: EEC273 Winter 2007 Course Overview and Syllabus and more Study Guides, Projects, Research Mechanical Engineering in PDF only on Docsity! Page 1 Computer Networks: Networking Architecture & Resource Management EEC273, Winter 2007 (4 units) Lecture: Tue/Thu 4:40‐6pm Location: 1070 Bainer Chuah, Winter 2007 2 Outline Course Logistics Course Overview ‐ Motivation ‐ Course syllabus Review ‐ A taxonomy of communication networks ‐ Layered architecture End‐to‐end arguments Chuah, Winter 2007 3 Who am I? Instructor: Chen‐Nee Chuah ‐ Please call me by first name ‐ Assoc. Professor in ECE • PhD (2001) from UC Berkeley, 9 months at Sprint ATL ‐ Research interests • Internet measurements, routing & traffic engineering, anomaly detection, network security, mobile/wireless computing ‐ How to reach me? • chuah at ucdavis.edu, include EEC273 in subject line • 3125 Kemper Hall ‐ Office hours: 2:30‐4:30pm on Tue or by appointment Chuah, Winter 2007 4 Goals Introduce the underlying design principles (or concepts) of network architecture and protocols ‐ Case studies include telephone networks, Internet, wireless networks, transportation Provide a survey of tools & techniques to model and analyze the various aspects of network Discuss cutting‐edge networking research topics and come up with your own Apply what you learned in a class project ‐ This course is project based! Page 2 Chuah, Winter 2007 5 Approach Lectures ‐ Review fundamentals theories and design concepts ‐ Paper discussion: learn about current research problems • We’ll pick up basics along the way as necessary ‐ Caveat: the course topics are (1) breadth‐first and (2) may not be comprehensive Lecture Structure ‐ ~50‐60 minutes “lecture”, 20‐30 minutes “discussion” Read the required paper before class ‐ Thought questions posted at least the day before class. To stimulate discussion. ‐ Optional readings are also posted in case you are interested in reading more about some topic. • Ask me for more! Chuah, Winter 2007 6 Selected papers ‐ *NOT* all paper listed in the reference page are required reading. Handouts Reference book on Computer Networks: any one of the following: ‐ J. F. Kurose & K. W. Ross, Computer Networking: A Top‐Down Approach Featuring the Internet, Addison Wesley, 2001. ‐ L. L. Peterson & B. S. Davie, Computer Networks: A System Approach, Morgan Kaufman, 2000. ‐ S. Keshav, An Engineering Approach to Computer Networking, Addison Wesley, 1997. ‐ Leon‐Garcia and Widjaja, Communication Networks , McGrawHill Reference book on the fundamentals/modeling: ‐ D. P. Bertsekas & R. Gallager, Data Networks, Prentice Hall, 2nd Edition Reading Material Check the course webpage frequently!!! http://www.ece.ucdavis.edu/~chuah/classes/EEC273 Chuah, Winter 2007 7 Reading Papers in the Networking Area Goal: understand/identify main ideas/concepts in the papers Type of paper ‐ Vision, new direction, design principle/concept ‐ New architecture ‐ Protocol design ‐ Performance modeling • Proof of correctness, efficiency analysis, etc. ‐ Network measurements ‐ Simulation studies, implementation/prototyping Chuah, Winter 2007 8 Appreciate what is good research Problem selection ‐ How to determine what is an important and unsolved problem ? Assumptions ‐ Should be defendable • What are the economics, technology that is driving innovation (pulled or pushed?) Solution & research methodology ‐ Innovative ideas • How’s the approach different from previous work? Presentation Page 5 Chuah, Winter 2007 17 What is a Communication Network? (End System View) Carrier of information between 2 or more entities ‐ Bird, fire, messenger, truck, telegraph, telephone, Internet … ‐ Another example, transportation service: move objects • horse, train, truck, airplane ... Internet graph Wireless cellular networks Telephone networks Chuah, Winter 2007 18 What is a Communication Network? (Infrastructure Centric View) Electrons and photons as communication medium Links: fiber, copper, satellite, … Switches:mechanical/electronic/optical, crossbar/Banyan Protocols: TCP/IP, ATM, MPLS, SONET, Ethernet, PPP, X.25, FrameRelay, AppleTalk, IPX, SNA Functionalities: routing, error control, congestion control, Quality of Service (QoS) Applications: FTP, WEB, X windows, ... Chuah, Winter 2007 19 How do we study networks? What distinguish different network infrastructures? ‐ The services they provide What distinguish the services? ‐ Performance: latency, bandwidth, loss rate, jitter ‐ Scale: number of end systems, number of ‘types’ of end systems or services supported ‐ Service interface: how to invoke? ‐ Others • Reliability • Unicast vs. multicast • Real‐time, message vs. byte ... Chuah, Winter 2007 20 How do we study this!!???? Intelligent transportation system Rover Mars Vehicle Super computer Wireless Sensors on bridge, redwood grove Laptops Hand-held devices (cell phones, PDAs, etc) Smart home appliances Child alert/tracker Page 6 Chuah, Winter 2007 21 Different aspects of networks Data communication ‐ How to compact ‘information’ and transport them from A to B in the most efficient manner? ‐ Information theory, digital communication, coding [EEC265, 266, 269AB] Topology [MAE 298, Spring’06] & Graph Theory [ECS225] Network architecture/system aspect [EEC273] ‐ How to partition functionalities? How to achieve scalability? Network protocols ‐ Control plane: naming & routing, resource allocation [EEC273] ‐ Data plane: design of switches & routers ‐ Application, transport, link‐layer protocols [ECS252, EEC273] Performance evaluation [ECS256] Advanced/Special Topics ‐ Traffic/network measurements [EEC274] ‐ Wireless networks [EEC262, ECS257] ‐ QoS [EEC273/ECS258] ‐ Network Security [ECS235AB, 236] Chuah, Winter 2007 22 Focus of this course Common design principles underlying various network architectures and protocols ‐ Examples are drawn from different protocol layers and different networks (telephone, Internet, etc.) Common techniques ‐ Signaling [telephone network, Int‐Serv RSVP] ‐ Multiplexing [PSTN trunk provisioning, packet switched] ‐ Scalability through hierarchy [Routing in PSTN & Internet], soft state approach & distributed algorithms [Internet routing] ‐ Randomization [Contention resolution at MAC layer] ‐ Indirection [DNS, Overlay networks] ‐ Virtualization [ATM, Int‐Serv] Chuah, Winter 2007 23 What does one care about in designing networks/protocols? End‐to‐end behavior ‐ Reachability ‐ Performance in terms of delay, losses, throughput ‐ Security ‐ Stability/fault‐resilience of the end‐to‐end path System‐wide behavior ‐ Scalability ‐ Balanced load distribution within a domain ‐ Stability/Robustness/Survivability ‐ Manageability ‐ Evolvability and other X‐ities • J. Kurose, INFOCOM’04 Keynote Speech Chuah, Winter 2007 24 What & How to Analyze? Protocols/algorithms ‐ Prove its correctness ‐ Convergence properties (for distributed algorithms) ‐ Overhead Performance ‐ Steady state average case, worst‐case Methodology/Tools ‐ Analytical: queuing theory, control theory ‐ Simulations • NS, QualNet/GlomoSim, PlanetLab ‐ Emulations • Emulab, DETER ‐ Prototyping & experiments • PlanetLab Page 7 Chuah, Winter 2007 25 Outline Course Logistics Course Overview ‐ Motivation ‐ Course syllabus Review ‐ A taxonomy of communication networks ‐ Layered architecture End‐to‐end arguments Chuah, Winter 2007 26 Communication networks can be classified based on the way in which the nodes exchange information: A Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Chuah, Winter 2007 27 Broadcast communication networks ‐ Information transmitted by any node is received by every other node in the network • Examples: usually in LANs (Ethernet, Wavelan) ‐ Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem) Switched communication networks ‐ Information is transmitted to a sub‐set of designated nodes • Examples: WANs (Telephony Network, Internet) ‐ Problem: how to forward information to intended node(s) • This is done by special nodes (e.g., routers, switches) running routing protocols Broadcast vs. Switched Communication Networks Chuah, Winter 2007 28 Communication networks can be classified based on the way in which the nodes exchange information: A Taxonomy of Communication Networks Communication Network Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Page 10 Chuah, Winter 2007 37 Virtual‐Circuit Packet Switching Hybrid of circuit switching and packet switching ‐ data is transmitted as packets ‐ all packets from one packet stream are sent along a pre‐ established path (=virtual circuit) Guarantees in‐sequence delivery of packets However: Packets from different virtual circuits may be interleaved Example: ATM networks Chuah, Winter 2007 38 Virtual‐Circuit Packet Switching Communication with virtual circuits takes place in three phases 1. VC establishment 2. data transfer 3. VC disconnect Note: packet headers don’t need to contain the full destination address of the packet Chuah, Winter 2007 39 Packet‐Switching vs. Circuit‐Switching Most important advantage of packet‐switching over circuit switching: Ability to exploit statistical multiplexing: ‐ efficient bandwidth usage; ratio between peek and average rate is 3:1 for audio, and 15:1 for data traffic ‐ great for bursty data However, packet‐switching needs to deal with congestion: ‐ more complex routers ‐ harder to provide good network services (e.g., delay and bandwidth guarantees) In practice they are combined: ‐ IP over SONET, IP over Frame Relay Chuah, Winter 2007 40 Outline Course logistics Course Overview ‐ Motivation ‐ Course syllabus Review ‐ A taxonomy of communication networks ‐ Layered architecture End‐to‐end arguments Page 11 Chuah, Winter 2007 41 Network Protocols Network protocols define format, order of messages sent and received among network entities, and actions taken on message transmission, receipt Networks are complex! Many pieces: hosts, routers, links, applications, hardware/software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks? Chuah, Winter 2007 42 Layering A technique to organize a network system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by the previous (lower level) entity Chuah, Winter 2007 43 Why Layering? No layering: each new application has to be re‐ implemented for every network technology! Telnet FTP NFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP Chuah, Winter 2007 44 Why Layering? Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies Telnet FTP NFS Packet radio Coaxial cable Fiber optic Application Transmission Media HTTP Intermediate layer Page 12 Chuah, Winter 2007 45 Layering Advantages Modularity ‐ Protocols easier to manage and maintain ‐ Explicit structure allows identification, relationship of different pieces ‐ Layered reference model for discussion Abstract functionality ‐ Lower layers can be changed without affecting the upper layers Reuse ‐ Upper layers can reuse the functionality provided by lower layers Disadvantages Information hiding – inefficient implementations Chuah, Winter 2007 46 ISO OSI Reference Model ISO – International Standard Organization OSI – Open System Interconnection Started 1978; first standard 1979 ‐ ARPANET started in 1969; TCP/IP protocols ready by 1974 Goal: a general open standard ‐ Allow vendors to enter the market by using their own implementation and protocols Chuah, Winter 2007 47 ISO OSI Reference Model Seven layers ‐ Lower three layers are peer‐to‐peer ‐ Next four layers are end‐to‐end Application Presentation Session Transport Network Datalink Physical Application Presentation Session Transport Network Datalink Physical Network Datalink Physical Physical medium Peer‐layer communication Layer‐to‐layer communication Chuah, Winter 2007 48 OSI Model Concepts Service – says what a layer does Interface – says how to access the service Protocol – says how is the service implemented ‐ A set of rules and formats that govern the communication between two peers Page 15 Chuah, Winter 2007 57 Example: Reliable File Transfer Solution 1: make each step reliable, and then concatenate them Solution 2: end‐to‐end check and retry OS Appl. OS Appl. Host A Host B OK Chuah, Winter 2007 58 Discussion Solution 1 not complete ‐ What happens if the sender or/and receiver misbehave? The receiver has to do the check anyway! Thus, full functionality can be entirely implemented at application layer; no need for reliability from lower layers Chuah, Winter 2007 59 Discussion Is there any need to implement reliability at lower layers? ‐ Lower system shared by all applications – what if the application does not need the feature? Yes, but only to improve performance Example: ‐ Assume a high error rate on communication network ‐ Then, a reliable communication service at datalink layer might help Chuah, Winter 2007 60 Trade‐offs Application has more information about the data and the semantic of the service it requires (e.g., can check only at the end of each data unit) A lower layer has more information about constraints in data transmission (e.g., packet size, error rate) Note: these trade‐offs are a direct result of layering! Page 16 Chuah, Winter 2007 61 Rule of Thumb Implementing a functionality at a lower level should have minimum performance impact on the application that do not use the functionality ‐ Retransmission at TCP layer, not link layer Exception to this rule: do it if it enhances performance! • Retransmission on wireless link is necessary instead of relying on TCP Chuah, Winter 2007 62 Internet & End‐to‐End Argument Provides one simple service: best effort datagram (packet) delivery Only one higher level service implemented at transport layer: reliable data delivery (TCP) ‐ Performance enhancement; used by a large variety of applications (Telnet, FTP, HTTP) ‐ Does not impact other applications (can use UDP) Everything else implemented at application level Chuah, Winter 2007 63 Key Advantages The service can be implemented by a large variety of network technologies Does not require routers to maintain any fined grained state about traffic. Thus, network architecture is ‐ Robust ‐ Scalable Chuah, Winter 2007 64 Summary: End‐to‐End Argument If the application can do it, don’t do it at a lower layer ‐‐ anyway the application knows the best what it needs ‐ Add functionality in lower layers iff it is (1) used and improves performances of a large number of applications, and (2) does not hurt other applications Success story: Internet ‐ Will revisit this later …