Académique Documents
Professionnel Documents
Culture Documents
UTTAM K. ROY
Resource Sharing:
Expensive resources (Database, high-speed laser printer,
array processors) can be shared among users of different
sites as they are connected to one another.
Example
• World Wide Web(WWW)
• File Transfer Protocol(FTP)
• Domain Name System
• Network File System
• Database
• Remote login
Computation/Productivity speedup:
Concurrent execution of independent tasks using cluster
Example
• Parallel Binary search
• Matrix multiplication
• Load balancing
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:23
Internetworking 5
Reliability/Availability/Fault Tolerant:
Entire system does not go down if a part becomes faulty
Example
• Introduction of secondary DNS
• Distributed database
(Inter-process)Communication:
Processes running at different computers can communicate
Example
• Remote Procedure Call
• Socket
Incremental growth:
Avoid huge initial setup cost
Improved Control/Flexibility:
Facility to control the system remotely
Responsiveness:
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:23
Internetworking 6
Communications Model
Advanced Java Programming
Source
generates data to be transmitted—telephones, PC
Transmitter
Converts data into transmittable signals—Modem
Transmission System
Carries data
Receiver
Converts received signal into data
Example
• Modem
Destination
Takes incoming data
Exchange Management
Cooperation(Convention) between communicating parties
• Format and direction(simplex, duplex)
Error detection and correction
Signals are distorted before they reach at the destination
Some tasks can not tolerate error—FTP
Recovery
Next step to the error detection
Flow Control
Fast transmitter/slow receiver problem
Addressing and routing
Identifying network devices
Message formatting
Agreement between two parties—binary code for characters
Security
Sender wish to be assured that intended receiver gets data
Receiver must be sure that the data have not been altered
in transit
Receiver must be sure that the data come from purported
sender not from intruder
Network Management
Configuration
Monitor its status
Responds on failure and overloads
Transmission Terminology
Advanced Java Programming
Transmitter
Receiver
Medium
Guided medium
• e.g. twisted pair, optical fiber
Unguided medium
• e.g. air, water, vacuum
Direct link
No intermediate devices
Point-to-point
• Only 2 devices share link
Multi-point
• More than two devices share the link
Transmission Terminology
Advanced Java Programming
Simplex
One direction
• e.g. Television
Half duplex
Either direction, but only one way at a time
• e.g. police radio
Full duplex
Both directions at the same time
• e.g. telephone
Frequency Domain
Advanced Java Programming
Spectrum
range of frequencies contained in signal
Absolute bandwidth
width of spectrum
Effective bandwidth
Often just bandwidth
Narrow band of frequencies containing most of the energy
DC Component
Component of zero frequency
Data
Entities that convey meaning
Signals
Electric or electromagnetic representations of data
Transmission
Communication of data by propagation and processing of
signals
Analog
Continuous values within some interval
e.g. sound, video
Digital
Discrete values
e.g. text, integers
Analog Transmission
Advanced Java Programming
Digital Transmission
Advanced Java Programming
Digital technology
Low cost LSI/VLSI technology
Data integrity
Longer distances over lower quality lines
Capacity utilization
High bandwidth links economical
High degree of multiplexing easier with digital
techniques
Security & Privacy
Encryption
Integration
Can treat analog and digital data similarly
Transmission Impairments
Advanced Java Programming
Electromagnetic Spectrum
Advanced Java Programming
Twisted Pair
Coaxial cable
Optical fiber
Cheap
Easy to work with
Low data rate
Short range
Analog
Amplifiers every 5km to 6km
Digital
Use either analog or digital signals
repeater every 2km or 3km
Limited distance
Limited bandwidth (1MHz)
Limited data rate (100MHz)
Susceptible to interference and noise
Analog
Amplifiers every few km
Closer if higher frequency
Up to 500MHz
Digital
Repeater every 1km
Closer for higher data rates
Greater capacity
Data rates of hundreds of Gbps
Smaller size & weight
Lower attenuation
Electromagnetic isolation
Greater repeater spacing
10s of km at least
Long-haul trunks
Metropolitan trunks
Rural exchange trunks
Subscriber loops
LANs
Wireless Transmission
Advanced Java Programming
Unguided media
Transmission and reception via antenna
Directional
Focused beam
Careful alignment required
Omnidirectional
Signal spreads in all directions
Can be received by many antennae
2GHz to 40GHz
Microwave
Highly directional
Point to point
Satellite
30MHz to 1GHz
Omnidirectional
Broadcast radio
3 x 1011 to 2 x 1014
Infrared
Local
Terrestrial Microwave
Advanced Java Programming
Parabolic dish
Focused beam
Line of sight
Long haul telecommunications
Higher frequencies give higher data rates
Satellite Microwave
Advanced Java Programming
Encoding Techniques
Advanced Java Programming
Digital signal
Discrete, discontinuous voltage pulses
Each pulse is a signal element
Binary data encoded into signal elements
Interpreting Signals
Advanced Java Programming
Need to know
Timing of bits - when they start and end
Signal levels
Factors affecting successful interpreting of
signals
Signal to noise ratio
Data rate
Bandwidth
Signal Spectrum
• Lack of high frequencies reduces required bandwidth
• Lack of dc component allows ac coupling via transformer,
providing isolation
• Concentrate power in the middle of the bandwidth
Clocking
• Synchronizing transmitter and receiver
• External clock
• Sync mechanism based on signal
Error detection
• Can be built in to signal encoding
Signal interference and noise immunity
• Some codes are better than others
Cost and complexity
• Higher signal rate (& thus data rate) lead to higher costs
• Some codes require signal rate greater than data rate
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:24
Internetworking 82
Encoding Schemes
Advanced Java Programming
Non-Return to Zero
Non-Return to Zero-Level (NRZ-L)
Non-Return to Zero Inverted (NRZ-I)
Multilevel Binary
Bipolar -AMI
Pseudoternary
Biphase
Manchester
Differential Manchester
Scrambling
B8ZS
HDB3
0 1 0 0 1 1 0 0 0 1 1
Differential Encoding
Advanced Java Programming
0 1 0 0 1 1 0 0 0 1 1
Pros
Easy to engineer
Make good use of bandwidth
Cons
dc component
Lack of synchronization capability
Lack of error detection/correction facility
Used for magnetic recording
Not often used for signal transmission
0 1 0 0 1 1 0 0 0 1 1
0 1 0 0 1 1 0 0 0 1 1
0 1 0 0 1 1 0 0 0 1 1
Pros
Synchronization on mid bit transition (self clocking)
No dc component
Error detection
• Absence of expected transition
Con
At least one transition per bit time and possibly two
Maximum modulation rate is twice NRZ
Requires more bandwidth
+ 000+ -000-
Bandwidth Comparison
Advanced Java Programming
Network Layer
LLC sub-layer
Data Link Layer
MAC sub-layer
Physical Layer
If collision occurs,
detect it
wait a random amount of time and retransmit
P0 = e − G
Throughpu S = Ge −2G
1
tMaximum S max = with G = 0.5
throughput
2e
Out of 100 frames, maximum of 18 frames reach
their destination without collision
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:24
Internetworking 113
Throughput of ALOHA
Advanced Java Programming
Throughput of ALOHA
Advanced Java Programming
k =1
= e G
Performance Comparison
Advanced Java Programming
Basic Assumptions
N number of stations
Each station has a unique address from 0 to N-1
Assumptions
Duration of each contention bit slot is unity
Duration of a data frame is d time units
High numbered stations must wait on the average
0.5N slots
Low numbered stations must wait on the average
1.5N slots
mean for all stations is N slots
For low load, the overhead per frame is N bits, and
the amount of data is d bits, for an efficiency of
d/(N+d).
For high load, the overhead per frame is 1 bit, and
the amount of data is Nd bits, for an efficiency of
d/(d+1)
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:24
Internetworking 126
Performance Comparison
Advanced Java Programming
Symmetric Protocol
Advanced Java Programming
k number of stations
Each has a probability p of transmitting during each
slot
Probability that some station will successfully
acquire the channel during a given slot is A=kp(1-
p)k-1
pmax= 1/k
Amax=(1-1/k)k-1
Further Improvement
Advanced Java Programming
1
Transmission
delay message 2
Total 3 1
Delay 2
TD 3 1
Total
message 2
Delay TD
3
Propagation delay
message
Time Time
reduce amount of retransmission due to error
3
R
x
+ h
2 TD t =
p
1 f R
3
x
tp 2 p + h
p
tm =
tf 3 R
T x x
p + h + h
p + (k − 1) p
TD = + kt
p
R R
dTD x(k − 1)
=0 ⇒ p=
dp h
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:24
Internetworking 141
x bit message
b=bit error
rate (1 − b)
Probability that the message will not be in error is
x
error is
Probability that the message requires exactly i
transmission for successful transmission [i.e. (i-1)
unsuccessful transmission followed[1 (1 − b) x ]( i −1) (1 − b) x
by−successful
transmission] is
Expected number of
transmission i =α
N rx = ∑ i[1 − (1 − b) ]
x ( i −1) x
(1 − b)
i =1
1
N rx =
(1 − b) x x
Total number of bits transmitted without
framing (1 − b) x
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:24
Internetworking 142
p=number of frames
1
Expected number of N rp =
transmission (1 − b ) x/ p
Bit Stuffing
Parity
Value of parity bit is such that character has even (even
parity) or odd (odd parity) number of ones
Two-dimensional parity
Advanced Java Programming
Detectable
Double-bit-
error
1 0 1 0 1 1
Undetec
1 1 0 1 1 0 ed
error
0 1 1 1 0 1
0 0 1 0 1 0
Detected
error
D=d-bit data
G=(r+1)-bit predetermined divisor
F=r-bit FCS to be determined
T=(d+r)-bit message to be transmitted
r
D.2 R
=Q+
G G
T = D.2 + R r
T D.2 + R R R R+R
r
= =Q+ + =Q+ =Q
G G G G G
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:25
Internetworking 154
m-bit message
k redundant bits are added
T=(m+k)-bit message to be transmitted
No of possible code words with (m+k)-bit is 2m+k
Out of 2m+k possible code words, only 2m code words are
valid
Remaining code words are invalid
Example
M=2, K=2
No. of possible codewords is 24 =16
No. of valid code words is 4
• 0000, 0011, 1100, 1111
No. of invalid code words is 12
0000 0100
propagation time
a=
transmission time
TD=tframe+tprop+tproc+tack+tprop+tpr
1
tframe
a oc
tprop
TD≈tframe+2tprop
tproc transmission time
η=
tack ack 1 propagation time
t frame
=
2
t frame + 2t prop
1
=
t prop
1+ 2
ack 2 t frame
1 t prop
= where a =
1 + 2a t frame
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:25
Internetworking 166
tprop=271 ms
1 kb frame
1 Mbps data rate
Frame transmission time tframe=1 ms
a=271
η= 1/(1+2x271)=0.00184
Simple
Inefficient
Frame i lost
Transmitter sends i+1
Receiver gets frame i+1 out of sequence
Receiver send reject i
Transmitter goes back to frame i and
retransmits
Go Back N - Diagram
Advanced Java Programming
Selective Reject/Retransmission
Advanced Java Programming
1 N ≥ 1 + 2a
U = N
1 + 2a N < 1 + 2a
N r (T f + 2T p )
i =1
1
=
1− p
© Copyright 2007, U. K. Roy, IT, JU 10/18/08 18:25
Internetworking 193
i =1 i =1
K
= (1 − K ) +
1− p
1 − p + Kp
=
1− p
Primary station
Controls operation of link
Maintains separate logical link to each secondary station
Frames issued are called commands
Secondary station
Operates under control of primary station
Frames issued called responses
Combined station
May issue commands and responses
Unbalanced
One primary and one or more secondary stations
Supports full duplex and half duplex
Balanced
Two combined stations
Supports full duplex and half duplex
Example with
possible errors
Supervisory frames
Advanced Java Programming
Unnumbered frames
Advanced Java Programming
Information Field
Advanced Java Programming
FCS
Error detection
16 bit CRC
Optional 32 bit CRC
Required Reading
Advanced Java Programming
Stallings chapter 7
Web sites on HDLC, frame relay, Ethernet and
ATM
Routing Algorithms
Advanced Java Programming
Routing Algorithms
Advanced Java Programming
Properties of Flooding
Advanced Java Programming
Disadvantage of Flooding
Advanced Java Programming
Improved performance
Aid congestion control (See chapter 12)
Complex system
May not realize theoretical benefits
First Generation
1969
Distributed adaptive
Estimated delay as performance criterion
Bellman-Ford algorithm (appendix 10a)
Node exchanges delay vector with neighbors
Update routing table based on incoming info
Doesn't consider line speed, just queue length
Queue length not a good measurement of delay
Responds slowly to congestion
Second Generation
1979
Uses delay as performance criterion
Delay measured directly
Uses Dijkstra’s algorithm (appendix 10a)
Good under light and medium loads
Under heavy loads, little correlation between reported delays
and those experienced
Third Generation
1987
Link cost calculations changed
Measure average delay over last 10 seconds
Normalize based on current value and previous results
1
Mean delay, T= µC −λ
Congestion Control
Advanced Java Programming
General Principles
Advanced Java Programming
IP Address Requirements
What is an IP Address?
Network IDs and Host IDs
What is a Physical Segment?
IP Addressing Rules
Classfull IP Addressing
Address Classes
Class A Addresses
Class B Addresses
Class C Addresses
Class D & E Addresses
Address Class Summary
Network ID Host ID
Shared or Common to all Identifies a specific device
computers on the same (Host) within a physical
physical segment
segment
Unique on the Entire
Network
Unique on the physical
segment
“Area Code”
“Phone Number”
192.176.11.201
A Broadcast Domain
The portion of the network that you can retrieve
information from by using a broadcast packet!
Ignore Repeaters, Bridges, or Switches
Forward Broadcasts
Everything (all devices) --
Out a port of a router
Between two routers
Routers Don’t Forward Broadcasts
IP Addressing Rules
All Devices on the Same Physical Segment Share a
Common Network ID
Each Physical Segment Has a Unique Network IDs
Class A
Network . Host . Host . Host
Class B
Network . Network . Host . Host
Class C
Network . Network . Network . Host
Class D & E
Per Specification:
1st Octet is the Network ID
2nd, 3rd, 4th Octets are the Host ID
In Binary –
Any address that starts with a “0” in the first bit!
First Class A Network Address:
00000001.00000000.0000000.00000000 (Binary)
1.0.0.0 (Decimal)
Last Class A Network Address:
01111111.00000000.00000000.00000000 (Binary)
127.0.0.0 (Decimal) (Loopback Address)
IP Addressing
Advanced Java Programming
Class A Networks:
The Number of Networks
Per Specification:
1st and 2nd Octets are the Network ID
3rd, 4th Octets are the Host IDs
In Binary –
Any address that starts with a “10” in the first two
bits of the first octet!
First Class B Network Address:
10000000.00000000.0000000.00000000 (Binary)
128.0.0.0 (Decimal)
Last Class B Network Address:
10111111.11111111.00000000.00000000 (Binary)
191.255.0.0 (Decimal)
Per Specification:
1st, 2nd, 3rd Octets are the Network ID
4th Octet is the Host ID
In Binary –
Any address that starts with a “110” in the first three
bits of the first octet!
First Class C Network Address:
11000000.00000000.0000000.00000000 (Binary)
192.0.0.0 (Decimal)
Last Class C Network Address:
11011111.11111111.11111111.00000000 (Binary)
223.255.255.0 (Decimal)
Class D
Used by Multicast Applications
Shared Addresses
224.0.0.0 – 239.255.255.255
Class E
Experimental
240.0.0.0 +