Communication Networks Part I - web.fe.up.pt
Transcript of Communication Networks Part I - web.fe.up.pt
![Page 1: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/1.jpg)
Communication Networks
Part I
Manuel P. Ricardo
Faculdade de Engenharia da Universidade do Porto
![Page 2: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/2.jpg)
» What are the main uses of computer networks? » What are the common architectures of network applications? » What are the main types of networks?
» What is a protocol? What is a service? » What is a protocol stack?
» What are the communication layers of the Internet reference model? » What are the communication layers of the OSI reference model?
» What are the differences between circuit switching and packet switching? » What is the propagation delay, Tprop ? » What is the packet transmission delay, Tpac?
![Page 3: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/3.jpg)
Uses of Computer Networks
![Page 4: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/4.jpg)
Some Applications Using the Networks
♦ E-mail ♦ Web ♦ Instant messaging ♦ Remote login ♦ P2P file sharing ♦ Multi-user network
games ♦ Video clips retrieval
♦ Voice over IP ♦ Video streaming ♦ Real-time video
conferencing ♦ Grid computing
![Page 5: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/5.jpg)
Application Architectures
♦ Client-server
♦ Peer-to-peer (P2P)
♦ Hybrid client-server / P2P
![Page 6: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/6.jpg)
Client-server Architecture
♦ Server » always-on host » permanent IP address
♦ Clients » communicate with server » may be intermittently connected » do not communicate directly with other clients
![Page 7: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/7.jpg)
Client-server Example – The Web
♦ Client/server model
♦ Client: browser requests, receives, and
“displays” Web objects
♦ Server: Web server sends objects in response to
requests
PC running Explorer
Server running
Apache Web server
Mac running Navigator
![Page 8: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/8.jpg)
P2P Architecture
♦ No always-on server
♦ Arbitrary end systems directly communicate
♦ Peers are intermittently connected and may change IP addresses
![Page 9: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/9.jpg)
P2P Example - BitTorrent
tracker: tracks peers participating in torrent
torrent: group of peers exchanging chunks of a file
obtain list of peers
trading chunks
peer
P2P file distribution
![Page 10: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/10.jpg)
Topology of Networks
![Page 11: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/11.jpg)
Classification of Networks
♦ By transmission technology
» Broadcast links
» Point-to-point links
♦ By scale (distance between processors)
» PAN – Personal Area Network » LAN - Local Area Network » MAN - Metropolitan Area Network » WAN - Wide Area Networks » Internet
![Page 12: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/12.jpg)
Personal Area Networks
Bluetooth network
![Page 13: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/13.jpg)
Local Area Networks
♦ Common Local Area Networks
Ethernet switch
AP
![Page 14: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/14.jpg)
Metropolitan Area Networks
A metropolitan area network based on cable TV
![Page 15: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/15.jpg)
Internet – Interconnecting networks
♦ Network edge » Hosts » Applications
♦ Access networks » LANs, MANs » Home, Institutional » Mobile » Wired and wireless links
♦ Network core » Interconnected routers » Network of networks » Internet Service Providers
Home network
Institutional network
Mobile network
Global ISP
Regional ISP
router
PC
server
wireless laptop cellular handheld
wired links
access points
![Page 16: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/16.jpg)
Multiplexing
![Page 17: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/17.jpg)
Multiplexing Traffic on a Link
♦ Communication link » bit pipe with a given capacity C (bit/s) » Link capacity rate at which bits are transmitted to the link » Link may transport multiplexed traffic streams
♦ Multiplexing strategies » Statistical Multiplexing » Frequency Division Multiplexing » Time Division Multiplexing
♦ Multiplexing strategy affects traffic delay
C
![Page 18: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/18.jpg)
Statistical Multiplexing
♦ Packets of all traffic streams merged in a single queue
♦ Packets transmitted on a first-come first-served basis
♦ Time required to transmit a packet of length L Tframe=L/C
C
![Page 19: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/19.jpg)
FDM – Frequency Division Multiplexing
♦ Link capacity C subdivided into m portions
♦ Channel bandwidth W subdivided into m channels of W/m Hz
♦ Capacity of each channel C/m
♦ Time required to transmit a packet of length L Tframe= Lm/C
![Page 20: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/20.jpg)
TDM – Time Division Multiplexing
♦ Time axis divided into slots of fixed length usually one octet long
♦ Communication m separate channels with capacity C/m
♦ Time required to transmit a packet of length L Tframe=Lm/C
time
one octet
frame
![Page 21: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/21.jpg)
Network Software
![Page 22: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/22.jpg)
Software Organized in Black Boxes
![Page 23: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/23.jpg)
Protocol Hierarchies
Layers, protocols, and interfaces
![Page 24: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/24.jpg)
Services to Protocols Relationship
The relationship between a service and a protocol
![Page 25: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/25.jpg)
Transference of Information Information flow supporting virtual communication in layer 5
![Page 26: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/26.jpg)
Internet (TCP/IP) Reference Model ♦ Application layer
» supporting network applications » FTP, SMTP, HTTP, …
♦ Transport layer » process-process (end-to-end) data transfer » TCP, UDP
♦ Network layer » routing of data packets from source to destination » IP, routing protocols
♦ Link layer » data transfer between neighboring network elements » PPP, Ethernet, WLAN
♦ Physical layer » bits sent “on the wire”
application
transport
network
link
physical
![Page 27: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/27.jpg)
TCP/IP – Interworking and Encapsulation
![Page 28: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/28.jpg)
7 Layer OSI Reference Model
♦ Presentation layer – allow applications to interpret meaning of data – (e.g., encryption, compression, machine-specific conventions)
♦ Session layer synchronization, checkpointing, recovery of data exchange
♦ Internet stack “missing” these layers! if needed, must be implemented in the Application Layer
Application
Presentation
Session
Transport
Network
Link
Physical
![Page 29: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/29.jpg)
7 Layer OSI Reference Model
![Page 30: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/30.jpg)
Transferring Data Through a Network
![Page 31: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/31.jpg)
Information and Data
♦ Data » term used to represent information » e.g. text, voice, video, image, graphics
♦ Information represented as a sequence of bits » 0110110001010.... » 1 Byte = 1 octet = 8 bits » 1 kbit = 103 bit; 1 Mbit = 106 bit; 1 Gbit= 109 bit
♦ Computer Networks » aimed to transport information, from source(s) to destination(s) » Information flow, capacity of a link Byte/s; bit/s
♦ How to transfer data through the network?
![Page 32: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/32.jpg)
Circuit Switching vs Packet Switching
Circuit switching
Packet switching
![Page 33: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/33.jpg)
Switching: Circuits, Virtual Circuits, Packets
![Page 34: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/34.jpg)
Circuit Switching – Numerical Example Host A needs to send a file of length L=640 kbit to Host B through a
circuit offering a bitrate of R= 64 kbit/s. Assuming a delay for establishing the circuit Test=500 ms, how long does it take to transmit the file?
♦ Answer: » Tmsg=L/R=640/64= 10s » Ttot=Test+Tprop+Tmsg=0.5+0+10=10.5 s
34
A B R = 64 kbit/s
A
Test
Tprop=5us/km ~ 0 1st bit
last bit
Tmsg
B
![Page 35: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/35.jpg)
Packet Switching – Numerical Example
Host A sends a packet of length L=10 kbit to Host B through routers
R1 and R2. Not considering the propagation delay through the 3 links nor the queuing delays at the network elements (A, R1 and R2), how long does it take for the packet to arrive to Host B?
A B R1 R2
R1=100 Mbit/s R2=10 Mbit/s R1=100 Mbit/s
Tprop1 Tpac1
Tprop2 Tpac2
Tprop3 Tpac3
![Page 36: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/36.jpg)
Packet Switching – Numerical Example
♦ Answer: » Tpac1=Tpac3=L/R1=0.1 ms » Tpac2=L/R2= 1 ms » Ttot=Tpac1+Tprop1+Tpac2+Tprop2+Tpac3+Tprop3= 1.2 ms
A B R1 R2
R1=100 Mbit/s R2=10 Mbit/s R1=100 Mbit/s
Tprop1 Tpac1
Tprop2 Tpac2
Tprop3 Tpac3
Tprop 1st bit
last bit
Tpac
A
Tpac1
R1 R1 B
Tpac2
Tpac3
Tprop=0 Tqueue=0
![Page 37: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/37.jpg)
Connection and Connectionless Service
Services provided by network layer
» Datagram network connectionless service
» Virtual Circuit network connection oriented service
![Page 38: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/38.jpg)
Virtual Circuit (VC) ♦ Phases
circuit establishment data transference circuit termination
♦ Packet carries identifier of Virtual Circuit
♦ Path defined from source to destination sequence of VC identifiers, one for each link along path
♦ Router » maintains “state” for every supported circuit » may allocate resources (bandwidth, buffers) per Virtual Circuit
![Page 39: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/39.jpg)
VC - Forwarding Table 12 22 32
1 2 3
VC number
interface number
Incoming interface Incoming VC # Outgoing interface Outgoing VC #
1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … …
Forwarding table in northwest router:
Routers maintain connection state information!
![Page 40: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/40.jpg)
Datagram Networks ♦ No circuit establishment; no circuit concept ♦ Packets
» forwarded using destination host address » packets between same source-destination pair may follow different paths
application transport network data link physical
application transport network data link physical
1. Send data 2. Receive data
![Page 41: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/41.jpg)
Forwarding Table
Destination Address Range Output Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 2 11001000 00010111 00011111 11111111 otherwise 3
232 possible entries in IPv4
![Page 42: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/42.jpg)
Virtual-Circuit versus Datagram Networks
5-4
![Page 43: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/43.jpg)
Homework
1. Review slides
2. Read from Tanenbaum » Chapter 1 - Introduction » Section 2.6.5 – Switching
![Page 44: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/44.jpg)
» What are the main functions of the Data Link layer? » What is the difference between a packet and a frame? » What techniques can be used to frame data? Why is stuffing important? » What is the relationship between BER and FER? » What techniques can be used to detect errors? » How does the Internet checksum work? » How does a CRC work and what are its error detection capabilities? » What is the purpose of ARQ and what are the common ARQ mechanisms? » Why are sequence numbers required in the STOP&Wait ARQ? What is its efficiency? » What is a sliding window? » What are the main differences between the Go Back N ARQ and STOP&WAIT ARQ?
What is the efficiency of the former? » What are the differences between the Selective Reject ARQ and the Go Back N ARQ
mechanisms? How does this efficiency evolve with FER? » What framing, stuffing, error detection and ARQ mechanisms are used in Ethernet,
PPP and WLAN? » What are the differences between End-to-End ARQ and Link-by-Link ARQ? » Where are the ARQ mechanisms in the TCP/IP reference model ?
![Page 45: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/45.jpg)
Data Link layer functions and services
![Page 46: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/46.jpg)
Data Link Layer – Functions and Services
♦ Main functions » Provide service interface to the network layer » Eliminate/reduce transmission errors » Regulate data flow
Slow receivers not swamped by fast senders
♦ Services provided » Unacknowledged connectionless service » Acknowledged connectionless service » Acknowledged connection-oriented service
Data Link layer
![Page 47: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/47.jpg)
Services Provided to Network Layer
(a) Virtual communication (b) Actual communication
![Page 48: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/48.jpg)
Layer 3 Packets and Layer 2 Frames
Layer 3
Layer 2
![Page 49: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/49.jpg)
Placement of the Data Link Protocol
![Page 50: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/50.jpg)
Framing
![Page 51: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/51.jpg)
To Think
♦ [Sender] ..1001101101101101101101110101.. [receiver] » Where is the data? Where does the frame start and stop?
How to split this bit stream into frames (sets of bits)?
![Page 52: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/52.jpg)
Framing
♦ [Sender] ..1001101101101101101101110101.. [receiver] » Where is the data? » Where does the frame start and stop?
♦ Three methods » Character count » Flag bytes with byte stuffing » Start and ending flags, with bit stuffing
![Page 53: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/53.jpg)
Framing – Character count
A stream of characters
(a) Without errors
(b) With one error
![Page 54: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/54.jpg)
Framing - Flag bytes with byte stuffing
(a) A frame delimited by flag bytes (b) Four examples of byte sequences before and after stuffing
Data to be transported in the payload field
![Page 55: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/55.jpg)
Framing - Start and ending flags, with bit stuffing
Bit stuffing
(a) The original data
(b) The data as it appears on the line: 15 150
(c) The data as stored in receiver’s memory after destuffing: 0150 015
01111110 (0160)
![Page 56: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/56.jpg)
Error detection
![Page 57: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/57.jpg)
Types of Errors
♦ Simple Error » Random and independent from previous error
♦ Errors in burst » Not independent; affect neighbour bits » Burst lenght defined by the first and last bits in error
![Page 58: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/58.jpg)
To Think
♦ Assume – p – bit error probability (or Bit Error Ratio – BER) – n – frame length – Independent errors – FER: Frame Error Ratio
♦ Student A explains to Student B
why P[frame has no errors]=
♦ Student B explains to Student A
why P[frame has errors]=
np)1( −
nn BERFERp )1(1)1(1 −−=⇔−−
![Page 59: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/59.jpg)
Counting Errors
♦ Assume – p – bit error probability (or Bit Error Ratio – BER) – n – frame length – Independent errors
♦ P[frame has no errors]= the n bits are good!
♦ P[frame has errors]= P[frame has errors]= Frame Error Ratio – FER
♦ P[1 bit received in error]=
♦ P[i bits received in error]=
1)1(1
−−
nppn
ini ppin −−
)1(
np)1( −
np)1(1 −−
p=10-7
n=104
FER= 3107 10)101(14 −− ≈−−
(good wired channel) (~ Ethernet frame length)
p=10-3
n=104
FER= 1)101(14103 ≈−− −
(wireless channel) (~ Ethernet frame length)
nBERFER )1(1 −−=
![Page 60: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/60.jpg)
Error Techniques
♦ Error techniques required! » Detection (and correction)
♦ Effectiveness of error detection technique (code) characterized by » Minimum distance of code: d
– min number of bit errors undetected in a block of n bits – if fewer than d errors occur, errors are detected
» Burst detecting ability: B
– max burst length of errors detected
![Page 61: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/61.jpg)
Error Detection Techniques ♦ Used by the receiver to determine if a packet contains errors
» If a packet is found to contain errors, the receiver may request the transmitter to re-send the packet
♦ Introducing redundancy
» k k+r k: data bits; r: redundancy bits
♦ Error detection techniques
» Parity check » Cyclic Redundancy Check (CRC) » …
![Page 62: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/62.jpg)
Simple Parity Check ♦ One parity bit added to every k information bits so that
» The total number of bits 1 even even parity 1110111 1101110 1010110 1101100 1100100 11101110 11011101 10101100 11011000 11001001 » The total number of bit 1 is odd odd parity
♦ Detection of » simple errors » any number of odd errors in a block of k+1 bits
♦ Undetected » Even number of errors in a block
n=k+1, block size p: bit error probability
♦ Used in Character Oriented protocols
ini
evenipp
in
ectedunP −−
= ∑ )1()det(
![Page 63: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/63.jpg)
Bi-dimensional Parity
♦ Blocks represented in rows » Parity bit per row; parity bit per column
♦ Minimum code distance d=4 Any four errors in a rectangular configuration becomes undetectable
![Page 64: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/64.jpg)
Internet Checksum ♦ The Internet (not layer 2) uses a checksum
» easily implementable in software » 1’s complement sum of 16 bit words » Performance: d=2
♦ One’s complement sum » Mod-2 addition with carry-out » Carry-out in the most-significant-bit is added to the least-significant bit » Get one’s complement of “one’s complement sum”
![Page 65: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/65.jpg)
Cyclic Redundancy Check ♦ Bit string represented as a polynomium
» 110011 x5+x4+x+1
♦ Module 2 operations » Additions and subtractions identical to exclusive OR » no carry, no borrow
♦ M(x); R(x); T(x)=M(x) * xr+ R(x)
♦ How to compute the check bits: R(x)? » Choose a generator string G(x) of length r+1 bits » Choose R(x) such that T(x) is a multiple of G(x): T(x)=A*G(x); R(x)=0
♦ T(x)=M(x)xr+R(x) = A*G(x)
M(x)xr = A*G(x) + R(x) (mod 2 arithmetic)
R(x) = remainder of M(x)xr / G(x)
♦ Choice of G(x) is very important! ( G(x)=xr+…+1 )
k data bits r check bits
M(x) R(x)
T(x)= M(x)*xr + R(x)
![Page 66: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/66.jpg)
CRC - Generating R(x)
♦ r=3, xr=x3 ; G(x)=x3+1 (1001)
♦ M(x)=x5+x4+x2+1 (110101)
♦ M(x)* x3 = x8+x7+x5+x3 (110101000)
♦ R(x)= remainder of M(x)xr / G(x)
♦ R(x)=x+1 (011)
♦ Sent word » T(x)=M(x) * xr+ R(x) = x8+x7+x5+x3+x+1= 110101 011
1 1 0 1 0 1 0 0 0 1 0 0 1
1 0 0 1 1 1 0 0 1 1
0 1 0 0 0
1 0 0 1
0 0 0 1 1
0 0 0 0
0 0 1 1 0
0 0 0 0
0 1 1 0 0
1 0 0 1
0 1 0 1 0
1 0 0 1
0 0 1 1
M(x)* x3 G(x)
R(x)
![Page 67: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/67.jpg)
CRC - Generating R(x) with a Shift Register
♦ R(x) easily generated in hardware
♦ G(x)=x3+1 » M(x)* x3 = x8+x7+x5+x3 (110101000) » R(x)=x+1 (011)
♦ G(x)=x8+x2+x+1
x0 x1 x2
000101011
1 1 0
![Page 68: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/68.jpg)
CRC – Checking at the Receiver
♦ Let T’(x) be the received word » T’(x)= x8+x7+x5+x3+x+1 (110101 011)
♦ Divide T’(x) by G(x) » If remainder R(x)=0 no errors » If remainder R(x) !=0 errors have occurred
1 1 0 1 0 1 0 1 1 1 0 0 1
1 0 0 1 1 1 0 0 1 1
0 1 0 0 0
1 0 0 1
0 0 0 1 1
0 0 0 0
0 0 1 1 0
0 0 0 0
0 1 1 0 1
1 0 0 1
0 1 0 0 1
1 0 0 1
0 0 0
T’(x) G(x)
R(x)
![Page 69: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/69.jpg)
CRC - Performance
♦ For r check bits per frame the following can be detected » All patterns of 1, 2, or 3 errors (d > 3) » All bursts of errors of r or fewer bits » All errors consisting of an odd number of inverted bits
♦ Common polynomials » ITU-16: r=16, G(x) = x16 + x12 + x5 +1 (1000100000100001) » ITU-32: r=32, G(x) =x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1
![Page 70: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/70.jpg)
Automatic Repeat reQuest (ARQ)
![Page 71: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/71.jpg)
Automatic Repeat ReQuest (ARQ)
♦ When the receiver detects errors in a frame how to ask the sender to retransmit the frame?
♦ ARQ systems Those which automatically request the retransmission of
– missing packets – packets with errors
♦ Three common ARQ schemes » Stop and Wait » Go Back N » Selective Repeat
![Page 72: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/72.jpg)
Stop and Wait ARQ ♦ Sender
» transmits Information frame I waits for positive confirmation ACK from receiver
♦ Receiver: receives I frame » If I frame has no error confirms with ACK » If I frame has error sends NACK
♦ Sender » Receives ACK proceeds and transmits new frame » Receives NACK retransmits frame I
♦ Problem » What happens if I, ACK or NACK is lost? Timeout required!
S R
I
ACK I
NACK
S R
I
ACK X T
I
ACK
![Page 73: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/73.jpg)
Stop and Wait ARQ – Sequence Numbers Required
♦ Solution » I frames numbered: I(0), I(1) » ACK frames numbered: ACK(0), ACK(1) » ACK(i) indicates that receiver is waiting for frame I(i) » No NACK required » Module 2 numbers
S R
I
ACK X T
I new frame or
retransmission? What frame is Acknowledged?
S R
I
ACK T
I
I X
![Page 74: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/74.jpg)
Stop and Wait ARQ – Examples
![Page 75: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/75.jpg)
Stop and Wait - Efficiency
![Page 76: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/76.jpg)
Stop and Wait – Efficiency Example
aTTTT
Spropfprop
f
211+
=++
=
Vd
propT ==τ
RL
fT =
f
prop
TT
a =
propTfTpropT
![Page 77: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/77.jpg)
Stop and Wait ARQ – Efficiency with Errors » pe – frame error probability » P[A=k]
– probability of k Attempts required to transmit a frame with success
» E[A] expected number of Attempts to transmit a frame with success
» Efficiency
ap
aAETTAET
S e
propf
f
211
)21]([1
)2]([ +−
=+
=+
=
[ ] )1( P 1e
ke ppkA −== −
ek pkAkAE
−=== ∑
+∞
= 11][ P*][
1
´
![Page 78: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/78.jpg)
To Think
♦ Assume Sender and Receiver are separated by a large distance?
How to improve the Efficiency of the STOP&Wait ARQ?
![Page 79: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/79.jpg)
Go Back N ARQ (Sliding Window)
♦ Stop and Wait » inefficient when Tprop > Tf (a>1) » sends only one frame per Round-Trip Time (RTT=2*Tprop +Tf )
♦ Go Back N » allows transmission of new packets before earlier ones are acknowledged » uses a Sliding Window mechanism
– sender can send packets that are within a “window” (range) of packets – window advances as acknowledgements for earlier packets are received
![Page 80: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/80.jpg)
Sliding Window - Model
![Page 81: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/81.jpg)
Sliding Window - Example
![Page 82: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/82.jpg)
Go Back N ARQ – Basic Behaviour
♦ Sender » may transmit up to W frames without receiving RR
RR - Receiver Ready = ACK
» I frames are numbered sequentially I(NS): I(0), I(1), I(2), … » Cannot send I(NS=i+W) until it has received the RR(NR=i)
♦ Receiver » does not accept frames out of sequence » sends RR(NR) to sender indicating
– that all the packets up to NR-1 have been received in sequence – the sequence number, NR, of the next expected frame
![Page 83: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/83.jpg)
Go Back N ARQ – Maximum Window, Extensions
♦ Sequence numbers are represented module M » NS, NR in {0, 1, …, M-1}
♦ Maximum Window » W = M-1= 2k -1 » k is number of bits used to code sequence numbers
♦ Extensions to basic behaviour » Piggybacking can be used for bidirectional flows » RR information can be sent in the data packets of opposite direction
F … NS NR … F Trailer
Header
![Page 84: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/84.jpg)
Go Back N ARQ – Behaviour under Errors
♦ Frame with errors is silently discard by the Receiver
♦ If Receiver receives Data frame out of sequence » First out-of-sequence-frame?
– Receiver sends REJ(NR) – NR indicates the next in-sequence frame expected
» Following out-of sequence-frames – Receiver discards them; no REJ sent
♦ When Sender receives REJ(NR=x), the Sender » Goes-Back and retransmits I(x), I(x+1), … » Continues using Sliding Window mechanism
♦ If timeout occurs, the Sender » requests the Receiver to send a RR message » by sending a special message (RR command message)
![Page 85: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/85.jpg)
Go Back N – Efficiency
♦ If W ≥ 1+2a S = 1
♦ If W < 1+2a S = W/(1+2a)
![Page 86: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/86.jpg)
Selective Repeat ARQ ♦ Uses Sliding Window, but …
♦ Receiver » accepts out-of-sequence-frames » confirms negatively, SREJ, a frame not arrived » uses RR to confirm blocks of frames arrived in sequence
♦ Sender » retransmits only the frames signaled by SREJ
♦ Adequate if W (a) is very large
♦ Maximum window size, 122
−== kMW
![Page 87: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/87.jpg)
Go-Back-N and Selective Repeat ARQ – Efficiency under Errors
♦ Go-Back-N ARQ
♦ Selective Repeat ARQ
+<+−+
−
+≥+−
=aW
WppapW
aWapp
S
ee
e
e
e
21,)1)(21(
)1(
21,21
1
+<+−
+≥−= aW
apW
aWpS e
e
21,21
)1(21,1
pe – frame error probability (ratio, FER)
![Page 88: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/88.jpg)
Reliability in the Protocol Stack
![Page 89: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/89.jpg)
Reliability in the Protocol Stack
![Page 90: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/90.jpg)
Reliability in the TCP/IP Reference Model
♦ The TCP/IP reference model assumes » Every layer 2 offers an error free service to the upper layer » Service Data Units are
– delivered to upper layer without error, – or discarded
♦ The layered model transforms bit error in packet losses Therefore, packet losses must be repaired ARQ solutions
♦ Two strategies can be used » Link-by-Link ARQ » End-to-end ARQ
nBERFER )1(1 −−=
![Page 91: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/91.jpg)
Link-by-Link ARQ versus End-to-End ARQ
A R1 R2 B P1
P1
P1 P2
P2
P2 P3
P4
P4
P4 P3 is lost
P3
P3
P3
End-to-End ARQ (transport or Application layers)
A R1 R2 B P1
P1
P1 P2
P2
P2 P3
P4
P4
P4
P3 is lost
P3
P3
P3
Link-by-Link ARQ (data link layer)
![Page 92: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/92.jpg)
To Think
♦ Link-by-Link ARQ versus End-to-end ARQ Compare these approaches from the points of view of delays and bitrates
A R1 R2 B P1
P1
P1 P2
P2
P2 P3
P4
P4
P4 P3 is lost
P3
P3
P3
End-to-End ARQ (transport or Application layers)
A R1 R2 B P1
P1
P1 P2
P2
P2 P3
P4
P4
P4
P3 is lost
P3
P3
P3
Link-by-Link ARQ (data link layer)
![Page 93: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/93.jpg)
Link-by-Link ARQ versus End-to-End ARQ
♦ Link-by-Link ARQ » Repairs losses link by link » Requires network elements to
– remember information about packet flows high processing per frame/packet – store packets in case they have to be retransmitted memory required
♦ End-to-end ARQ » Low complexity
– Intermediate network elements (switches, routers) become simple
» Packets may follow different end to end paths » But, not acceptable when Packet Loss Ratio is high » Let’s see why …
![Page 94: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/94.jpg)
End to End Capacity
♦ Packet Loss Ratio (PLR) » Packet layer 3; Frame layer 2 » Let’s assume PLR=FER
(not considering losses in queues)
♦ Capacity of one link Cl=C*(1-PLR) ♦ End to End capacity
» using Link-by-Link ARQ: CLL=Cl=C*(1-PLR)
» Using End-to-End ARQ: CEE=C*(1-PLR)K
♦ End-to-end ARQ Inefficient when PLR is High
A B Capacity: C bit/s Packet Loss Ratio: PLR
R R R R
K links
k PLR CEE CLL 10 0.05 0.6*C 0.95 *C
10 0.0001 0.9990 *C 0.9999 *C
![Page 95: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/95.jpg)
ARQ in the TCP/IP Reference Model
♦ The TCP/IP architecture assumes that » The Data Link layer provides error-free packets to the network layer » Data link layer provides a service with very low FER » End-to-End ARQ is used, implemented at
Transport or Application layers
♦ In the TCP/IP reference model, packet losses are repaired » At the Data Link layer on lossy channels (e.g. wireless data links) » At the end systems (transport layer or application layer)
![Page 96: Communication Networks Part I - web.fe.up.pt](https://reader031.fdocuments.us/reader031/viewer/2022012207/61ded2f6f3a96c0bec3b56ee/html5/thumbnails/96.jpg)
Homework
1. Review slides
2. Read from Tanenbaum » Chapter 3 (5th edition)
3. Read from Bertsekas&Gallager » Sections 2.3, 2.4