Errors Flashcards

1
Q

Cyclic Redundancy Check - Can detect

A

Detects all single bit errors, almost all 2-bit errors, any odd number of errors, all bursts up to M (where generator length is M), longer bursts with probability 2^-m.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cyclic Redundancy Check - Implementation

A

Hardware - shift register which is easy with ASIC/FPGA

Software - precompute remainders for 16-bit words, add remainders to a running sum, needs only one lookup per 16-but block

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

CRC - TCP/UDP/IP

A

Treat data bytes as 16-bit integers, add with end-around carry, one’s complement = checksum, catches all 1-bit errors, longer with low prob

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Types of Packet Error

A

Loss, Duplication, Insertion, Reordering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sequence Numbers

A

Contain in each header, increment for non-retrnasmitted packets.

Using them:

loss - gaps indicate
reordering - trivially
duplication - trivially
insertion - if received seq # is v. different

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Sequence number size

A

Must be long enough so sender does not confuse sequence numbers on acks.

2^seq_size > R(2 MPL + T + A) where R is rate, MPL is maximum packet lifetime, T is timeout time, A is time taken for receiver to respond)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

MPL

A

Maximum Packet Lifetime

Bounded by counter in header which is decremented per hop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Packet Insertion

A

Packets have source IP, dest IP, source port, dest port. Insertion occurs if open connection to B, then terminate on transport layer, then open new connection with same port numbers and delayed packet from old connection arrives.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Preventing Packet Insertion

A

Per-connection incarnation number -incremented for each connection from each host. (Takes up header space and may repeat on crash)

Reassign port numbers only after 1 Maximum Packet Lifetime

Wait 1 MPL after boot up to flush old packets from network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

3-way handshake

A

Protects against delayed SYNs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Timeout Schemes - Static

A

Know round trip time a priori
Timer set to this value
Works well when RTT changes little

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Timeout Schemes - Dynamic

A

Measure RTT

Timeout is a function of measured RTTs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Timeout Schemes - Old TCP

A

RTTs are measured periodically.

Smoothed RTT:

srtt = a * srtt + (1-a) * RTT

timeout = b*srtt

a = 0.9, b=2

bad in practice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Timeout Schemes - New TCP

A

Introduce new term = mean deviation from mean

m = |srtt - RTT|
sm = a *sm + (1-a) * m

timeout = srtt + b*sm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Go Back N Retransmission

A

On timeout, retransmite entire error control window so receiver only accepts in-order packets. Used in TCP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Selective Retransmission

A

Find out which packets lost then only retransmit them. Each ack has bitmap of received packets, sender periodically asks receiver for bitmap, fast retransmit.

17
Q

Fast Retransmit

A

Assume cumulative acks, if sender sees repeated cumulative acks, packet likely lost, send cumulative_ack + 1.

18
Q

SMART

A

Ack carries cumulative sequence number also sequence number of packet causing ack. Sender creates bitmap so no need for timers. If retransmitted packet lost, periodically check if cumulative ack increased.