วันอาทิตย์ที่ 23 สิงหาคม พ.ศ. 2552

Week 8 : Chapter 5 Data link Layer (2)

การแก้ไขแบบส่งข้อมูลซ้ำ (Error Detection With Retransmission) กำหนดให้ ผู้ส่งจัดการส่งข้อมูลที่เกิดผิดเพี้ยนมาใหม่ วิธีการที่นิยมกันโดยทั่วไปเรียกว่า การขอส่งข้อมูลซ้ำโดยอัตโนมัติ (Automatic Repeat Request; ARQ) ซึ่งมีอยู่สามแบบคือ แบบหยุดคอย แบบส่งย้อนกลับ และแบบต่อเนื่อง
กระบวนการขอร้องให้ส่งข้อมูลกับมาอีกครั้ง เรียกว่า Automatic Repeat Request or ARQ
ARQ แบ่งออกเป็น 3 แบบย่อย

1. Stop and wait ARQ
2. Go-back-N ARQ
3. Continuous ARQ

Stop and wait ARQ
การขอส่งข้อมูลซ้ำอัตโนมัติแบบหยุดคอย (Stop-and-wait ARQ) จะกำหนดให้ข้อมูลแต่ละแพ็กเกตมีหมายเลขเฉพาะของตนเองและส่งออกไปทางช่อง สื่อสารแล้วจึงหยุดคอย วิธีการนี้มี ประสิทธิภาพในระดับต่ำมาก ช่องสื่อสารส่วนใหญ่จะว่างเปล่าคือ ไม่มีการส่งข้อมูลเนื่องจากเวลา ส่วนใหญ่ในการรอคอยระหว่างผู้รับและผู้ส่ง อย่างไรก็ตามวิธีการนี้ได้รับความนิยมในการใช้งานทั้งบนเครื่องเมนเฟรมและใน ระบบเครือข่ายเฉพาะบริเวณเนื่องจากเป็นวิธีการที่ง่ายแก่การนำไปใช้ง่ายต่อ การควบคุม และสามารถไว้วางใจได้ดี
ผู้ ส่งจะส่งข้อมูลไปชุดแรกแล้วรอผล ถ้าผู้รับได้รับข้อมูลแล้วไม่มีข้อผิดพลาดจะตอบว่า acknowledgement (ACK) พอได้รับคำตอบแล้วว่าถูกต้องก็จะส่งข้อมูลตัวต่อไป แต่ถ้าเจอข้อมูลที่ผิดพลาด จะตอบว่า negative acknowledgemen ( NAK) แล้วผู้ส่งก็ต้องส่งข้อมูลชุดเดิมไปใหม่

Go-back-N ARQ
กับไปแก้ที่ตำแหน่งที่ผิด
การขอส่งข้อมูลซ้ำอัตโนมัติแบบส่งย้อนกลับ (Go-back-N ARQ) ปรับปรุงวิธีการแรกโดยยอมให้ผู้ส่งสามารถส่งแพ็กเกตข้อมูล (ที่มีการกำหนดหมายเลขเฉพาะ) ได้อย่างต่อเนื่องทางฝ่ายผู้รับยังคงตรวจสอบข้อมูลทีละแพ็กเกตแล้วจึงส่งการ ตอบรับสำหรับแพ็กเกตที่ถูกต้องหรือตอบปฏิเสธกลับไปสำหรับแพ็กเกตที่มีข้อมูล ผิดเพี้ยน เช่น สมมุติว่าแพ็กเกตหมายเลข 1 มีข้อมูล ผิดเพี้ยน ดังนั้นผู้รับจะส่งการตอบปฏิเสธแพ็กเกตหมายเลข 1 กลับไปยังผู้ส่ง ทางด้านผู้ส่ง (ซึ่งได้ส่งแพ็กเกตหมายเลข 2 ถึง 5 ไปแล้ว) จะต้องย้อนกลับไปส่งแพ็กเกตหมายเลข 1 รวมทั้งแพ็กเกตที่ส่งตามหลังหมายเลข 1 (คือแพ็กเกตหมายเลข 2 ถึง 5) กลับมาใหม่ทั้งหมดในกรณีที่แพ็กเกตหมายเลข 1 ถูกต้อง ทั้งผู้รับและผู้ส่งก็จะไม่ต้องเสียเวลาในการรอคอย เพราะผู้รับก็จะได้รับแพ็กเกตหมายเลข 2 ในทันที ถ้าไม่มีข้อมูลผิดเพี้ยนเกิดขึ้นเลย ก็จะทำให้การส่งข้อมูลวิธีนี้เสียเวลาในการรอคอยน้อยมาก แต่ถ้ามีข้อมูลผิดเพี้ยนเกิดขึ้นมาก ประสิทธิภาพของวิธีนี้จะไม่แตกต่างจากวิธีการแรกเลย อย่างไรก็ตาม วิธีการนี้มีข้อมูลถูกส่งเข้าสู่ระบบเครือข่ายตลอดเวลา และข้อมูลแพ็กเกตหนึ่งอาจถูกส่งซ้ำแล้วซ้ำอีกได้หลายครั้ง เช่น แพ็กเกตหมายเลข 2 ถึง 5 จะถูกส่งซ้ำจนกว่าแพ็กเกตหมายเลข 1 จะไปถึงผู้รับอย่าง ถูกต้อง


Continuous ARQ

ผิดตรงไหนเริ่มตรงนั้น แล้วส่งไปตัวต่อไปได้เลย เป็นวิธีที่เร็วที่สุด/ดีที่สุดแต่ราคาแพง
การขอส่งข้อมูลซ้ำอัตโนมัติแบบต่อเนื่อง (Continuous ARQ) เป็นวิธีที่มี ประสิทธิภาพสูงสุดและได้รับการนำไปใช้ในการส่งข้อมูลความเร็วสูงบนเครื่อง เมนเฟรมและ โพรโทคอลการสำเนาแฟ้มข้อมูลความเร็วสูงต่าง ๆ มากมาย วิธีนี้ทำงานเหมือนกับการส่งข้อมูลแบบย้อนกลับแต่ได้ปรับปรุงการตอบสนอง เมื่อข้อมูลผิดเพี้ยนโดยการส่งเฉพาะแพ็กเกตที่เสียหายเท่านั้น เมื่อผู้รับส่งการตอบปฏิเสธแพ็กเกตหมายเลข 1 มา ผู้ส่งก็จะส่งเฉพาะแพ็กเกตหมายเลข 1 กลับไปใหม่เท่านั้น อย่างไรก็ตามแพ็กเกตที่ไปถึงผู้รับอาจอยู่ในลำดับที่ไม่ถูกต้อง เช่น แพ็กเกตทางด้านผู้รับจะเป็น หมายเลข 2, 3, 4, 5, 6 และ 1 จึงเป็นหน้าที่ของฝ่ายผู้รับที่จะต้องจัดการเรียงลำดับแพ็กเกต ข้อมูลให้ ถูกต้องก่อนที่จะนำข้อมูลนั้นไปใช้งานต่อไป ประสิทธิภาพของวิธีการนี้จึงเกิดขึ้นจากการที่ผู้ส่งสามารถส่งข้อมูลได้ อย่างต่อเนื่องตราบเท่าที่มีข้อมูลจะต้องส่งออกไปและข้อมูลที่จะต้องถูกส่ง ซ้ำเป็นข้อมูลที่เกิดการผิดเพี้ยนเท่านั้น

selective–reject
เมื่อพบว่าในระหว่างการส่งหากไม่ได้รับ ACK ก็จะทำการส่งเฟรมนั้นใหม่จนกว่าจะได้ ACK จึงจะทำการส่งเฟรมต่อไป


Data Link Protocols

กลุ่มของข้อกำหนดกฎเกณฑ์ในการใช้งานจริงทำงานอยู่ใน OSI model อยู่ในชั้นของ Data Link มี 2 กลุ่ม

1. Asynchronous Protocols จะไม่สนใจเวลาในการส่ง ในการส่งแบบนี้จะต้องทราบ
- ข้อมูลที่จะส่ง
- Start Stop bits

XMODEM ใช้ในการ Download file,Upload file ผ่านสายโทรศัพท์ ระหว่าง PC กับ PC
การทำงานแบบ Half - duplex ในแต่ละตัวจะเป็น start and stop bits มี Header 2 ตัว เก็บ
Sequence number และ Frame number ขั้นตอนการทำงาน ผู้รับจะส่ง NAK ไปให้ผู้ส่ง และ ผู้ส่งจะส่งข้อมูลไปให้ และรอ ACK กลับมาจนข้อมูลหมด ผู้ส่งจะส่ง CAN

YMODEM พัฒนามาจาก XMODEM แต่การส่งข้อมูลสามารถส่งได้หลาย ๆ file ในเวลาเดียวกันได้

ZMODEM เหมือน XMODEM และ YMODEM แต่ ZMODEM มีการตรวจสอบ Error และมีการ Resume คือ จะเชื่อมต่อข้อมูลที่จุดเดิมเมื่อทำการเชื่อมต่อในครั้งใหม่

BLAST เป็นแบบ Full - duplex สามารถส่งข้อมูลที่เป็น binary file ได้

KERMIT การทำงานคล้าย XMODEM แต่จะมีการรอ NAK และเป็น Full - duplex ทำงานอยู่ในระดับ Physical - link

2. Synchronous Protocols ใช้ในระบบที่ไม่มี MODEM มาเกี่ยวข้อง โดยที่ หัวและท้ายของสัญญาณต้องเป็นสัญญาณเดียวกัน มี 2 แบบ
- Character - Oriented Protocols พัฒนาโดย IBM เป็นแบบ Half - duplex การส่งข้อมูลเป็นแบบ Stop and wait ARQ
- Bit - Oriented Protocols
โปรโตคอล SDLC เป็นโปรโตคอลแบบซิงโครนัสที่ส่งข้อมูลเป็นกลุ่มอักขระที่แทนด้วยรหัสไบนารี
(Binary-coded Character)มีความสามารถในการเชื่อมโยงการส่งข้อมูลทั้งแบบเครื่องต่อเครื่อง หรือจุดต่อ จุด (Point-to-Point) และเครื่องต่อ 2 เครื่องหรือมากกว่าหรือหลายจุด (Point-to-Multipoint) นอกจากนี้ยัง สามารถส่งรับข้อมูลได้ทั้งแบบ Half Duplex และ Full Duplex การควบคุมการส่ง-รับข้อมุลจะควบคุมเรียกว่า อักขระควบคุมดาต้า-ลิงก์ (DatalinkControl Character) โปรโตคอล SDLC เป็นมาตราฐานโปรโตคอลการ สื่อสารของบริษัท IBM เช่นดียวกับโปรโตคอล BSC
รูปแบบของเฟรมของโปรโตคอล SDLC ที่ใช้ในการส่งข้อมูลมี 3 แบบคือเฟรมข้อมูล (Informa-
tion Frame) เฟรมผู้ควบคุม (Supervisory Frame) และเฟรมไม่มีลำดับ (Nonsequence Frame) เฟรม ข้อมูลจะเป็นเฟรมที่บรรจุข่าวสาร ข้อมูล หรือข้อความ ส่วนเฟรมผู้ควบคุมจะบรรจุข้อมูลการควบคุมการส่งข้อ มูล หรือ ข้อความ ส่วนเฟรมผู้ควบคุมจะบรรจุข้อมูลการควบคุมการส่งข้อมูล และเฟรมไม่มีลำดับจะมีไว้สำหรับ เริ่มต้นการสื่อสาร หรือยกเลิกการสื่อสารข้อมูล
F =Flag จะประกอบด้วยอักขระควบคุมการบอกจุดเริ่มต้นส่วนหัว (SOH) จุดเริ่มต้นข้อมูล
(STX)และจุดจบของข้อมูล (ETX) โดยรูปแบบของอักขระจะเป็นอักขระ SYN หรือ 0111 1110 (8 บิต)
A = Address เป็นรหัส 8 บิตบอกตำแหน่งของผู้รับข้อมูล
C = Control อาจจะเป็นรหัส 8 บิต หรือ 16 บิต ทำหน้าที่เป็นตัวบ่งบอกว่าในเฟรมมีการบรรจุข้อ
มูล หรือบรรจุคำสั่ง หรือสัญญาณโต้ตอบอย่างไรบ้าง
I = Information บรรจุข่าวสาร ข้อมูล คำสั่ง หรือโต้ตอบขึ้นอยู่กับว่าเฟรมที่ส่งนั้นเป็นเฟรม
ข้อมูล เฟรมควบคุม หรือเฟรมไม่มีลำดับ ขนาดของ I จึงขึ้นอยู่กับชนิดของเฟรมข้อมูลโดยส่งเป็นบิต ๆ ไม่ส่ง เป็นไบต์
FCS = Frame Check Sequence เป็นส่วนที่ใช้ในการตรวจสอบความผิดพลาดในการส่ง
-รับข้อมูลที่อาจเกิดขึ้น ซึ่งอาจจะตรวจสอบเฉพาะพาริตี้บิต หรือทั้งบล็อกข้อมูลส่วนใหญ่ FCS จะมีขนาดเป็น 16บิต

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

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