Title: EE 122: Lecture 25 (Review)
1EE 122 Lecture 25(Review)
- Ion Stoica
- December 6, 2001
2Overview
- A taxonomy of communication networks
- Router Architecture in Packet-Switching Networks
- Layering
- End-to-end argument
3A Taxonomy of Communication Networks
- Communication networks can be classified based on
the way in which the nodes exchange information
Communication Network
SwitchedCommunication Network
BroadcastCommunication Network
Packet-SwitchedCommunication Network
Circuit-SwitchedCommunication Network
Virtual Circuit Network
Datagram Network
4Broadcast vs. Switched Communication Networks
- Broadcast communication networks
- Information transmitted by any node is received
by every other node in the network - Examples usually in LANs (Ethernet, Wavelan)
- Problem coordinate the access of all nodes to
the shared communication medium (Multiple Access
Problem) - Switched communication networks
- Information is transmitted to a sub-set of
designated nodes - Examples WANs (Telephony Network, Internet)
- Problem how to forward information to intended
node(s) - this is done by special nodes (e.g., routers,
switches) running routing protocols
5A Taxonomy of Communication Networks
- Communication networks can be classified based on
the way in which the nodes exchange information
Communication Network
SwitchedCommunication Network
BroadcastCommunication Network
Packet-SwitchedCommunication Network
Circuit-SwitchedCommunication Network
Virtual Circuit Network
Datagram Network
6Circuit Switching
- Three phases
- circuit establishment
- data transfer
- circuit termination
- If circuit not available Busy signal
- Example telephone networks
7Timing in Circuit Switching
Host 1
Host 2
Node 1
Node 2
DATA
processing delay at Node 1
propagation delay between Host 1 and Node 1
propagation delay between Host 2 and Node 1
8Circuit Switching
- A node (switch) in a circuit switching network
Node
incoming links
outgoing links
9Circuit Switching Multiplexing/Demultiplexing
Frames
0
1
2
3
4
5
0
1
2
3
4
5
Slots
- Time divided in frames and frames divided in
slots - Relative slot position inside a frame determines
which conversation the data belongs to - E.g., slot 0 belongs to red conversation
- Need synchronization between sender and receiver
- In case of non-permanent conversations
- Need to dynamic bind a slot to a conservation
- How to do this?
- If a conversation does not use its circuit the
capacity is lost!
10A Taxonomy of Communication Networks
- Communication networks can be classified based on
the way in which the nodes exchange information
Communication Network
SwitchedCommunication Network
BroadcastCommunication Network
Packet-SwitchedCommunication Network
Circuit-SwitchedCommunication Network
Virtual Circuit Network
Datagram Network
11Packet Switching
- Data are sent as formatted bit-sequences,
so-called packets. - Packets have the following structure
- Header and Trailer carry control information
(e.g., destination address, check sum) - Each packet is passed through the network from
node to node along some path (Routing) - At each node the entire packet is received,
stored briefly, and then forwarded to the next
node (Store-and-Forward Networks) - Typically no capacity is allocated for packets
Header
Data
Trailer
12Packet Switching
- A node in a packet switching network
Node
incoming links
outgoing links
Memory
13Packet Switching Multiplexing/Demultiplexing
- Data from any conversation can be transmitted at
any given time - A single conversation can use the entire link
capacity if it is alone - How to tell them apart?
- Use meta-data (header) to describe data
14A Taxonomy of Communication Networks
- Communication networks can be classified based on
the way in which the nodes exchange information
Communication Network
SwitchedCommunication Network
BroadcastCommunication Network
Packet-SwitchedCommunication Network
Circuit-SwitchedCommunication Network
Virtual Circuit Network
Datagram Network
15Datagram Packet Switching
- Each packet is independently switched
- each packet header contains destination address
- No resources are pre-allocated (reserved) in
advance - Example IP networks
16Timing of Datagram Packet Switching
Host 1
Host 2
Node 1
Node 2
propagation delay between Host 1 and Node 2
transmission time of Packet 1 at Host 1
processing delay of Packet 1 at Node 2
17Datagram Packet Switching
Host C
Host D
Host A
Node 1
Node 2
Node 3
Node 5
Host B
Host E
Node 7
Node 6
Node 4
18A Taxonomy of Communication Networks
- Communication networks can be classified based on
the way in which the nodes exchange information
Communication Network
SwitchedCommunication Network
BroadcastCommunication Network
Packet-SwitchedCommunication Network
Circuit-SwitchedCommunication Network
Virtual Circuit Network
Datagram Network
19Virtual-Circuit Packet Switching
- Hybrid of circuit switching and packet switching
- data is transmitted as packets
- all packets from one packet stream are sent along
a pre-established path (virtual circuit) - Guarantees in-sequence delivery of packets
- However Packets from different virtual circuits
may be interleaved - Example ATM networks
20Virtual-Circuit Packet Switching
- Communication with virtual circuits takes place
in three phases - VC establishment
- Data transfer
- VC disconnect
- Note packet headers dont need to contain the
full destination address of the packet
21Timing of Datagram Packet Switching
Host 1
Host 2
Node 1
Node 2
propagation delay between Host 1 and Node 1
VC establishment
Data transfer
VC termination
22Datagram Packet Switching
Host C
Host D
Host A
Node 1
Node 2
Node 3
Node 5
Host B
Host E
Node 7
Node 6
Node 4
23Packet-Switching vs. Circuit-Switching
- Most important advantage of packet-switching over
circuit switching Ability to exploit statistical
multiplexing - Efficient bandwidth usage ratio between peek and
average rate is 31 for audio, and 151 for data
traffic - However, packet-switching needs to deal with
congestion - More complex routers
- Harder to provide good network services (e.g.,
delay and bandwidth guarantees) - In practice they are combined
- IP over SONET, IP over Frame Relay
24Final Exam
- Friday, December 14, 8am-11am
- Topics all lectures
- Format identical to the midterms
- Conceptual questions
- Problems
- Close books, no calculators
25Overview
- A taxonomy of communication networks
- Router Architecture in Packet-Switching Networks
- Layering
- End-to-end argument
26Router Architecture in Packet Switching Networks
- Set of input and output interfaces interconnected
by a high speed fabric
fabric
input interface
output interface
27Data and Control Planes
- Data Plane all operations performed by a router
on a packet as the packet propagates to its
destination - forwarding, buffer management, scheduling
- Control Plane all operation required to set and
maintain state in a router state required to
process packets on the data path - routing protocols, signaling
28Typical Functions Performed by Input Interface on
Data Path
- Packet forwarding decide to which output
interface to forward each packet based on the
information in packet header
128.16.120.xxx 1
12.82.xxx.xxx 2
1
2
29Typical Functions Performed by Output Interface
- Buffer management decide when and which packet
to drop - Scheduler decide when and which packet to
transmit
Buffer
Scheduler
1
2
30Typical Functions Performed by Output Interface
- Packet classification map each packet to a
predefined flow - use to implement more sophisticated services
(e.g., QoS) - Flow a subset of packets between any two
endpoints in the network
flow 1
flow 2
Classifier
Scheduler
1
2
flow n
Buffer management
31Overview
- A taxonomy of communication networks
- Router Architecture in Packet-Switching Networks
- Layering
- End-to-end argument
32What is Layering?
- A technique to organize a network system into a
succession of logically distinct entities, such
that the service provided by one entity is solely
based on the service provided by the previous
(lower level) entity
33Why Layering?
(FTP File Transfer Protocol, NFS Network File
Transfer, HTTP World Wide Web protocol)
FTP
NFS
Telnet
Application
Coaxial cable
Fiber optic
Transmission Media
- No layering each new application has to be
re-implemented for every network technology!
34Why Layering?
- Solution introduce an intermediate layer that
provides a unique abstraction for various network
technologies
FTP
NFS
Telnet
Application
Intermediate layer
Coaxial cable
Fiber optic
Transmission Media
35Layering
- Advantages
- Modularity protocols easier to manage and
maintain - Abstract functionality lower layers can be
changed without affecting the upper layers - Reuse upper layers can reuse the functionality
provided by lower layers - Disadvantages
- Information hiding inefficient implementations
36ISO OSI Reference Model
- Seven layers
- Lower three layers are peer-to-peer
- Next four layers are end-to-end
Application
Application
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Network
Datalink
Datalink
Datalink
Physical
Physical
Physical
Physical medium
37OSI vs. TCP/IP
- OSI conceptually define services, interfaces,
protocols - Internet provide a successful implementation
Application
Application
Presentation
Session
Transport
Transport
Network
Internet
Datalink
Host-to- network
Physical
OSI
TCP
38Overview
- A taxonomy of communication networks
- Router Architecture in Packet-Switching Networks
- Layering
- End-to-end argument
39End-to-End Argument
- Think twice before implementing a functionality
that you believe that is useful to an application
at a lower layer - If the application can implement a functionality
correctly, implement it a lower layer only as a
performance enhancement
J. H. Saltzer, D. P. Reed, D. D. Clark,
End-to-End Arguments in System Design, ACM
Transactions on Computer Systems, Vol. 2, No. 4,
1984, pp. 277-288
40Example Reliable File Transfer
Host A
Host B
Appl.
Appl.
OS
OS
- Solution 1 make each step reliable, and then
concatenate them - Solution 2 end-to-end check and retry
41Discussion
- Solution 1 not complete
- What happens if the sender or/and receiver
misbehave? - The receiver has to do the check anyway!
- Thus, full functionality can be entirely
implemented at application layer no need for
reliability from lower layers - Is there any need to implement reliability at
lower layers?
42Discussion
- Yes, but only to improve performance
- Example
- assume a high error rate on communication network
- then, a reliable communication service at
datalink layer might help
43Trade-offs
- Application has more information about the data
and the semantic of the service it requires
(e.g., can check only at the end of each data
unit) - A lower layer has more information about
constraints in data transmission (e.g., packet
size, error rate) - Note these trade-offs are a direct result of
layering!
44Rule of Thumb
- Implementing a functionality at a lower level
should have minimum performance impact on the
application that do not use the functionality
45Internet End-to-End Argument
- At network layer provides one simple service
best effort datagram (packet) delivery - Only one higher level service implemented at
transport layer reliable data delivery (TCP) - performance enhancement used by a large variety
of applications (Telnet, FTP, HTTP) - does not impact other applications (can use UDP)
- Everything else implemented at application level
46Key Advantages
- The service can be implemented by a large variety
of network technologies - Does not require routers to maintain any fined
grained state about traffic. Thus, network
architecture is - Robust
- Scalable