Computer Networks Dr. Walid Abu-Sufah

Slides:



Advertisements
Similar presentations
Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Advertisements

Fundamentals of Computer Networks ECE 478/578
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
Spring 2003CS 4611 Introduction, Continued COS 461.
ECE 4450:427/527 - Computer Networks Spring 2015
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
Socket Programming.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
CIS 527 Computer Networks Introduction Professor Jinhua Guo (updated version) Fall 2003.
Foundation Outline Requirements Network Architecture Implementing Network Software.
Lecture 2 Introduction 1-1 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit.
Spring 2003CS 4611 Welcome to COS 461 Vivek Pai. Spring 2003CS 4612 Mechanics First time teaching 461 –But have been doing some level of networking for.
Computer Networks: Performance Measures1 Computer Network Performance Measures.
CMPE 80N - Introduction to Networks and the Internet 1 CMPE 80N Winter 2004 Lecture 13 Introduction to Networks and the Internet.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
1/20 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Data Communications Architecture Models. What is a Protocol? For two entities to communicate successfully, they must “speak the same language”. What is.
Lecture Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
Lecture Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Switching Techniques Student: Blidaru Catalina Elena.
Data Communications and Networking
CS 6401 Introduction to Networking Aditya Akella Outline Administrivia Networking History Statistical Multiplexing Performance Metrics.
Fall 2009COSC 6501 Welcome to COSC650 Towson University Yanggon Kim.
1 Introduction to Computer Networks Foundation Ilam University Mozafar Bag-Mohammadi.
1 Computer Communication & Networks Lecture 4 Circuit Switching, Packet Switching, Delays Waleed.
CS448 Computer Networking Chapter 1 Introduction to Computer Networks Instructor: Li Ma Office: NBC 126 Phone: (713)
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 8.
1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 2: Foundation.
1 Chapter 1 Foundation Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Copyright © 2010, Elsevier Inc. All rights Reserved.
1 Computer Communication & Networks Lecture 1 Introduction Waleed Ejaz
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
Chapter 1 Introduction Circuit/Packet Switching Protocols Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley,
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
ECE 4450:427/527 - Computer Networks Spring 2015 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 2: Overview of Computer Network.
Ch 1. Computer Networks and the Internet Myungchul Kim
Computer Networks with Internet Technology William Stallings
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 7.
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
Fall 2001CS 6401 Introduction to Networking Outline Networking History Statistical Multiplexing Performance Metrics.
Spring 2002CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
CSS CSS432 Foundation Textbook Ch1 Professor: Munehiro Fukuda.
CPE 432 Computer Design Dr. Walid Abu-Sufah 1CPE 432 Computer Design.
Lecture 1 Outline Statistical Multiplexing Inter-Process Communication.
Lecture # 03 Switching Course Instructor: Engr. Sana Ziafat.
9-Jan-164/598N: Computer Networks Overview Performance metrics - Section 1.5 Direct link networks –Hardware building blocks - Section 2.1 –Encoding - Section.
1 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Spring 2002CS 3321 Introduction Outline Statistical Multiplexing Network Architecture Performance Metrics (just a little)
CSE 413: Computer Network Circuit Switching and Packet Switching Networks Md. Kamrul Hasan
Introduction Computer networks: – definition – computer networks from the perspectives of users and designers – Evaluation criteria – Some concepts: –
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Computer Communication & Networks Lecture # 03 Circuit Switching, Packet Switching Nadeem Majeed Choudhary
1 Ram Dantu University of North Texas, Practical Networking.
Performance Metrics & Network Architectures Professor Jinhua Guo CIS 427 Winter 2003.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 2.
Lecture # 3: WAN Data Communication Network L.Rania Ahmed Tabeidi.
CSE331: Introduction to Networks and Security Lecture 2 Fall 2002.
1 Overview Administrative Networking: An Overview of Ideas and Issues.
CS380 Intro. to Comp. Networks Introduction & Foundation1 Introduction and Foundation.
ECE 4450:427/527 - Computer Networks Spring 2017
The University of Adelaide, School of Computer Science
CS Lecture 2 Network Performance
University of Houston Datacom II Lecture 1B Review Dr Fred L Zellner
Introduction to Computer Networks
Introduction and Foundation
Introduction and Foundation
Network Basics and Architectures Neil Tang 09/05/2008
Presentation transcript:

0907422 Computer Networks Dr. Walid Abu-Sufah Computer Engineering Department University of Jordan

Course Information Instructor: Teaching Assistant: Dr. Walid Abu-Sufah Office: Room 10 - Computer Engineering Office Hours:  Su, T, Th 11-12; Wed: 1-2 and by appointment. E-mail abusufah@ju.edu.jo Teaching Assistant: To be announced Class Website: http://www.ju.edu.jo/ecourse/netcourse/netindex.html

Goals for Today’s Class: course overview Goals of the course Learning the material Course grading Academic policies

What You Learn in This Course Knowledge: how the Internet works IP protocol suite Internet architecture Applications (Web, e-mail, VoIP, …) Insight: key concepts in networking Protocols Layering Resource allocation Naming Network programming skills NOT here but in 0907522 Socket programming Designing and implementing protocols

Prerequisite 0907421Communications (1) Probability and Statistics

Textbook Computer Networks: A Systems Approach, by Peterson & Davie, 4th Edition

Grading Policy Homework 4% Quizzes 16% Mid-term Exam 30% 5 homework assignments Quizzes 16% 5 quizzes, based on homeworks Mid-term Exam 30% Sunday, March 30 ; 5 - 6:30 Final Exam 50% Thursday, June 5 ; 5 - 7

Policies: The Course Web Site Posted on the course website you will find lecture notes; homeworks and their solutions; solutions of quizzes, old exams, and the midterm; classroom seat assignments (for enforcing attendance regulations); and grades. Class announcements, such as homework/quizzes dates and changes in assignments, will also be posted  on the Web. You are therefore responsible for checking the course web site. If you make an error because you did not check the Web, I will hold you fully responsible.

Policies: Homework and Quizzes Five sets of homework problems will be assigned. Unless otherwise announced in class, the solutions of the homework are due at the beginning of the first lecture in the weeks indicated in the course calendar on the website. No late homework will be accepted. One quiz will be given at the beginning of the same lecture when each of the five homeworks is collected. The quiz will be based on the homework. For each student, the lowest of the 5 grades of quizzes will be dropped. As a result, there will be no make-up quizzes for any reason. A similar grading approach will be used for the homeworks.

Policies: Makeup Midterm There will be no make-up for the midterm. In case of medical/ or other DISABLING emergencies, the instructor should be notified BEFORE  the midterm and his approval for missing the midterm should be obtained before the midterm. If for any reason the instructor could not be reached, the department secretary should be notified before the midterm. The phone number is 535-5000 Extension 23000.

Policies: Grading Corrections Ask the instructor for any grading correction requests within a week of returning the exam/quiz papers. After that, your grade will not be adjusted. If you find any mistake in grading, please let the instructor know. Your grade will not be lowered.

Policies: Class Attendance Class attendance will be taken. University regulations regarding attendance will be strictly enforced. If you miss class, you must obtain the covered material from a willing classmate and/or the course web site. The instructor will not be available (during office hours or other times) to repeat material covered.

Policies: Academic Honesty Your work in this class must be your own. Penalties for excessive collaboration and cheating are severe. Sharing homework answers is forbidden

Course Objectives At the end of the semester, you should be able to: Identify the problems that arise in computer networks Explain the advantages and disadvantages of existing solutions to these problems in the context of different networking regimes Understand the implications of a given solution for performance in various networking regimes Evaluate novel approaches to these problems

Okay, so let’s get started

What is a Network? Something that connects two or more computers Tools that help computers communicate .. and people communicate

Network Overview What functionality must a network provide? What are the requirements? (Sections 1.2 & 1.5) Connectivity Cost-effective Resource Sharing Support for common services needed by application processes Performance What is network architecture? How are networks designed and built? (Section 1.3) Layering Protocols Standards

Connectivity … Building Blocks Links: Links: coax cable, optical fiber, … Nodes: workstations, routers, … Links: Point-to-point Multiple access …

Indirect Connectivity Switched Networks Two types of nodes: hosts & switches Internetworks Networks (clouds) interconnected to form an internetwork A router or gateway: a node that is connected to two or more networks The cloud in Figure 1.3 distinguishes between the nodes on the inside that implement the network (they are commonly called switches, and their primary function is to store and forward packets) and the nodes on the outside of the cloud that use the network (they are commonly called hosts, and they support users and run application programs). Also note that the cloud in Figure 1.3 is one of the most important icons of computer networking. In general, we use a cloud to denote any type of network, whether it is a single point-to-point link, a multiple-access link, or a switched network. Thus, whenever you see a cloud used in a figure, you can think of it as a placeholder for any of the networking technologies covered in this book.

Recursive definition of a network Two or more nodes connected by a physical link OR Two or more networks connected by one or more nodes The cloud in Figure 1.3 distinguishes between the nodes on the inside that implement the network (they are commonly called switches, and their primary function is to store and forward packets) and the nodes on the outside of the cloud that use the network (they are commonly called hosts, and they support users and run application programs). Also note that the cloud in Figure 1.3 is one of the most important icons of computer networking. In general, we use a cloud to denote any type of network, whether it is a single point-to-point link, a multiple-access link, or a switched network. Thus, whenever you see a cloud used in a figure, you can think of it as a placeholder for any of the networking technologies covered in this book.

Effects of Indirect Connectivity Switching/Routing nodes receive data on one link and forward it onto another  switching network Circuit Switching Telephone Stream-based (dedicated circuit) Links reserved for use by communication channel Send/receive bit stream at constant rate Packet Switching Internet Message-based (store-and-forward) Links used dynamically Admission policies and other traffic determine bandwidth

Addressing Addressing Types of Addresses Routing Unique byte-string used to indicate which node is the target of communication Types of Addresses Unicast: node-specific Broadcast: all nodes on the network Multicast: subset of nodes on the network Routing The process of determining how to forward messages toward the destination node based on its address

Network Overview (continued I) What functionality must a network provide? What are the requirements? (Sections 1.2 & 1.5) Connectivity Cost-effective Resource Sharing Support for common services needed by application processes Performance

Cost-Effective Sharing of Resources Physical links and switches must be shared among many users Common multiplexing strategies (Synchronous) Time-Division Multiplexing (TDM) Frequency-Division Multiplexing (FDM)

Sharing Time-Division Multiplexing Frequency-division multiplexing Synchronous Frequency-division multiplexing frequency time

Statistical Multiplexing Statistical Multiplexing (SM) On-demand time-division multiplexing Defines an upper bound on the size of the block of data that each flow is permitted to transmit at a given time, a packet ensures that all flows eventually get their turn to transmit Scheduled on a per-packet basis Packets from different sources are interleaved Statistical multiplexing is really quite simple, with two key ideas. First, it is like STDM in that the physical link is shared over time—first data from one flow is transmitted over the physical link, then data from another flow is transmitted, and so on. Unlike STDM, however, data is transmitted from each flow on demand rather than during a predetermined time slot. Thus, if only one flow has data to send, it gets to transmit that data without waiting for its quantum to come around and thus without having to watch the quanta assigned to the other flows go by unused. It is this avoidance of idle time that gives packet switching its efficiency.

Statistical Multiplexing in a Switch Packets buffered in switch until forwarded Selection of next packet depends on policy How do we make these decisions in a fair manner? Round Robin? FIFO? How should the switch handle congestion?

Network Overview (continued II) What functionality must a network provide? What are the requirements? (Sections 1.2 & 1.5) Connectivity Cost-effective Resource Sharing Support for common services needed by application processes Performance

Support for common services needed by application processes Goal: Meaningful communication between application programs running on hosts connected to the network Idea Common services simplify the role of applications Hide the complexity of the network without overly constraining the application designer Semantics and interface depend on applications Request/reply: FTP, HTTP, Digital Library Message stream: video-on-demand, video conferencing The request/reply channel would be used by the file transfer and digital library applications. Guarantee that every message sent by one side is received by the other side Only one copy of each message is delivered Protect the privacy and integrity of the The message stream channel could be used by both the video-on-demand and videoconferencing applications, provided it is parameterized to support both one-way and two-way traffic and to support different delay properties. Might not need to guarantee that all messages are delivered Ensure that those messages that are delivered arrive in the same order in which they were sent Ensure the privacy and integrity of the video data Support multicast, so that multiple parties can participate in the teleconference or view the video.

Channels Channel The abstraction for application-level communication Idea Turn host-to-host connectivity into process-to-process communication Host APP Channel

Inter-process Communication Problems typically masked by communication channel abstractions Bit errors (electrical interference) Packet errors (congestion) Link/node failures Message delays Out-of-order delivery Eavesdropping Goal Fill the gap between what applications expect and what the underlying technology provides

Network Overview (continued III) What functionality must a network provide? What are the requirements? (Sections 1.2 & 1.5) Connectivity Cost-effective Resource Sharing Support for common services needed by application processes Performance

Bandwidth/throughput Performance Metric Data transmitted per unit time Example: 10 Mbps Link bandwidth vs. end-to-end throughput Notation KB = 210 bytes Mbps = 106 bits per second

Latency/delay Performance Metric Time from A to B Latency (delay): how long it takes to perform a particular function such as delivering a message or moving an object Example: 30 msec (milliseconds) Many applications depend on round-trip time (RTT)

Latency Components Propagation delay over each link Transmission time the specific amount of time it takes a signal to propagate from one end of a link to another Transmission time Queuing delays Software processing overheads

Performance Notes Speed of Light Comments Key Point 3.0 x 108 meters/second in a vacuum 2.3 x 108 meters/second in a cable 2.0 x 108 meters/second in a fiber Comments No queueing delays in a direct link Bandwidth is not relevant if size = 1bit Software overhead can dominate when distance is small Key Point Latency dominates small transmissions Bandwidth dominates large transmissions

Perceived latency (response time) vs. RTT

Delay x Bandwidth Product Metric Relative importance of bandwidth and latency depends on application Large file transfer is bandwidth critical Small messages (HTTP, NFS, etc.) are latency critical Variance in latency (jitter) can also affect some applications (e.g., audio/video conferencing) Delay x bandwidth product Amount of data in “pipe” Half of data that must be buffered before sender responds to slowdown request

Delay x Bandwidth Product channel between two processes = pipe delay = length bandwidth = area of a cross section bandwidth x delay product = volume Delay Bandwidth

Delay x Bandwidth Product Bandwidth x delay product How many bits the sender must transmit before the first bit arrives at the receiver if the sender keeps the pipe full Takes another one-way latency to receive a response from the receiver 4 5 6 7 8 9 10 11 1 2 3 A B

Delay x Bandwidth Product Example: Transcontinental Channel BW = 45 Mbps delay = 50ms bandwidth x delay product = (50 x 10–3 sec) x (45 x 106 bits/sec) = 2.25 x 106 bits

Bandwidth vs. Latency Relative importance 1-byte: Latency bound 1ms vs 100ms latency dominates 1Mbps vs 100Mbps BW 25MB: Bandwidth bound 1Mbps vs 100Mbps BW dominates 1ms vs 100ms latency 100 Mbps 1 Mbps 25MB 100Mbps 1B 1Mbps 100ms 1ms

Bandwidth vs. Latency (continued) Infinite bandwidth RTT dominates Throughput = TransferSize / TransferTime TransferTime = RTT + (1/Bandwidth) x TransferSize What is “Infinite or High” bandwidth? Its all relative 1 MB file to 1 Gbps link looks like a 1KB packet to 1 Mbps link Note that most of the time we are interested in the RTT scenario, which we simply refer to as the delay × bandwidth product, without explicitly saying that this product is multiplied by two. Again, whether the “delay” in “delay × bandwidth” means one-way latency or RTT is made clear by the context .