งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Data Link Layer.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Data Link Layer."— ใบสำเนางานนำเสนอ:

1 Data Link Layer

2 Position of the data-link layer

3 Error Detection and Correction

4 Error Detection and Correction
ในการส่งข้อมูลในแต่ละครั้ง อาจจะเกิดการเปลี่ยนแปลงของข้อมูลได้ เนื่องจากสัญญาณรบกวน หรือ ความผิดพลาดอื่น ๆ เพราะฉะนั้นเพื่อให้มีความน่าเชื่อถือของข้อมูลส่ง จึงจำเป็นต้องมีการตรวจสอบ (Detection) และ แก้ไข (Correction) ความผิดพลาดก่อนที่จะนำข้อมูลที่ได้ไปใช้งาน

5 ชนิดของความผิดพลาด Types of Error
ความผิดพลาดแบบบิตเดียว Single-Bit Error ความผิดพลาดแบบหลายบิต Burst Error

6 ความผิดพลาดแบบบิตเดียว
มีเพียงแค่บิตเดียว ที่มีการเปลี่ยนแปลง เช่น จากรูป ผู้ส่งต้องการส่งข้อมูล แต่ผู้รับได้รับข้อมูล

7 ความผิดพลาดแบบหลายบิต
มี 2 บิต หรือมากกว่า ที่มีการเปลี่ยนแปลง เช่น จากรูป มีความผิดพลาดที่มีความยาว 8 บิต โดยนับจากบิตแรกที่ผิดพลาด จนถึงบิตสุดท้ายที่ผิดพลาด

8 Error Detection and Correction
เพื่อตรวจสอบและแก้ไขข้อมูลที่ผิดพลาด จึงมีการส่งบิตพิเศษไปพร้อมกับบิตข้อมูล

9 Redundancy

10 วิธีในการตรวจสอบความผิดพลาดของข้อมูลมีดังต่อไปนี้
การตรวจสอบความผิดพลาดของข้อมูล Detection วิธีในการตรวจสอบความผิดพลาดของข้อมูลมีดังต่อไปนี้

11 วิธีตรวจสอบแบบพาริตี้ (Parity Check)
Simple Parity Check ใช้บิตตรวจสอบ หรือ พาริตี้ (parity bit) ส่งไปพร้อมกับบิตข้อมูลจริง โดยการนับจำนวนของบิต 1 ทั้งหมด พาริตี้คู่ (even-parity) พาริตี้คี่ (odd-parity) Two-Dimensional check นำบิตของข้อมูลที่ต้องการส่งออกไปมาทำเป็นตาราง (table) โดยจะคำนวณหาพาริตี้บิตทั้งแนวนอน (row) และแนวตั้ง (column)

12 พาริตี้คู่ (Even-parity)
ตรวจสอบว่าบิต 1 เป็นจำนวนคู่ใช่หรือไม่

13 ตัวอย่าง 1 สมมติว่า ผู้ส่งต้องการส่งคำว่า World โดยสามารถแปลงเป็น ASCII ได้ดังนี้ เมื่อมีการเพิ่มพาริตี้บิตให้เป็นพาริตี้คู่ (จำนวนบิต 1 เป็นคู่) เข้าไป จะได้ดังนี้ ตัวอย่าง 2 จากตัวอย่าง 1 เมื่อผู้รับได้รับข้อมูลที่ไม่มีความผิดพลาด ทำการนับจำนวนบิต 1 ในแต่ละข้อมูลตัวอักษร จะได้เป็นจำนวนคู่ทั้งหมด (6,6,4,4,4) ดังนั้นแสดงว่าข้อมูลถูกต้อง

14 Example 3 จากตัวอย่าง 1 เมื่อผู้รับได้รับข้อมูลที่มีความผิดพลาด ทำการนับจำนวนบิต 1 ในแต่ละข้อมูลตัวอักษร จะได้เป็น(7,6,5,4,4) ดังนั้นแสดงว่าข้อมูลมีความผิดพลาดเกิดขึ้น ผู้รับจะทำการยกเลิก และมีการส่งซ้ำอีกครั้ง * ในการตรวจสอบแบบ Simple parity check สามารถตรวจสอบได้เพียงความผิดพลาดแค่บิตเดียวเท่านั้น

15 Two-dimensional parity

16 ตัวอย่าง 4 สมมติว่ามีบล็อกข้อมูลที่ต้องการส่งมีดังนี้
เมื่อข้อมูลมีความผิดพลาดแบบหลายบิตเกิดขึ้น (8 บิต) ผู้รับทำการตรวจสอบพาริตี้บิต โดยมีบางบิตที่ไม่เข้ากฎของพาริตี้คู่ ทำให้บล็อกข้อมูลทั้งถูกยกเลิก

17 วิธีตรวจสอบแบบพาริตี้จะใช้การบวก แต่แบบ CRC จะใช้การหาร
วิธีตรวจสอบแบบ Cyclic Redundancy Check (CRC) มีประสิทธิภาพสูงกว่าวิธีตรวจสอบแบบพาริตี้และใช้หลักการทำงานที่แตกต่างกัน วิธีตรวจสอบแบบพาริตี้จะใช้การบวก แต่แบบ CRC จะใช้การหาร แบบพาริตี้สามารถแทรกบิตตรวจสอบลงในข้อมูลได้ แต่แบบ CRC จะต้องนำบิตตรวจสอบไปต่อท้ายของข้อมูล

18 CRC generator and checker
ถ้าเศษในการหารเป็น 0 แสดงว่าข้อมูลถูกต้อง แต่ถ้าไม่ใช่ 0 แสดงว่าข้อมูลผิดพลาด

19 สรุปวิธีหาบิตตรวจสอบ
ถ้าตัวหารมีจำนวนบิตเท่ากับ n+1 บิตแล้วจะต้องเติมบิต 0 จำนวน n ตัวที่ส่วนท้ายของข้อมูล ใช้บิตข้อมูลลบด้วยตัวหาร (ใช้วิธี XOR) เมื่อลบแล้วผลที่ได้จากการลบ ถ้า บิตซ้ายสุดของเศษเป็น 1 ให้นำตัวหารมาเป็นตัวลบอีกครั้ง บิตซ้ายสุดของเศษเป็น 0 ให้นำ 0000 มาเป็นตัวลบ ทำในข้อ 2 จนกระทั่งไม่สามารถลบกันได้อีกแล้ว (จำนวนบิตของเศษน้อยกว่าจำนวนบิตของตัวหาร)จะถือได้ว่าเศษที่ได้จากการหารนั้นคือ บิตตรวจสอบ นำบิตตรวจสอบที่ได้ไปแทนที่บิต 0 จำนวน n ตัวที่ส่วนท้ายของข้อมูล

20 Binary division in a CRC generator
Modulo -2 (XOR) 0 – 0 = 0 , 0 – 1 = 1 , 1 – 0 = 1 , 1 – 1 = 0

21 Figure 3.9 Binary division in CRC checker

22 Polynomial ปกติแล้วในการแทนบิตข้อมูลของตัวหารจะไม่ใช้รูปของเลขฐานสอง เนื่องจากค่อนข้างยาวและจำได้ยากแต่จะเขียนให้อยู่ในรูปของโพลิโนเมียล

23 Table 3.1 Standard polynomials
Name Polynomial Application CRC-8 x8 + x2 + x + 1 ATM header CRC-10 x10 + x9 + x5 + x4 + x 2 + 1 ATM AAL ITU-16 x16 + x12 + x5 + 1 HDLC ITU-32 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 LANs

24 ถ้าผลลัพธ์สุดท้ายเป็น 0 แสดงว่าข้อมูลถูกต้อง
Figure Checksum ถ้าผลลัพธ์สุดท้ายเป็น 0 แสดงว่าข้อมูลถูกต้อง

25 Checksum ฝั่งผู้ส่ง แบ่งข้อมูลออกเป็นเซ็กเมนต์ก่อน โดยแต่ละเซ็กเมนต์จะมีข้อมูล n บิต (ปกติจะแบ่งเป็นเซ็กเมนต์ละ 16 บิต) นำบิตข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1’s complement ซึ่งจะได้ผลลัพธ์ออกมา n บิต นำมาทำคอมพลีเมนต์หรือทำการกลับบิตให้เป็นตรงกันข้าม (0 - 1, 1 - 0) ผลที่ได้จากการทำคอมพลีเมนต์คือบิตตรวจสอบที่ จะต้องนำไปต่อไว้ส่วนท้ายของบิตข้อมูลก่อนที่จะส่งออกไป

26 ตัวอย่าง 7 สมมติให้บล็อกข้อมูลทั้งหมดมีขนาด 16 บิต โดยแบ่งออกเป็นบล็อกละ 8 บิต เพื่อส่งไปยังผู้รับ บวกตัวเลขแบบ 1’s complement Sum Checksum ข้อมูลที่จะส่งไป คือ

27 Checksum ฝั่งผู้รับ รวบรวมข้อมูลแต่ละเซ็กเมนต์ๆ ละ n บิต นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1’s complement นำผลรวมของทุกเซ็กเมนต์มาทำคอมพลีเมนต์ ถ้าผลลัพธ์ที่ได้เท่ากับ 0 แสดงว่าข้อมูลชุดนั้นถูกต้อง แต่ถ้า ผลลัพธ์ที่ได้ไม่เท่ากับ 0 แสดงว่าข้อมูลชุดนั้นมีความผิดพลาด

28 ตัวอย่าง 8 สมมติว่าผู้รับได้รับข้อมูลจากตัวอย่าง 7 และ ไม่มีความผิดพลาด ผู้รับทำการบวกตัวเลขแบบ 1’s complement จะได้เป็นบิต 1 ทั้งหมด แล้วทำการ complement อีกครั้งจะได้ค่าเป็น 0 แสดงว่า ข้อมูลไม่มีความผิดพลาด Sum Complement

29 ตัวอย่าง 9 สมมติว่ามีความผิดพลาดของข้อมูลจากตัวอย่าง 7 ดังนี้
สมมติว่ามีความผิดพลาดของข้อมูลจากตัวอย่าง 7 ดังนี้ ทำการคำนวณ Partial Sum Carry Sum Complement ผลลัพธ์ไม่เป็น 0 แสดงว่าข้อมูลมีความผิดพลาด

30 Forward Error Correction
Retransmission Forward Error Correction

31 การแก้ไขความผิดพลาดของข้อมูลด้วยวิธี Forward Error Correction
สามารถใช้ได้ในกรณีที่ข้อมูลมีความผิดพลาดเกิดขึ้นบิตเดียว โดยจะกำหนดให้ m เป็นบิตข้อมูล ส่วน r เป็นบิตตรวจสอบ ดังนั้นข้อมูลที่ต้องส่งจริงคือ m + r จากทฤษฏีของแฮมมิง (Hamming) เราสามารถเขียนความสัมพันธ์ระหว่างบิตข้อมูลและบิตตรวจสอบได้ดังนี้ ตัวอย่าง รหัสแอสกี้ (ASCII code) จะมีจำนวนบิตเท่ากับ 7 บิต

32 Number of redundancy bits r
Table 3.2 Data and redundancy bits Number of data bits m Number of redundancy bits r Total bits m + r 1 2 3 5 6 4 7 9 10 11

33 Hamming Code วิธีในการกำหนดว่าบิตตรวจสอบควรจะต้องตรงไหนบ้าง ซึ่งจะแตกต่างกับหัวข้อก่อนหน้านี้ที่ว่าบิตตรวจสอบจะต้องอยู่ส่วนท้ายของข้อมูล

34 Figure 3.14 Positions of redundancy bits in Hamming code

35 Figure 3.15 Redundancy bits calculation

36 Figure 3.16 Example of redundancy bit calculation

37 Figure 3.17 Error detection using Hamming code

38 Data Link Control

39 Flow and Error Control การควบคุมอัตราการไหลของข้อมูล (Flow Control)
การควบคุมความผิดพลาดของข้อมูล (Error Control)

40 กลไกในการควบคุมอัตราการไหลและ ความผิดพลาด
ARQ (automatic repeat request ) protocols Stop - and – Wait Go - Back – N Selective - Repeat

41 Stop-and-Wait ARQ การทำงานโดยทั่วไป คือ ผู้ส่งหยุดรอจนกว่าจะได้รับ ACK (acknowledge) ถึงจะส่งข้อมูลต่อไป

42 Stop-and-Wait ARQ, เมื่อมีการสูญหายของ Frame ข้อมูล

43 ยกเลิกข้อมูล Frame 1 และรอรับ Frame 0
Stop-and-Wait ARQ, เมื่อมีการสูญหายของ ACK ยกเลิกข้อมูล Frame 1 และรอรับ Frame 0

44 ยกเลิกข้อมูล Frame 1 และรอรับ Frame 0
Stop-and-Wait ARQ, delayed ACK ยกเลิกข้อมูล Frame 1 และรอรับ Frame 0 ยกเลิก

45 Go-Back-N ARQ วิธีการคือ ส่งข้อมูลเป็นชุดข้อมูลแบบ Window

46 Window ฝั่งผู้รับ

47 ตัวแปรควบคุม

48 Go-Back-N ARQ, แบบทั่วไป

49 Go-Back-N ARQ, เมื่อมี Frame ข้อมูลสูญหาย

50 Go-Back-N ARQ: ปัญหาเกี่ยวกับขนาดของ Window ฝั่งผู้ส่ง
ขนาด Window ฝั่งผู้ส่งจะต้องน้อยกว่า 2m , Window ฝั่งผู้รับเป็น 1 เสมอ

51 Selective-Repeat ARQ วิธีการ คล้ายกับ Go-Back-N แต่ Window มีขนาดเท่ากัน

52 Selective Repeat ARQ, เมื่อ frame ข้อมูลสูญหาย

53 ขนาด Window ทั้งสองฝั่งจะต้องเป็น 2m-1
Selective Repeat ARQ, ปัญหาเกี่ยวกับขนาดของ Window ฝั่งผู้ส่ง ขนาด Window ทั้งสองฝั่งจะต้องเป็น 2m-1


ดาวน์โหลด ppt Data Link Layer.

งานนำเสนอที่คล้ายกัน


Ads by Google