cps 365 theophilus benson. today’s lecture recap last class error detection code – parity –...
TRANSCRIPT
![Page 1: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/1.jpg)
CPS 365
Theophilus Benson
![Page 2: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/2.jpg)
Today’s Lecture• Recap last class
• Error detection code– Parity– Check-Sum– Error-Correcting-Codes
• Error correcting code– Sophisticated code that can correct errors
• Multiple Access Link– Ethernet– Token ring– Note: understand the concepts
![Page 3: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/3.jpg)
Last Class
• Approaches to Framing• Latency Breakdown• Reliable Delivery
– Stop and Wait V. At-Most-Once• Ensuring high throughput
– Sliding Window – Seq # V SWS
![Page 4: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/4.jpg)
At Most Once
SW1 SW2 SW3
Goal: send two packets from SW1 to SW3Assumptions: No Packet LossAlgorithm: At-Most-Once
![Page 5: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/5.jpg)
At Most Once SW1 SW2 SW3
![Page 6: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/6.jpg)
Sliding Window
SW1 SW2 SW3
Goal: send two packets from SW1 to SW3Assumptions: No Packet LossAlgorithm: Sliding Window
Bandwidth-Delay Product: 4 packetSWS=4RWS=4
1 2 3 4 5 6
SWS
LFS
LAR
![Page 7: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/7.jpg)
Sliding Window SW1 SW2 SW3
![Page 8: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/8.jpg)
At Most Once Sliding Window
![Page 9: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/9.jpg)
Today’s Lecture• Recap last class
• Error detection code– Parity– Check-Sum– Error-Correcting-Codes
• Error correcting code– Sophisticated code that can correct errors
• Multiple Access Link– Ethernet– Token ring– 802.11 (WiFi)– Note: understand the concepts
![Page 10: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/10.jpg)
Why Should You Care About Errors?
• Still happens in:– Wireless networks– Cellular networks
• Error detection + Correction is fundamental– Used to in Storage/Operating Systems
• Crucial in data centers
– Facebook uses advanced forms to protect data
![Page 11: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/11.jpg)
Error Detection
• Must add bits to catch errors in packet• Sometimes can also correct errors
– If enough redundancy– Might have to retransmit
• Used in multiple layers• Three examples today:
– Parity– Internet Checksum– CRC
![Page 12: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/12.jpg)
Errors Abound
1 0
SW1 SW2
![Page 13: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/13.jpg)
Errors Abound
• Can we detect the error?
1 1
SW1 SW2
![Page 14: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/14.jpg)
Simplest Schemes: Repeat Frame N times (FEC)
1 0 1 0 1 0
SW1 SW2
![Page 15: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/15.jpg)
• Can we detect the error?• Can we correct errors?• What is the problem?
Simplest Schemes:Repeat Frame N times (FEC)
1 1 1 0 1 0
SW1 SW2
![Page 16: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/16.jpg)
• Add a parity bit to the end of a word
Simplest Schemes: Parity Bit
1 0 1
SW1 SW2
![Page 17: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/17.jpg)
• Add a parity bit to the end of a word• Can we detect the error?• Can we correct the error?
Simplest Schemes: Parity Bit1 Error
0 0 1
SW1 SW2
Parity
1 1 0
1 0 1
0 1 1
0 0 0
![Page 18: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/18.jpg)
• Add a parity bit to the end of a word• Can we detect error when
there are two errors?
Simplest Schemes: Parity Bit2 Errors
0 1 1
SW1 SW2
Parity
1 1 0
1 0 1
0 1 1
0 0 0
![Page 19: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/19.jpg)
• Add a parity bit to the end of a word• Can we detect error when
there are two errors?
Simplest Schemes: Parity Bit2 Errors
0 1 1
SW1 SW2
Parity
1 1 0
1 0 1
0 1 1
0 0 0If using this parity, you can only detect an ‘odd’ number of errors!!!!
![Page 20: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/20.jpg)
XoR encoding
1 1 1 0 1 0
SW1 SW2
![Page 21: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/21.jpg)
XoR encoding
1 1 1 0 1 0
SW1 SW2
1 0 1
1 1 1 0 1 0 1 0 1XOR
![Page 22: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/22.jpg)
XoR encoding
1 1 1 0 1 0
SW1 SW2
0 0 1
Error in correcting codeno one cares
• What happens when there’s an error…– In the Correcting Code
![Page 23: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/23.jpg)
XoR encoding
• What happens when there’s an error…– In the Correcting Code– How about in the data?
1 0 0 0 1 0
SW1 SW2
1 0 1
Error in Data!!!Code RED!!!
![Page 24: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/24.jpg)
• What happens when there’s an error…– In the Correcting Code– How about in the data?
• How do we correct this?
XoR encoding
1 0 0 0 1 0
SW1 SW2
1 0 1
1 1 10 1 0 1 0 1XOR
![Page 25: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/25.jpg)
2-D Parity
• Add 1 parity bit for each 7 bits• Add 1 parity bit for each bit position across the frame)
– Can correct single-bit errors– Can detect 2- and 3-bit errors, most 4-bit errors
• Find a 4-bit error that can’t be corrected
![Page 26: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/26.jpg)
Internet checksum algorithm:IP Checksum
• Fixed-length code– n-bit code should capture all but 2-n fraction of errors
• Why?
– Trick is to make sure that includes all common errors• IP Checksum is an example: 16-bits
– 1’s complement of 1’s complement sum of every 2 bytes
uint16 cksum(uint16 *buf, int count) {uint32 sum = 0;while (count--)
if ((sum += *buf++) & 0xffff0000) // carrysum = (sum & 0xffff) + 1;
return ~(sum & 0xffff);}
![Page 27: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/27.jpg)
1’s complement
• -x is each bit of x inverted• If there is a carry bit, add 1 to the sum• Example: 4-bit integer
– -3: 1100 (invert of 0011)– -4: 1011 (invert of 0100)– -3 + -4 = 0111 + 1 = 1000 (invert of 0111 (-7))
![Page 28: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/28.jpg)
How good is it?• 16 bits not very long: misses how many errors?
– 1 in 216, or 1 in 64K errors• Checksum detects all 1-bit errors• But not all 2-bit errors
– E.g., increment word ending in 0, decrement one ending in 1
• Checksum also optional in UDP– All 0s means no checksums calculated– If checksum word gets wiped to 0 as part of error,
bad news
![Page 29: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/29.jpg)
From rfc791 (IP)
“This is a simple to compute checksum and experimental evidence indicates it is adequate,
but it is provisional and may be replaced by a CRC procedure, depending on further
experience.”
![Page 30: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/30.jpg)
Cyclic Redundancy Check
• A branch of finite fields
• Goal: maximize protection, minimize bits
• High-level idea:– Represent an n+1-bit message with an n degree polynomial
M(x)
– Each bit is one coefficient– E.g., message 10101001 -> m(x) = x7 + x5+ x3 + 1– E.g., 11111111-> m(x) = x8+x7 +x6+ x5+x4 +x3+x2+x1 + 1
![Page 31: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/31.jpg)
CRC• Checking CRC is easy
– Reduce message by C(x), make sure remainder is 0
![Page 32: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/32.jpg)
An example
• 8-bit msg: 10011010• Divisor (3bit CRC):101• Calculating Checksum
– Select a divisor polynomial C(x), degree k
– Let n(x) = m(x)xk (add k 0’s to m)
– Compute r(x) = n(x) mod C(x)
– New P(x) = n(x) – r(x)
• Checking the Checksum– P(x) mod C(x) = 0
C(x) N(x)
K-bit CRC
Add k 0’sOriginal MsgM(x)
n(x)
![Page 33: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/33.jpg)
Why is this good?• Suppose you send m(x), recipient gets m’(x)
– E(x) = m’(x) – m(x) (all the incorrect bits)– If CRC passes, C(x) divides m’(x)– Therefore, C(x) must divide E(x)
• Choose C(x) that doesn’t divide any common errors!– All single-bit errors caught if xk, x0 coefficients in C(x) are 1– All 2-bit errors caught if at least 3 terms in C(x)– Any odd number of errors if last two terms (x + 1)– Any error burst less than length k caught
![Page 34: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/34.jpg)
Common CRC Polynomials
• Polynomials not trivial to find– Some studies used (almost) exhaustive search
• CRC-8: x8 + x2 + x1 + 1• CRC-16: x16 + x15 + x2 + 1• CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 +
x8 + x7 + x5 + x4 + x2 + x1 + 1• CRC easily computable in hardware
![Page 35: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/35.jpg)
Why is this good?
• Easy to Implement in Hardware– All routers must implement this
• Calculating Checksum– Select a divisor polynomial C(x),
degree k– Let n(x) = m(x)xk (add k 0’s to m)– K-bit shift registers– Compute r(x) = n(x) mod C(x)– Mod is XOR– New m(x) = n(x) – r(x)– Subtraction is also XOR
![Page 36: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/36.jpg)
An alternative for reliability• Erasure coding
– Assume you can detect errors– Code is designed to tolerate entire missing frames
• Collisions, noise, drops because of bit errors
– Forward error correction• Examples: Reed-Solomon codes, LT Codes, Raptor
Codes• Property:
– From K source frames, produce B > K encoded frames– Receiver can reconstruct source with any K’ frames, with
K’ slightly larger than K– Some codes can make B as large as needed, on the fly
![Page 37: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/37.jpg)
Trade-Off: Efficiency Versus Reliability
No Codes
FEC
Parity
2d-ParityXOR
IP-Checkum
![Page 38: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/38.jpg)
Today’s Lecture• Recap last class
• Error detection code– Parity– Check-Sum– Error-Correcting-Codes
• Error correcting code– Sophisticated code that can correct errors
• Multiple Access Link– Ethernet– Token ring– 802.11 (WiFi)– Note: understand the concepts
![Page 39: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/39.jpg)
Media Access Control• Control access to shared physical medium
– E.g., who can talk when?– If everyone talks at once, no one hears anything– Job of the Link Layer
• Two conflicting goals– Maximize utilization when one node sending– Approach 1/N allocation when N nodes sending
![Page 40: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/40.jpg)
Different Approaches• Partitioned Access
– Time Division Multiple Access (TDMA)– Frequency Division Multiple Access (FDMA)– Code Division Multiple Access (CDMA)
• Random Access– ALOHA/ Slotted ALOHA– Carrier Sense Multiple Access / Collision Detection
(CSMA/CD)– Carrier Sense Multiple Access / Collision Avoidance
(CSMA/CA)– RTS/CTS (Request to Send/Clear to Send)– Token-based
![Page 41: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/41.jpg)
Case Study: Ethernet (802.3)• Dominant wired LAN technology
– 10BASE2, 10BASE5 (Vampire Taps)– 10BASET, 100BASE-TX, 1000BASE-T, 10GBASE-
T,…• Both Physical and Link Layer specification• CSMA/CD
– Carrier Sense / Multiple Access / Collision Detection
• Frame Format (Manchester Encoding):
![Page 42: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/42.jpg)
Ethernet Addressing
• Globally unique, 48-bit unicast address per adapter– Example: 00:1c:43:00:3d:09 (Samsung adapter)– 24 msb: organization– http://standards.ieee.org/develop/regauth/oui/ou
i.txt• Broadcast address: all 1s• Multicast address: first bit 1• Adapter can work in promiscuous mode
![Page 43: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/43.jpg)
Ethernet MAC: CSMA/CD• Problem: shared medium
– 10Mbps: 2500m, with 4 repeaters at 500m• Transmit algorithm
– If line is idle, transmit immediately– Upper bound message size of 1500 bytes– Must wait 9.6μs (96-bit time) between back to back
frames• (Old limit) To give time to switch from tx to rx mode
– If line is busy: wait until idle and transmit immediately
![Page 44: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/44.jpg)
Handling Collisions• Collision detection (10Base2 Ethernet)
– Uses Manchester encoding. Why does that help?– Constant average voltage unless multiple
transmitters• If collision
– Jam for 32 bits, then stop transmitting frame• Collision detection constrains protocol
– Imposes min. packet size (64 bytes or 512 bits)– Imposes maximum network diameter (2500m)– Must ensure transmission time ≥ 2x propagation
delay (why?)
![Page 45: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/45.jpg)
Collision Detection
Me you
Check to see If any one is tx
Check to see If any one is tx
Detects collision
Doesn’t detectcollisions
![Page 46: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/46.jpg)
Collision Detection
Me you
Check to see If any one is tx
Check to see If any one is tx
Detects collision
detectcollisions
![Page 47: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/47.jpg)
When to transmit again?
• Delay and try again: exponential backoff• nth time: k × 51.2μs, for k = U{0..2min(n,10)-1}
– 1st time: 0 or 51.2μs– 2nd time: 0, 51.2, 102.4, or 153.6μs
• Give up after several times (usually 16)
![Page 48: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/48.jpg)
Capture Effect
• Exponential backoff leads to self-adaptive use of channel
• A and B are trying to transmit, and collide• Both will back off either 0 or 51.2μs• Say A wins.• Next time, collide again.
– A will wait between 0 or 1 slots– B will wait between 0, 1, 2, or 3 slots
• …
![Page 49: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/49.jpg)
Ethernet experience
• 30% utilization is heavy• Most Ethernets are not light loaded• Very successful
– Easy to maintain– Price: does not require a switch which used to be
expensive
![Page 50: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/50.jpg)
Wireless links
Most common Asymmetric: base station and client node
Point-to-multipoint Radio waves can be received simultaneously
by many devices
![Page 51: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/51.jpg)
Wireless access control
• Can’t use Ethernet protocol– A node on an Ethernet receives every other node’s
transmissions– A node on an 802.11 network may be too far from
certain other nodes to receive their transmissions (and vice versa)
– Problems: hiddlen terminal & exposed terminal
![Page 52: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/52.jpg)
Wireless access control
– Hidden terminal• A and C can’t hear each other’s collision at B
– Exposed terminal• B can send to A; C can send to D• C’s transmission to D will not interfere with A’s ability
to receive from B
![Page 53: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/53.jpg)
802.11 (WiFi) Multiple access with collision avoidance
• Sender and receiver exchange control frames– Sender receiver: Request to send (RTS)
• Specifies the length of frame– Receiver sender: Clear to send (CTS)
• Echoes length of frame– Sender receiver: frame– Receiver sender: ack– Other nodes can send after hearing ACK
• Node sees CTS– Too close to receiver, can’t transmit– Addressing hidden terminals
• Node only sees RTS– Okay to transmit– Addressing exposed terminals
![Page 54: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/54.jpg)
MACA – Multiple Access Collision Avoidance
• Use of additional control frames– Sender asks receiver whether it is able to receive a
transmission - Request to Send (RTS)– Receiver agrees, sends out a Clear to Send (CTS)– Sender sends, receiver Acknowledgements (ACKs)
A
B
C
RTS
CTS ACK
DATA
time
B
CA
1 2
3
4
Detect Collision
Find Transmission Complete
![Page 55: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/55.jpg)
Exposed Terminal
MACA – continued• When a node hears an RTS from a
neighboring node, but not the corresponding CTS, that node can deduce that it is an exposed terminal and is permitted to transmit to other neighboring nodes.
A D
B C
RTS
CTS
DATA
C
A
time
B
D
RTS
CTS
t1 t2 t3 t4 t5 t6
DATA
1
2
3 4
5
6
![Page 56: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/56.jpg)
How to resolve collision
• Two or more nodes detect an idle link and try to transmit an RTS frame at the same time..
• Sender can’t do collision detection– Single antenna can’t send and receive at the same
time
• If no CTS after a period of time, then RTS collide
• Exponential backoff to retransmit
![Page 57: CPS 365 Theophilus Benson. Today’s Lecture Recap last class Error detection code – Parity – Check-Sum – Error-Correcting-Codes Error correcting code –](https://reader035.vdocuments.net/reader035/viewer/2022062423/56649e9c5503460f94b9d030/html5/thumbnails/57.jpg)
Summary
• Error Detection and Correction– FEC– Simple-XOR-FEC (Parity Bit)– XOR-error-correcting codes– IP-Checksum
• Multiple access links– Ethernet– 802.11 (WiFi)– Note: understand the concepts