CPSC 441: Introduction 1-1
CPSC 441: Computer CommunicationsInstructor: Carey WilliamsonOffice: ICT 740Email: [email protected] Location: ICT 122Lectures: MWF 12:00 – 12:50Notes derived from “Computer Networking: A Top
Down Approach”, by Jim Kurose and Keith Ross,Addison-Wesley.
Slides are adapted from the book’s companion Web site,with changes by Anirban Mahanti and Carey Williamson.
CPSC 441: Introduction 1-2
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-3
Computer Network?
“interconnected collection of autonomouscomputers connected by a communicationtechnology”
What is the Internet?“network of networks”“collection of networks interconnected byrouters”“a communication medium used by millions”Email, chat, Web “surfing”, streaming media
Internet Web¿
CPSC 441: Introduction 1-4
The “nuts and bolts” view of the Internet millions of connected
computing devices calledhosts or end-systems
PCs, workstations, serversPDAs, phones, toasters
running network apps communication links
fiber, copper, radio, satellitelinks have differentcapacities (bandwidth)
routers: forward packets packet: piece of a message
(basic unit of transfer)
local ISP
companynetwork
regional ISP
router workstationserver
mobile
CPSC 441: Introduction 1-5
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-6
Applications (1) end systems (hosts):
run application programse.g. Web, email, ftpat “edge of network”
client/server modelclient host requests, receivesservice from always-on servere.g. Web browser/server;email client/server
Client/server model haswell-defined roles for each.
CPSC 441: Introduction 1-7
Applications (2) peer-to-peer model:
No fixed clients or serversEach host can act as both client and server at any time
Examples: Napster, Gnutella, KaZaA, BitTorrent
CPSC 441: Introduction 1-8
Applications (3) File transfer Remote login (telnet, rlogin, ssh)World Wide Web (WWW) Instant Messaging (Internet chat, textmessaging on cellular phones)
Peer-to-Peer file sharing Internet Phone (Voice-Over-IP) Video-on-demandDistributed Games
CPSC 441: Introduction 1-9
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-10
A Classification of Networks
Local Area Network (LAN)Metropolitan Area Network (MAN)Wide Area Network (WAN)
Wireless LAN (WLAN)Home Networks Personal Area Network (PAN) Body Area Network (BAN)
CPSC 441: Introduction 1-11
Local Area Network (LAN)
company/univ local areanetwork (LAN) connectsend system to edge router
Ethernet:shared or dedicated linkconnects end systemand router (a few km)10 Mbps, 100Mbps,Gigabit Ethernet
widespread deployment:companies, univ, homeLANs
LANs: chapter 5
CPSC 441: Introduction 1-12
Metropolitan Area Network (MAN)
home
cable headend
cable distributionnetwork (simplified)
Typically 500 to 5,000 homes
ACable TV Network is an example of a MAN
“City sized”: tens of kilometers
CPSC 441: Introduction 1-13
Cable Network Architecture: Overview
home
cable headend
cable distributionnetwork (simplified)
CPSC 441: Introduction 1-14
Cable Network Architecture: Overview
home
cable headend
cable distributionnetwork
server(s)
CPSC 441: Introduction 1-15
Wide Area Network (WAN)
Spans a largegeographic area, e.g., acountry or a continent
A WAN consists ofseveral transmissionlines and routers
Internet is an exampleof a WAN
CPSC 441: Introduction 1-16
Wireless Networks (WLANs) shared wireless access
network connects end systemto router
via base station or “access point” wireless LANs:
802.11b (WiFi): 11 Mbps wider-area wireless access
provided by telco operator3G ~ 384 kbps• Will it happen??
WAP/GPRS in EuropeWiMax available now
basestation
mobilehosts
router
To the wired network
CPSC 441: Introduction 1-17
Home networksTypical home network components: ADSL or cable modem router/firewall/NAT Ethernet wireless access
point
wirelessaccesspoint
wirelesslaptops
router/firewall
cablemodem
to/fromcable
headend
Ethernet(switched)
CPSC 441: Introduction 1-18
“internetworking”?
internetwork – interconnection ofnetworks – also called an “internet”
subnetwork – a constituent of an internet intermediate system – a device used toconnect two networks allowing hosts of thenetworks to correspond with each other
BridgeRouter
Internet is an example of an internetwork.
CPSC 441: Introduction 1-19
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-20
Layered Architecture: Why?
Networks are complex with many piecesHosts, routers, links, applications,protocols, hardware, software
Can we organize it, somehow? Let’s consider a Web page request:
Browser requests Web page from serverServer should determine if access is privilegedReliable transfer page from server to clientPhysical transfer of “bits” from server to client
CPSC 441: Introduction 1-21
Motivation Continued …
NetworkServices
ApplicationServices
CommunicationService
NetworkServices
ApplicationServices
CommunicationService
Web Server WebClient
Application logic
Reliable delivery
Transfer “bits”
CPSC 441: Introduction 1-22
Motivation Continued …Dealing with complex systems: explicit structure allows identification, relationship
of complex system’s pieceslayered reference model for discussion
modularization eases maintenance, updating of systemchange of implementation of layer’s servicetransparent to rest of systeme.g., change in network technology doesn’t affectrest of system
layering considered harmful? (design vs implemention)
CPSC 441: Introduction 1-23
Layers, Protocols, Interfaces
Web Server WebClient
Application logicprotocol
Reliable deliveryprotocol
Transfer “bits”protocol
NetworkServices
ApplicationServices
CommunicationService
NetworkServices
ApplicationServices
CommunicationService
LayerInterface
LayerInterface
CPSC 441: Introduction 1-24
Layered Architecture
Networks organized as a stack of layers?The purpose of a layer is to offer services tothe layer above it using a well-definedinterface (programming language analogy:libraries hide details while providing a service)Reduces design complexity
Protocols: “horizontal” conversations at anylayer n (i.e., between peer layers)
Data Transfer: each layer passes data &control information to the layer below;eventually physical medium is reached.
CPSC 441: Introduction 1-25
Layered Architecture (cont’d)
A set of layers & protocols is called aNetwork Architecture. Thesespecifications enable hardware/softwaredevelopers to build systems compliant witha particular architecture.
E.g., TCP/IP, OSI
CPSC 441: Introduction 1-26
Layering: Design IssuesHow many layers? What do they each do?How to identify senders/receivers?
AddressingUnreliable physical communication medium?
Error detectionError controlMessage reordering
Sender can swamp the receiver?Flow control
Multiplexing/Demultiplexing
CPSC 441: Introduction 1-27
Network Reference Models
Open Systems Interconnection (OSI)Model
Classic 7-layer model (covered in Wed tutorial) TCP/IP Model
Streamlined practical 4-layer protocol stack
CPSC 441: Introduction 1-28
Reference Models (2)
CPSC 441: Introduction 1-29
TCP/IP Model: History
Originally used in the ARPANETARPANET required networksusing leased telephone lines &radio/satellite networks tointeroperate
Goals of the model are:Seamless interoperabilityWide-ranging applicationsFault-tolerant to some extent
Application
Transport
Internet
Host-to-Network
CPSC 441: Introduction 1-30
The Application Layer
Residence of network applications and theirapplication control logic
Examples include:HTTP (Hyper-Text Transfer Protocol)FTP (File Transfer Protocol)TelnetSMTP (Simple Mail Transfer Protocol)DNS (Domain Name Service)
CPSC 441: Introduction 1-31
The Transport Layer
Concerned with end-to-end data transferbetween end systems (hosts)
Transmission unit is called segment TCP/IP networks such as the Internetprovides two types of services toapplications
“connection-oriented” service – TransmissionControl Protocol (TCP)“connectionless” service - User DatagramProtocol (UDP)
CPSC 441: Introduction 1-32
TCP: Connection-oriented Service
Handshaking between client & serverprograms
Parameters for ensuing exchangeMaintain connection-state
Packet switches do not maintain anyconnection-state; state is at end systems
hence “connection-oriented”Similar to a phone conversation TCP is bundled with reliability, congestioncontrol, and flow control.
CPSC 441: Introduction 1-33
UDP: Connectionless Service
No handshakingSend whenever and however you wantA “best effort” service
No reliabilityNo congestion & flow control services
Useful for network applications thatprefer quick delivery of most packetsrather than guaranteed (slow) delivery ofall packets (e.g., VOIP, video streaming)
CPSC 441: Introduction 1-34
The Internet Layer
End systems inject datagrams in thenetworks
A transmission path is determined for eachpacket (routing)
A “best effort” serviceDatagrams might be lostDatagrams might be arrive out of order
Analogy: Postal system
CPSC 441: Introduction 1-35
The Host-to-Network Layer
Somehow, host has to connect to thenetwork and be able to send IP Datagrams
How?
CPSC 441: Introduction 1-36
Internet protocol stack application: supporting network
applicationsFTP, SMTP, STTP
transport: host-host data transferTCP, UDP
network: routing of datagrams fromsource to destination
IP, routing protocols link: data transfer between
neighboring network elementsPPP, Ethernet
physical: bits “on the wire”
application
transport
network
link
physical
CPSC 441: Introduction 1-37
Layering: logical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical application
transportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
Each layer: distributed “entities”
implementlayer functionsat each node
entitiesperformactions,exchangemessages withpeers
CPSC 441: Introduction 1-38
Layering: logical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical application
transportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
data
data take data from app generate “segment”
according totransport protocol
add addressing,reliability check infoto form “datagram”
send datagram topeer
wait for peer to ackreceipt
data
transport
transport
ack
CPSC 441: Introduction 1-39
Layering: physical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
data
data
CPSC 441: Introduction 1-40
Protocol layering and data
Each layer takes data from above adds header information to create new data unit passes new data unit to layer below
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
source destinationMMMM
Ht
HtHn
HtHnHl
MMMM
Ht
HtHn
HtHnHl
messagesegmentdatagramframe
CPSC 441: Introduction 1-41
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-42
The Network Core
mesh of interconnectedrouters
the fundamentalquestion: how is datatransferred through net?
circuit-switching:dedicated circuit percall: telephone netpacket-switching: datasent thru net indiscrete “chunks”
CPSC 441: Introduction 1-43
Network Core: Circuit-Switching
End-to-end resourcesreserved for “call”
Link bandwidth, switchcapacity
Dedicated resourceswith no sharing
Guaranteed transmissioncapacity
Call setup required “Blocking” may occur
CPSC 441: Introduction 1-44
Network Core: Circuit-Switching
Capacity of medium exceeds the capacityrequired for transmission of a single signal
How can we improve “efficiency”? Let’smultiplex.
Divide link bandwidth into “pieces”:frequency division - FDMAtime division – TDMAcode division - CDMA (cellular networks)wavelength division - WDM (optical)
CPSC 441: Introduction 1-45
Circuit-Switching: FDMA and TDMA
FDMA
frequency
timeTDMA
frequency
time
4 usersExample:
CPSC 441: Introduction 1-46
Network Core: Packet-Switching “store-and-forward” transmission source breaks long messages into smaller“packets”
packets share network resources each packet briefly uses full link bandwidth resource contention
aggregate resource demand can exceed amountavailablecongestion: packets queue, wait for link useanalogy: Calgary commute at rush hour
CPSC 441: Introduction 1-47
Packet-Switching: Statistical Multiplexing
Sequence of A & B packets does not have fixedpattern statistical multiplexing.
In TDM each host gets same slot in revolving TDMframe.
A
B
C10 MbsEthernet
1.5 Mbs
D E
statistical multiplexing
queue of packetswaiting for output
link
CPSC 441: Introduction 1-48
Packet-switching versus circuit-switching
Great for bursty dataresource sharing
Excessive congestion: packet delay and lossprotocols needed for reliable data transfer,congestion control
Q: How to provide circuit-like behavior?bandwidth guarantees needed for audio/videoappsstill an ongoing research problem
Is packet switching a “slam dunk” winner?
CPSC 441: Introduction 1-49
Packet-switching: store-and-forward
Takes L/R seconds totransmit (push out)packet of L bits on tolink or R bps
Entire packet mustarrive at router beforeit can be transmittedon next link: store andforward
delay = 3L/R
Example: L = 7.5 Mbits R = 1.5 Mbps delay = 15 sec
R R RL
CPSC 441: Introduction 1-50
Packet-Switching: Message Segmenting
Now break up the messageinto 5000 packets
Each packet 1,500 bits 1 msec to transmit
packet on one link pipelining: each link
works in parallel Delay reduced from 15
sec to 5.002 sec
CPSC 441: Introduction 1-51
Packet-switched networks: forwarding
datagram network:destination address in packet determines next hoproutes may change during session (flexible?)no “per flow” state, hence more scalable
virtual circuit network:each packet carries tag (virtual circuit ID), tagdetermines next hopfixed path determined at call setup timepath is not a dedicated path as in circuit switched (i.e.,store & forward of packets)routers maintain per-call state
datagram networks need per packet routing.
CPSC 441: Introduction 1-52
Network TaxonomyTelecommunication
networks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
CPSC 441: Introduction 1-53
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-54
How do loss and delay occur?packets queue in router buffers packet arrival rate to link exceeds output link capacity packets queue, wait for turn if queue is full, arriving packets dropped (Drop-Tail)
A
B
packet being transmitted (delay)
packets queueing (delay)free (available) buffers: arriving packetsdropped (loss) if no free buffers
CPSC 441: Introduction 1-55
Four sources of packet delay
1. Processing delay:check bit errorsdetermine output link
A
B
propagation
transmission
nodalprocessing queueing
2. Queueing delay:time waiting at outputlink for transmissiondepends on congestionlevel of router
CPSC 441: Introduction 1-56
Delay in packet-switched networks3. Transmission delay: R=link bandwidth (bps) L=packet length (bits) time to send bits into
link = L/R
4. Propagation delay: d = length of physical link s = propagation speed in
medium (~2x108 m/sec) propagation delay = d/s
A
B
propagation
transmission
nodalprocessing queueing
Note: s and R are verydifferent quantities!
CPSC 441: Introduction 1-57
Nodal processing delay
dproc = processing delaytypically a few microsecs or less
dqueue = queuing delaydepends on congestion
dtrans = transmission delay= L/R, significant for low-speed links
dprop = propagation delaya few microsecs to hundreds of msecs
d nodal=d procdqueued transd prop
CPSC 441: Introduction 1-58
Queueing delay (revisited)
R=link bandwidth (bps) L=packet length (bits) a=average packet
arrival rate
traffic intensity = La/R
La/R ~ 0: average queueing delay small La/R -> 1: delays become large La/R > 1: more “work” arriving than can be
serviced, average delay infinite!
CPSC 441: Introduction 1-59
“Real” Internet delays and routes
What do “real” Internet delay & loss look like? Traceroute program: provides delay
measurement from source to router along end-endInternet path towards destination. For all i:
sends three packets that will reach router i on pathtowards destinationrouter i will return packets to sendersender times interval between transmission and reply.
3 probes
3 probes
3 probes
CPSC 441: Introduction 1-60
RoadmapWhat is a Computer Network?Applications of Networking Classification of Networks Layered ArchitectureNetwork CoreDelay & Loss in Packet-switched Networks Structure of the Internet Summary
CPSC 441: Introduction 1-61
Internet structure: network of networks
roughly hierarchical at center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity,
Sprint, AT&T), national/international coveragetreat each other as equals
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-1providersinterconnect(peer)privately
NAP
Tier-1 providersalso interconnectat public networkaccess points(NAPs)
CPSC 441: Introduction 1-62
Tier-1 ISP: e.g., SprintSprint US backbone network
CPSC 441: Introduction 1-63
Internet structure: network of networks
“Tier-2” ISPs: smaller (often regional) ISPsConnect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
Tier-2 ISP paystier-1 ISP forconnectivity torest of Internet tier-2 ISP iscustomer oftier-1 provider
Tier-2 ISPsalso peerprivately witheach other,interconnectat NAP
CPSC 441: Introduction 1-64
Internet structure: network of networks
“Tier-3” ISPs and local ISPslast hop (“access”) network (closest to end systems)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Local and tier-3 ISPs arecustomers ofhigher tierISPsconnectingthem to restof Internet
CPSC 441: Introduction 1-65
Internet structure: network of networks
a packet passes through many networks!
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
CPSC 441: Introduction 1-66
Introduction: SummaryCovered a “ton” of material! Internet overview what’s a protocol? network edge, core, access
networkpacket-switching versuscircuit-switching
Internet/ISP structure performance: loss, delay layering and service models Internet history (tutorial)
You now have: context, overview,
“feel” of networking more depth, detail to
follow!