Người gửi GBN phải đáp ứng ba loại sự kiện:• Invocation từ trên cao. Khi rdt_send() được gọi là từ phía trên, người gửi đầu tiên kiểm tra để xem nếu cửa sổ đầy đủ, có nghĩa là, cho dù có những gói dữ liệu xuất sắc, unacknowledged N. Nếu cửa sổ là không đầy đủ, một gói dữ liệu được tạo ra và gửi, và biến một cách thích hợp được Cập Nhật. Nếu cửa sổ đầy đủ, người gửi chỉ đơn giản là trở về dữ liệu trở lại lớp trên, một dấu hiệu tiềm ẩn cửa sổ là đầy đủ. Lớp trên có lẽ là sau đó có thể thử lại sau. Một thực hiện thật, người gửi nhiều khả năng sẽ có hoặc đệm (nhưng không phải ngay lập tức gửi) dữ liệu này, hoặc muốn có một cơ chế đồng bộ hóa (ví dụ, semaphore một hoặc một lá cờ) mà sẽ cho phép lớp trên gọi rdt_send() chỉ khi cửa sổ là không đầy đủ.• Nhận được một ACK. Trong nghị định thư GBN của chúng tôi, một sự thừa nhận cho một gói với chuỗi số n sẽ được đưa đến một sự thừa nhận tích lũy, indicat-ing mà tất cả các gói dữ liệu với một số thứ tự lên đến và bao gồm n đã cor-rectly nhận được nhận. Chúng tôi sẽ trở lại vấn đề này ngay khi chúng tôi kiểm tra bên nhận GBN.• Một sự kiện thời gian chờ. Các giao thức của tên, "Go-Back-N," có nguồn gốc từ hành vi của người gửi sự hiện diện của gói tin bị mất hoặc bị trì hoãn quá. Như trong giao thức dừng lại và chờ đợi, thời gian một lần nữa sẽ được sử dụng để phục hồi dữ liệu bị mất hoặc thừa nhận gói tin. Nếu một thời gian chờ xảy ra, người gửi thời tất cả các gói dữ liệu mà đã là previ-ously gửi nhưng mà đã không được nêu ra được được công nhận. Chúng tôi gửi trong hình 3,20 sử dụng chỉ là một thời gian duy nhất, mà có thể được dùng như một bộ đếm thời gian cho các gói dữ liệu truyền nhưng không được công nhận lâu đời nhất. Nếu một ACK được nhận nhưng có được bổ sung vẫn còn truyền nhưng chưa có ghi nhận các gói dữ liệu, bộ đếm thời gian khởi động lại. Nếu không có không có gói dữ liệu vượt trội, unacknowledged, bộ đếm thời gian được dừng lại.
đang được dịch, vui lòng đợi..
