Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
Module 05 การตรวจสอบแก้ไขความผิดพลาด และควบคุมการไหลของข้อมูล อาจารย์ภิรมย์ คงเลิศ สาขาวิ ช าวิ ท ยาศาสตร์ แ ละเทคโนโลยี มหาวิ ท ยาลั ย สุ โ ขทั ย ธรรมาธิ ร าช
96304 Data Communications and Networking
1
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
เรื่องที่เรา . . . จะมาพู ดคุยกัน ตอนที่ 1 การตรวจสอบแก้ไขความผิดพลาด • สัญญาณรบกวนและการป้องกัน • การตรวจสอบความผิดพลาด • การแก้ไขความผิดพลาด ตอนที่ 2 การควบคุมการไหลของข้อมูล • กฎเกณฑ์และข้อตกลง การควบคุมการใช้ช่องสัญญาณ • การควบคุมการไหลของข้อมูล • การควบคุมข้อผิดพลาด
96304 Data Communications and Networking
2
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
สัญญาณรบกวนและการป้องกัน ประเภทของสัญญาณรบกวน
• เทอร์มัลนอยซ์ (Thermal noise)
การป้องกัน ใช้รีเจนเนอร์เรเตอร์ปรับสัญญาณ ให้มีคุณสมบัติเหมือนกับสัญญาณต้นฉบับ
• อิมพั ลส์นอยซ์ (Impulse noise)
การป้องกัน ใช้อุปกรณ์กรองสัญญาณพิ เศษ สําหรับสัญญาณ Analog หรือ อุปกรณ์ประมวลผลสัญญาณ Digital สําหรับสัญญาณ Digital
• ครอสทอล์ค (Crosstalk) การป้องกัน ใช้สัญญาณที่มีฉนวน
96304 Data Communications and Networking
3
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
สัญญาณรบกวนและการป้องกัน ประเภทของสัญญาณรบกวน • เอคโค (Echo)
การป้องกัน ใช้เทอมิเนเตอร์ช่วยลดการสะท้อนกลับของสัญญาณ โดยการดูดกลืนสัญญาณสะท้อน
•
จิตเตอร์ (Jitter)
การป้องกัน ใช้วงจรอิเล็กทรอนิกส์ที่มีคุณภาพ หรืออุปกรณ์รีพีตเตอร์
•
ความผิดเพี้ ยนจากการเคลื่อนที่ (Delay distortion)
การป้องกัน เพิ่ มวงจรอีควอลไลซ์ปรับความเร็วของความถี่ให้เท่ากัน
•
การอ่อนกําลังของสัญญาณ (Attenuation) การป้องกัน ใช้อุปกรณ์รีพีตเตอร์ทวนซํ้าสัญญาณ
96304 Data Communications and Networking
4
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
ประเภทของความผิดพลาด 1) ความผิดพลาดประเภทบิตเดียว 2) ความผิดพลาดประเภทหลายบิต 3) ความผิดพลาดประเภทหลายบิตต่อเนื่อง
96304 Data Communications and Networking
5
ความผิดพลาดประเภทบิตเดียว (single-bit error)
ความผิดพลาดประเภทหลายบิต (multiple-bit error)
ความผิดพลาดประเภทหลายบิตต่อเนื่อง (burst error)
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
การตรวจสอบความผิดพลาด • เกิดขึ้นระหว่างการรับส่งข้อมูลในช่องสัญญาณ •
มีสาเหตุจากการถูกรบกวนจากปัจจัยต่าง ๆ
•
ทําโดยสถานีส่งข้อมูลสร้างบิตพิ เศษขึ้นเรียกว่า “บิตตรวจสอบ”
•
บิตตรวจสอบเป็นเสมือนค่าที่ใช้ตรวจสอบ ความถูกต้องของข้อมูล
•
การเพิ่ มบิตตรวจสอบต่อท้ายข้อมูลจริง ก่อนส่งข้อมูลเข้าไปในช่องสัญญาณ เมื่อข้อมูลมาถึงสถานีรับข้อมูล สถานีรับข้อมูลจะคํานวณความถูกต้องของ ข้อมูลที่ได้รับมา แล้วนํามาเทียบกับบิตตรวจสอบที่ต่อท้ายข้อมูล
96304 Data Communications and Networking
9
เทคนิคการตรวจสอบความผิดพลาด
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
วิธีการตรวจสอบความผิดพลาด เทคนิคการทํารีดันแดนซี ที่นิยมใช้มี 3 วิธี คือ
1) การตรวจสอบด้วยบิตพาริตี้ 2) การตรวจสอบด้วยการหาผลรวม 3) การตรวจสอบด้วยส่วนซํ้าซ้อนแบบวน
96304 Data Communications and Networking
11
1) การตรวจสอบด้วยบิตพาริต้ี
1.1) การตรวจสอบบิตพาริตี้อย่างง่าย • บิตพาริตี้คู่ (even parity) • บิตพาริตี้คี่ (odd parity)
1) การตรวจสอบด้วยบิตพาริต้ี
1.2) การตรวจสอบบิตพาริตี้ แบบ 2 มิติ
2) การตรวจสอบด้วยการหาผลรวม
3) การตรวจสอบด้วยส่วนซํ้าซ้อนแบบวน
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
การแก้ไขความผิดพลาด • เป็นเทคนิคที่สถานีรับข้อมูลใช้แก้ไขความ ผิดพลาดที่เกิดขึ้นในข้อมูล หลังจากที่ตรวจสอบพบข้อผิดพลาด • เทคนิคการแก้ไขความผิดพลาดมี 2 เทคนิค 1) เทคนิคการส่งข้อมูลใหม่ 2) เทคนิคการส่งต่อ
96304 Data Communications and Networking
16
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
เทคนิคแก้ไขข้อผิดพลาด ด้วยการส่งต่อ • เทคนิคที่สถานีรับข้อมูลใช้ในการแก้ไขความ ผิดพลาดอัตโนมัติ • อาศัยกลไกการเข้ารหัสแบบพิ เศษ เรียกว่า รหัสแก้ไขความผิดพลาด • การใช้รหัสแก้ไขความผิดพลาด ช่วยให้ทราบถึงความผิดพลาดของข้อมูล และช่วยแก้ไขข้อมูลในบิตที่ผิดพลาด • ตัวอย่างของรหัสแก้ไขความผิดพลาด คือ ฮัมมิ่งโค้ด (Hamming Code) 96304 Data Communications and Networking
17
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
ฮัมมิง ่ โค้ด
โค้ดเวิร์ด (Codeword) คือ บิตข้อมูลผสมด้วยบิตตรวจสอบ
การเติมบิตตรวจสอบของสถานีส่งข้อมูล ถ้ากําหนดให้โค้ดเวิร์ดแต่ละตัว ประกอบด้วย รหัสแอสกี (ASCII) ของตัวอักษรขนาด 7 บิต และมีบิตตรวจสอบ 4 บิต แทรกอยู่ในตําแหน่งต่าง ๆ ภายในข้อมูลตัวอักษร ทําให้โค้ดเวิร์ดมีความยาวเป็น 11 บิต กําหนดให้บิตตรวจสอบอยู่ในตําแหน่ง ที่ 20, 21 , 22 และ 23 ซึ่งก็คือตําแหน่งที่ 1, 2, 4, และ 8 ตามลําดับ เมื่อพิ จารณาตัวอักขระ M ซึ่งมีรหัสแอสกี เป็น 100 11012 เพราะฉะนั้นค่าของบิต ในแต่ละตําแหน่งของโค้ดเวิร์ด เป็นดังนี้
96304 Data Communications and Networking
18
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
การเติมบิตตรวจสอบของสถานีส่งข้อมูล (ต่อ) ตําแหน่งของบิตที่แสดงด้วย x เป็นตําแหน่งของบิตตรวจสอบ ซึ่งค่าของ x คํานวณจากการใช้เลขฐานสองของตําแหน่งของบิตข้อมูล ที่มีค่าเป็น 1 มา XOR กัน จากตัวอย่างนี้ ตําแหน่งของบิตที่มีค่าเป็น 1 คือ ตําแหน่งที่ 11, 7, 6 และ 3 และเมื่อนําเลขฐานสองของตําแหน่งของบิตเหล่านี้มา XOR จะได้ผลลัพธ์ดังนี้ 11 = 1 0 1 1 7 = 0 1 1 1 6 = 0 1 1 0 3 = 0 0 1 1 ผลลัพธ์จาก XOR = 1 0 0 1 บิตตรวจสอบที่จะใส่ลงแทนตําแหน่ง x ในโค้ดเวิร์ด ซึ่งจะได้ดังนี้ 11 10
9
8
7
6
5
4
3
2
1
1
0
1
1
1
0
0
1
0
1
0
เพราะฉะนั้น 10011100101 คือ โค้ดเวิร์ดที่สถานีส่งข้อมูล ส่งออกไปให้สถานีรับข้อมูล 96304 Data Communications and Networking
19
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
ฮัมมิ่งโค้ด การตรวจสอบความถูกต้องของข้อมูล ของสถานีรับข้อมูล กรณีที่ข้อมูลที่ได้รับมาถูกต้อง สมมุติ ข้อมูลที่ได้รับมา คือ 10011100101 11 8 7 6 3 1 ผลลัพธ์จาก XOR
= = = = = = =
1 1 0 0 0 0 0
0 0 1 1 0 0 0
1 0 1 1 1 0 0
1 0 1 0 1 1 0 ข้อมูลถูกต้อง
96304 Data Communications and Networking
20
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
ฮัมมิ่งโค้ด การตรวจสอบความถูกต้องของข้อมูล ของสถานีรับข้อมูล กรณีที่ข้อมูลที่ได้รับมาไม่ถูกต้อง สมมุติ ข้อมูลที่ได้รับมา คือ 00011100101 8 7 6 3 1 ผลลัพธ์จาก XOR
= = = = = =
1 0 0 0 0 1
0 1 1 0 0 0
0 1 1 1 0 1
0 1 0 1 1 1 ข้อมูลมีความผิดพลาด
96304 Data Communications and Networking
21
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
เรื่องที่เรา . . . จะมาพู ดคุยกัน ตอนที่ 1 การตรวจสอบแก้ไขความผิดพลาด • สัญญาณรบกวนและการป้องกัน • การตรวจสอบความผิดพลาด • การแก้ไขความผิดพลาด ตอนที่ 2 การควบคุมการไหลของข้อมูล • กฎเกณฑ์และข้อตกลง การควบคุมการใช้ช่องสัญญาณ • การควบคุมการไหลของข้อมูล • การควบคุมข้อผิดพลาด
96304 Data Communications and Networking
22
กฎเกณฑ์และข้อตกลงการควบคุมการใช้ช่องสัญญาณ • เอ็นไควรี่/แอ็คโนเลจเม้นต์
กฎเกณฑ์และข้อตกลงการควบคุมการใช้ช่องสัญญาณ • โพล/ซีเล็ค
กฎเกณฑ์และข้อตกลงการควบคุมการใช้ช่องสัญญาณ • โพล/ซีเล็ค
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
การควบคุมการไหลของข้อมูล 2 วิธี ใน การควบคุมการไหลของข้อมูล 1) การควบคุมการไหลของข้อมูล แบบหยุดและรอ 2) การควบคุมการไหล แบบเลื่อนหน้าต่าง
96304 Data Communications and Networking
26
การควบคุมการไหลของข้อมูลแบบหยุดและรอ
การควบคุมการไหลเลื่อนหน้าต่าง
การควบคุมการไหลเลื่อนหน้าต่าง
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
การควบคุมข้อมูลผิดพลาด การส่งข้อมูลซํ้าอัตโนมัติ กระบวนการในการควบคุมข้อผิดพลาดข้อมูล ของสถานีรับข้อมูล ประกอบด้วย 2 วิธี 1) วิธีการส่งข้อมูลซํ้าอัตโนมัติ แบบหยุดและรอ 2) วิธีการส่งข้อมูลซํ้าอัตโนมัติ แบบเลื่อนหน้าต่าง
96304 Data Communications and Networking
30
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
วิธีการส่งข้อมูลซํ้าอัตโนมัติ แบบหยุดและรอ การทํางานของการส่งข้อมูลซํ้าอัตโนมัติ แบบหยุดและรอ แบ่งออกเป็น 4 กรณี 1) กรณี ไม่เกิดความผิดพลาด 2) กรณี การสูญหายของเฟรมข้อมูล 3) กรณี การสูญหายของเฟรม ACK 4) กรณี การล่าช้าของเฟรม ACK
96304 Data Communications and Networking
31
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบหยุดและรอ • กรณี ไม่เกิดความผิดพลาด
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบหยุดและรอ • กรณี การสูญหายของเฟรมข้อมูล
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบหยุดและรอ • กรณี การสูญหายของเฟรม ACK
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบหยุดและรอ • กรณี การล่าช้าของเฟรม ACK
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
วิธีการส่งข้อมูลซํ้าอัตโนมัติ แบบเลื่อนหน้าต่าง •
เป็นวิธีการควบคุมข้อผิดพลาด ที่มีพื้นฐานมาจากการควบคุมการไหล ของข้อมูลแบบเลื่อนหน้าต่าง
•
เทคนิคของวิธีการส่งข้อมูลซํ้าอัตโนมัติ แบบเลื่อนหน้าต่าง ที่นิยมใช้ มี 2 เทคนิค 1) โกแบ็คเอ็นเออาร์คิว 2) ซีเล็คทีฟรีเจ็คเออาร์คิว
96304 Data Communications and Networking
36
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบเลื่อนหน้าต่าง • โกแบ็คเอ็นเออาร์คิว
วิธีการส่งข้อมูลซํ้าอัตโนมัติแบบเลื่อนหน้าต่าง • ซีเล็คทีฟรีเจ็คเออาร์คิว
Module 05 ▶ การตรวจสอบแก้ไขความผิดพลาดและควบคุมการไหลของข้อมูล ผู้สอน ▶ อาจารย์ภิรมย์ คงเลิศ
Module 05 การตรวจสอบแก้ไขความผิดพลาด และควบคุมการไหลของข้อมูล อาจารย์ภิรมย์ คงเลิศ สาขาวิ ช าวิ ท ยาศาสตร์ แ ละเทคโนโลยี มหาวิ ท ยาลั ย สุ โ ขทั ย ธรรมาธิ ร าช
96304 Data Communications and Networking
39