Module 2 Overview of Computer Networks

Similar documents
Overview of Computer Networks

Architecture and Performance of the Internet

Chapter 1 Computer Networks and the Internet

CSCI Topics: Internet Programming Fall 2008

Computer Networks & Security 2014/2015

Module 1 Introduction CS755! 1-1!

Computer Networks and the Internet

Introduction cont. Some Structure in the Chaos. Packet switching versus circuit switching. Access networks and physical media

Network Edge and Network Core

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? What s the Internet? What s the Internet?

CH.1. Lecture # 2. Computer Networks and the Internet. Eng. Wafaa Audah. Islamic University of Gaza. Faculty of Engineering

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Internet structure: network of networks

R2. The word protocol is often used to describe diplomatic relations. How does Wikipedia describe diplomatic protocol?

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

TCIPG Reading Group. Introduction to Computer Networks. Introduction 1-1

Communications and Computer Networks

Course book: Computer Networking. Computer Networks 3 rd edition. By Andrew ST S.Tanenbaum. Top Down approach 3 rd edition.

Computer Networks CS321

Network Applications

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

The Internet. Charging for Internet. What does 1000M and 200M mean? Dr. Hayden Kwok-Hay So

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network)

CSE 3461 / 5461: Computer Networking & Internet Technologies

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Transport and Network Layer

Distributed Systems. 2. Application Layer

ICS 153 Introduction to Computer Networks. Inst: Chris Davison

Principles of Network Applications. Dr. Philip Cannata

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Link Layer. 5.6 Hubs and switches 5.7 PPP 5.8 Link Virtualization: ATM and MPLS

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

CS335 Sample Questions for Exam #2

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

WAN Technology. Heng Sovannarith

Network Overview. The network edge: The network edge: Internet Services Models. The network edge: A closer look at network structure:

Chapter 2 - The TCP/IP and OSI Networking Models

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Communication Networks. MAP-TELE 2011/12 José Ruela

PLANEAMENTO E GESTÃO DE REDES INFORMÁTICAS COMPUTER NETWORKS PLANNING AND MANAGEMENT

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Lesson 1 - Computer Networks and Internet - Overview

Lecture Computer Networks

Protocols and Architecture. Protocol Architecture.

Review of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201

8.2 The Internet Protocol

Computer Networks Homework 1

ECE/CS 372 introduction to computer networks. Lecture 2. Midterm scheduled for Tuesday, May 7 th

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Introduction to TCP/IP

Zarządzanie sieciami telekomunikacyjnymi

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Introduction to LAN/WAN. Network Layer (part II)

Delay, loss, layered architectures. packets queue in router buffers. packets queueing (delay)

Overview: Internet vs Data Center Networks

Networking Test 4 Study Guide

Top-Down Network Design

an interconnected collection of autonomous computers interconnected = able to exchange information

Overview of TCP/IP. TCP/IP and Internet

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Data Communication Networks and Converged Networks

IP - The Internet Protocol

Introduction to computer networks and Cloud Computing

Network edge and network core. millions of connected compu?ng devices: hosts = end systems running network apps

Strategies. Addressing and Routing

Internet and IP addressing

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

What s the Internet. routers: forward packets (chunks of data) millions of connected computing devices: hosts = end systems

Chapter 5. Data Communication And Internet Technology

The OSI and TCP/IP Models. Lesson 2

Network Programming TDC 561

Final for ECE374 05/06/13 Solution!!

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

VOICE OVER IP AND NETWORK CONVERGENCE

1.1 History of Communication Networks

Requirements of Voice in an IP Internetwork

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Route Discovery Protocols

Transport Layer Protocols

PART OF THE PICTURE: The TCP/IP Communications Architecture

How To Understand The Internet From A Telephone To A Computer (For A Computer)

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

IT4405 Computer Networks (Compulsory)

How To Understand The Internet Of S (Netware)

Introduction Chapter 1. Uses of Computer Networks

Introduction to Computer Networks

WAN Data Link Protocols

Lecture 28: Internet Protocols

Objectives of Lecture. Network Architecture. Protocols. Contents

Computer Networks. Examples of network applica3ons. Applica3on Layer

Computer Networks Vs. Distributed Systems

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

Transcription:

Module 2 Overview of Computer Networks

Networks and Communication Give me names of all employees Who earn more than $100,000 % ISP intranet % % % backbone satellite link desktop computer: server: network link: CS454/654 2-2

Internet Connectivity Figure from Wikipedia CS454/654 2-3

Issues How do the request and response get transmitted between the requestor and the server? Protocols to facilitate communication Moving the request and reply messages through the network CS454/654 2-4

What is a protocol? A protocol defines the format and the order of messages sent and received among network entities, and the actions taken on message transmission and receipt Human protocols: What s the time? I have a question introductions Network protocols: machines rather than humans all communication activity in Internet governed by protocols Human protocol Hi Hi Got the time? 2:00 time Computer protocol TCP connection req. TCP connection reply. Gethttp://www.cs.uwaterloo.ca/ <index.html> CS454/654 2-5

Layered Architecture Can describe an airline system sequentially Lacks structure Any changes to one component requires re-describing the whole procedure We can instead recognize that there complementary functions at each end Can divide the airline functionality into layers Allows us to discuss a well-defined, specific part of a large and complex system. Example taken from Computer Networks A Top-Down Approach CS454/654 2-6

Layered Protocols Divide functionality to different layers and let each layer provide one function. ISO OSI Layered network architecture (International Organization for Standardization, Open Systems Interconnections) Function layers Interfaces Protocols at each layer From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 CS454/654 2-7

OSI Protocol Summary Layer Description Examples Application Protocols that are designed to meet the communication requirements of HTTP, FTP, SMTP, specific applications, often defining the interface to a service. CORBA IIOP Presentation Protocols at this level transmit data in a network representation that is independent of the representations used in individual computers, which may differ. Encryption is also performed in this layer, if required. Secure Sockets ( SSL),CORBA Data Rep. Session At this level reliability and adaptation are performed, such as detection of failures and automatic recovery. Transport This is the lowest level at which messages (rather than packets) are handled. Messages are addressed to communication ports attached to processes, Protocols in this layer may be connection-oriented or connectionless. TCP, UDP Network Data link Physical Transfers data packets between computers in a specific network. In a WAN or an internetwork this involves the generation of a route passing through routers. In a single LAN no routing is required. Responsible for transmission of packets between nodes that are directly connected by a physical link. In a WAN transmission is between pairs of routers or between routers and hosts. In a LAN it is between any pair of hosts. The circuits and hardware that drive the network. It transmits sequences of binary data by analogue signalling, using amplitude or frequency modulation of electrical signals (on cable circuits), light signals (on fibre optic circuits) or other electromagnetic signals (on radio and microwave circuits). IP, ATM virtual circuits Ethernet MAC, ATM cell transfer, PPP Ethernet base- band signalling, ISDN From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-8

Message Format From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002 CS454/654 2-9

Message Transmission (Assume only 3 layers) CS454/654 2-10

Internet Protocols Application (7) FTP Telnet NFS SMTP HTTP Transport (4) TCP UDP Network (3) IP Data Link (2) Physical (1) X.25 Ethernet Packet Radio ATM FDDI CS454/654 2-11

TCP/IP Layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets IP datagrams Network-specific frames Underlying network From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-12

Internet Protocol Stack Application: supporting network applications ftp, smtp, http Transport: host-host data transfer tcp, udp Network: routing of datagrams from source to destination ip, routing protocols Link: data transfer between neighboring network elements ppp, ethernet Physical: bits on the wire application transport network link physical message segment datagram frame CS454/654 2-13

Applications and Application- Layer Protocols application Application: communicating, distributed processes running in network hosts in user space exchange messages to implement app e.g., email, file transfer, the Web Application-layer protocols one piece of an app define messages exchanged by apps and actions taken use services provided by lower layer protocols transport network data link physical application transport network data link physical application transport network data link physical router workstation server mobile CS454/654 2-14

Application-Layer Protocols (cont). API: application programming interface Defines interface between application and transport layer socket: Internet API two processes communicate by sending data into socket, reading data out of socket What transport services does an application need? Data loss some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer Bandwidth some apps (e.g., multimedia) require a minimum amount of bandwidth to be effective other apps ( elastic apps ) make use of whatever bandwidth they get Timing some apps (e.g., Internet telephony, interactive games) require low delay to be effective CS454/654 2-15

Transport Service Requirements of Common Applications Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games financial apps no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10kb-5mb same as above few Kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no CS454/654 2-16

Internet Transport Protocol Services TCP service: connection-oriented: setup required between client, server reliable transport between sending and receiving process Receipt of packets returned as acknowledgements flow control: sender won t overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum bandwidth guarantees UDP service: unreliable data transfer between sending and receiving process does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee CS454/654 2-17

Flow Control Both flow control and congestion control affect the sending rate Flow control aims to eliminate the possibility of overflowing the receiver s buffer. Receiver keeps track of two variables: LastByteReceived and LastByteRead LastByteReceived LastByteRead <= ReceiveBufferSize Notifies the sender of its receive window size (rwnd) Sender keeps track of two variables LastByteSent and LastByteAcked Delays sending of packets to ensure that LastByteSent LastByteAcked <= rwnd CS454/654 2-18

Congestion Control Traffic from multiple paths that share the same routers/links can overwhelm capacity within the network. In TCP, senders limit the rate at which it sends traffic as a function of the perceived network congestion. If there is little to no perceived congestion Additive increase in sending rate If there is congestion Multiplicative decrease in sending rate Congestion is detected via: Lost packets CS454/654 2-19

Internet Apps: Their Protocols and Transport Protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file server Internet telephony Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NFS proprietary (e.g., Vocaltec) Underlying transport protocol TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP CS454/654 2-20

TCP Message Encapsulation over an Ethernet Application message TCP header port IP header TCP Ethernet header IP Ethernet frame From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-21

The programmer's conceptual view of a TCP/IP Internet Application TCP Application UDP IP From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-22

Internet Address Structure 7 24 Class A: 0 Network ID Host ID 14 16 Class B: 1 0 Network ID Host ID 21 8 Class C: 1 1 0 Network ID Host ID 28 Class D (multicast): 1 1 1 0 Multicast address 28 Class E (reserved): 1 1 1 1 unused From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-23

Decimal Representation of Internet Addresses octet 1 octet 2 octet 3 Class A: Network ID 1 to 127 0 to 255 Host ID 0 to 255 0 to 255 Network ID Host ID Class B: 128 to 191 0 to 255 0 to 255 0 to 255 Network ID Host ID Class C: 192 to 223 0 to 255 0 to 255 1 to 254 Multicast address Class D (multicast): 224 to 239 0 to 255 0 to 255 1 to 254 Range of addresses 1.0.0.0 to 127.255.255.255 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 Class E (reserved): 240 to 255 0 to 255 0 to 255 1 to 254 240.0.0.0 to 255.255.255.255 From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-24

Classless Interdomain Routing (CIDR) Breaking the IP address space into fixed size classes is space inefficient CIDR generalizes the notion of subnet addressing 32-bit address is divided into two parts a.b.c.d/x, where x indicates the number of bits in the first part of the address The x most significant bits signify the network portion (prefix) The remaining bits are for identifying individual hosts IP addresses are managed by ICANN (Internet Corporation for Assigned Names and Numbers) CIDR creates more subnets Each subnet needs to be advertised for routing We will see later that this increases the routing table size CS454/654 2-25

IP Packet Layout header IP address of source IP address of destination up to 64 kilobytes data From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-26

How to Transfer Data Through the Network Network is a mesh of interconnected routers Two ways of setting up a connection between two computers circuit switching: dedicated circuit per call: telephone net packet-switching: data sent thru net in discrete chunks CS454/654 2-27

Circuit Switching End-end resources reserved for call link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required CS454/654 2-28

Circuit Switching Network resources (e.g., bandwidth) divided into pieces pieces allocated to calls resource piece idle if not used by owning call (no sharing) dividing link bandwidth into pieces frequency division time division CS454/654 2-29

Packet Switching Each end-end data stream divided into packets User A, B packets share network resources Each packet uses full link bandwidth Resources used as needed Resource contention: Aggregate resource demand can exceed amount available Congestion: packets queue, wait for link use Store and forward: packets move one hop at a time Transmit over link Wait turn at next link CS454/654 2-30

Packet Switching A 10 Mbs Ethernet statistical multiplexing C B queue of packets waiting for output link 1.5 Mbs D 45 Mbs E CS454/654 2-31

Message Switching Message switching = Packet-switching without segmentation Packet switching: Store and Forward Message remains intact as it traverses the network Message 0 Message 5 Message 10 Message 15 Time (sec.) CS454/654 2-32

Packet Switching vs Circuit Switching Packet switching allows more users to use network! 1 Mbit link; each user: 100Kbps when active active 10% of time circuit-switching: 10 users packet switching: 35 users, probability > 10 active less than.004 N users 1 Mbps link CS454/654 2-33

Packet Switching vs Circuit Switching (2) Packet switching is great for bursty data resource sharing no call setup It incurs excessive congestion: packet delay and loss protocols needed for reliable data transfer, congestion control How to provide circuit-like behavior? bandwidth guarantees needed for audio/video apps still an unsolved problem, but solutions such as ATM have been developed CS454/654 2-34

Delays in Packet Switching Packets experience delay on end-toend path Sources of delay at each hop: Nodal processing check bit errors determine output link A Queuing time waiting at output link for transmission; depends on congestion level of router B Transmission delay R=link bandwidth (bps), L=packet length (bits) time to send bits into link = L/R Propagation delay d = length of physical link, s = propagation speed in medium (~2x10 8 m/sec) propagation delay = d/s transmission propagation nodal processing queueing CS454/654 2-35

Routing Goal: move packets among routers from source to destination It is an issue in packet switched networks datagram network: destination address determines next hop routes may change during session analogy: driving, asking directions virtual circuit network: each packet carries tag (virtual circuit ID), tag determines next hop fixed path determined at call setup time, remains fixed thru call routers maintain per-call state CS454/654 2-36

Routing in a Wide Area Network A 1 B Hosts or local networks 3 D Links 6 E 4 5 2 C Routers From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000 CS454/654 2-37

Routing Algorithms End hosts are directly attached to a default router Routers are responsible for forwarding packets from the source to the destination How do routers know where to forward the packets? Routers construct routing tables that map destinations to network links Routes should provide good properties, such as low latency Abstractly, the routes should minimize a cost metric 5 V 3 W 5 U 2 2 3 1 Z 2 1 X 1 Y CS454/654 2-38

Routing Algorithms Two main classifications of routing algorithms Global routing algorithm e.g. Link-state (LS) algorithm Connectivity of all nodes and all link costs serve as inputs Decentralized routing algorithms e.g. Distance-vector algorithm No node has complete information about the costs of all network links CS454/654 2-39

Link-State Routing Network topology and all link costs are known Each node broadcasts its link-state information to all other nodes in the network OSPF is an example of a link-state routing algorithm Makes use of Dijkstra s algorithm for finding least-cost paths from one node to all other nodes in the network Iterative algorithm After k iterations, the least-cost paths are known to k destinations These k paths will have the k smallest costs CS454/654 2-40

Link-State Routing U 5 2 1 V 2 X 3 3 1 W 1 Y 5 2 Z D(v): cost of the least-cost path from the source node to destination v p(v): previous node along the current least-cost path from the source to v N : subset of nodes, where v is in N if the least-cost path from the source to v is definitively known Step N D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z) 0 u 2,u 5,u 1,u inf Inf 1 ux 2,u 4,x 2,x Inf 2 uxy 2,u 3,y 4,y 3 uxyv 3,y 4,y 4 uxyvw 4,y 5 uxyvwz Example taken from Computer Networks A Top-Down Approach CS454/654 2-41

Distance Vector Routing The distance-vector algorithm is iterative, distributed, and asynchronous Each node receives some information from one or more directly attached neighbors (distributed) It exchanges information until the results converge (iterative) Messages are exchanged at different times between different nodes (asynchronous) Based on the Bellman-Ford equation d x (y) = min v{c(x,v) + d v (y)} d x (y) is the cost of the least-cost path from x to y c(x,v) is the cost of the link between x and v, where v is one of x s neighbors CS454/654 2-42

Distance Vector Routing Each node starts off with some estimate of its distance to every node that it knows of, which might only be a subset of all the nodes in the network. Known as its distance-vector D x = [D x (y): y in N] Exchange its distance-vector with its neighbors Update its own distance vector D x (y) = min v{c(x,v) + D v (y)} for each node y in N CS454/654 2-43

Node z table Node y table Node x table Y Distance Vector Routing X 2 1 x Y Z x y z x y z 7 Z x 0 2 7 x 0 2 3 x 0 2 3 y Inf Inf Inf y 2 0 1 y 2 0 1 z Inf Inf Inf z 7 1 0 z 3 1 0 X y z x Inf Inf Inf y 2 0 1 z Inf Inf Inf x y z x 0 2 7 y 2 0 1 z 7 1 0 x y z x 0 2 3 y 2 0 1 z 3 1 0 x y z x y z x y z x Inf Inf Inf x 0 2 7 x 0 2 3 y Inf Inf Inf y 2 0 1 y 2 0 1 z 7 1 0 z 3 1 0 z 3 1 0 Example taken from Computer Networks A Top-Down Approach CS454/654 2-44

Network Taxonomy telecommunication networks Circuit-switched networks Packet-switched networks FDM TDM Networks with VCs connectionoriented Datagram Networks connection-oriented & connectionless CS454/654 2-46