วันจันทร์ที่ 14 กันยายน พ.ศ. 2552

Chapter 11 : Data Link Control

Transmission Mode
ในการส่งข้อมูลจากเครื่องหนึ่งไปสู่อีกเครื่องหนึ่งในระยะไกลได้โดยสมบูรณ์นั้น ไม่ได้อยู่
ที่เพียงแค่อุปกรณ์ฝ่ายรับพร้อมที่จะรับเท่านั้น แต่อุปกรณ์ฝ่ายรับจะต้องสามารถเก็บสถานะของทุกลำดับขั้นตอนของอุปกรณ์ฝ่ายส่งอีกด้วย มิฉะนั้น ฝ่ายรับจะสามารถรู้ได้อย่างไรว่าไบต์ใด คือ ไบต์เริ่มต้น และไบต์ไหนเป็นไบต์ที่สิ้นสุดของเนื้อหาข้อมูล และเทคนิคพื้นฐานที่ใช้ร่วมกันมีอยู่ 2 ประการสำหรับใช้เก็บสถานะของการรับและการส่ง โดยช่วยจัดจังหวะของการส่งสัญญาณข้อมูลให้มีความสอดคล้องกัน ได้แก่
1. การส่งแบบอะซิงโครนัส (asychronous)
2. การส่งแบบซิงโครนัส (sychronous)


Asynchronous Mode
เป็นเทคนิคการส่งแบบเริ่ม – สิ้นสุด คือจะทำการส่งข้อมูลทีละไบต์ โดยมีบิตควบคุมพิเศษปะไว้ที่ส่วนเริ่มต้น (start bit) และส่วนท้าย (stop bit) ของข้อมูลแต่ละไบต์ของเนื้อหาข่าวสารที่ถูกส่ง


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


Synchronous Mode
เป็นเทคนิคการส่งข้อมูลแบบท่อนๆ(block) โดยมีไบต์พิเศษในรูปแบบของบิตเริ่มต้น (start bit) และบิตสุดท้าย (stop bit) เรียกว่า ซิงค์ไบต์ (synch byte) ปะไว้ที่หัวและส่วนท้ายของ block ของเนื้อหาข่าวสาร และ synch byte จะถูกจัดจังหวะโดยสัญญาณนาฬิกาภายในของอุปกรณ์ฝ่ายส่งและฝ่ายรับ


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


Flow control มีอยู่ด้วยกัน 2 รูปแบบ
- Stop and wait
- Sliding windows
- Stop and wait
Stop and wait ใช้ในกรณีคล้ายกับ buffer เพื่อให้แน่ใจว่า ผู้รับได้รับข้อมูลแล้วถูกต้อง เช่น ส่ง Frame ไปทีละ Frame โดยจะหยุดและรอคำตอบกลับมาจากผู้รับทุกครั้ง จนกระทั่งจบการส่งข้อมูล ดังนั้นระบบจึงค่อนข้างช้า และหากผู้รับไปตอบกลับมาผู้ส่งจะมีระยะเวลาการรอ (time out) ด้วย ดังนั้น Overhead จึงสูงมาก


Sliding window
Sliding Window สามารถส่งไปหลายๆ frame ได้ โดยมีการ set ก่อนว่าแต่ละ frame มีขนาดเท่าไร (ทั้งผู้รับและผู้ส่งต้องมีขนาดเท่ากัน โดยมี sequence number กำหนดไว้ทุก ๆ frame เช่น ขนาดของ frame (k) = 3sequence number = 0-(23-1) = 0-77 (จำนวนที่ frame ส่งได้ในแต่ละช่วง) โดยนับตามลำดับ frame เช่น 0-6 frame ซึ่งจะมีการตอบรับ (Ack) กลับมา โดยขึ้นอยู่กับ protocol จะกำหนดว่า รับเป็นจำนวนเท่าใดจึงจะตอบกลับมา


ข้อจำกัด
1. ต้องมีการ set จำนวน frame ที่ใช้ในการรับ-ส่ง ทั้ง sender และ receiver
2. ขนาดของแต่ละ frame ต้องเท่ากัน (k bit)
3. ต้องส่งสัญญาณตอบกลับ (Ack signal) หาก receiver ได้รับ slide (base on protocol) โดยหากส่ง-รับ slide ไปเท่าใดจำนวน frame slide ก็จะถูกหดจำนวนปัจจุบันเท่านั้น แต่หากได้รับสัญญาณตอบกลับ (Ack) จำนวน slide จะถูกขยายเท่าจำนวน max ตามเดิม ส่วนฝั่งรับหากส่งสัญญาณตอบกลับไปจำนวนก็จะขยายตามเดิมเช่นกัน


Error detection
Error detection เป็นวิธีการตรวจสอบข้อมูล ว่าถูกต้องหรือไม่ โดย ปัจจุบันมี 2 วิธี
- Parity check
- CRC (Cylic redundancy)
- Parity check
even คือ ค่า 1 ที่มีต้องได้จำนวนคู่
odd คือ ค่า 1 ที่มีต้องได้จำนวนคี่


Error detection
เป็นวิธีการควบคุมข้อมูลที่ส่งไม่ให้เกิด Error โดยใช้วิธีการ 3 แบบคือ
- Ack (Acknowledge) หรือ Nak (Nagative Acknowledge)
- Time out เวลาที่กำหนดในการรอสัญญาณตอบรับ
- Sequence number กำหนดหมายเลขในแต่ละ page frame Error ที่สามารถเกิดขึ้นได้
- ข้อมูลผิดพลาด เช่น Frame ผิดพลาด (damaged frame)
- ข้อมูลหาย (Lost frame)


เทคนิคที่ใช้แก้ไข และตรวจสอบข้อผิดพลาด
- Error detection (Parity check/CRC)
- Position Acknowledgement (ACK)
- ใช้วิธี Re-transmission after time out (ส่งอีกครั้งหนึ่ง)
- Negative acknowledge (NAK) ARQ
- Automatic Repeat Request

ไม่มีความคิดเห็น:

แสดงความคิดเห็น