Đề XuấT, 2024

Editor Choice

Sự khác biệt giữa giao thức Go-Back-N và lặp lại chọn lọc

Giao thức Go-Back-N và Giao thức lặp lại chọn lọc của nhà cung cấp là các giao thức cửa sổ trượt. Giao thức cửa sổ trượt chủ yếu là một giao thức kiểm soát lỗi, tức là nó là một phương pháp phát hiện lỗi và sửa lỗi. Sự khác biệt cơ bản giữa giao thức go-back-n và giao thức lặp lại có chọn lọc là giao thức của go-back-n trên mạng truyền tải lại các bộ khung nằm sau khung bị hỏng hoặc bị mất. Giao thức lặp lại có chọn lọc của người dùng khác chỉ truyền lại khung hình bị hỏng hoặc bị mất.

Biểu đồ so sánh

Cơ sở để so sánhQuay lại-NLặp lại chọn lọc
Căn bảnTruyền lại tất cả các khung được gửi sau khung mà nghi ngờ bị hỏng hoặc bị mất.Chỉ truyền lại những khung hình bị nghi ngờ bị mất hoặc bị hỏng.
Sử dụng băng thôngNếu tỷ lệ lỗi cao, nó sẽ lãng phí rất nhiều băng thông.Băng thông tương đối ít bị lãng phí trong việc truyền lại.
Phức tạpÍt phức tạp hơn.Phức tạp hơn vì nó yêu cầu áp dụng logic và phân loại và lưu trữ bổ sung, tại người gửi và người nhận.
Kích thước cửa sổN-1<= (N + 1) / 2
Sắp xếpSắp xếp không bắt buộc ở phía người gửi cũng như phía người nhận.Người nhận phải có khả năng sắp xếp vì nó phải duy trì chuỗi các khung.
Lưu trữNgười nhận không lưu trữ các khung nhận được sau khi khung bị hỏng cho đến khi khung bị hỏng được truyền lại.Bộ thu lưu các khung nhận được sau khung bị hỏng trong bộ đệm cho đến khi khung bị hỏng được thay thế.
Đang tìm kiếmKhông yêu cầu tìm kiếm khung không phải ở phía người gửi cũng như trên người nhậnNgười gửi phải có thể tìm kiếm và chỉ chọn khung được yêu cầu.
Số ACKSố NAK đề cập đến số khung dự kiến ​​tiếp theo.Số NAK đề cập đến khung bị mất.
Sử dụngNó thường được sử dụng hơn.Nó là ít trong thực tế vì sự phức tạp của nó.

Định nghĩa của Go-Back-N

Giao thức Go-Back-N là giao thức cửa sổ trượt. Nó là một cơ chế để phát hiện và kiểm soát lỗi trong lớp datalink. Trong quá trình truyền khung giữa người gửi và người nhận, nếu một khung bị hỏng, bị mất hoặc một xác nhận bị mất thì hành động được thực hiện bởi người gửi và người nhận được giải thích trong nội dung sau.

Khung bị hư hỏng

Nếu người nhận nhận được khung bị hỏng hoặc nếu xảy ra lỗi trong khi nhận khung thì người nhận sẽ gửi NAK (xác nhận phủ định) cho khung đó cùng với số khung đó, dự kiến ​​sẽ được truyền lại. Sau khi gửi NAK, người nhận sẽ loại bỏ tất cả các khung mà nó nhận được, sau một khung bị hỏng. Người nhận không gửi bất kỳ ACK (xác nhận) nào cho các khung bị loại bỏ. Sau khi người gửi nhận được NAK cho khung bị hỏng, nó sẽ truyền lại tất cả các khung trở về số khung được gọi bởi NAK.

Mất khung

Người nhận kiểm tra số trên mỗi khung, nó nhận được. Nếu một số khung được bỏ qua trong một chuỗi, thì người nhận dễ dàng phát hiện mất khung vì khung mới nhận được được nhận ngoài chuỗi. Người nhận gửi NAK cho khung bị mất và sau đó người nhận sẽ loại bỏ tất cả các khung nhận được sau một khung bị mất. Người nhận không gửi bất kỳ ACK (xác nhận) nào cho các khung bị loại bỏ đó. Sau khi người gửi nhận được NAK cho khung bị mất, nó sẽ truyền lại khung bị mất được gọi bởi NAK và cũng truyền lại tất cả các khung mà nó đã gửi sau khung bị mất.

Mất công nhận

Nếu người gửi không nhận được bất kỳ ACK nào hoặc nếu ACK bị mất hoặc bị hỏng ở giữa đường truyền. Người gửi chờ thời gian hết và khi hết thời gian, người gửi sẽ truyền lại tất cả các khung mà nó chưa nhận được ACK. Người gửi xác định mất ACK với sự trợ giúp của bộ hẹn giờ.

Số ACK, như số NAK (xác nhận âm), hiển thị số khung, người nhận dự kiến ​​sẽ là người tiếp theo trong chuỗi. Kích thước cửa sổ của máy thu là 1 vì lớp liên kết dữ liệu chỉ yêu cầu khung mà nó phải gửi bên cạnh lớp mạng. Kích thước cửa sổ người gửi bằng 'w'. Nếu tỷ lệ lỗi cao, rất nhiều băng thông bị mất lãng phí.

Định nghĩa lặp lại chọn lọc

Lặp lại chọn lọc cũng là giao thức cửa sổ trượt phát hiện hoặc sửa lỗi xảy ra trong lớp datalink. Giao thức lặp lại chọn lọc chỉ truyền lại khung đó bị hỏng hoặc mất. Trong giao thức lặp lại có chọn lọc, khung truyền lại được nhận ngoài chuỗi. Giao thức lặp lại chọn lọc có thể thực hiện các hành động sau

  • Người nhận có khả năng sắp xếp khung theo một trình tự thích hợp, vì nó nhận được khung truyền lại có trình tự nằm ngoài trật tự của khung nhận.
  • Người gửi phải có khả năng tìm kiếm khung mà NAK đã được nhận.
  • Người nhận phải chứa bộ đệm để lưu trữ tất cả các khung đã nhận trước đó cho đến khi khung truyền lại được sắp xếp và đặt theo một trình tự thích hợp.
  • Số ACK, như số NAK, đề cập đến khung bị mất hoặc bị hỏng.
  • Nó đòi hỏi kích thước cửa sổ ít hơn so với giao thức go-back-n.

Khung bị hư hỏng

Nếu một người nhận nhận được một khung bị hỏng, nó sẽ gửi NAK cho khung mà trong đó phát hiện ra lỗi hoặc hư hỏng. Số NAK, như trong go-back-n cũng chỉ ra sự thừa nhận của các khung và lỗi đã nhận trước đó trong khung hiện tại. Người nhận tiếp tục nhận được các khung mới trong khi chờ khung bị hỏng được thay thế. Các khung được nhận sau khung bị hỏng không được xác nhận cho đến khi khung bị hỏng được thay thế.

Mất khung

Như trong một giao thức lặp lại có chọn lọc, một khung có thể được nhận theo thứ tự và hơn nữa chúng được sắp xếp để duy trì một chuỗi thích hợp của các khung. Trong khi sắp xếp, nếu một số khung bị bỏ qua, người nhận sẽ nhận ra rằng một khung bị mất và nó sẽ gửi NAK cho khung đó cho người gửi. Sau khi nhận được NAK cho khung bị mất, người gửi tìm kiếm khung đó trong cửa sổ của nó và truyền lại khung đó. Nếu khung truyền cuối cùng bị mất thì người nhận không phản hồi và sự im lặng này là một sự thừa nhận tiêu cực cho người gửi.

Mất công nhận

Nếu người gửi không nhận được bất kỳ ACK nào hoặc ACK bị mất hoặc bị hỏng ở giữa đường truyền. Người gửi chờ thời gian hết và khi hết thời gian, người gửi sẽ gửi lại tất cả các khung mà nó chưa nhận được ACK. Người gửi xác định mất ACK với sự trợ giúp của bộ hẹn giờ.

Sự khác biệt chính giữa Go-Back-N và Lặp lại chọn lọc

  1. Giao thức Go-Back-N được thiết kế để truyền lại tất cả các khung hình được gửi đến sau khi khung bị hỏng hoặc bị mất. Mặt khác, giao thức Lặp lại chọn lọc chỉ truyền lại khung đó bị hỏng hoặc bị mất.
  2. Nếu tỷ lệ lỗi cao, tức là nhiều khung hình đang bị hỏng và sau đó truyền lại tất cả các khung hình đến sau khung bị hỏng sẽ lãng phí rất nhiều băng thông. Mặt khác, giao thức lặp lại có chọn lọc chỉ truyền lại khung bị hỏng do đó, băng thông tối thiểu bị lãng phí.
  3. Tất cả các khung sau khung bị hỏng sẽ bị loại bỏ và các khung truyền lại đến theo một chuỗi từ khung bị hỏng trở đi, do đó, việc sắp xếp các khung ít gây đau đầu hơn do đó ít phức tạp hơn. Mặt khác, chỉ có khung bị hỏng hoặc bị nghi ngờ được truyền lại, do đó, logic bổ sung phải được áp dụng để sắp xếp do đó, nó phức tạp hơn.
  4. Go-Back-N có kích thước cửa sổ là N-1 và lặp lại chọn lọc có kích thước cửa sổ <= (N + 1) / 2.
  5. Cả người gửi và người nhận đều không cần thuật toán sắp xếp trong Go-Back-N trong khi đó, người nhận phải có khả năng sắp xếp theo như nó phải duy trì chuỗi.
  6. Do đó, trong máy thu Go-Back-N sẽ loại bỏ tất cả các khung sau khung bị hỏng, do đó không cần lưu trữ bất kỳ khung nào. Giao thức lặp lại có chọn lọc không loại bỏ các khung đến sau khung bị hỏng thay vào đó nó lưu các khung đó cho đến khi khung bị hỏng đến thành công và được sắp xếp theo một trình tự thích hợp.
  7. Trong khung NAK lặp lại có chọn lọc đề cập đến số khung bị hỏng và trong Go-Back-N, khung NAK đề cập đến khung tiếp theo dự kiến.
  8. Nói chung, Go-Back-N được sử dụng nhiều hơn do tính chất ít phức tạp hơn thay vì giao thức Lặp lại chọn lọc.

Phần kết luận:

Lặp lại chọn lọc là một giao thức hiệu quả hơn vì nó không lãng phí băng thông cho các khung được nhận đúng, nhưng, độ phức tạp và chi phí của nó ưu tiên sử dụng giao thức go-back-n.

Top