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 สูงตามไปด้วย