Multiplexing error detection flow control
Download
1 / 49

Multiplexing Error Detection Flow Control - PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Multiplexing Error Detection Flow Control' - kelsie-kidd


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 เป็นอุปกรณ์ทำหน้าที่ในการแยกสัญญาณที่ได้รับมา แล้วส่งต่อให้กับอุปกรณ์ที่ใช้ในการรับข้อมูลต่อไป






FDM

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

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

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

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



Fdm multiplexing process
FDM Multiplexing Process

Modulator

Carrier f1

Modulator

Carrier f2

Modulator

Carrier f3


Demodulator

Filter

Carrier f1

Demodulator

Filter

Carrier f2

Demodulator

Filter

Carrier f3

FDM De-multiplexing Process


WDM

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

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

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

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


TDM

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

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

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

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

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

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

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



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


TDM

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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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


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


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

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

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

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


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

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

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

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

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

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

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


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

1101 100100000

1101

1000

1101

1010

1101

1110

1101

0110

0000

1100

1101

001

Divisor

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

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

100100 + 001

= 100100001

Remainder


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

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

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

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


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

1101 100100001

1101

1000

1101

1010

1101

1110

1101

0110

0000

1101

1101

000

Divisor

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

Result


CRC

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

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

    x7+x5+x2+x+1


CRC

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

    x7 + x5 + x2 + x + 1

    x6 x4 x3

    1 0 1 0 0 1 1 1


CRC

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


Checksum
Checksum

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


Checksum1
Checksum

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

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

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

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


Checksum

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

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

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

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

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

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

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

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

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

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

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


Checksum

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

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

    10101001 00111001

    วิธีทำ

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

    10101001

    00111001

    sum 11100010

    Checksum 00011101

10101001 0011100100011101

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


Checksum

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

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

    10101001 0011100100011101

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

    10101001

    00111001

    00011101

    sum 11111111

    complement 00000000


Flow control
Flow control

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

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

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

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


Error control

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

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

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

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


Flow control

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

    • Stop-and-wait

    • Go-Back-N

    • Selective-Repeat



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


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


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


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


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 แล้ว สามารถที่จะลบทิ้งเฟรมนั้นออกจากบัฟเฟอร์ได้ ส่วนเฟรมที่อยู่ด้านขวาของหน้าต่าง เป็นเฟรมที่ยังไม่ได้มีการส่งออกไป จะต้องรอจนกระทั่งหน้าต่างเลื่อนมาถึงจึงจะสามารถส่งเฟรมข้อมูลได้


Sliding Window Go-back-N

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

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

Windows size = 7

...

...

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

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

Windows size = 7

...

...

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

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


Sliding Window Go-back-N

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

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

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

Windows size = 1

...

...

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

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

...

...

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


Sender A

Receiver B

F0

F1

F2

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

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

RR3

F3

F4

F5

F6

RR4


ad