Summerize sound Lecture
Chapter 6: Errors, Error Detection, and Error Control
What is Data Link Layer?
1. การส่งข้อมูล Data Link Layer จะรับข้อมูลจาก Network Layer และส่งต่อไปยัง Physical Layer
การรับข้อมูล Data Link Layer จะรับข้อมูลจาก Physical Layer และส่งต่อไปยัง Network Layer
2. Data Link Layer จะเกี่ยวข้องกับการเชื่อมต่อระหว่างอุปกรณ์ 2 อุปกรณ์ ทั้งฝั่งส่ง และฝั่งรับจะต้องใช้กฎ กติกา หรือที่เรียกว่า Protocol เดียวกัน จึงจะสามารถสื่อสารถึงกันได้
3. Function หลัก ๆ ของ Data Link Layer มี 3 ส่วน คือ
Message Delineation - เป็นตัวบอกให้ฝั่งรับทราบว่าเมื่อไรเป็นจุดเริ่มต้นของข้อมูลที่ส่ง และเมื่อไรเป็น
จุดสิ้นสุดของข้อมูลแต่ละ block ที่ส่ง [พูดแล้วใน Ch4]
Error Control -
Media Access Control - ควบคุมการใช้สื่อ ซึ่งจะมีความสำคัญในกรณีที่อุปกรณ์มีการเชื่อมต่อแบบ
Multipoint Connection
4. ปัจจัยที่ส่งผลให้การรับส่งข้อมูลมีความผิดพลาด หรือไม่ถูกต้องเสมอไป คือ
สัญญาณรบกวน
Cross Talk
Noise and Errors
5. Noise ไม่สามารถหลีกเลี่ยงได้ เพราะอยู่ในทุกๆที่ทั่วๆไปในสภาพแวดล้อม
6. กรณีที่มีสัญญาณรบกวนอยู่มาก จะทำให้สัญญาณที่ได้รับมีความผิดพลาด หรือผิดเพี้ยนไปจากสิ่งที่ส่งมาจากฝั่งส่ง ทำให้การรับข้อมูลผิดพลาดได้
7. รูปแบบของความผิดพลาดที่เกิดขึ้นในระบบสื่อสารมี 2 แบบ
ข้อมูลที่ส่งมาไปไม่ถึงฝั่งรับ มีการสูญหายของข้อมูล
ข้อมูลไปถึงฝั่งรับ แต่ตัวข้อมูลมีการผิดพลาด เช่น ส่ง 1 แต่ detect เป็น 0
8. กระบวนการสื่อสาร ต้องมีกระบวนการตรวจสอบความผิดพลาดของข้อมูล เนื่องจากข้อมูลที่ผิดพลาดเพียงเล็กน้อย อาจส่งผลได้อย่างมากมายมหาศาลได้ และไม่สามารถนำไปประมวลผลได้ เช่น ข้อมูลการควบคุมเครื่องจักร ข้อมูลทางการเงินต่างๆ ข้อมูลที่เป็นส่วนหนึ่งของ file binary
9. กระบวนการในการตรวจสอบความถูกต้องของข้อมูลมี 2 ส่วน คือ กระบวนการ Detect Error ซึ่งเมื่อ Detect เจอจะทำอย่างไร
บางระบบอาจจะทิ้งข้อมูลไป และไม่ได้นำมา process ต่อ
บางระบบอาจจะมีกระบวนการต่อมา นำไปสู่การรับข้อมูลที่ถูกต้องต่อไป
10. Noise แบ่งเป็น 2 ประเภทใหญ่ๆ คือ
White Noise - เป็น Noise ที่เกิดขึ้นอย่างต่อเนื่อง ปกติจะเกิดขึ้นเนื่องจากธรรมชาติ ในบรรยากาศ หรือ
จากการทำงานของอุปกรณ์อิเลคทรอนิกส์ ซึ่งเป็นส่วนหนึ่งของระบบ computer หรือระบบสื่อสารข้อมูล สามารถลดทอนได้ โดยใช้อุปกรณ์ที่เรียกว่า Filter ผลของ Noise มีอย่างต่อเนื่องจาก และระดับปริมาณของ Noise ค่อนข้างสม่ำเสมอตลอดเวลา
Impulse Noise - เป็น Noise ที่เกิดขึ้นเป็นครั้งคราว เป็นช่วงเวลาสั้นๆ แต่มีขนาดของสัญญาณรบกวน
ค่อนข้างจะสูงมาก หรือเรียกว่า spikes เช่น การจุดระเบิดของเครื่องยนต์ หรือหัวเทียน เมื่อมีการสตาร์ทเครื่อง ก็จะเกิดแรงดัน หรือกระแสงไฟฟ้าปริมาณมาก ๆ ในช่วงเวลาสั้น ๆ ระบบสื่อสารเป็นปัจจัยหลักที่ทำให้เกิดข้อผิดพลาดในการรับส่งข้อมูล เนื่องจากขนาดของกำลังของสัญญาณรบกวนค่อนข้างจะสูง และทำการแก้ไข หรือกำจัดได้ยาก หากมีการรับส่งข้อมูลด้วยความเร็วสูงๆ ส่งผลให้จำนวน bit ที่เกิด error ติดต่อกันได้จำนวนหลายๆ bit เรียกว่า burst Error หรือ Multiple Bit Error [Detect หรือ Correct ได้ยากกว่า error เพียง bit เดียว ที่เรียกว่า Single Bit Error]
11. ปัจจัยอื่นๆ ทีส่งผลให้การรับส่งข้อมูลผิดพลาดได้ คือ
Cross Talk - การรบกวนที่เกิดจากช่องส่งสัญญาณ หรือสัญญาณที่ผู้ใช้ใช้ส่งเข้าไปตามสายซึ่งอยู่ใกลักัน
ตัวสัญญาณของผู้ใช้รายหนึ่ง ก็จะไปเป็นสัญญาณรบกวนของผู้ใช้อีกรายหนึ่ง
Error Prevention
12. Error Prevention เป็นวิธีการป้องกันการเกิดสัญญาณรบกวน
13. เป็นวิธีการที่เกี่ยวข้องกับการเลือกใช้อุปกรณ์ทาง Physical Layer ที่มีคุณภาพที่ดี หรือปรับเพิ่มอุปกรณ์บางอย่างในระบบ เพื่อทำให้ลดผลการทำให้เกิด Error ในระบบการสื่อสารข้อมูล เช่น
ใช้วิธีการ Shield เพื่อลดผลของสัญญาณรบกวนไม่ให้เข้ามารบกวนสัญญาณที่ใช้ส่งข้อมูล
ใช้อุปกรณ์ต่างๆ เช่น Line Conditioning หรือ Equalization
ใช้สื่อที่มีคุณภาพที่ดีขึ้น เปลี่ยนสายที่เก่า เป็นสายใหม่ ใช้อุปกรณ์ที่มีระดับการรบกวนของสัญญาณต่ำ ก็ทำให้การรับส่งข้อมูลมีการผิดพลาดน้อยลง
14. สรุปอุปกรณ์ที่จะช่วยป้องกันสาเหตุของการ Error ในระบบการสื่อสารข้อมูล
Error Detection
15. Error Detection เป็นกระบวนการใช้ตรวจสอบความถูกต้องของข้อมูลที่จัดส่ง ซึ่งเป็น function ที่อยู่ในระดับ Data Link Layer
16. หลักการทำ Error Detection คือ ในการส่งข้อมูลนอกจากตัวข้อมูลที่ต้องการจัดส่งแล้ว ยังจำเป็นต้องมีข้อมูลที่ต้องจัดส่งเพิ่มเติมในรูปแบบใดรูปแบบหนึ่งไปให้ฝั่งรับ เพื่อให้ฝั่งรับสามารถนำข้อมูลที่เพิ่มเติม ประกอบกับข้อมูลที่จัดส่งมาตรวจสอบความสอดคล้องต้องกัน จึงจะตรวจสอบได้ว่าข้อมูลที่จัดส่งมีความผิดพลาดหรือไม่
17. วิธีการทำ Error Detection อย่างง่ายๆ คือ Parity Check
18. Parity Check เป็นการ add bit เพิ่มอีก 1 bit ในข้อมูลที่ต้องการจัดส่ง [Parity Bit] ซึ่งอาจจะเป็น 1 หรือ 0 ก็ได้ ขึ้นอยู่กับรูปแบบของ Parity Check ที่ต้องการใช้ คือ
Even Parity Check - เป็นการเพิ่มค่า Parity Check โดยข้อมูลที่มีค่า = 1 + parity bit แล้วได้เป็น
เลขคู่
Odd Parity Check - เป็นการเพิ่มค่า Parity Check โดยข้อมูลที่มีค่า = 1 + parity bit แล้วได้เป็น
เลขคี่
19. ข้อดี/ข้อเสียของการทำ Parity Check
ข้อดี
ง่าย
ข้อเสีย
ไม่สามารถจะใช้ในการตรวจสอบความผิดพลาดที่เกิดขึ้นเมื่อมีจำนวน bit ที่เกิด error มากกว่า 1 bit ในแต่ละ block ข้อมูลได้
** Parity Check สามารถใช้ check error ที่เกิดขึ้น เมื่อมีจำนวน bit ที่เกิด error ขึ้นอย่างมาก 1 bit ในแต่ละ block ข้อมูลเท่านั้น ถ้าจำนวน bit ที่เกิด error ในแต่ละ block ข้อมูล มีมากกว่า 1 bit ประสิทธิภาพในการตรวจสอบความผิดพลาดที่ต่ำมาก **
20. ในระบบการสื่อสารโดยทั่วไป รูปแบบที่เกิด Error ส่วนมากจะเป็นแบบ Multiple Bit Error หรือ Burst Error ดังนั้นวิธีการทำ Parity Check จึงไม่เป็นที่นิยมใช้ในการตรวจสอบความผิดพลาดของการรับส่งข้อมูล
21. โดยปกติจะใช้วิธีการที่เรียกว่า Citric Relevancy Check
Error Correction
22. Error Correction เป็นกระบวนการถัดจากการทำ Error Detection
23. โดยปกติในระบบการสื่อสาร จะมีกระบวนการที่ต่อเนื่องจาก Error Detection ที่สามารถทำได้อยู่ 3 แบบคือ
Do Nothing - หลังจากเกิด Error แล้ว ไม่ทำอะไรเลย ทิ้งข้อมูลที่ได้
รับมาที่มีข้อผิดพลาดทิ้งไป และไม่นำมา process ต่อ
Return an error message to the transmitter - ส่งข้อมูล หรือ message ไปยังฝั่งส่ง ให้ส่งข้อมูลที่
ผิดพลาดกลับมาใหม่
Fix the error - ทำการปรับเปลี่ยน หรือแก้ไขข้อมูลผิดที่ฝั่งรับเอง โดย
ไม่ต้องพึ่งพาการ re-transmition จากฝั่งส่ง
24. Error Control: Do Nothing
หากข้อมูลที่ได้รับมีข้อผิดพลาดเกิดขึ้น อุปกรณ์รับก็จะทิ้งข้อมูลนั้นไป โดยไม่นำมา process ต่อ และไม่ดำเนินการใดๆ ที่จะส่งข้อมูลกลับไปยังฝั่งส่ง เพื่อให้จัดส่งข้อมูลมาใหม่ โดยโอนความรับผิดชอบไปให้ protocol ในระดับ Layer ที่สูงกว่า Data Link Layer ดำเนินการแทน
25. Error Control: Return an error message to the transmitter
ส่งข้อมูล หรือ message ไปยังฝั่งส่ง ให้ส่งข้อมูลที่ผิดพลาดกลับมาใหม่ โดยมีรูปแบบในการจัดส่ง message อยู่ 3 รูปแบบ คือ
Stop-and-wait ARQ [Automatic Repeated Request]
เป็นวิธีการที่ฝั่งส่งทำการส่งข้อมูลไป 1 ชุด และรอจนว่าจะได้รับ message จากฝั่งรับว่าข้อมูลที่ส่งไปนั้น ถูกต้องหรือไม่ ดังนั้นข้อมูลที่จะได้รับจากฝั่งรับ มี 2 แบบ คือ
o Positive Acknowledgement (ACK) - เพื่อบอกว่าข้อมูลที่ส่งไปถูกต้อง
o Negative Acknowledgment (NCK) - เพื่อบอกว่าข้อมูลที่ส่งไปผิดพลาด
** ฝั่งส่งเมื่อส่งข้อมูลไปแล้ว จึงทำการหยุดที่จะรอ ACK หรือ NCK [เป็นที่มาของ Stop and Wait] ถ้าได้รับ ACK จากฝั่งรับ จึงจะจัดส่งข้อมูลชุดถัดไป แต่ถ้าได้รับ NCK จึงจะจัดส่งข้อมูลชุดเดิมไปใหม่ **
** Stop and wait เป็นวิธีการง่ายๆ แต่มีข้อเสีย คือ ระหว่างที่ฝั่งส่งรอผลจากฝั่งรับ ฝั่งส่งไม่สามารถจะใช้เวลาที่รอในการจัดส่งข้อมูลชุดถัดไปได้ ทำให้สูญเสียประสิทธิภาพในการรับส่งข้อมูลไปเยอะ ทำให้เวลาในรอนาน แต่เวลาที่จัดส่งจริงๆ สั้น ดังนั้นจึงไม่ได้ใช้ประโยชน์จากช่องสัญญาณได้อย่างเต็มประสิทธิภาพ **
Go-back-N ARQ
เป็นวิธีการที่ช่วยแก้ปัญหาของ Stop and wait ซึ่งเป็นวิธีการที่แตกต่างจาก Stop and wait คือ ฝั่งส่งไม่จำเป็นต้องรอผลจากฝั่งรับ สามารถทยอยส่งข้อมูลถัดไป โดยไม่จำเป็นต้องรอ ACK หรือ NCK ทีละ frame เพื่อทำให้ไม่ต้องสูญเสียเวลาที่รอไปโดยเปล่าประโยชน์ ทำให้สามารถส่งข้อมูลชุดถัดไปได้เลย
ฝั่งรับสามารถ Acknowledgment ข้อมูลหลายๆ frame พร้อมกันได้
จากภาพ
o Section A ส่งข้อมูล frame ที่ 2 1 0 ไป โดยไม่ต้องการ Acknowledgement จาก Section B
o เมื่อ Section B ส่ง ACK3 กลับมา หมายความว่า ข้อมูลถูกต้อง และสามารถส่งข้อมูล 3 ต่อไปได้ ซึ่งก็คือ ข้อมูลที่อยู่ก่อนข้อมูล 3 คือ 2 1 0 ถูกต้อง
หากพบ error ฝั่งรับจะ rej frame ที่ error ให้ฝั่งส่ง และฝั่งส่งจะต้องเริ่มส่งข้อมูลใหม่ โดยเริ่มจาก frame ที่พบ error เป็นต้นไป
จากภาพ
o Section A จัดส่งข้อมูล frame ที่ 6 5 4 ไปยัง Section B
o Section B พบ error ในข้อมูลที่ 5 จึงส่ง REJ5 เพื่อ Acknowledge ให้ Section A ทราบว่า ข้อมูล 5 มีความผิดพลาดเกิดขึ้น
o Section A จึงต้องจัดส่งข้อมูลไปใหม่ โดยเริ่มตั้งแต่ข้อมูลที่พบ error คือ 6 5 [ซึ่งเป็นที่มาของคำว่า Go-back-N คือการเริ่มส่งข้อมูลใหม่ โดยเริ่มจากจุดที่มีข้อผิดพลาด ถึงแม้ว่า frame ที่ 6 จะเป็นข้อมูลที่ถูกต้องก็ตาม]
Selective-reject ARQ
เป็นวิธีการที่มีประสิทธิภาพสูงสุด ซึ่งแตกต่างจาก Go-back-N คือ การจัดส่งเฉพาะข้อมูล frame ที่ผิดพลาดเท่านั้น
จากภาพ
o Section A จัดส่งข้อมูล frame ที่ 6 5 4 ไปยัง Section B
o Section B พบ error ในข้อมูลที่ 5 จึงส่ง REJ5 เพื่อ Acknowledge ให้ Section A ทราบว่า ข้อมูล 5 มีความผิดพลาดเกิดขึ้น
o Section A จัดส่งข้อมูลเฉพาะ frame ที่ error เท่านั้น และตามด้วยข้อมูล frame ถัดไป คือ 7 5
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment