backbone
CS454/654
2-2
Issues
Q
How do the request and response get transmitted between the requestor and the server?
O O
Protocols to facilitate communication Moving the request and reply messages through the network
What are the modes of communication between the requestor and the responder?
O O
CS454/654
2-3
What is a protocol?
Q
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:
O O O
Whats the time? I have a question introductions machines rather than humans all communication activity in Internet governed by protocols
Network protocols:
O O
CS454/654
2-4
Whats a protocol?
Human protocol Computer protocol
Hi Hi
Got the time?
2:00 time
<index.html>
CS454/654
2-5
Layered Protocols
Q
Divide functionality to different layers and let each layer provide one function. ISO OSI Layered network architecture
O O O
CS454/654
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002
2-6
Message Format
CS454/654
From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms Prentice-Hall, Inc. 2002
2-7
CS454/654
2-8
TCP, UDP IP, ATM virtual circuits Ethernet MAC, ATM cell transfer, PPP Ethernet base- band signalling, ISDN
Physical
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-9
Internet Protocols
Application (7) Presentation (6) Session (5) Transport (4) Network (3) Data Link (2) Physical (1) HTML, CGI, Java, FTP Telnet NFS SMTP HTTP HTTP
TCP IP
UDP
X.25
Ethernet RNIS
ATM
FDDI
CS454/654
2-10
TCP/IP Layers
Message Layers Application Messages (UDP) or Streams (TCP) Transport UDP or TCP packets Internet IP datagrams Network interface Network-specific frames Underlying network
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-11
ppp, ethernet
CS454/654
running in network hosts in user space exchange messages to implement app e.g., email, file transfer, the Web one piece of an app define messages exchanged by apps and actions taken use services provided by lower layer protocols
Application-layer protocols
O O O
application transport network data link physical application transport network data link physical
router server
workstation mobile
CS454/654
2-13
Defines interface between application and transport layer socket: Internet API
two processes communicate by sending data into socket, reading data out of socket
Data loss
some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer 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 some apps (e.g., Internet telephony, interactive games) require low delay to be effective
2-14
Bandwidth
Timing
CS454/654
CS454/654
2-15
UDP service:
Q
connection-oriented: setup required between client, server reliable transport between sending and receiving process flow control: sender wont overwhelm receiver congestion control: throttle sender when network overloaded does not provide: timing, minimum bandwidth guarantees
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-16
CS454/654
2-17
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-18
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-19
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-20
Class C:
192 to 223
0 to 255
Multicast address Class D (multicast): Class E (reserved): 224 to 239 240 to 255 0 to 255 0 to 255 0 to 255 0 to 255 1 to 254 1 to 254
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-21
IP Packet Layout
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-22
Network is a mesh of interconnected routers Two ways of setting up a connection between two computers O circuit switching: dedicated circuit per call: telephone net O packet-switching: data sent thru net in discrete chunks
2-23
CS454/654
Circuit Switching
End-end resources reserved for call
Q
link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required
CS454/654
2-24
Circuit Switching
Q
pieces allocated to calls resource piece idle if not used by owning call (no sharing) dividing link bandwidth into pieces
CS454/654
2-25
Packet Switching
Q
user A, B packets share network resources each packet uses full link bandwidth resources used as needed aggregate resource demand can exceed amount available congestion: packets queue, wait for link use transmit over link wait turn at next link
resource contention:
O O
CS454/654
2-26
Packet Switching
A B
10 Mbs Ethernet statistical multiplexing 1.5 Mbs
queue of packets waiting for output link
45 Mbs
CS454/654
2-27
Message Switching
Q Q Q
Message switching = Packet-switching without segmentation Packet switching: Store and Forward Message remains intact as it traverses the network
0 5 10 15 Time (sec.)
CS454/654
2-28
Packet switching allows more users to use network! 1 Mbit link; each user:
O O
N users
Q
circuit-switching:
O
1 Mbps link
packet switching:
O
CS454/654
Packet switching is great for bursty data O resource sharing O no call setup It incurs excessive congestion: packet delay and loss O protocols needed for reliable data transfer, congestion control How to provide circuit-like behavior? O bandwidth guarantees needed for audio/video apps O still an unsolved problem, but solutions such as ATM have been developed
CS454/654
2-30
Nodal processing
check bit errors determine output link
Queuing
A B
transmission propagation
time waiting at output link for transmission; depends on congestion level of router
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 (~2x108 m/sec) propagation delay = d/s
CS454/654
2-31
Routing
Q Q Q
Goal: move packets among routers from source to destination It is an issue in packet switched networks datagram network:
O O O
destination address determines next hop routes may change during session analogy: driving, asking directions 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-32
1 Links 4
B 2 C 5
E Routers
CS454/654
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
2-33
Routing Tables
Routings from A To Link Cost local 0 A 1 B 1 C 1 2 3 1 D E 1 2 Routings from B To Link Cost 1 A 1 B local 0 2 1 C 2 D 1 1 4 E Routings from C To Link Cost 2 2 A B 2 1 C local 0 2 D 5 E 5 1
From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed. Addison-Wesley Publishers 2000
Network Taxonomy
telecommunication networks
Circuit-switched networks
Packet-switched networks
FDM
TDM
connectionoriented
CS454/654