ScholarGate
Trợ lý

Truyền dữ liệu đáng tin cậy

Truyền dữ liệu đáng tin cậy là tập hợp các nguyên tắc mà theo đó một giao thức truyền dữ liệu chính xác, theo đúng thứ tự và không bị mất hoặc trùng lặp trên một mạng cơ bản có thể làm hỏng, mất hoặc sắp xếp lại các gói tin.

Tìm chủ đề với PaperMindSắp ra mắtFind papers & topics
Tools & resources
Tải xuống bản trình chiếu
Learn & explore
VideoSắp ra mắt

Definition

Truyền dữ liệu đáng tin cậy là một dịch vụ lớp vận chuyển đảm bảo dữ liệu được gửi đến ứng dụng nhận một cách chính xác và theo đúng thứ tự mặc dù kênh cơ bản không đáng tin cậy, đạt được thông qua các xác nhận, số thứ tự, thời gian chờ và truyền lại.

Scope

Chủ đề này bao gồm các cơ chế chung đằng sau việc truyền tải đáng tin cậy, độc lập với bất kỳ giao thức nào: xác nhận và xác nhận phủ định, số thứ tự để phát hiện mất và trùng lặp, tổng kiểm tra (checksum) để phát hiện lỗi, bộ hẹn giờ truyền lại, và các giao thức cửa sổ trượt theo đường ống (pipelined sliding-window protocols) go-back-N và lặp lại chọn lọc (selective repeat) giúp duy trì nhiều gói tin đang được truyền để tăng hiệu quả. Nó phát triển những điều này làm nền tảng cho TCP. Nó không bao gồm kiểm soát tắc nghẽn, vốn giải quyết tình trạng quá tải mạng hơn là độ tin cậy trên mỗi liên kết, và các chi tiết cụ thể của TCP.

Core questions

  • Một giao thức đáng tin cậy phải khắc phục những lỗi nào — hỏng, mất, trùng lặp, sắp xếp lại?
  • Làm thế nào các xác nhận và số thứ tự cho phép người nhận phát hiện và báo hiệu các vấn đề?
  • Làm thế nào người gửi sử dụng thời gian chờ và truyền lại để phục hồi sau mất mát?
  • Làm thế nào các giao thức theo đường ống (go-back-N, lặp lại chọn lọc) cải thiện hiệu quả so với dừng và chờ?
  • Sự đánh đổi giữa go-back-N và lặp lại chọn lọc là gì?

Key concepts

  • xác nhận (ACK/NAK)
  • số thứ tự
  • tổng kiểm tra (checksums)
  • bộ hẹn giờ truyền lại và thời gian chờ
  • dừng và chờ (stop-and-wait)
  • yêu cầu lặp lại tự động (ARQ)
  • đường ống (pipelining)
  • cửa sổ trượt (sliding window)
  • go-back-N và lặp lại chọn lọc (selective repeat)

Key theories

Dừng và chờ (stop-and-wait) và yêu cầu lặp lại tự động (automatic repeat request)
Giao thức đáng tin cậy đơn giản nhất gửi một gói tin và chờ xác nhận, truyền lại khi hết thời gian chờ; số thứ tự phân biệt dữ liệu mới với các lần truyền lại, thiết lập cơ chế ARQ cốt lõi mà tất cả các giao thức truyền tải đáng tin cậy đều dựa vào.
Đường ống (pipelining) với cửa sổ trượt (sliding windows)
Cho phép nhiều gói tin chưa được xác nhận đang được truyền, giới hạn bởi một cửa sổ, làm tăng thông lượng trên các liên kết có độ trễ cao; go-back-N truyền lại mọi thứ từ gói tin bị mất đầu tiên trở đi, điều này đơn giản nhưng có thể gửi lại dữ liệu đã nhận đúng. Trong khi đó, lặp lại chọn lọc chỉ truyền lại các gói tin bị mất cụ thể và đệm các gói tin đến không đúng thứ tự, điều này hiệu quả hơn nhưng yêu cầu nhiều trạng thái hơn ở cả hai đầu.

Clinical relevance

Các nguyên tắc truyền dữ liệu đáng tin cậy là những gì giúp các tệp tin, trang web và hầu hết dữ liệu ứng dụng đến nơi nguyên vẹn ngay cả trên các đường truyền bị mất gói hoặc tắc nghẽn. Các ý tưởng tương tự — xác nhận, số thứ tự, cửa sổ và truyền lại — lặp lại trong TCP, trong độ tin cậy lớp liên kết và trong các giao thức vận chuyển mới hơn, vì vậy việc hiểu chúng là nền tảng để suy luận về thông lượng, độ trễ và khả năng phục hồi sau mất mát.

History

Các cơ chế truyền tải đáng tin cậy đã được phát triển cho các giao thức liên kết ban đầu và ARPANET, nơi các sơ đồ ARQ dừng và chờ (stop-and-wait) và sau đó là cửa sổ trượt (sliding-window) được tinh chỉnh để cân bằng độ tin cậy và thông lượng. Sự phát triển có hệ thống, tăng dần của các nguyên tắc truyền tải đáng tin cậy — từ một kênh hoàn hảo cho đến mất mát và sắp xếp lại — đã trở thành một phương pháp sư phạm tiêu chuẩn và là nền tảng cho thiết kế của TCP.

Key figures

  • James F. Kurose
  • Keith W. Ross
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • kurose2021
  • tanenbaum2010

Frequently asked questions

Tại sao phải sử dụng số thứ tự?
Số thứ tự cho phép người nhận phân biệt các gói tin để nó có thể phát hiện mất mát (một khoảng trống trong chuỗi), loại bỏ các bản sao (một số lặp lại do truyền lại) và sắp xếp lại dữ liệu đến không đúng thứ tự. Nếu không có chúng, người gửi và người nhận không thể phân biệt một gói tin mới với một gói tin được truyền lại.
Sự khác biệt giữa go-back-N và lặp lại chọn lọc là gì?
Cả hai đều thực hiện đường ống nhiều gói tin. Go-back-N yêu cầu người gửi truyền lại mọi thứ từ gói tin bị mất đầu tiên trở đi, điều này đơn giản nhưng có thể gửi lại dữ liệu đã nhận đúng. Lặp lại chọn lọc chỉ truyền lại các gói tin cụ thể bị mất và đệm các gói tin đến không đúng thứ tự, điều này hiệu quả hơn nhưng yêu cầu nhiều trạng thái hơn ở cả hai đầu.

Methods for this concept

Related concepts