Multiplexing error detection flow control
This presentation is the property of its rightful owner.
Sponsored Links
1 / 49

Multiplexing Error Detection Flow Control PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

Multiplexing Error Detection Flow Control. Multiplexing. เส้นทางที่ใช้ในการสื่อสาร ( Link) เป็นองค์ประกอบที่สำคัญของการสื่อสารข้อมูล เปรียบได้กับถนนที่เชื่อมต่อระหว่างเมืองต่างๆ ดังนั้นการสร้างถนนและการบริหารการเดินรถที่ดี จะทำให้รถสามารถเดินทาได้โดยสะดวก รวดเร็วและปลอดภัย

Download Presentation

Multiplexing Error Detection Flow Control

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Multiplexing error detection flow control

Multiplexing

Error Detection

Flow Control


Multiplexing

Multiplexing

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

  • ภายในเส้นทางการสื่อสารนั้นสามารถมีช่องทาง(Channel)ได้หลายช่องสัญญาณ ดังนั้นจึงทำให้สามารถส่งสัญญาณต่างๆไปพร้อมกันได้

  • แต่จะต้องมีเทคนิคในการจัดการกับสัญญาณที่จะส่งไปพร้อมๆกัน โดยไม่ทำให้สัญญาณรบกวนซึ่งกันและกัน เรียกว่า การผสมสัญญาณ หรือ Multiplexing


Multiplexing1

Multiplexing

  • มัลติเพล็กซิง เป็นเทคนิคที่ใช้ในการรวมสัญญาณหลายๆสัญญาณเข้าด้วยกันและส่งออกไปพร้อมกันภายในเส้นทางที่ใช้ในการสื่อสารเพียงเส้นทางเดียว

  • Multiplexer / MUX เป็นอุปกรณ์ที่ใช้สำหรับการรวมสัญญาณจากอุปกรณ์อื่นๆและส่งสัญญาณที่ผ่านการผสมกันแล้วออกไปด้วยกัน

  • Demultiplexer เป็นอุปกรณ์ทำหน้าที่ในการแยกสัญญาณที่ได้รับมา แล้วส่งต่อให้กับอุปกรณ์ที่ใช้ในการรับข้อมูลต่อไป


Multiplexing2

Multiplexing


Multiplexer

Multiplexer


Multiplexing3

Multiplexing


Multiplexing4

Multiplexing


Multiplexing error detection flow control

FDM

  • สัญญาณอะนาล็อกที่ถูกส่งมาจากแต่ละอปุกรณ์ จะต้องผ่าน modulator ซึ่ง modulator แต่ละตัวนั้นจะมีคลื่นพาห์ที่มีความถี่ที่แตกต่างกัน รวมกับสัญญาณข้อมูล เป็น composite signal

  • Guard bands หรือแถบคุ้มกันการแทรกสอด

  • กระบวนการผสมสัญญาณ

  • กระบวนการแยกสัญญาณ


Multiplexing error detection flow control

FDM


Fdm multiplexing process

FDM Multiplexing Process

Modulator

Carrier f1

Modulator

Carrier f2

Modulator

Carrier f3


Multiplexing error detection flow control

Demodulator

Filter

Carrier f1

Demodulator

Filter

Carrier f2

Demodulator

Filter

Carrier f3

FDM De-multiplexing Process


Multiplexing error detection flow control

WDM

  • ถูกออกแบบมาเพื่อใช้กับสายไฟเบอร์ออปติก ซึ่งมีแบนด์วิธที่กว้างมากและมีอัตราการส่งข้อมูลที่สูง

  • มีหลักการเหมือนกับ FDM แตกต่างกันที่ WDM นั้นจะใช้แสงเป็นตัวนำส่งสัญญาณ

  • ช่องสัญญาณสื่อสารแต่ละช่องจะถูกแบ่งออกตามความยาวคลื่นแสง

  • ถึงแม้ว่า WDM จะใช้เทคโนโลยีที่ซับซ้อน แต่จะใช้หลักการทำงานที่ง่ายๆคือการมัลติเพล็กซ์จะรวมแสงจากแหล่งกำเนิดต่างๆเข้าด้วยกันเป็นหนึ่งเดียวก่อนที่จะส่งออกไป ซึ่งในการรวมแสงนั้นจะใช้หลักการฟิสิกส์พื้นฐานในเรื่องของการหักเหของแสง


Multiplexing error detection flow control

TDM

  • การผสมสัญญาณโดยแบ่งเวลา

  • เป็นเทคนิคที่ใช้กับสัญญาณดิจิตอล

  • โดยจะทำการแบ่งเวลาในการส่งข้อมูลให้กับแต่ละอุปกรณ์

  • ข้อมูลที่ส่งออกมาจากสถานีส่งทุกเครื่องจะถูกนำมารวมกันเรียกว่า เฟรม

  • ช่วงเวลาที่แบ่งให้กับแต่ละเครื่องเรียกว่า ช่องเวลา (slot time)

    • Synchronous TDM (สถานีที่ไม่มีข้อมูลก็จะส่ง slot ว่าง)

    • Statistic TDM (สถานีจะบรรจุแอดเดรสกับข้อมูลส่วนสถานีที่ไม่มีข้อมูลก็จะไม่ส่งอะไร)


Multiplexing error detection flow control

TDM


Multiplexing error detection flow control

3T

3T

3T

A3

A2

A1

Frame3

Frame2

Frame1

B3

B2

MUX

C3

C1

Each frame is 3 time slot.

Each time slot duration is T seconds.

C1

A1

C3

B2

B3

A2

A3

Data are taken from each line every 3T seconds

TDM


Multiplexing error detection flow control

TDM

  • จากรูปในสไลด์ที่ผ่านมา จะแสดงถึงการผสมสัญญาณโดยแบ่งเวลา โดยจะมีสายเข้าตัวมัลติเพล็กเซอร์ 3 สาย

  • กำหนดให้ช่องเวลา เท่ากับ T วินาที

  • ดังนั้นในการสร้างเฟรมข้อมูลแต่ละเฟรมจะต้องใช้เวลา 3T วินาที (เนื่องจากมีสายเข้า 3 สาย และแต่ละสายจะมีเวลาในการส่งข้อมูล T วินาที)

  • และอัตราการส่งข้อมูลโดย TDMจะมีค่าเท่ากับ n เท่าของอัตราการส่งข้อมูลของสายเข้า

    • เช่น ถ้าสายเข้ามีอัตราส่ง 2400 bps แล้ว อัตราการส่งข้อมูลโดย TDM จะเท่ากับ 2400 * 3 = 7200 bps


Noise

สัญญาณรบกวน Noise

  • Thermal noise เป็นสัญญาณรบกวนที่เกิดจากการเคลื่อนที่แบบผิดปกติของอิเล็กตรอนบางตัวในสายสื่อสาร

  • Crosstalk เป็นสัญญาณรบกวนที่เกิดจากสายสื่อสารที่อยู่ติดกัน ส่งสัญญาณรบกวนกันเอง

  • Impulse noise เป็นสัญญาณรบกวนที่เกิดขึ้นอย่างฉับพลันจากแหล่งพลังงานแรงสูง เช่น สายไฟฟ้าแรงสูง หรือเกิดฟ้าผ่า


Multiplexing error detection flow control

สัญญาณรบกวน Noise

  • Echo เป็นสัญญาณที่ถูกสะท้อนกลับ

  • Jitter เป็นเหตุการณ์ที่ความถี่ของสัญญาณได้มีการเปลี่ยนแปลงไปอย่างต่อเนื่อง ก่อให้เกิดการเปลี่ยนเฟสไปเป็นค่าอื่น

  • Delay Distortion สัญญาณความเร็วไม่เท่ากันมาผสมกัน

  • Attenuation การอ่อนกำลัง


Multiplexing error detection flow control

การป้องกันสัญญาณรบกวน

  • ใช้สายเคเบิลชนิดที่มีชิลด์ป้องกันสัญญาณรบกวน

  • ใช้อุปกรณ์ใหม่ที่มีประสิทธิภาพและทันสมัยกว่าอุปกรณ์เดิม

  • ใช้อุปกรณ์ขยาย/เพิ่มสัญญาณ

  • พิจารณาข้อกำหนด/ข้อจำกัดของสายสัญญาณแต่ละชนิด


Error detection techniques

Error Detection Techniques

  • Parity Check

  • Checksum

  • CRC


Parity check

Parity Check

  • Simple Parity Check

    • ในการส่ง-รับ จะมีการตกลงวิธีการตรวจสอบข้อมูล โดยการเพิ่มบิตจำนวน 1 บิต เรียกว่า “Parity bit” อาจเป็น 0 หรือ 1 ขึ้นอยู่กับวิธีที่ตกลงกัน

    • Even Parity เพิ่มบิตตรวจสอบ(0หรือ1)รวมกับบิตข้อมูล แล้วนับจำนวนบิต “1” ทั้งหมดให้ได้จำนวนคู่

    • Odd Parity เพิ่มบิตตรวจสอบ(0หรือ1)รวมกับบิตข้อมูล แล้วนับจำนวนบิต “1” ทั้งหมดให้ได้จำนวนคี่

    • ตัวอย่าง วิธี Even Parity

      ส่ง : 100010000 รับ : 10001000 0คำนวณแล้ว ได้ คู่ = ถูกต้อง

  • วิธีนี้ถ้ามีข้อมูลผิดพลาดเพียงบิตเดียว ก็ตรวจสอบได้ ถ้าผิดหลายๆบิตจะตรวจได้กรณีที่เกิดการผิดพลาดไปเป็นเลขคี่เท่านั้น


Parity check1

Parity Check

  • Simple Parity Check

  • ตัวอย่าง ส่งคำวา “world” ใช้วิธี even parity


Parity check2

Parity Check

  • Two-Dimensional parity check


Multiplexing error detection flow control

CRC

  • มีประสิทธิภาพสูงว่าแบบพาริตี้บิต

  • แบบพาริตี้บิตใช้การบวก แต่ CRC ใช้การหาร

  • แบบพาริตี้บิตจะแทรกบิตตรวจสอบลงในข้อมูล แต่แบบ CRC จะต้องนำบิตตรวจสอบไปต่อท้ายข้อมูล


Multiplexing error detection flow control

การหาบิตตรวจสอบของเทคนิค CRC

1. ถ้าตัวหารมีจำนวนบิตเท่ากับ n+1 บิตแล้วจะต้องเติมบิต 0 จำนวน n ตัวที่ส่วนท้ายของข้อมูล

2. ใช้บิตข้อมูลลบด้วยตัวหาร(ใช้วิธี XOR) เมื่อลบแล้วผลที่ได้จากการลบ ถ้า

2.1 บิตซ้ายสุดของเศษเป็น 1 ให้นำตัวหารมาเป็นตัวลบอีกครั้ง

2.2 บิตซ้ายสุดของเศษเป็น 0 ให้นำ 0000 มาเป็นตัวลบ

3. ทำในข้อ 2 จนกระทั่งไม่สามารถลบกันได้อีกแล้ว (จำนวนบิตของเศษน้อยกว่าจำนวนบิตของตัวหาร) จะถือได้ว่าเศษที่ได้จากการหารนั้นคือ บิตตรวจสอบ

4. นำบิตตรวจสอบที่ได้ไปแทนที่บิต 0 จำนวน n ตัวที่ส่วนท้ายของข้อมูล


Multiplexing error detection flow control

การหาบิตตรวจสอบของเทคนิค CRC

1101 100100000

1101

1000

1101

1010

1101

1110

1101

0110

0000

1100

1101

001

Divisor

หามาจากสูตรโพลิโนเมียล

ดังนั้นเวลาส่งข้อมูลไปจะได้

100100 + 001

= 100100001

Remainder


Multiplexing error detection flow control

CRC การตรวจสอบความผิดพลาดของข้อมูล

  • เมื่อผู้รับได้รับบิตข้อมูลรวมทั้งบิตตรวจสอบที่อยู่ส่วนท้ายของบิตข้อมูลแล้ว จะใช้วิธีการหารในโมดูโล2 เช่นกัน

    • ถ้าเศษของการหารเท่ากับ 0 หรือหารลงตัว แสดงว่าข้อมูลชุดนั้นเป็นข้อมูลที่ถูกต้อง

    • แต่ถ้าหารไม่ลงตัวคือมีเศษ แสดงว่าข้อมูลที่ได้รับมานั้นเป็นข้อมูลผิดพลาด


Multiplexing error detection flow control

การตรวจสอบของเทคนิค CRC ฝั่งรับ

1101 100100001

1101

1000

1101

1010

1101

1110

1101

0110

0000

1101

1101

000

Divisor

ได้มาจากสูตรโพลิโนเมียล

Result


Multiplexing error detection flow control

CRC

  • โพลิโนเมียล (Polynomial)

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

    x7+x5+x2+x+1


Multiplexing error detection flow control

CRC

  • ความสัมพันธ์กันระหว่างโพลิโนเมียลกับเลขฐานสอง

    x7 + x5 + x2 + x + 1

    x6 x4 x3

    1 0 1 0 0 1 1 1


Multiplexing error detection flow control

CRC

  • สำหรับตัวหารที่เป็นมาตรฐานทั่วไป ที่มีการนำไปใช้งานในโปรโตคอลต่างๆ มีดังนี้


Checksum

Checksum

  • วิธีการแบบ checksum จะคล้ายคลึงกับวิธีแบบ CRC และพาริตี้ ซึ่งวิธีการแบบนี้ยังคงอยู่บนพื้นฐานของการเพิ่มบิตตรวจสอบเข้าไปพร้อมกับบิตข้อมูล


Checksum1

Checksum

  • ก่อนที่จะหาบิตตรวจสอบได้นั้น จะต้องทำการแบ่งข้อมูลออกเป็นเซ็กเมนต์ก่อน โดยแต่ละเซ็กเมนต์จะมีข้อมูล n บิต (ปกติจะแบ่งเป็นเซ็กเมนต์ละ 16 บิต)

  • จากนั้นนำบิตข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1’s complement ซึ่งจะได้ผลลัพธ์ออกมา n บิต

  • เมื่อได้ผลลัพธ์จากการบวกแล้วจะนำมาทำคอมพลีเมนต์หรือทำการกลับบิตให้เป็นตรงกันข้าม (0 เป็น 1 , 1 เป็น 0)

  • ผลที่ได้จากการทำคอมพลีเมนต์คือบิตตรวจสอบ ที่จะต้องนำไปต่อไว้ส่วนท้ายของบิตข้อมูล ก่อนที่จะส่งออกไป


Multiplexing error detection flow control

Checksum

  • สรุปการหาบิตตรวจสอบสำหรับวิธีการตรวจสอบแบบ checksum

    1. ข้อมูลจะถูกแบ่งออกเป็นเซ็กเมนต์ย่อยๆ เซ็กเมนต์ละ n บิต

    2. นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1’s complement

    3. นำผลรวมของทุกเซ็กเมนต์มาทำคอมพลีเมนต์

    4. ส่งบิตตรวจสอบไปพร้อมกับข้อมูล

  • การตรวจสอบความผิดพลาดของข้อมูล

    1. รวบรวมข้อมูลแต่ละเซ็กเมนต์ ๆ ละ n บิต

    2. นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีการแบบ 1’s complement

    3. นำผลรวมของทุกเซ็กเมนต์มาทำคอมพลีเมนต์

    4. ถ้าผลลัพธ์ที่ได้เท่ากับ 0 แสดงว่าข้อมูลชุดนั้นถูกต้อง

    แต่ถ้าผลลัพธ์ที่ได้ไม่เท่ากับ 0 แสดงว่าข้อมูลชุดนั้นมีความผิดพลาด


Multiplexing error detection flow control

Checksum

  • ตัวอย่าง ฝั่งส่ง

    สมมติว่าต้องการที่จะส่งบิตข้อมูลจำนวน 16 บิตออกไป และใช้วิธีการตรวจสอบแบบ checksum โดยมีบิตตรวจสอบ 8 บิต ซึ่งบิตข้อมูลที่ต้องการส่งมีดังนี้

    10101001 00111001

    วิธีทำ

    นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีแบบ 1’s complement ได้ดังนี้

    10101001

    00111001

    sum11100010

    Checksum00011101

10101001 0011100100011101

ข้อมูลและบิตตรวจสอบที่จะส่งออกไป


Multiplexing error detection flow control

Checksum

  • ตัวอย่าง ฝั่งรับ

    จากตัวอย่างการส่งที่ผ่านมาเมื่อฝั่งรับได้รับข้อมูลดังข้างล่างนี้ จงตรวจสอบข้อมูลดังกล่าวว่าถูกต้องหรือไม่

    10101001 0011100100011101

    วิธีทำ นำข้อมูลของทุกเซ็กเมนต์มาบวกกันด้วยวิธีแบบ 1’s complement ได้ดังนี้

    10101001

    00111001

    00011101

    sum11111111

    complement00000000


Flow control

Flow control

  • หน้าที่หลักของ Data link layer

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

    • สาเหตุที่ต้องมีการควบคุมอัตราการไหลก็เนื่องจากว่า ผู้รับอาจจะมีความเร็วในการรับข้อมูลไม่เท่ากับผู้ส่ง หรือมีหน่วยความจำที่ใช้ในการเก็บข้อมูลอย่างจำกัด หรือมีความเร็วในการประมวลผลต่ำ

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


Multiplexing error detection flow control

Error control

  • หน้าที่หลักของ Data link layer

  • การควบคุมข้อผิดพลาดของข้อมูล หรือ error control คือ การที่ผู้ส่งต้องส่งข้อมูลไปใหม่อีกครั้งหนึ่ง ถ้าผู้รับไม่สามารถรับข้อมูลหรือได้รับข้อมูลที่ไม่ถูกต้อง

    • สาเหตุที่ต้องมีการควบคุมก็เนื่องจากว่า ข้อมูลจะต้องเดินทางจากที่หนึ่งไปยังอีกที่หนึ่ง จึงมีความเป็นไปได้ที่ข้อมูลชุดนั้นจะเกิดสูญหายหรือเสียหายในระหว่างการเดินทางได้

      ดังนั้นผู้รับจะต้องมีกระบวนการในการตรวจสอบความผิดพลาดของข้อมูล นอกจากนั้นจะต้องมีการส่งข้อความไปบอกกับผู้ส่งข้อมูลด้วยว่าข้อมูลชุดไหนที่ได้รับมามีความผิดพลาด ซึ่งฝ่ายส่งจะต้องทำการส่งข้อมูลชุดนั้นๆไปใหม่อีกครั้งหนึ่ง


Multiplexing error detection flow control

Flow control

  • กลไกในการควบคุมอัตราการไหลและควบคุมความผิดพลาดของข้อมูล

    • Stop-and-wait

    • Go-Back-N

    • Selective-Repeat


Flow control1

Flow control


Stop and wait 1

Stop-and-wait 1.กรณีปกติ

Sender

Receiver

S = 0

Frame 0

R = 0

ACK 1

S = 1

R = 1

Frame 1

ACK 1

S = 0

...

Time

Time


Multiplexing error detection flow control

Stop-and-wait 2.กรณีเฟรมข้อมูลสูญหายหรือเสียหาย

Sender

Receiver

S = 0

Frame 0

R = 0

ACK 1

S = 1

R = 1

Frame 1

Lost

S = 1

R = 1

Frame 1

ACK 1

R = 0

S = 0

Time

Time


Multiplexing error detection flow control

Stop-and-wait 3.กรณีเฟรม ACKสูญหายหรือเสียหาย

Sender

Receiver

S = 0

Frame 0

R = 0

ACK 1

S = 1

Frame 1

R = 1

ACK 0

Lost

S = 1

R = 0

Frame 1

เมื่อ Receiverตรวจแล้ว

ไม่ใช่ 0 ก็จะทิ้งเฟรมนี้ไป

ACK 0

S = 0

Time

Time


Multiplexing error detection flow control

Stop-and-wait 4.กรณีเฟรม ACK ล่าช้า

Sender

Receiver

S = 0

Frame 0

R = 0

ACK 1

S = 0

Frame 0

Time out

R = 1

S = 1

เมื่อ Receiverตรวจแล้ว

ไม่ใช่ 1 ก็จะทิ้งเฟรมนี้ไป

ACK 1

Frame 1

Sender จะทิ้ง

เฟรมนี้ไป

Frame 1

Time out

S = 1

R = 1

ACK 0

Time

Time


Multiplexing error detection flow control

Stop-and-wait

การส่งข้อมูลแบบสองทาง Piggybacking

A

B

R = 0

S = 0

Frame 0,ACK 0

R = 0

S = 0

Frame 0,ACK 1

R = 0

S = 1

Frame 1,ACK 1

R = 1

S = 1

R = 1

Frame 1, ACK 0

S = 0

...

Time

Time


Sliding window go back n

Sliding Window Go-back-N

  • กลไก Go-back-N จะทำการส่งเฟรมข้อมูลจำนวน w เฟรม ก่อนที่จะได้รับ ack ดังนั้นผู้ส่งจะต้องทำการสำเนาเฟรมข้อมูลทั้ง w เฟรมเอาไว้ด้วย และเฮดเดอร์แต่ละเฟรมจะมีหมายเลขลำดับด้วย โดยที่จะเริ่มจาก 0 เป็นต้นไปและเริ่มจากซ้ายไปขวา

  • การเลื่อนหน้าต่างของผู้ส่งข้อมูล : ผู้ส่งข้อมูลจะต้องทำการเก็บเฟรมข้อมูลเอาไว้ในบัฟเฟอร์ก่อน จนกระทั่งได้รับเฟรม ack กลับมา จึงจะทำการลบเฟรมข้อมูลนั้นทิ้งได้ ดังนั้นหลักการของการ เลื่อนหน้าต่าง (sliding window)จะเสมือนกับการมีหน้าต่างมาครอบเฟรมข้อมูลไว้ แล้วใช้การเลื่อนหน้าต่างไปมา เฟรมข้อมูลที่อยู่ด้านซ้ายของหน้าต่างจะหมายถึงเฟรมที่ได้รับ ack แล้ว สามารถที่จะลบทิ้งเฟรมนั้นออกจากบัฟเฟอร์ได้ ส่วนเฟรมที่อยู่ด้านขวาของหน้าต่าง เป็นเฟรมที่ยังไม่ได้มีการส่งออกไป จะต้องรอจนกระทั่งหน้าต่างเลื่อนมาถึงจึงจะสามารถส่งเฟรมข้อมูลได้


Multiplexing error detection flow control

Sliding Window Go-back-N

การเลื่อนหน้าต่างของผู้ส่งข้อมูล :

ก่อนเลื่อนหน้าต่าง

Windows size = 7

...

...

จากตัวอย่าง เฟรม 0 ถึง 6 ได้ถูกส่งออกไปและกำลังรอเฟรม ack ตอบกลับมาจากผู้รับ

หลังเลื่อนหน้าต่าง 2 เฟรม

Windows size = 7

...

...

และเมื่อผู้ส่งได้รับเฟรม ack ตอบกลับมาแล้วว่าผู้รับได้รับเฟรม 0 และเฟรม 1 เรียบร้อยแล้ว ผู้ส่งจะทำการเลื่อนหน้าต่างไปทาง

ด้านขวา 2 เฟรม


Multiplexing error detection flow control

Sliding Window Go-back-N

การเลื่อนหน้าต่างของผู้รับข้อมูล :

ขนาดหน้าต่างของผู้รับจะมีค่าเท่ากับ 1 เสมอ หมายความว่าหน้าต่างของผู้รับจะสามารถครอบเฟรมข้อมูลได้เพียงเฟรมเดียว ดังนั้นเฟรมที่ถูกหน้าต่างครอบไว้คือเฟรมที่ต้องการรับและยังไม่ได้รับ

ก่อนเลื่อนหน้าต่าง

Windows size = 1

...

...

จากตัวอย่าง หมายความว่าผู้รับต้องการจะรับเฟรม 0

หลังเลื่อนหน้าต่าง

...

...

เมื่อได้รับเฟรม 0 เรียบร้อยแล้ว จึงจะทำการเลื่อนหน้าต่างไปทางด้านขวา เพื่อบ่งบอกว่าเฟรมถัดไปที่ต้องการรับคือเฟรม 1


Multiplexing error detection flow control

Sender A

Receiver B

F0

F1

F2

เมื่อได้รับการตอบว่า 3 เฟรมที่ส่งไปแล้ว

เรียบร้อย จึงเลื่อนหน้าต่างไปอี ก 3 ช่อง

RR3

F3

F4

F5

F6

RR4


  • Login