Một khiển tắc nghẽn Thuật toán được phát triển bởi Google, BBR (B ottleneck B andwidth và R ound-chuyến đi thời gian tuyên truyền) là một giải pháp để tăng tốc độ truyền tải các gói dữ liệu qua Internet. Nhưng một thuật toán điều khiển tắc nghẽn là gì? Các thuật toán kiểm soát tắc nghẽn là những cách khác nhau trong đó các gói tin có thể được gửi qua Internet. Các thiết bị này được tích hợp trong mọi thiết bị mạng và quyết định tốc độ truyền dữ liệu trên cơ sở tắc nghẽn, mất gói tin vv
Internet thường xuyên sử dụng kiểm soát tắc nghẽn dựa trên sự mất mát, quyết định gửi gói tin trên cơ sở mất gói. Nếu thuật toán nói rằng mất gói tin, nó sẽ giả sử trạng thái tắc nghẽn và ngừng gửi gói tin hoặc giới hạn tốc độ của nó. Một hạn chế lớn của thuật toán kiểm soát tắc nghẽn như vậy là tắc nghẽn không phải là yếu tố duy nhất làm mất gói tin. Việc mất gói dữ liệu có thể xảy ra do nhiều lý do như phương tiện truyền tải bị lỗi và bộ đệm cạn. Trong những trường hợp như vậy, thuật toán giả định tắc nghẽn và hạn chế tốc độ truyền.
Tuy nhiên, thuật toán BBR đã được viết bằng tất cả các yếu tố này. BBR đánh giá mạng và tốc độ mà nó có khả năng truyền dữ liệu bằng cách giám sát tốc độ mạng và thời gian khứ hồi. Qua đó, băng thông tối đa có sẵn và khoảng thời gian khứ hồi tối thiểu được đánh giá hướng dẫn BBR để gửi lượng dữ liệu tối đa có thể tại một thời điểm nhất định.
Kiểm soát tắc nghẽn TCP BBR trên Ubuntu / Debian
Các bản vá TCP BBR cần phải được áp dụng cho hạt nhân Linux.
Điều kiện tiên quyết
1. Phiên bản của hạt nhân Linux phải là 4,9 hoặc cao hơn.
2. Những tính năng sau đây nên có trong Hạt nhân Linux.
#CONFIG_TCP_CONG_BBR
#CONFIG_NET_SCH_FQ
(Lưu ý: Bạn có thể kiểm tra xem chúng có sẵn bằng cách chạy các lệnh được đề cập dưới đây.)
Grep 'CONFIG_TCP_CONG_BBR' / boot / config - $ (uname -r)
Grep 'CONFIG_NET_SCH_FQ' / boot / config - $ (uname -r)
Egrep 'CONFIG_TCP_CONG_BBR | CONFIG_NET_SCH_FQ' / boot / config - $ (uname -r)
Cấu hình
1. Vui lòng chỉnh sửa một trong các tệp sau với sự giúp đỡ của bất kỳ trình soạn thảo văn bản nào bạn chọn. Chúng tôi đã sử dụng biên tập vi.
Sudo vi /etc/sysctl.conf
Sudo vi /etc/sysctl.d/10-custom-kernel-bbr.conf
2. Các dòng sau nên được thêm vào các tập tin trên.
Net.core.default_qdisc = fq
Net.ipv4.tcp_congestion_control = bbr
3. Lưu tệp và khởi động lại hệ thống để đưa các thay đổi có hiệu lực.
Sudo reboot
4. Bạn có thể thử để kiểm tra mạng với sự trợ giúp của các công cụ mạng.
Khi thay đổi có hiệu lực, bạn sẽ nhận thấy một sự thay đổi trong tốc độ dữ liệu của bạn.