Communication Networks Part I - web.fe.up.pt

96
Communication Networks Part I Manuel P. Ricardo Faculdade de Engenharia da Universidade do Porto

Transcript of Communication Networks Part I - web.fe.up.pt

Page 1: Communication Networks Part I - web.fe.up.pt

Communication Networks

Part I

Manuel P. Ricardo

Faculdade de Engenharia da Universidade do Porto

Page 2: Communication Networks Part I - web.fe.up.pt

» 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

Uses of Computer Networks

Page 4: Communication Networks Part I - web.fe.up.pt

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

Application Architectures

♦ Client-server

♦ Peer-to-peer (P2P)

♦ Hybrid client-server / P2P

Page 6: Communication Networks Part I - web.fe.up.pt

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

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

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

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

Topology of Networks

Page 11: Communication Networks Part I - web.fe.up.pt

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

Personal Area Networks

Bluetooth network

Page 13: Communication Networks Part I - web.fe.up.pt

Local Area Networks

♦ Common Local Area Networks

Ethernet switch

AP

Page 14: Communication Networks Part I - web.fe.up.pt

Metropolitan Area Networks

A metropolitan area network based on cable TV

Page 15: Communication Networks Part I - web.fe.up.pt

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

Multiplexing

Page 17: Communication Networks Part I - web.fe.up.pt

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

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

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

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

Network Software

Page 22: Communication Networks Part I - web.fe.up.pt

Software Organized in Black Boxes

Page 23: Communication Networks Part I - web.fe.up.pt

Protocol Hierarchies

Layers, protocols, and interfaces

Page 24: Communication Networks Part I - web.fe.up.pt

Services to Protocols Relationship

The relationship between a service and a protocol

Page 25: Communication Networks Part I - web.fe.up.pt

Transference of Information Information flow supporting virtual communication in layer 5

Page 26: Communication Networks Part I - web.fe.up.pt

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

TCP/IP – Interworking and Encapsulation

Page 28: Communication Networks Part I - web.fe.up.pt

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

7 Layer OSI Reference Model

Page 30: Communication Networks Part I - web.fe.up.pt

Transferring Data Through a Network

Page 31: Communication Networks Part I - web.fe.up.pt

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

Circuit Switching vs Packet Switching

Circuit switching

Packet switching

Page 33: Communication Networks Part I - web.fe.up.pt

Switching: Circuits, Virtual Circuits, Packets

Page 34: Communication Networks Part I - web.fe.up.pt

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

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

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

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

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

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

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

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

Virtual-Circuit versus Datagram Networks

5-4

Page 43: Communication Networks Part I - web.fe.up.pt

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

» 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

Data Link layer functions and services

Page 46: Communication Networks Part I - web.fe.up.pt

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

Services Provided to Network Layer

(a) Virtual communication (b) Actual communication

Page 48: Communication Networks Part I - web.fe.up.pt

Layer 3 Packets and Layer 2 Frames

Layer 3

Layer 2

Page 49: Communication Networks Part I - web.fe.up.pt

Placement of the Data Link Protocol

Page 50: Communication Networks Part I - web.fe.up.pt

Framing

Page 51: Communication Networks Part I - web.fe.up.pt

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

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

Framing – Character count

A stream of characters

(a) Without errors

(b) With one error

Page 54: Communication Networks Part I - web.fe.up.pt

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

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

Error detection

Page 57: Communication Networks Part I - web.fe.up.pt

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

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

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

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

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

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

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

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

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

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

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

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

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

Automatic Repeat reQuest (ARQ)

Page 71: Communication Networks Part I - web.fe.up.pt

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

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

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

Stop and Wait ARQ – Examples

Page 75: Communication Networks Part I - web.fe.up.pt

Stop and Wait - Efficiency

Page 76: Communication Networks Part I - web.fe.up.pt

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

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

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

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

Sliding Window - Model

Page 81: Communication Networks Part I - web.fe.up.pt

Sliding Window - Example

Page 82: Communication Networks Part I - web.fe.up.pt

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

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

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

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

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

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

Reliability in the Protocol Stack

Page 89: Communication Networks Part I - web.fe.up.pt

Reliability in the Protocol Stack

Page 90: Communication Networks Part I - web.fe.up.pt

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

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

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

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

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

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

Homework

1. Review slides

2. Read from Tanenbaum » Chapter 3 (5th edition)

3. Read from Bertsekas&Gallager » Sections 2.3, 2.4