2013-05-09 20 views
62

Sự khác biệt giữa kiểm soát lưu lượng và kiểm soát tắc nghẽn trong TCP là gì?Sự khác biệt giữa Kiểm soát luồng và Kiểm soát tắc nghẽn trong TCP là gì?

Câu hỏi này có thể được chia thành hai phần:

  1. mục đích tổng thể kiểm soát lưu lượng và tắc nghẽn là gì?
  2. Công việc đã hoàn thành như thế nào?

Theo Wikipedia, điều khiển luồng TCP dựa trên kích thước cửa sổ được báo cáo trong thông báo ACK. Kiểm soát tắc nghẽn cũng dựa trên thông báo xác nhận. Tôi muốn biết sự khác biệt giữa hai mục tiêu là gì và cách chúng hoạt động.

+42

Không phải là câu hỏi về bài tập về nhà. Thêm một câu hỏi chuẩn bị phỏng vấn. "Off-topic" là gì? @EJP –

Trả lời

101

Về phần 1, tổng quan chung siêu:

Điều khiển luồng được kiểm soát bởi phía nhận. Nó đảm bảo rằng người gửi chỉ gửi những gì người nhận có thể xử lý. Hãy suy nghĩ về một tình huống mà một người có kết nối cáp nhanh có thể gửi cho ai đó trên quay số hoặc một cái gì đó tương tự. Người gửi sẽ có khả năng gửi gói dữ liệu rất nhanh, nhưng điều đó sẽ vô ích đối với người nhận khi quay số, vì vậy họ sẽ cần một cách để điều tiết những gì mà bên gửi có thể gửi. Kiểm soát luồng giao dịch với các cơ chế có sẵn để đảm bảo rằng giao tiếp này diễn ra suôn sẻ.

Kiểm soát tắc nghẽn là phương pháp đảm bảo rằng mọi người trong mạng đều có quyền truy cập tài nguyên mạng "công bằng" vào bất kỳ thời điểm nào. Trong môi trường mạng hỗn hợp, mọi người cần có khả năng giả định cùng một mức hiệu suất chung. Một kịch bản phổ biến để giúp hiểu điều này là một mạng LAN văn phòng. Bạn có một số phân đoạn LAN trong một văn phòng tất cả làm việc của họ trong mạng LAN, nhưng sau đó tất cả họ có thể cần phải đi ra ngoài qua một liên kết WAN đó là chậm hơn so với các phân đoạn LAN thành phần. Hình ảnh có kết nối 100MB trong mạng LAN cuối cùng đi qua một liên kết WAN 5MB. Một số loại kiểm soát tắc nghẽn sẽ cần phải được đặt ở đó để đảm bảo không có vấn đề trên mạng lớn hơn.

Đối với phần 2:

Nếu đây là một câu hỏi phỏng vấn-prep, như bạn nói ở trên, tôi sẽ xem xét việc một thời gian để đọc lên trên TCP/IP nói chung. Không sử dụng Wikipedia. RTFM! Đây là rất nhiều giá trị thời gian của bạn. Bạn có thể lập luận rằng đây là giao thức quan trọng nhất nắm giữ phần lớn Internet hiện đại.

Những điều cần đọc về Kiểm soát luồng: dừng và chờ, cửa sổ trượt, khung PAUSE.

Những điều cần đọc về Kiểm soát tắc nghẽn: QoS (Chất lượng dịch vụ), chính sách truyền lại, chính sách cửa sổ.

Ngoài ra, bạn có thể tìm kiếm bất kỳ triển khai đặc biệt nhà cung cấp (Cisco, vv ..)

+2

Câu trả lời hay nhưng có ít nhất một lỗi: "khung PAUSE" là * không * được sử dụng trong Kiểm soát tắc nghẽn, chúng là cơ chế cho Kiểm soát luồng. – Angel

+1

Bạn hoàn toàn chính xác.Đã thêm vào đoạn sai, chỉnh sửa ngay bây giờ. –

18

Flow Control: Người gửi sẽ gửi đủ dữ liệu có thể được cung cấp vào cuối thu.

Kiểm soát tắc nghẽn: Người gửi sẽ giảm lượng gói được gửi để tránh làm tràn bộ đệm của bộ định tuyến (Hàng đợi).

-3

Điều khiển luồng: biểu thị lượng mạng có thể hấp thụ, cửa sổ nghẽn; Kiểm soát tắc nghẽn: biểu thị số lượng người nhận có thể hấp thụ, cửa sổ được quảng cáo; max_window = min của người gửi (cửa sổ được quảng cáo, cửa sổ nghẽn);

3

Kiểm soát tắc nghẽn là vấn đề toàn cầu - bao gồm mọi bộ định tuyến và máy chủ trong mạng con Điều khiển luồng - phạm vi là điểm-điểm; chỉ liên quan đến người gửi và người nhận.

13

Flow Control:

  • Nó làm cho chắc chắn rằng người gửi không quá tải máy thu.
  • Đó là hiện tượng địa phương, không giống như kiểm soát tắc nghẽn.
  • Nó thường được khởi xướng bởi người gửi.

kiểm soát tắc nghẽn:

  • Nó làm cho chắc chắn rằng mạng là khả năng xử lý tải trọng của gói tin.
  • Đó là hiện tượng toàn cầu và ảnh hưởng đến mọi máy chủ được kết nối với mạng đó.
  • Nó được khởi tạo bởi bộ định tuyến.
2

kiểm soát tắc nghẽn: Ngoài việc ngăn đệm của router từ tràn nó cũng thỏa thuận với hai yếu tố quan trọng khác

  • Công bằng: nạn đói không nên xảy ra đối với bất kỳ máy chủ kết nối với mạng Mặc dù thuật ngữ là phức tạp hơn.
  • Hiệu quả: Các liên kết nên được sử dụng với công suất tối đa của chúng để không gây tắc nghẽn.
3

luồng kiểm soát chủ yếu thực hiện ở phía nhận, để điều chỉnh dữ liệu bao nhiêu gửi được tiêm vào hệ thống mạng; kiểm soát tắc nghẽn chủ yếu được thực hiện trên bên người gửi, cố gắng cảm nhận tắc nghẽn trên mạng theo thời gian của gói ACK, để điều chỉnh lượng dữ liệu được gửi đến tình huống tương ứng.

1

Kiểm soát luồng được thực hiện ở phía người nhận. Nếu người gửi gửi các gói lớn hơn kích thước bộ đệm của người nhận, tràn xảy ra tại bộ đệm của người nhận. Để tránh tràn này ở phía người nhận, có một kỹ thuật cửa sổ được sử dụng ở phía người gửi. Kiểm soát tắc nghẽn được thực hiện ở phía người gửi. Đây là hiện tượng toàn cầu. Điều này xảy ra ở router. Bộ đệm của bộ đệm của bộ định tuyến tràn khi nhiều người gửi cố gắng đẩy nhiều gói hơn thông qua cùng một liên kết.

+0

Điều này giống như một nỗ lực trung thực để trả lời câu hỏi, nhưng ngay bây giờ, câu trả lời của bạn hơi khó hiểu. Nó cũng khá ngắn. Vui lòng xem xét chi tiêu một hoặc hai đoạn văn đầy đủ về kiểm soát luồng và một hoặc hai đoạn đầy đủ về kiểm soát tắc nghẽn, với nhiều dấu phẩy hơn và ít thiếu từ hơn. – Julian