โปรโตคอลการแก้ไขข้อผิดพลาดคืออะไร?

โปรโตคอลการแก้ไขข้อผิดพลาดของโมเด็มเป็นวิธีการตรวจจับและแก้ไขข้อผิดพลาดในการส่งข้อมูล ทั้งโปรโตคอลฮาร์ดแวร์และซอฟต์แวร์มีอยู่และมักใช้ร่วมกัน โมเด็มแต่ละตัวมักใช้โปรโตคอลในตัวของฮาร์ดแวร์เพื่อชดเชยสัญญาณรบกวนการสื่อสาร ระบบที่ปลายทั้งสองของลิงค์มักใช้โปรโตคอลที่ใช้ซอฟต์แวร์เพื่อจัดการกับปัญหาที่อยู่นอกเหนือการควบคุมของโมเด็ม

การแก้ไขข้อผิดพลาดในการส่งข้อมูลโดยทั่วไปเป็นกระบวนการหลายขั้นตอน ก่อนที่แพ็คเก็ตข้อมูลแต่ละอันจะถูกส่งไปที่ลิงค์โมเด็มส่งสัญญาณจะคำนวณการตรวจสอบและรวมไว้ในแพ็กเก็ต อัลกอริทึมตรวจสอบซ้ำซ้อนวงจร (CRC) มักจะใช้เพื่อตรวจสอบการตรวจสอบ เมื่อแพ็กเก็ตมาถึงโมเด็มที่รับจะคำนวณผลรวมตรวจสอบของข้อมูลและเปรียบเทียบกับแพ็กเก็ตที่มีอยู่แล้วในแพ็กเก็ต หากทั้งสองไม่ตรงกันเครื่องรับจะแจ้งเครื่องส่งสัญญาณว่าจำเป็นต้องส่งแพ็กเก็ตข้อมูลใหม่

ในปี 1980 Microcom, Inc. เปิดตัวโปรโตคอลแก้ไขข้อผิดพลาดของโมเด็มที่ใช้ฮาร์ดแวร์ในตระกูล เรียกว่า Microcom Networking Protocol (MNP) ซึ่งประกอบด้วยคลาสเลขสิบคลาสที่ปรับปรุงประสิทธิภาพเมื่อเวลาผ่านไป MNP Class 3 กำจัดบิตการกำหนดเฟรมที่ไม่จำเป็นออกจากแต่ละไบต์ข้อมูลตัวอย่างเช่น MNP Class 5 บีบอัดข้อมูลก่อนที่จะส่งสร้างตามการปรับปรุงใน Class 1 ถึง 4 MNP Class 6 จะเปลี่ยนแปลงแบนด์วิดท์ข้อมูลโดยให้ทิศทางเดียวกับอีกทิศทางหนึ่งตามต้องการและลดเวลาเริ่มต้นการเชื่อมต่อ

MNP ได้รับการยอมรับอย่างกว้างขวางและสร้างขึ้นในโมเด็มที่ใช้โทรศัพท์เป็นหลัก หนึ่งในโปรโตคอลการแก้ไขข้อผิดพลาดของโมเด็มที่ใช้ฮาร์ดแวร์ขั้นสูงได้รับการเปิดตัวในต้นปี 1990 มาตรฐานการสื่อสารโทรคมนาคมของสหภาพโทรคมนาคมระหว่างประเทศ (ITU-T) V.42 เป็นมาตรฐานที่รวมอยู่ในโมเด็มควบคู่ไปกับ MNP อย่างรวดเร็ว ขั้นตอนการเข้าถึงลิงค์สำหรับโมเด็ม (LAPM) นั้นรวมถึงการบีบอัดข้อมูลที่เหนือกว่าเมื่อเทียบกับ MNP นอกจากนี้ยังเพิ่มค่าใช้จ่ายน้อยลงในข้อมูลที่ส่งและสนับสนุนการควบคุมการไหลและการส่งข้อมูลแบบซิงโครนัสได้ดีขึ้น

โปรโตคอลการแก้ไขข้อผิดพลาดของโมเด็มที่ใช้ฮาร์ดแวร์ได้ดีมากที่ทำให้มั่นใจได้ว่าแต่ละแพ็คเก็ตข้อมูลมาถึงเหมือนเดิม การถ่ายโอนไฟล์จำนวนมากสามารถจัดการได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้ทั้งซอฟต์แวร์และโปรโตคอลฮาร์ดแวร์ร่วมกันอย่างไรก็ตาม หากการเชื่อมต่อขาดหายไปในขณะที่ส่งไฟล์ที่มีขนาดใหญ่มากระบบจำนวนมากต้องการการเริ่มใหม่จากจุดเริ่มต้นของไฟล์ ในทางตรงกันข้ามโปรโตคอลแก้ไขข้อผิดพลาดบางอย่างที่ใช้ซอฟต์แวร์จะจดจำตำแหน่งที่การส่งข้อมูลถูกทิ้งไว้และดำเนินการต่อจากที่นั่น โปรโตคอลซอฟต์แวร์ยังสามารถจัดการโฟลว์คอนโทรลในระบบได้ดีกว่าการเชื่อมต่อโมเด็มเอง

XMODEM เป็นหนึ่งในโปรโตคอลแก้ไขข้อผิดพลาดของซอฟต์แวร์ที่สร้างขึ้นในช่วงปลายปี 1970 มันง่ายมากรวมถึงหมายเลขบล็อกเช็คซัมดั้งเดิมและตัวทำเครื่องหมายสองสามไบต์ในแต่ละแพ็กเก็ต อัลกอริทึมการตรวจสอบของมันเป็นปัญหาและหลายคนในไม่ช้าก็ใช้การเปลี่ยนแปลงที่มีคุณสมบัติพิเศษ สิ่งเหล่านี้รวมถึงขนาดบล็อกที่ใหญ่กว่าการถ่ายโอนไฟล์หลาย ๆ ไฟล์และเริ่มแพ็คเก็ตใหม่ก่อนที่จะมีการตรวจสอบก่อนหน้านี้ YMODEM ซึ่งเป็นผู้สืบทอดของ XMODEM ในช่วงกลางทศวรรษ 1980 แสดงให้เห็นว่าสิ่งเหล่านี้หลายอย่างเป็นการปรับปรุงเพิ่มเติม

ZMODEM และตัวแปรต่างๆเป็นโปรโตคอลแก้ไขข้อผิดพลาดของโมเด็มที่ปรับปรุงด้วยซอฟต์แวร์ พัฒนาขึ้นในปี 1986 โดยผู้เขียน YMODEM, ZMODEM รวมถึงอัลกอริทึม CRC ที่ดีขึ้นโดยใช้ 32 บิต สามารถไปยังแพ็กเก็ตถัดไปได้โดยไม่ต้องรอให้แพ็กเกจปัจจุบันได้รับการยอมรับปรับปรุงการรับส่งข้อมูลหรือการส่งข้อความ ZMODEM ยังสามารถรีสตาร์ทการถ่ายโอนไฟล์ขนาดใหญ่จากจุดที่มันค้างไว้หากการเชื่อมต่อขาด รูปแบบต่อมารวมถึงขนาดบล็อกที่ใหญ่กว่าและการบีบอัดข้อมูลแพ็คเก็ตโดยอัตโนมัติ