ERROR (Data Link Layer) Data Communication and Networks
ความผิดเพี้ยนของข้อมูล (Data Error) สาเหตุส่วนใหญ่ที่ทำให้ข้อมูลผิดเพี้ยนไปเกิดเนื่องจากการรบกวนจากสิ่งต่างๆ ภายนอกระบบเครือข่าย ซึ่งเป็นสิ่งที่อาจหลีกเลี่ยงได้ แต่ไม่สามารถแก้ไขได้ อีกสาเหตุอาจเกิดจากปัญหาภายในเครือข่ายเอง ซึ่งเป็นสิ่งที่อาจหลีกเลี่ยงหรือแก้ไขได้
Impulse Noise เป็นการรบกวนที่เกิดขึ้นจากกระแสไฟฟ้าแรงดันสูงภายนอกเครือข่าย เช่น กระแสไฟฟ้าที่เกิดจากฟ้าผ่า หรืออุปกรณ์ที่ใช้หรือสร้างไฟฟ้าแรงดันสูง หม้อแปลงไฟฟ้า ทำให้เกิดการรบกวน ผู้รับไม่สามารถแปลความหมายของข้อมูลที่ผิดเพี้ยนได้
Gaussian Noise or White Noise เป็นสัญญาณรบกวนที่เกิดขึ้นจากการเปลี่ยนแปลงคุณสมบัติของตัวนำเนื่องจากความร้อนที่เพิ่มขึ้นในระหว่างการใช้งาน หรือ เรียกอีกอย่างว่า Thermal Noise เมื่อความร้อนสะสมจนถึงระดับที่สูงพอ ก็จะเปลี่ยนเป็นสัญญาณรบกวน ซึ่งจะรุนแรงตามระดับอุณหภูมิ เป็นปัญหาของสายสื่อสารเอง แก้ไขไม่ได้ แต่หลีกเลี่ยงได้ โดยการทำให้สายสื่อสารนั้นมีอุณหภูมิต่ำ หรือปกติตลอดเวลา
Attenuation การอ่อนกำลังลงของสัญญาณตามระยะทางที่เพิ่มขึ้น สัญญาณที่มีกำลังตามปกติจะทนทานต่อสัญญาณรบกวนต่างๆ ได้ แต่สัญญาณที่อ่อนกำลังลงจะถูกรบกวนได้ง่าย การแก้ไข ใช้อุปกรณ์ Amplifier หรือ Repeater
Crosstalk สัญญาณจากสายสื่อสารต่างๆ ที่รบกวนกันเอง ในการวางสายสื่อสารหลายเส้นไว้ด้วยกัน ปกติสายจะมีฉนวนหุ้มอยู่ ป้องกันการรบกวนจากภายนอก และไม่ให้สัญญาณภายในสายกระจายออกไป แต่ในกรณีที่ฉนวนเกิดการชำรุดก็จะเกิดการรบกวนได้ การใช้สายสื่อสารขนาดเล็กเกินไป หรือใช้สัญญาณที่มีความแรงมากเกินไป ก็ทำให้เกิดปัญหานี้ได้ การใช้ Modulation แบบ FDM มีโอกาสเกิด crosstalk ได้
Delay Distortion สัญญาณที่ใช้ความถี่ไม่เท่ากัน แม้จะถูกส่งออกมาพร้อมกัน แต่จะเดินทางมาถึงผู้รับไม่พร้อมกัน การแก้ปัญหานี้โดยการใช้ Equalizer ปรับความเร็วของคลื่นสัญญาณทั้งหมดให้เท่ากัน
Line Failure ปัญหาของสายสื่อสารอาจชำรุด หรือขาดออกจากกัน มักเป็นปัญหามาก จนทำให้การสื่อสารไม่สามารถทำได้ จนกว่าจะแก้ปัญหานี้ได้
Error Detection สาเหตุที่ทำให้เกิด error นั้นมีมากมาย ทำให้การถ่ายทอดข้อมูลทุกครั้ง มีโอกาสที่จะเกิด error ได้เสมอ ซึ่งข้อมูลเหล่านี้ต้องถูกตรวจสอบ และแก้ไขก่อนนำไปใช้งานต่อไป วิธีการตรวจสอบ error มีดังนี้
Parity Checking เป็นการเพิ่มบิตพิเศษเข้าไปในข้อมูล เพื่อตรวจความถูกต้องของทุกตัวอักษร มี 2 วิธีการคือ Odd parity และ Even parity Odd Parity ถ้า Bit 1 เป็นจำนวนคี่ Parity = 1 Even Parity ถ้า Bit 1 เป็นจำนวนคู่ Parity = 1 ปัญหา ถ้าเกิด error bit เป็นจำนวนคู่ เช่น 2, 4, 6,…ของบิต จะไม่สามารถตรวจสอบพบได้
LRC (Longitudinal redundancy checking) แก้ปัญหา ถ้าเกิด error bit เป็นจำนวนคู่ เป็นการทำ parity checking ในแนวนอน เพิ่มจาก parity checking โดยจะทำการเพิ่มชุดตัวอักษรที่ท้ายสุด เรียกว่า block control character (BCC) เพื่อนำมาตรวจสอบ parity ของข้อมูลทั้ง block แต่ถ้าเกิด error bit เป็นจำนวนคู่ ใน BCC ก็ไม่สามารถตรวจสอบได้เหมือนกัน
LRC (Longitudinal redundancy checking) 11100111 11011101 00111001 10101001 11100111 11011101 00111001 10101001 10101010 11100111 11011101 00111001 10101001 10101010 Original Data LRC
CRC (Cyclic Redundancy Checking) ใช้สมการ Polynomial มาใช้คำนวณ โดยทั่วไป Error จะเกิดในตำแหน่งที่ไม่แน่นอน และไม่มีความสัมพันธ์กัน วิธีการนี้จะกำหนดตัวเลข polynomial ขึ้นมาก่อน จากนั้นจะนำข้อมูลที่จะส่งมาหารด้วยตัวเลขตัวนี้ ข้อมูลจริงจะถูกส่งไปพร้อมกับเศษที่เหลือจากการหาร (Mod) ผู้รับก็ใช้วิธีการเดียวกัน แล้วเปรียบเทียบเศษที่เหลือจากการหารว่าเท่ากันหรือไม่
CRC (Cyclic Redundancy Checking) Polynomial Bit String Used CRC-12 X12+X11+X3+X2+1 1100 0000 1101 CRC-16 X16+X15+X2+1 1100 0000 0000 0101 CRC-CCITT X16+X15+X5+1 1100 0000 0010 0001 CRC-32 X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 1000 0010 0110 0000 1000 1110 1101 0111
Error Correction มี 2 วิธีการคือ 1. แก้ไขแบบไม่ส่งข้อมูลซ้ำ ผู้รับจะจัดการแก้ไขข้อมูลที่ผิดเอง 2. แก้ไขแบบส่งข้อมูลซ้ำ ผู้ส่งจะจัดการส่งข้อมูลที่ผิดนั้นมาให้ใหม่
Forward Error Correction การแก้ไขแบบไม่ส่งข้อมูลซ้ำ ถูกออกแบบมาให้แก้ไข error เพียงบิตเดียว ต่อข้อมูล 1 block ข้อมูลสำหรับการแก้ไขจะถูกส่งไปพร้อมกับข้อมูลจริง ทำให้มีปริมาณข้อมูลโดยรวมสูงมาก Hamming Code คิดค้นโดย R.W. Hamming ใช้ even parity หลายบิตในการตรวจสอบข้อมูล เหมาะสำหรับการส่งข้อมูลที่ผู้รับไม่สามารถแจ้ง error แก่ผู้ส่งได้ เช่น ส่งแบบ Simplex
Hamming Code 1 P1 P2 D1 P3 D2 D3 D4 1100 1100 0110 D = Data 1 D = Data P = Odd Parity
Error Detection with Retransmission การแก้ไขแบบส่งข้อมูลซ้ำ หรือ ARQ (Automatic Repeat Request) มี 3 แบบ คือ 1. Stop-and-Wait ARQ 2. Go-Back-N ARQ 3. Continuous ARQ
Stop-and-Wait ARQ
Go-Back-N ARQ
Continuous ARQ 3 7 8 9 10 A C K 5 A C K 6 A C K 7 A C K 4 A C K 8 A C
Error Protection วิธีการป้องกันแบบง่ายที่สุดคือ การใส่หรือเพิ่มฉนวนป้องกันให้แก่สายสื่อสาร ความเร็วในการส่งข้อมูลก็เป็นปัจจัยสำคัญของการเกิด error ถ้าส่งความเร็วสูงมากก็มีโอกาสที่จะเกิด error สูงตามไปด้วย