* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Computer Networks: Theory, Modeling, and Analysis
Distributed firewall wikipedia , lookup
Computer security wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Deep packet inspection wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Wake-on-LAN wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L. Peterson, B. Davie, Morgan Kaufmann Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 1 What is this course about? • Goal – Convey the principles and mechanisms that are used to build a computer network that can: • Grow to global proportion (scalability) • Support diverse applications – Special attention is given to Internet protocols and architecture • Study how protocols work • Explore underlying algorithmic concepts • Understand implementation issues (network programming) Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 2 Course Outline • Introduction to networking: principles, architecture, services, implementation issues • Direct link • Internet routing (IP) • Transport protocols (TCP/UDP) • Congestion control • Multicast routing • Internet security • Applications • Selected topics: Content delivery, Caching, Multimedia… Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 3 Outline of Lecture 1 • Requirements • Architecture Reading: Chapter 1 of textbook Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 4 Requirements • Computer networks are different from classical networks: – General – Not optimized for a specific application • Requirements differ according to the perspective: – Application programmer: services – Network designer: resource efficiency and fairness – Network provider: administration, manageability, accountability Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 5 Requirements • • • • Connectivity Resource Sharing Support for Common Services Performance Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 6 Connectivity • Goal: allow machines to communicate – Exceptions? • Building blocks: – Nodes: PC, workstations, special-purpose hardware… • hosts • switches – Links: coax cable, optical fiber, wireless… • point-to-point • multiple access (generally limited in size) Spring 2003, COM1337/3501 Computer Communication Networks … Lecture 1, 7 Connectivity: Switched Networks • A network can be defined recursively as... – two or more nodes connected by a link, or Spring 2003, COM1337/3501 – two or more networks connected by two or more nodes Computer Communication Networks Lecture 1, 8 Switching Strategies • Circuit switching: carry bit streams – On session establishment a path from source to destination is selected. Resources are allocated over all the links of the path. Route does not change during session life. – Links can be shared by different sessions through mechanisms such time-division multiplexing (TDM) or frequency-division multiplexing (FDM) – Guarantees: rate and packets delivery in order. – Example: original telephone network • Packet switching: store-and-forward messages – Links are shared on a “demand basis” vs. fixed allocation – Packets wait in a queue before being transmitted – E.g., Internet mainly made out of packet switching Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 9 Addressing and Routing • Address: byte-string that identifies a node – usually unique • Routing: process of forwarding messages to the destination node based on its address • Types of addresses – unicast: node-specific – broadcast: all nodes on the network – multicast: some subset of nodes on the network Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 10 Requirements • • • • Connectivity Resource Sharing Support for Common Services Performance Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 11 Resource Sharing • How do hosts that want to communicate share the network resources? – Links – Router queues • Fundamental resource sharing concept: multiplexing Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 12 Multiplexing • Time-Division Multiplexing (TDM) • Frequency-Division Multiplexing (FDM) L1 R1 L2 R2 L3 Spring 2003, COM1337/3501 Switch 1 Switch 2 Computer Communication Networks R3 Lecture 1, 13 Statistical Multiplexing • • • • • On-demand time-division Schedule link on a per-packet basis Packets from different sources interleaved on link Buffer packets that are contending for the link Buffer (queue) overflow is called congestion … Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 14 Requirements • • • • Connectivity Resource Sharing Support for Common Services Performance Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 15 Support for Common Services • A computer network provides more than packet delivery between nodes • We don’t want application developers to rewrite for each application higher layer networking services • The channel is a pipe connecting two applications • How to fill the gap between the underlying network capability and applications requirements? • Problem: identify a set of common services – Delivery guarantees, packet length, delay, security Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 16 Communication Patterns: Types of Applications • Interactive terminal and computer sessions: – Small packet length, small delay, high reliability • File transfer: – High packet length, large delay, high reliability • Voice application: – Small packet length, small delay, low reliability, high arrival rate • Video-on-demand: – Variable/high packet length, fixed delay, low reliability • Video-conferencing – Variable/high packet length, small delay, low reliability Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 17 Basic Channels • Request/Reply channel: – Guarantees single copy message delivery – Can provide confidentiality and integrity – Used for file transfer and digital library applications • Message Stream channel: – – – – – Supports one/two-way traffic, multicast Parameterized for different delays Does not need to guarantee message delivery Guarantees order of delivered messages Used for video-conferencing, video-on-demand Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 18 Reliability: What goes wrong in the network? • Bit-level errors (electrical interference) – 1/10^7 bits on copper, 1/10^12 bits on optical fiber • Packet-level errors (congestion) – Delayed, lost, or received out of order • Link and node failures • Security, Availability: Denial of Service, Integrity, … Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 19 Requirements • • • • Connectivity Resource Sharing Support for Common Services Performance Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 20 Performance Metrics • Bandwidth (throughput) – data transmitted per time unit – link versus end-to-end – notation • KB = 210 bytes • Mbps = 106 bits per second • Latency (delay) – time to send message from point A to point B – one-way versus round-trip time (RTT) – components Latency = Propagation + Transmit + Queue Propagation = Distance / c Transmit = Size / Bandwidth – Examples of RTT: LAN, Cross-country link, Satellite Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 21 Bandwidth versus Latency • Relative importance – 1-byte: 1ms vs 100ms dominates 1Mbps vs 100Mbps – 25MB: 1Mbps vs 100Mbps dominates 1ms vs 100ms • Infinite bandwidth – RTT dominates • Throughput = TransferSize / TransferTime • TransferTime = RTT + TransferSize /Bandwidth • 1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps link Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 22 Delay x Bandwidth Product • Amount of data “in flight” or “in the pipe” • Example: 100ms x 45Mbps = 560KB Delay Bandw idth • Why is it important to know Delay x Bandwidth product? Spring 2003, COM1337/3501 Computer Communication Networks Lecture 1, 23