Title: Computer Networks Theory and Practice
1Computer Networks - Theory and Practice
CSE 434 / 598 Spring 2001
- Sourav Bhattacharya
- Computer Science Engineering
- Arizona State University
2Class Objectives
- Technical Goals
- Provide basic training in the area of Computer
and Communication Networks - A comprehensive protocol/algorithm level
understanding of the essentials of a network - Concept driven, not implementation/package driven
- Focus on core communication aspects, and not on
cosmetics - Achieve a level where you are ready to learn
about specific network implementations - Other Goals
- Learn to learn, Job well done, intellectual
honesty, mutual good wish, promote research
careers,
3Success Criteria
- At the end of the class
- Class does well in the tests, and projects
- Class has learnt the subject matter from the
instructor - Instructor has inspired few (at least !!) career
advancements - Instructor has improved the class material
- Dont Do List
- Instructor Demonstration of research
- Class Inhibitions, shy to ask questions,
interrupt...
4Text and Syllabus
- Computer Networks, by Andrew S. Tannenbaum, 3rd
ed., Prentice Hall, 1996 - Flow of Discussion
- Chapter 1 and 2 - background, assumed !!
- You are graduate students or undergrad seniors !!
- Chapter 4 - Medium Access Sublayer
- Chapter 3 - Data Link Layer
- Chapter 5 - Network Layer
- Chapter 6 - Transport Layer
- Sporadic Coverages Security and Encryption,
Network Management, Multimedia, WWW, ... (as time
permits)
5References
- High-Speed Networks TCP/IP and ATM Design
Principles, by William Stallings, Prentice Hall - Network Analysis with Applications, by William D.
Stanley, Prentice Hall - Local and Metropolitan Area Networks, by William
Stallings, Prentice Hall - Protocol Design for Local and Metropolitan Area
Networks, by Pawel Gburzynski, Prentice Hall - Introduction to Data Communications A Practical
Approach, by Larry Hughes, Jones and Burlett
Publishers. - High-Speed LANs Handbook, by Stephen Saunders,
McGraw-Hill
6The Network Design Problem At A Glance
- Design Analogy N persons can successfully, and
efficiently communicate amongst themselves,
sharing individual, group and global views - Step 1 Two remote persons can communicate
- Step 2 Three or more remote persons can
efficiently share a common medium to exchange
distinct views (but these people have to do the
entire co-ordination by themselves) - Step 3 Increasingly convenient ways of doing
Step 2 - Abstraction
- Quality of Service
- Value added features...
7Layered Protocol Hierarchies
- Basic data transfer occurs at the lowest layer
- The rest is merely solving human problems
- Abstraction and convenience of access
- Inter-operability
- Making sure that multiple users do not fight
- Or, if they do, at least gracefully, and with a
recourse
...
...
Layer N
Layer N
Layer 3
Layer 3
Layer 2
Layer 2
Layer 1
Layer 1
Physical Medium
8Quality of Connections
- Issues
- Layered Protocol Interfaces
- Protocol Header, and Body
- Nework Architecture
- Network Architecture
- Connections Type
- Simplex, vs. Duplex
- Connection-oriented, vs. Connection-less
(datagram) - Life of connection, vs. Delay of setting up a new
connection - QoS of Connections
9OSI Model
Application
Application
- Open System Interconnection (OSI) Model
- Data header at each layer
- Real data transfer at the lowest layer
- Logical data flow at upper layers
Presentation
Presentation
Session
Session
Transport
Transport
Network
Network
Data Link
Data Link
Physical
Physical
Physical Medium
10TCP / IP Model
Telnet, Ftp, Smtp, DNS, ...
Application
Application
TCP, or UDP
Transport
Transport
IP
Network
Network
Data Link
Data Link
ArpaNet, NSFNet, various LANs, ...
Physical
Physical
Physical Medium
- Application layer controls everything above the
Transport Layer (theme reduce the overhead)
11Network Standardization
- International Standards Organization (ISO)
- Various TCs, and Working Groups
- ANSI (Am. Natl Standards Inst.)
- NIST
- IEEE
- Internet Engineering Task Force (IETF)
- Produces stream of RFCs
12Medium Access Control
13Problem Introduction
- Two or more contenders for a common media
- Contenders Independent nodes or stations with
its own data/information to distribute - Distribute one-to-one, one-to-many,
one-to-all (routing, multicast, broadcast) - Data/Information anything from a bit to a long
message stream - Common media
- Fiber, cable, radio frequency channel, ...
- Characteristics of the media -- refer Chapter 2
14The Most Obvious Solution
- N cars to share a common road
- Two approaches
- Slice the road width into N parallel parts, i.e.,
Lanes(hopefully each part will still be wide
enough for a car) - Each car drives in its own Lane
- Regulate the cars to drive on a rotation basis,
i.e., one after the other - Careful co-ordination is critical
- No width restriction. Each car can enjoy the
entire road width !! - Problems
- Naive, and simplistic
- Opportunity for resource wastage
15The Two Naive Solutions...
- Frequency Division Multiplexing (FDM)
- For N user stations, partition the bandwidth into
N (equally sized?) frequency bands - Each user transmits onto a particular bandwidth
slot - No contention. But, likely under-utilization of
bandwidth. - Time Division Multiplexing (TDM)
- For N user stations, create a cycle of N (equally
sized ?) time slots - Each user takes its turn, and transmits only
during the corresponding time slot - No contention. But, likely under-utilization of
the time slots
16Channel Allocation on as needed Basis
- Instead of apriori partitioning of the channel
resource (bandwidth, time) - employ dynamic
resource management - Advantages include reduced channel resource
wastage - Disadvantages
- Require explicit (or, implicit) co-ordination of
transmission schedules - Co-ordination can be of several categories
- Detection and Correction
- Avoidance
- Prevention (contention-free !)
17Model and Assumptions
- User stations or Nodes
- Probability of a frame being generated in an
interval T is LT, where L is a constant for a
particular user. - Independent in their transmissions. Can transmit
a frame any time. - Concerns
- This model is not valid for co-related
transmissions (e.g., performance analysis for a
set of parallel/distributed programs or threads) - Single channel Assumption
- No second medium is available among the stations
to communicate (data, and/or control information) - Concern this assumption is not true for many
environments, where the control information may
be carried on a second channel.
18Model (contd...)
- Carrier Sense, or No Carrier Sense
- Before transmission nodes can (or, cannot) sense
if the channel is currently busy due to another
users message - Protocols can be lot more efficient if Carrier
Sense is true - Issue It is hardware, and analog device specific
- Activation Instances
- Continuous time a message can be attempted for
transmission at any time. There is no master
clock. - Slotted time a message can be delivered only at
a fixed set of points in time. Time axis is
discretized. Requires a master clock.
19ALOHA - A Simple Multiple Access Protocol
- N user stations, randomly generating data frames
- Anytime data is ready ---gt transmit on the
media(without care for collison) - Listen to the channel, and find out if there
is/was collison - If collison, then wait for a random time and goto
step 1 - Collision vulnerability period
- If frame time t, then vulnerability period 2t
- Reason two frames can collide (head, tail) or
(tail, head) at the extreme ends - Refer Figure 4-2
20 21Performance of ALOHA
- A lot of nodes are suddenly jumping into the
shared, common channel - What can you expect
about the performance ? - G frame transmission attempts (including new,
and re-transmission) - Thus, during a 2-frame vulnerability period
(refer Fig 4-2) there will be 2G frames generated - Probability that k frames are generated during a
given vulnerability period ((2G)k e(-2G)) /
k! - Probability that no frame will be generated,
i.e., k0, gt e(-2G) - Successful transmissions, or throughput rate
prob(none else transmits) G e(-2G)
22ALOHA gt Slotted ALOHA
- Best case performance of ALOHA
- G 0.5, Throughput 1/(2e), nearly 18
- What else can you expect from purely random, and
no carrier sense protocols - Slotted ALOHA
- Like ALOHA, in every sense, except when a
transmission request can originate - Discretize the time axis into slots, 1 slot 1
frame width - A node can only transmit a frame at a slot
beginning - Requires a master clock, typically one node
transmitting a special control signal at the
beginning of each frame - Issue Is clock synchronization that easy ?
23Performance of Slotted ALOHA
- Effect of restricted transmission request time
instants - Vulnerability period is reduced from 2t to t,
where t is the frame width (refer Figure 4-2, and
explain why ?) - Probability of no other transmission during one
frame e(-G) - Thus, Throughput G e(-G)
- Best throughput is for G1, with nearly 37
throughput - 37 utilization, 37 empty slots and 26
collisions - About twice better than pure ALOHA
- Exercise
- Increasing G would reduce the of empty slots.
Why that will not increase the throughput ? - Work out few examples...
24ALOHA gt Slotted ALOHA
Insert Fig 4-3 here
25Carrier Sense Protocols
- Best performance of Slotted ALOHA 1/e
- Since, nodes cannot sense the carrier prior to
transmission - In other words, they cannot avoid collision, can
only detect - Carrier Sense Protocols
- Can listen for a carrier, i.e., shared channel,
to become idle and then transmit - Carrier Sense Multiple Access (CSMA) class of
protocols - Persistent CSMA
- Also, called as 1-persistent, since it transmits
with a probability 1 - A node with ready data
- Listen for idle channel, if line is busy then
WAIT Persistently - When channel is free, transmit the packet, and
then listen for a collision - If collision, then sleep for a random time and
goto Step 1
26Persistent CSMA
- How does contention resolution occur ?
- Depends on the randomness of the wait periods
- If a set of random wait periods, one from each
user, are in effect then eventually everyone will
get through... - Role of Propagation Delay
- Collision detection time depends on the
propagation delay - If d is the propagation delay, then worst case
collision detection time 2d - d 0, there may still be some collisions
- Analogous to round table conference discussions
among human users - Improvement over ALOHA
- Nodes do not jump in at the middle of another
nodes transmission
27Non-Persistent CSMA
- Persistent CSMA
- When looking for an idle channel, it keeps a
continuous wait - A greedy mode for seize asap
- Consequence multiple contenders, each in the
seize asap mode will lead to followup
collisions - Non-Persistent CSMA
- If an idle channel is not found, the node
desiring to transmit does not wait in a grab as
soon as available mode - Instead, the node attempting to transmit goes
into a random wait period. It wakes up at the end
of the random wait, and re-tries for an idle
channel - Benefit reduced contention (Note it includes a
2-level randomness) - Random wait, if not found idle channel
- Random wait, if found idle channel, transmitted
but had collision
28Non-Persistent CSMA gt p-Persistent CSMA
- Contention reduction strategy
- Involve more and more random delays in each user
activities - Throughput will increase, but individual user
delays will decrease - p-Persistent CSMA
- Channel is time slotted, similar to Slotted ALOHA
- A node with ready data
- Look for an idle channel, if channel is busy then
wait for the next slot - If idle channel found then transmit with
probability p (i.e., defer until the next slot
with prob 1-p) - If next slot is also idle, then transmit with
probp, and defer for the second next slot with
prob 1-p - Continue until the data is transmitted, or some
other node starts transmitting - If so, wait for a random time and goto Step 1
29Why p-Persistent CSMA ?
- The more probabilistic events, and randomness gt
the less contention and increased throughput - Degrees of uncertainty
- Persistent CSMA 1, random delay when a
collision occurs - Non-Persistent CSMA 2, random delay both at the
channel seek, and at the collision - p-Persistent CSMA 2 (but different kind from
Non-Persistent) - Random delay at collision (as Non-Persistent)
- Deterministic seizure attitude at channel seek
time (like Persistent) - Slotted time (like Slotted ALOHA)
- But, non-deterministic transmission even when
channel is idle - An additional level of uncertainty beyond
Persistent CSMA)
30Performance of CSMA Class of Protocols
- Throughput and individual user delays are against
each other - Throughput
- Non-persistent is better than Persistent
- Non-Persistent VS. p-Persistent
- Depends on the value of p
- Both have 2 degrees of uncertainty, but different
kinds - Refer Figure 4-4 for an aggregate performance
depiction - In increasing throughput
- Pure ALOHA
- Slotted ALOHA
- 1-Persistent, or Persistent CSMA
- 0.5 Persistent CSMA
- (Non-Persistent, 0.1 Persistent) CSMA
- 0.01 Persistent CSMA
31 32CSMA with Collision Detection
- CSMA does not abort a transmission when a
collision occurs - Colliding transmissions will continue (until the
frame completion) - A fair (!!) amount of garbage being generated,
once a collision occurs - Why not abort transmission as soon as a collision
is detected - CSMA with Collision Detection
- IEEE 802.3, Ethernet protocol
- Quickly terminate damaged frames
- Contention periods are single slot each, not a
frame width (Fig 4-5) - Resource wastage width of the slots (and not
those of the frames) - Slot width worst case signal propagation delay
- Actually, twice of that
- Includes the delay of the analog devices as well
33 34Collision-Free Protocols
- Channel co-ordination can be of several
categories - Detection and Correction
- Avoidance
- Prevention (contention-free !)
- Static MAC Policies
- Collision-free by design, i.e., avoidance
- Resource utilization may be questionable
- Dynamic MAC with Collision Detection
- Like CSMA/CD
- Dynamic MAC with contention prevention
- Protocol does few extra steps in run-time to
prevent collision
35Reservation-Based Dynamic MAC Protocols
- Protocols consist of two phases
- Reservation or bidding process
- Actual usage, after the bidding process
- Reservation phase
- All nodes with data to transmit go through the
reservation phase - Result one or more winners gt implicit
reservations - Transmission phase
- The winner channel(s) transmits (one after
another) - Bit-Map Protocol - One Reservation Policy
- Basic idea stems from Link List approach
- Refer Figure 4-6
36 37Bit-Map Protocol
- N Contention Slots for N stations
- Node i transmits a 1 in Slot i, iff node i has
data to send - The collection of 1s in the Contention Slot will
indicate which stations are with data (to
transmit) - Followed by Transmission Phase
- Allocate Frames only for those Nodes with a 1 in
the Contention Slots - Performance
- Low load -
- Frames time ltlt Contention Slot time
- Contention Slots delay for Low numbered station
-- 1.5N (why ?) - Contention Slots delay for High numbered station
-- 0.5N (why?) - Average wait N slots (sloppy analysis !!)
- For d-bit data frames, efficiency d / (d N)
38Performance of Bit-Map Protocol
- At high load
- Multiple (k) frames per each group of N
Contention Slots - Efficiency kd / (N kd)
- For k gt N, efficiency d/(d1)
- Question ?
- Is this a realistic analysis ?
- Can you do a queueing analysis for this protocol
? - Is there any fundamental bottleneck ?
39Binary Countdown Protocol
- 2-phase Protocol Reservation followed by
Transmission - Reservation phase
- Each station, with ready data, transmits its bit
address in msb to lsb order - At each bit-position, binary OR of all the
respective bits from each node. If a node with a
0-bit, observes a 1 after the OR operation - then
it withdraws from the competition. The latest
surviving node is the winner. - Transmission phase Winner (single) transmits the
data - Example, nodes 3, 4 and 6 have data to transmit
- Node ids (0011), (0100) and (0110) get
transmitted - First transmission 0, 0, and 0
- Second transmission 0, 1 and 1 gt Node 3
withdraws - Third transmission none, 0, and 1 gt Node 4
withdraws - Node 6 is the winner. Node 6 transmits data frame.
40Performance of Binary Countdown Protocol
- Note only a single winner in this approach
- The node with the highest bit address
- This approach may starve the lower numbered users
- For N nodes, ln(N) bit addresses will be
transmitted - d bits frame gt efficiency d / (d ln(N))
- Enhancements
- Bit ordering different from (msb --gt lsb) type
- Parallelized version of binary countdown, instead
of serial - Efficiency can reach upto 100
41Limited Contention Protocols
- Design features
- Low traffic load - Collision detection approaches
are better, they offer low delay, and not much
collision occurs anyways - High traffic load - Collision free protocols are
better, they have higher delay, but at least the
channel efficiency is much better... - What if we combine the advantages of the two ?
- Limited Contention Protocols
- Idea Do not let every station compete for the
channel with equal probability. Allow different
groups of nodes to compete at different times... - Refer Figure 4-8, for Success Probability f(
ready stations) - Question give an analogy of this idea using the
car/road domain...
42 43Adaptive Tree Walk - Limited Contention Protocol
- Group the N nodes as a log(N) height binary tree
- Tree leaves are the N nodes
- Starting phase, or immediately after a successful
transmit - All N nodes can compete for the channel
- If one of the nodes acquire a channel, then
repeat with all N nodes as the contenders list - Else, if collision then narrow the contenders
list left subgroup of nodes - If one of the nodes acquire a channel, then shift
to the right sibling group of nodes for the next
slot - Else, if there is a further collision, narrow
down the contenders list to the leftward
children subtree (Repeat...) - Refer Figure 4-9, essentially walk around with
various subgroups of the tree leaves at each time
as the Contenders list
44 45Wavelength Division Multiplexed MAC Protocol
- Analogous to FDM, used popularly for optical
networks - Partition the wavelength spectrum into (equal ?)
slices - One slice for each node / user
- Can apply TDM in conjunction as well
- Useful for implementation of broadcast topologies
- Refer Figure 4-10, each wavelength slice has two
parts - for control information, and for data
values - Can also implement point-to-point network
topologies (how ?) - Collectively it is called TWDM (time-wave-division
multiplexed) MAC protocol - Key design issue transmitters, and receivers
at each node - Frequencies and Tunability of the transceivers...
46 47WDMA - A Particular WDM MAC
- WDMA - a broadcast based protocol
- Each node is assigned two channels, for Control
and for Data - The data channel is slotted
- One slot for every other node
- One slot for status information of the host node
itself - The control channel is also slotted
- Supports three classes of traffic
- Constant data rate connection-oriented traffic
- Variable data rate connection-oriented traffic
- Datagram traffic, e.g., UDP packets
- Each node has two receivers (one fixed freq,
another tunable) and two transmitted (one fixed
freq, another tunable)
48Arbitrary Topology Configurations using WDM and
TDM
- Consider any graph topology
- Replace every bi-directional edge using two
back-to-back simplex edges - Assign each simplex edge of the graph topology to
one slot in the (frequency, time) - Select time slots just adequate enough so that
freq time slots gt the simplex edges - Work out an example
49Wireless LAN Protocols
- Consider a Cellular Network, with Cell sizes
anywhere between few meters to several miles - Frequency reuse is adopted, as a feature of
Cellular system - What could be a typical MAC ? Can CSMA work ?
- No, since there is no common broadcast channel
which everyone eventually listens to - Refer Figure 4-11
- Design difficulty how to detect interference at
the Receiver ? - Hidden station problem Two nodes transmit to a
common receiver located in the middle - Competitor station is too far away
- Exposed station problem Two adjacent nodes
transmitting in opposite directions. False sense
of competition...
50 51MACA - Multiple Access with Collision Avoidance
- Idea have both the sender and receiver ackn each
other stating the length of upcoming transmission - Consequently, neighbors both around the sender
and receiver will be aware of the transmission
activity and its duration (from the bits in the
transmission) - Figure 4-12
- Protocol
- Sender send a request-to-send (RTS) signal to
receiver with bits in the upcoming data frame - Receiver ackn to sender using a clear-to-send
(CTS), if no collision. - Sender start transmitting upon receiving the CTS
- Where is the catch ? Both the senders and
receivers neighbor can hear the message
initiation along with size !!
52 53MACA and MACAW
- Collisions in MACA
- Still possible, but chances are much reduced
- If two nodes initiate an RTS simultaneously
- Collision gt backoff and re-try later (like
CSMA) - Backoff approach is based upon a binary
exponential scheme - MACAW - an enhanced MACA Protocol
- ACK signal at the MAC layer, after each data
frame - Include carrier sensing to further reduce
collision(Although, carrier could only be sensed
locally.) - Random wait and re-try transmission at every
message level, instead of at every node level - Congestion information exchange between pairwise
stations, leading to better congestion control
and backoff approaches
54Protocols for Digital Cellular Radio
- Significant usage for mobile telephony
- Each connection lasts longer than few msec
- Hence, channel allocation per Call is better than
per Frame (why ?) - Preferably use digital coding, instead of analog
- Allows compression of data/speech
- Allows to integrate voice, data, fax, ...
- Can include error-correcting codes (for
reliability) and encryption (for security) - GSM - Global System for Mobile Communication
- Allocated in the 900 MHz band, later re-shuffled
to the 1800 MHz range as well (called DCS 1800) - Employs 124 bi-directional freuqncy channels
within each cell - Refer Figure 4-13
55 56GSM - Details
- Each cell has 124 (base station --gt user nodes)
frequency channels 124 (user nodes --gt base
station) freq. channels - These are used for Data In/Out and Control
signals - Each freq. channel is 200KHz wide, allowing a
fair bit rate !! - Each freq. channel is 8-way TDM slotted
- Thus, a total of 992 (124 8) logical
connections are possible - Not all of the 992 connections are implemented
- for avoiding frequency conflicts with neighboring
cells - Also, for enhancing the bps within each logical
connection - Format of the TDM slots
- 148 bit in each slot, 8 slots per frame for time
division multiplexing, and 26 frames to create a
multiframe
57Data Format of GSM Frames
- Refer Fig. 4-14
- Each TDM slot, of 148 bits, consist of
- 3 start bits
- 57 bit Information
- 1 bit Voice/Data toggle
- 26 bit synchronization information
- 1 bit Voice/Data toggle
- 57 bit Information
- 3 stop bits
- 8 TDM slots create a TDM frame
- Slots are separated by 30 microsec guard time
(worth 8.25 bit) - Guard times accommodate lack of sync, and data
overflow
58 59GSM (contd...)
- 26 TDM Frames constitute a TDM multi-frame
- 24 frames are data use, 1 frame for control, 1
left for future use - Time spent for a TDM multiframe is 120 milisec
- Effective data rate in each logical connection is
9600 bps - Other GSM channels
- Apart from the GSM framing structure, it also
supports other specific purpose channels - Broadcast Control Channel
- Continuous stream of outputs from the Base
Station to all the nodes describing the Base
Station id - Mobile nodes check the strength of this signal to
detect the cellular parenthood
60Other GSM Channel (contd...)
- Dedicated Control Channel
- for location updating, registration and call
setup - each base station maaintains a data structure
with all intra-cell mobile nodes the control
channel exchanges information to keep this data
structure updated - Common Control Channel
- Paging Channel
- Base station uses this for announcing Incoming
Calls - Mobile nodes listen to this for answering
Incoming calls - Random Access Channel
- Slotted ALOHA to setup a call in the Dedicated
Control Channel - A node can setup a Call using this Channel
- Access Grant Channel
- response of Random Access Channel
61GSM vs. CDPD Cellular Digital Packet Data
- GSM
- Circuit Switched, not packet switched
- Not friendly to cellular handoffs, each handoff
can miss some data - Increased error rate
- CDPD
- A packet switched, digital datagram service
- Using 30 KHz channels, it can offer 19.2 Kbps
links (excluding protocol overhead gt 9600 bps
data channels) - CDPD System Architecture
- Three kinds of nodes mobile end system, base
stations and base interface stations (which
connect between base stations and to the
Internet) - Refer Figure 4-15
62 63CDPD Details
- Uses three types of interfaces
- E-Interface Connects a CDPD Network to the
outside world networks, e.g., the Internet - I-Interface Connects between multiple CDPD areas
(basically, between multiple cells) - A-Interface Between base station and mobile
nodes - One Downlink part, from Base Station to Mobile
Noeds - Not difficult to manage, since it has only one
user (the Base Station) - One Uplink channel, shared by all the mobile end
users - Digital Sense Multiple Access protocol adopted by
the mobile end nodes - Similar to Slotted, p-Persistent CSMA
- Data is packetized, time axis is slotted, and
re-entry attempts are spread out to
non-consecutive time slots - Combines the benefits of Slotted ALOHA,
p-Persistent CSMA
64Collision in CDPD
- Possible, when two or more mobile end nodes start
on a time slot together - Mobile hosts may not immediately detect a
collision (sensing delay due to RF propagation) - Microblock transmission is faster than the rate
of detection of a failure - Correct/Incorrect reception of microblock n is
delayed until microblock n2 - In between, the mobile node just goes ahead and
continues transmission - If a failure is detected (later), it stops -
otherwise transmission continues - Voice data has higher priority, data transmission
is next
65Code Division Multiple Access
- CDMA - a completely new line of MAC approach
- MAC approaches so far TDM, FDM, WDMA, slotted
ALOHA, ... - CDMA - each user transmits across the entire
spectrum - However, nobody collides with each other
- Each node has a unique code, called Chip, using
which it transmits - The uniquness of the Chips ensure no eventual
collision - Analogy - Multiple people speaking in a room
- TDM everyone takes turn in speaking
- FDM Separate clusters of people, each speaking
within its cluster, yet not being overheard at
other clusters - CDMA Everybody speaks loud and clear to
everybody else, but using different languages
66CDMA - Summary
- Each node has a unique sequence, called Chip
- Usually its a 64 or 128 bit pattern, but we
demonstrate using a 8-bit Chip - Example As chip (0, 0, 0, 1, 1, 0, 1, 1)
- If A wants to transmit a 1, it will send the
above chip - If A wants to transmit a 0, then it will send
1s complement of the Chip - Another node, B, will have a different Chip
sequence - Orthogonal from every other nodes Chip
- Normalized inner product of any pair of Chip
sequences 0 - Thus, As Chip ltnormalized inner productgt Bs
Chip 0 - By definition, As Chip ltnorm. inner prod.gt
Complement(Bs Chip) 0 - Bit sequence within the Chips are transmitted
across the entire spread spectrum
67CDMA - Bandwidth Usage
- Consider 100 nodes, and 1 MHz spectrum with 1
Mbps - FDM allocates 10 KHz per station
- Each station has a 10 Kbps data rate
- CDMA, with m bit Chips
- Allocates the entire 1 MHz to each station
- Thus, each stations data rate 1000/m Kbps
- When m is smaller than 100, CDMA is a better
bandwidth utilization - Where is the catch ?
- CDMA will expect to treat the RF media in an
analog fashion - Voltages (RF transmission powers) will be
expected to be additive in value - It can get more noisy, likely to be more erroneous
68CDMA - Example (refer Figure 4-16)
- Four nodes, A, B, C, and D each with unique 8-bit
Chip - 0-bits in the Chip sequence can be treated as -1
for voltage or transmission power point of view - Two or more nodes transmitting together simply
adds their voltages (addition of negative values
indicate voltage or RF power reduction --gt this
is a major source of error, in analog handling) - The design of the Chip sequences ensure that
- A ltnorm. inner prod.gt B 0
- A ltnorm. inner prod.gt (complement of B) 0
- Suppose, A and C transmit a 1, while B transmit a
0 - T (A not(B) C) is transmitted. Everyone
receives this. - Receiver node D, trying to listen to C, computes
C ltnorm. inner prodgt T - C.A C.(not(B)) C.C 1, where 1 is what C
transmitted
69 70CDMA Example (contd...)
- Suppose, C transmitted a 0 in the previous
example - T (A not(B) not(C))
- The receiving node D will compute
- C . T C.A C.(not(B)) C.(not(C))
- 0 0 (-1) -1
- 0-bit is assumed to have a value -1
- Efficiency of CDMA
- Theoretically, can be arbitrarily large
- In practice, the noise level, analog value
handling and bits/Chip pose limitations - Design rule if you want to enhance b/w, and can
live with some noise - go for CDMA (Korean
Telecom) - Question Why the name Chip
71Theory to Practice
- CSMA/CD MAC Protocol with various degrees of
Persistency - IEEE 802.3 is a specific implementation
- Random delay, if collision occurs, is based on a
Binary Exponential Backoff algorithm - Average case performance Moderate
- However, no worst case delay guarantee for
individual stations - Token Bus and Token Ring Protocols
- Worst case bounded delay, may be useful for
Real-Time application - IEEE 802.4 and 802.5 LAN standards
- LAN to MAN and fairness issues
- Distributed Queue Dual Bus (DQDB), IEEE 802.6
- IEEE 802.2 Logical Link Control
72Ethernet ??802.3
- Essentially, it is a 1-persistent CSMA/CD
Protocol - Looking for an idle channel
- If not found, i.e., Channelbusy, station waits
in a greedy mode - If Channel idle, station immediately attempts
to transmit data - If no collision, then successful transmission
- If collision, stop transmission immediately and
go into a random delay wait more - Requires broadcast mode cable topology
- Linear, Backbone, Tree, Segments with Repeaters
- Figure 4-19
- Worst case delay in broadcast transmission
affects performance (Efficiency, for example)
73 74Binary Exponential Backoff Algorithm for Random
Delay Wait
- Motivation
- Random delay to ensure that collissions will
eventually be resolved - Minimize the probability that two (or more)
colliding stations will keep colliding again and
again - Once done so, then minimize the absolute ranges
of delay periods during these random wait cycles - If few stations compete, the range of random
delays should be smaller - Chances of consecutive collisions is less, hence
minimize the random delay period - If collisions occur in consecutive attempts, then
the range of random delays should be increased
(perhaps, rapidly) to quickly resolve the
colliding stations - Here, two or more stations are repeatedly
colliding. Hence, most immediate priority is to
resolve the conflict between them.
75Binary Exponential Backoff (contd...)
- After the first collision
- random wait period is either 0 (i.e., re-try next
slot) or 1 - After the second consecutive collision
- random wait period is in the range 0, 1, 2, and
3 - After the i-th consecutive collision, ilt 10
- random wait period is in the range 0, 1, 2, ...,
2i -1 - For, 11 lt i lt15, the random wait period range
is fixed 0, 1023 - For i16, an abnormal transmission event
interrupt is sent to the message source - Features
- For fewer stations, and fewer collisions gt
average randon wait is small - For many stations, and lot of collisions gt
collision gets resolve quickly
76Ethernet Addressing
- Frame Format
- Transmission _at_ frame quantums (viz. collision
detection advt.) - Preamble 7 Bytes
- Each byte 10101010 gt 10 MHz square wave for
5.6 microsec - Used for clock synchronization
- Start Delimitter 1 Byte (10101011)
- Destination (and, Source) Address 2 or 6 Bytes
- Data Length 2 Bytes Actual Data 0 to 1500
Bytes - Pad 0 to 46 Bytes (used for ensuring gt 64 bytes
after dest.addr) - Checksum 4 Bytes (32-bit CRC 8 bit
end-delimiter)
7 1 2 or 6 2 or 6
2 0-1500 0-46 4
Preamble Start Dest.Addr. Source Addr
Length Data Pad Checksum
77802.3 Frame Format
Insert Figure 4-21 here
78Ethernet Addressing (contd.)
- Data length 0 to 1500 Bytes
- Effects of short data frames
- Too small data length can confuse the receiver
- Is it a collided frame, or real (short) data ?
- Also, two frames may start at distant ends of the
cable - Answer Each frame must be at least 64 bytes
after the destination address - If actual data size is small, then create a Pad
(upto 46 bytes) - Why 64 Bytes ?
- 10-Mbps LAN, 2.5 km cable (specs), and 2t
collision window - Minimum frame width 51.2 microsec gt 64 Bytes
length
79Broadcast and Multicast Addresses
- Destination Address
- Msb 1 for group (multicast or broadcast), 0
for unicast - Address all 1s indication of Broadcast
- How does multicast work ?
- Group addr. id programmed to listen at
individual nodes - 2nd Msb Local vs. Global addresses
- Useful for address filtering, and flooding
control - Uniqueness of Node Addresses
- Total 46 bit addressing (6 bytes - 2 msb)
- Approx. 7 1013 addresses
- Can provide unique address to every node !!
- Manufacturers procure a bulk of address ranges
80Broadcast, Multicast, and Unicast
- Each transmitted frame is listened to by every
adapter - Adaptors act as filters
- Frames that are ok-ed by the filter are sent to
the backend host computer - Filter Modes
- Listen to self-address only Unicast
- Promiscuous Listen to all addresses (useful for
gateway design) - Listen to addresses with all 1s Broadcast
- Listen to specific group-ID Multicast
81ARP vs. RARP
- Issue Upper Layer Address vs. Ethernet Address
- Forward and Reverse Mapping
- Address Resolution Protocol
- 32-bit IP address gt 48 bit Ethernet address
- Naive Approach Configuration Files (IP address
vs. Ethernet address) - ARP Algorithm Broadcast IP address and seek a
response - ARP records can be cached, optimized for locality
- Reverse Address Resolution Protocol
- Host machine (at boot time) transmits ethernet
address and seeks IP address (from RARP server)
82Ethernet Connectors
- 10Base 5 (Thick Ethernet)
- Vampire Tap
- 10Base 2 (Thin Ethernet)
- Flexible Connector
- 10Base T (Central Hub)
- Nodes connect twisted pair cable to a switch
- 10Base F
- Version for optical fiber
83Worst Case Collision Detection
Insert Fig 4-22 here
84Performance of 802.3
- Simplistic analysis
- Assume a fixed number of, k, stations always with
data to transmit - p probability with which each station transmits
during a contention slot - Then, the probability that one of those k
stations will successfully acquire the channel is
A k p (1-p)k-1 - k times, one for each station being the channel
winner - (k-1) stations did not transmit, while the winner
stations did transmit gt Probability p
(1-p)k-1 - Probability that the contention interval is
exactly j slots, will be A (1-A)j-1 - Contention interval is not in the (j-1) slots gt
(1-A)j-1 - It is at the j-th slot gt A (1-A)j-1
85Performance of 802.3 (contd...)
- Mean number of slots per contention
- sum (from j0, to jinfinity) j A
(1-A)j-1 - 1/A
- Each slot is a duration 2????where ??is the
worst case broadcast delay - Hence, mean contention interval 2?? 1/A
- If the average frame takes P time units to
transmit, then the total time taken to transmit
P mean contention interval P 2?? - Hence, Channel efficiency P / ( P 2??/A )
- Refer Figure 4-23, for channel efficiency as a
function of the stations trying to send data - Large P gt higher efficiency, but increased
frame fragmentation
86 87Switched Ethernet
- Switched Ethernet
- Intelligent processing allows packet filtering
- Useful for traffic reduction, containment
- Example multicast filtering, broadcast
filtering, - Other usage security, workgroup establishment
- Design Paradox
- Ethernet had not been initially meant to be
point-to-point - However, design needs led it to becoming
point-to-point - Its still called Ethernet, and behaves like
Ethernet - for compliance, and ability to (still
!!) use existing ethernet adapter cards - Sometimes, it is an expensive mistake to carry
one !!
88Full Duplex Ethernet
- Design Rationale
- Ethernet does not scale well
- Connect Points, also bandwidth...
- Solution Several 802.3 LAN connected via a
faster switch - Each 802.3 LAN is in reality a plug-in card at
the switch - Full Duplex Switched Ethernet
- FDSE Architecture
- Not a shared bus LAN
- Instead, a point-to-point protocol around a fast
switch - Switch has several (lt32) Plug-in Cards
- Each Plug-in Card has few (lt8) Connectors
- Each connector is a 10Base T link to a host
computer
89FDSE Block Diagram
Insert Fig 4-24 here
90FDSE Structure
host
to other FDSE
host
FDSE
802.3 LAN
Hub
hosts
91FDSE Design
- Idenaitcal frame format, addressing, ....
- On-Card LAN
- If a frame is addressed to another node on the
same card, then the frame is locally copied - Else, it is transmitted over the high-speed
backbone bus to another on-card LAN - Input Buffering
- Collision resolution with on-card LAN(Btw,
collision never occurs across multiple cards) - Approach 1 adopt CSMA/CD within each card
- Approach 2 Input packet buffering scheduling
- Whao !! Feasibility for Packet Prioritization,
Periodic traffic support...
92Packet Priority in FDSE LAN
- 802.3 has no support for priority
- 802.4 and 5 evolved precisely for these reasons
- However, FDSE is a much digressed version of the
initial ethernet - It is point-to-point, instead of shared media
- It is input buffered, and scheduled, instead of
collision and re-try - Hence, packet priority establishment is feasible
in FDSE - Priority implementation in the scheduling of
input buffer - Still, ethernet frame format does not accommodate
priority values - One way to accommodate priority is as part of the
data field - Priority support from upper OSI layers (e.g.,
TCP) is always feasible
93Periodic Traffic Support in FDSE LAN
- Not directly supported
- But, can always be implemented from TCP or IPX
layer - Admission Control Stage
- At TCP or upper application layer
- Dynamic Scheduling Stage
- At FDSE input buffer scheduling algorithm
- Upper OSI Layer Connection-Oriented Virtual
Circuit can solve this problem - Aperiodic RT Traffic Support
- Use placeholder (i.e., stub) periodic traffic
94FDSE LAN of LANs
- FDSE as a switch easily lends itself to
hierarchical construction as LAN or MAN / WAN (as
LAN os LANs)
95FDSE Flow Control
- Prevent over-bandwidth situations, and recover
from congestions and hot spots - Objective Forward packets from ingtout ports
without any loss of packets and minimum (0 ?)
latency - TCP or Window Based Protocol
- Several packets transmitted before a destination
port overloaded message can be reverse ackn-ed - Solution modest sized buffer, time to fill up
the buffer (due to destnation port jamming) is
adequate to inform the sender node - Disadvantage Large buffer gt large (individual)
packet latency - Another solution reduce the window size of the
upper layer protocol (e.g., TCP or IPX)
96Learn Table (Address Mapping)
- Learn table a table of information associating
48-bit Ethernet addresses with ports - New frame arrival
- Look up the port address, from (destinations)
ethernet address - If port address unavailable, then broadcast
(unfortunate situation, cannot be helped) - are
you out there, please respond type - Learn Table updated bu current lookup
information - Recent failures in lookup, and eventual
resolution (by broadcast) - Old entries are flushed in a cache-page update
manner - LRU, or FIFO
97FDSE and Fast Ethernet Connectors
- 100 Base - Fx
- Specs for 100 Mbps Fast Ethernet over fiber
- Similar to FDDI specs
- Signals are unscrambled, 4B5B encoded
- 100 Base - T4
- same as above, except for category 3 or better
twisted pair cabling - Full duplex not supported under T4
- 100 Base - TX
- same as above, except for category 5 twisted pair
cabling - Similar to CDDI specs, signals are scrambled,
4B5B encoded
98Limitations of 802.3
- No worst case delay bound for any given stations
- No notion of priorities to any of the
nodes/stations - Focusses on the overall channel efficiency, not
on the individual user station needs - Certainly not good for time-critical traffic
- IEEE 802.4 evolves from 802.3
- Token Bus structure, logically
- Each one of the N nodes takes turn in sending
their respective frames - If each node takes T time units, then no node
will have to wait more then NT time units - Figure 4-25 as an example Token Bus
99 100IEEE 802.4 Token Bus
- Logical linear connection
- Each node has a predecessor and a successor node
- The Token arrives from the predecessor node, and
is destined to the successor node after usage by
the current node - The highest numbered station sends the first
frame - If a node has no data to send, it passes the
Token immediately - Logically the nodes are organized as a Ring (Fig.
4-25) - Collison avoidance by mutual exclusion in Token
ownership - Physically, the nodes may be in any connection
pattern - Tree, Bus, ...
- Essentially, a broadcast transmission medium is
needed - Logical ordering of the stations is independent
of the physical locations
101Priority in Token Bus
- Worst case response time for each node lt NT time
units, for N nodes and T time units per node
(i.e., per Token) - This prevents from unbounded response delay
situations - Yet, may not follow hard real-time guarantees
- How to assign priorities to the traffic within
each node ? - Token Bus defines four priority classes, 0, 2, 4
and 6 - Priority 6 is the highest, Priority 0 is the
least - When a node acquires the Token, say for T time
units - First, it allocates transmission from Priority 6
messages - After all the data from Priority 6 set is
exhausted, if any more time is still left gt
allocate traffic from Priority 4 messages - After all Priority 4 messages are over, if still
some time is left, then use for Priority 2
messages, and so on
102Synchronous Traffic in Token Bus
- The bandwidth for at least one of the Priority 6
messages is guaranteed - ltT (as much as desired) time units of
transmission per every NT time units - Synchronous traffic, e.g., live video,
multimedia, automated factories and production
environments, are supported - Limitations
- Ranges of deadline that can be honored
- No notion of periodic traffic support
- Fault-Tolerance
- What if a node/station goes down while holding a
Token ? - A max-time parameter for claiming tokens
103Token Ring IEEE 802.5
- Token Bus
- Requires a broadcast channel
- Large delay
- Analog characteristics
- Enjoys the freedom of logical predecessor/successo
r assignment - Token Ring