Page 86 - Computer Network
P. 86
11.1. การส่งข้อมูลแบบไม่ประสานเวลา (ASYNCHRONOUS) และแบบประสานเวลา (SYNCHRONOUS) 77
รูปที่ 11.3: รูปแบบเฟรมทั่วไปของ Byte Stuffing
สมมุติว่าเรามีข้อมูลที่จะส่งดังแสดงในรูปที่ 11.4 เนื่องจากข้อมูลที่จะส่งมีไบต์ Flag ด้วย ดังนั้นเพื่อให้ภาค
รับทำงานถูกต้อง ก่อนส่งไบต์ ESC จะถูกแทรกก่อนหน้า Flag (ESC-Flag) อย่างไรก็ตาม เนื่องจากข้อมูลที่
ส่งอาจมีข้อมูลเป็น ESC เช่นกัน การกำจัดไบต์ ESC ของภาครับอาจทำงานไม่ถูกต้อง หากไบต์ที่ตามมาจาก
ESC ไม่ใช่ Flag (ESC-Flag) ดังนั้นเพื่อหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้น ภาคส่งจึงแทรกไบต์ ESC ก่อน
หน้าไบต์ ESC (ESC-ESC) อีกหนึ่งไบต์ รูปที่ 11.4 แสดงตัวอย่างการแทรกไบต์ ESC ที่หน้าไบต์ Flag และ
ESC
book)
รูปที่ 11.4: ตัวอย่างข้อมูลที่จะส่งและเฟรมที่ได้หลังการทำ Byte Stuffing
(partial
ในส่วนของภาครับเมื่อได้รับเฟรม จะตรวจสอบเฟรมที่ได้รับ หากพบว่าเฟรมที่ได้รับมี ESC จะดึงออกจาก
เฟรม เพื่อให้ได้ข้อมูลที่ถูกต้อง รูปที่ 11.5 แสดงเฟรมที่ได้รับและข้อมูลหลังจากกำจัด ESC ออกไป
only
รูปที่ 11.5: ตัวอย่างเฟรมที่รับได้ และข้อมูลหลังจากกำจัด ESC ออกไป
KKU
• Bitoriented การทำงานของ Bit-oriented จะมีลักษณะเดียวกับ Character-oriented แต่จะเป็นการ
ทำงานในลักษณะของบิตแทน โดยการเพิ่มค่า 01111110 ที่เริ่มต้นและสิ้นสุดของเฟรม อย่างไรก็ตามปัญหา
การที่ข้อมูลที่ส่งอาจมีค่าเดียวกับค่าบิตที่เพิ่มเข้ามานี้อาจเกิดขึ้นเช่นเดียวกับกรณีของCharacter-oriented
การแก้ปัญหาในกรณีนี้จะใช้วิธีที่เรียกว่า bitstuffing
การทำงานของ Bit stuffing มีลักษณะคล้ายกับการทำงานของ Byte stuffing แต่ Bit stuffing จะทำงาน
ในลักษณะที่เป็นบิต โดยส่วนของจุดเริ่มต้นและสิ้นสุดเฟรมจะเป็น 01111110 ดังนั้นเราจะได้รูปแบบของ
เฟรมดังแสดงในรูปที่ 11.6
รูปที่ 11.6: รูปแบบเฟรมทั่วไปของ Bit Stuffing
การทำงานของ bit stuffing จะตรวจสอบบิตของข้อมูล หากพบว่ามีบิตที่เป็นหนึ่ง (1) มีจำนวนติดต่อกัน
มากกว่า 5 บิต ภาคส่งจะแทรกบิตศูนย์ (0) เข้าไปหนึ่งบิต เพื่อป้องกันไม่ให้ข้อมูลที่จะส่งเป็น 01111110
รูปที่ 11.7 แสดงตัวอย่างของข้อมูลที่จะส่งและเฟรมที่ได้หลังการทำ Bit Stuffing

