Transcript ERROR
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 LRC Original Data CRC (Cyclic Redundancy Checking) ใช้สมการ Polynomial มาใช้คานวณ โดยทัว่ ไป Error จะเกิดในตาแหน่งที่ไม่แน่นอน และไม่มี ความสัมพันธ์กนั วิธีการนี้จะกาหนดตัวเลข polynomial ขึ้นมาก่อน จากนั้นจะนา ข้อมูลที่จะส่ งมาหารด้วยตัวเลขตัวนี้ ข้อมูลจริ งจะถูกส่ งไปพร้อมกับ เศษที่เหลือจากการหาร (Mod) ผูร้ ับก็ใช้วิธีการเดียวกัน แล้วเปรี ยบเทียบเศษที่เหลือจากการหารว่า เท่ากันหรื อไม่ CRC (Cyclic Redundancy Checking) Polynomial CRC-12 X12+X11+X3+X2+1 CRC-16 X16+X15+X2+1 CRC-CCITT X16+X15+X5+1 Bit String Used 1100 0000 1101 1100 0000 0000 0101 1100 0000 0010 0001 CRC-32 1000 0010 0110 X32+X26+X23+X22+X16+X12+X11+ 0000 1000 1110 1101 0111 X10+X8+X7+X5+X4+X2+X+1 Error Correction มี 2 วิธีการคือ 1. แก้ไขแบบไม่ส่งข้อมูลซ้ า ผูร้ ับจะจัดการแก้ไขข้อมูลที่ผดิ เอง 2. แก้ไขแบบส่ งข้อมูลซ้ า ผูส้ ่ งจะจัดการส่ งข้อมูลที่ผดิ นั้นมาให้ใหม่ Forward Error Correction การแก้ไขแบบไม่ส่งข้อมูลซ้ า ถูกออกแบบมาให้แก้ไข error เพียงบิต เดียว ต่อข้อมูล 1 block ข้อมูลสาหรับการแก้ไขจะถูกส่ งไปพร้อมกับข้อมูลจริ ง ทาให้มีปริ มาณ ข้อมูลโดยรวมสูงมาก Hamming Code คิดค้นโดย R.W. Hamming ใช้ even parity หลายบิต ในการตรวจสอบข้อมูล เหมาะสาหรับการส่ งข้อมูลที่ผรู ้ ับไม่สามารถแจ้ง error แก่ผสู ้ ่ งได้ เช่น ส่ งแบบ Simplex Hamming Code 1100 1100 0110 P1 P2 D1 P3 D2 D3 D4 0 1 1 1 1 0 0 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 A C K 5 A C K 6 7 A C K 7 8 9 A C K 4 A C K 8 10 A C K 9 A C K 10 Error Protection วิธีการป้ องกันแบบง่ายที่สุดคือ การใส่ หรื อเพิ่มฉนวนป้ องกันให้แก่สาย สื่ อสาร ความเร็ วในการส่ งข้อมูลก็เป็ นปัจจัยสาคัญของการเกิด error ถ้าส่ ง ความเร็ วสูงมากก็มีโอกาสที่จะเกิด error สูงตามไปด้วย