The Wonder Shaper

Phần mềm chụp màn hình:
The Wonder Shaper
Các chi tiết về phần mềm:
Phiên bản: 1.1a
Ngày tải lên: 2 Jun 15
Nhà phát triển: Bert Hubert
Giấy phép: Miễn phí
Phổ biến: 32

Rating: nan/5 (Total Votes: 0)

Các Shaper Wonder là một kịch bản mạng máy ép rất đặc biệt với rất nhiều tính năng. Hoạt động trên Linux 2.4 và cao hơn.
Mục tiêu
Tôi đã cố gắng để tạo ra các chén thánh:
* Duy trì độ trễ thấp cho giao thông interfactive ở tất cả các lần.
Điều này có nghĩa là việc tải xuống hoặc tải lên các tập tin không nên làm phiền SSH hoặc thậm chí telnet. Đây là những điều quan trọng nhất, ngay cả độ trễ 200ms là chậm chạp để làm việc hơn.
* Cho phép 'lướt sóng' ở tốc độ hợp lý trong khi lên hoặc tải về
Mặc dù http là giao thông 'lớn', giao thông khác không nên chìm nó ra quá nhiều.
* Hãy chắc chắn cập không gây tổn hại cho tải về, và các cách khác xung quanh
Đây là một hiện tượng quan sát được nhiều nơi thượng nguồn lưu lượng truy cập chỉ đơn giản là phá hủy tốc độ download. Nó chỉ ra rằng tất cả điều này là có thể, với chi phí của một chút nhỏ bé của băng thông. Lý do mà upload, tải và ssh tổn thương eachother là sự hiện diện của hàng đợi lớn trong nhiều thiết bị truy cập trong nước như dây cáp hoặc DSL modem.
Tại sao nó không làm việc tốt theo mặc định
ISP biết rằng họ đang chuẩn hóa hoàn toàn vào cách mọi người có thể nhanh chóng tải về. Bên cạnh băng thông có sẵn, tốc độ tải chịu ảnh hưởng nặng nề bởi các gói tin bị mất, trong đó nghiêm trọng cản trở hiệu suất TCP / IP. Hàng đợi lớn có thể giúp ngăn ngừa packetloss, và tăng tốc độ tải. Vì vậy, các ISP cấu hình hàng đợi lớn.
Tuy nhiên, những hàng đợi lớn làm hỏng tương tác. Một tổ hợp phím đầu tiên phải đi xếp hàng thượng lưu, có thể là giây (!) Dài và đi đến máy chủ từ xa của bạn. Sau đó nó được hiển thị, dẫn đến một gói trở lại, sau đó phải đi qua hàng đợi hạ lưu, đặt tại ISP của bạn, trước khi nó xuất hiện trên màn hình của bạn.
HOWTO này dạy bạn làm thế nào để mangle và xử lý hàng đợi trong nhiều cách, nhưng thật đáng buồn, không phải tất cả các hàng đợi được tiếp cận với chúng ta. Các hàng đợi qua tại các ISP là hoàn toàn off-giới hạn, trong khi hàng đợi thượng nguồn có thể sống bên trong modem cáp của bạn hoặc thiết bị DSL. Bạn có thể hoặc không có thể cấu hình nó. Hầu hết có lẽ không.
Vì vậy, những gì tiếp theo? Như chúng ta không thể kiểm soát một trong những hàng đợi, họ phải được loại bỏ, và di chuyển đến router Linux của bạn. May mắn này là có thể.
Giới hạn tốc độ tải lên phần nào
Bằng cách giới hạn tốc độ tải lên của chúng tôi để thấp hơn một chút so với tỷ lệ thực sự có sẵn, không có hàng đợi được xây dựng trong modem của chúng tôi. Các hàng đợi hiện đang chuyển sang Linux.
Giới hạn tốc độ tải về
Đây là một chút phức tạp hơn khi chúng ta có thể không thực sự ảnh hưởng đến nhanh như thế nào các tàu internet chúng tôi dữ liệu. Tuy nhiên chúng ta có thể thả các gói tin đó là đến quá nhanh, gây TCP / IP có thể giảm xuống chỉ tốc độ mà chúng ta muốn. Bởi vì chúng tôi không muốn thả giao thông không cần thiết, chúng ta cấu hình một 'bùng nổ' kích thước, chúng cho phép ở tốc độ cao hơn.
Bây giờ, khi chúng tôi đã làm điều này, chúng tôi đã loại bỏ các hàng đợi hạ lưu hoàn toàn (ngoại trừ các vụ nổ ngắn), và đạt được khả năng quản lý hàng đợi thượng lưu với tất cả sức mạnh Linux cung cấp.
Hãy giao thông tương tác bỏ qua hàng đợi
Những gì còn lại được thực hiện là để đảm bảo giao thông tương tác nhảy vào phía trước của hàng đợi thượng nguồn. Để chắc chắn, giúp tải không làm tổn thương tải, chúng tôi cũng chuyển các gói tin ACK để phía trước của hàng đợi. Đây là những gì thường gây ra sự suy giảm lớn quan sát thấy khi tạo ra lưu lượng truy cập lớn cả hai cách. Các Lời cảm ơn cho giao thông hạ lưu phải cạnh tranh với giao thông ở thượng nguồn, và được trì hoãn trong quá trình này.
Chúng tôi cũng chuyển các gói tin nhỏ khác vào phía trước của hàng đợi - điều này giúp hệ điều hành mà không đặt TOS bit, giống như tất cả mọi thứ từ Microsoft.
Cho phép người sử dụng để xác định lưu lượng ưu tiên thấp (mới trong 1.1!)
Đôi khi bạn có thể nhận thấy ưu tiên thấp giao thông đi chậm lại giao thông quan trọng. Trong trường hợp đó, các tùy chọn sau đây có thể giúp bạn:
NOPRIOHOSTSRC
Thiết lập này để host hoặc netmasks trong mạng của bạn mà nên có ưu tiên thấp
NOPRIOHOSTDST
Thiết lập này để host hoặc netmasks trên internet rằng cần phải có ưu tiên thấp
NOPRIOPORTSRC
Thiết lập này để cổng nguồn mà nên có ưu tiên thấp. Nếu bạn có một máy chủ web không quan trọng về giao thông của bạn, thiết lập này để 80
NOPRIOPORTDST
Thiết lập này đến các cảng đích mà nên có ưu tiên thấp.
Xem đầu wshaper và wshaper.htb
Kết quả
Nếu chúng ta làm tất cả những điều này chúng ta có được các số đo sau đây sử dụng một kết nối ADSL tuyệt vời từ xs4all ở Hà Lan:
Độ trễ cơ bản:
round-trip min / avg / max = 14,4 / 17,1 / 21,7 ms
Nếu không có điều hòa giao thông, trong khi tải về:
round-trip min / avg / max = 560,9 / 573,6 / 586,4 ms
Nếu không có điều hòa giao thông, trong khi tải lên:
round-trip min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Với điều, trong 220kbit / s tải lên:
round-trip min / avg / max = 15,7 / 51,8 / 79,9 ms
Với điều, trong 850kbit / s download:
round-trip min / avg / max = 20,4 / 46,9 / 74,0 ms
Khi tải lên, tải tiến hành ở ~ 80% tốc độ có sẵn. Upload vào khoảng 90%. Độ trễ sau đó nhảy đến 850 ms, vẫn tìm ra lý do tại sao.
Những gì bạn có thể mong đợi từ kịch bản này phụ thuộc rất nhiều vào tốc độ uplink thực tế của bạn. Khi tải ở tốc độ cao, sẽ luôn có một gói duy nhất trước tổ hợp phím của bạn. Đó là giới hạn thấp hơn để các bạn có thể đạt được độ trễ - chia MTU của bạn bằng tốc độ thượng nguồn của bạn để tính toán. Giá trị tiêu biểu sẽ được phần nào cao hơn. Hạ MTU của bạn cho hiệu quả tốt hơn!
Một bảng nhỏ:
Tốc độ uplink | Dự kiến ​​thời gian trễ do tải lên
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
Vì vậy, để tính toán độ trễ hiệu quả của bạn, hãy đo tuyến cơ sở (ping vào một liên kết dỡ), và tìm kiếm các số trong bảng, và thêm nó. Đó là khoảng tốt nhất bạn có thể mong đợi. Con số này đến từ một phép tính mà giả định rằng tổ hợp phím thượng nguồn của bạn sẽ có ít nhất một nửa kích thước gói tin đầy đủ trước của nó.
Điều này nắm tới:
   MTU * 0,5 * 10
   -------------- + Baseline_latency
       kbit
Yếu tố 10 là không hoàn toàn chính xác, nhưng làm việc tốt trong thực tế.
Kernel của bạn
Nếu bạn chạy một phân bố gần đây, tất cả mọi thứ cần được ok. Bạn cần 2.4 với các tùy chọn QoS bật.
Nếu bạn biên dịch hạt nhân riêng của bạn, nó phải có một số tùy chọn kích hoạt. Đáng chú ý nhất, trong menu tùy chọn Networking, QoS và / hoặc Fair Queueing, biến ít nhất CBQ, PRIO, SFQ, Ingress, giao thông Policing, hỗ trợ QoS, Rate Ước tính, QoS phân loại, phân loại u32, fwmark phân loại.
Trong thực tế, tôi (và hầu hết các bản phân phối) chỉ cần bật tất cả mọi thứ.
Các kịch bản
Các kịch bản có hai phiên bản, một trong đó hoạt động về hạt nhân chuẩn và được thực hiện bằng cách sử dụng CBQ. Một trong những khác sử dụng qdisc HTB tuyệt vời mà không có trong các hạt nhân mặc định. Các phiên bản CBQ được nhiều thử nghiệm hơn là một trong những HTB!
Xem 'wshaper' và 'wshaper.htb'.
Điều chỉnh
Những kịch bản cần phải biết những 'thực tế' tốc độ kết nối ISP của bạn. Đây là khó khăn để xác định ứng trước càng ISP khác nhau sử dụng các loại khác nhau của các bit nó xuất hiện. Người báo cáo thành công bằng cách sử dụng các kỹ thuật sau đây:
Ước tính cả hai phía thượng lưu và hạ lưu ở một nửa tỷ lệ quy định cụ thể ISP của bạn. Bây giờ xác minh, nếu kịch bản đang hoạt động - kiểm tra tính tương tác trong khi tải lên và trong khi tải về. Điều này sẽ cung cấp độ trễ như tính toán ở trên. Nếu không, kiểm tra xem các kịch bản thực hiện mà không có lỗi.
Bây giờ dần dần tăng số lượng thượng nguồn và hạ nguồn trong kịch bản cho đến khi độ trễ trở lại. Bằng cách này bạn có thể tìm thấy giá trị tối ưu cho kết nối của bạn. Nếu bạn đang hạnh phúc, xin vui lòng báo cáo cho tôi để tôi có thể làm cho một danh sách các số mà làm việc tốt. Xin vui lòng cho tôi biết mà ISP bạn sử dụng và tên đăng ký của bạn, và thông số kỹ thuật có uy tín của mình, vì vậy tôi có thể liệt kê ở đây và cứu những người khác những rắc rối.
Lắp đặt
Nếu bạn quay số, bạn có thể sao chép các tập lệnh để /etc/ppp/ip-up.d và nó sẽ được chạy ở mỗi kết nối.
Nếu bạn muốn loại bỏ các máy ép từ một giao diện, chạy 'wshaper stop'. Để xem thông tin trạng thái, chạy 'wshaper tình trạng'.
VẤN ĐỀ NỔI TIẾNG
Nếu bạn nhận được lỗi, thêm một -x vào dòng đầu tiên, như sau:
#! / Bin / bash -x
Và thử lại. Điều này sẽ cho bạn thấy những dòng sinh lỗi. Trước khi liên lạc với tôi, hãy chắc chắn rằng bạn đang chạy một phiên bản gần đây của iproute!
Các phiên bản gần đây có thể được tìm thấy tại nhà phân phối Linux của bạn, hoặc nếu bạn thích biên dịch, ở đây:
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

Phần mềm khác của nhà phát triển Bert Hubert

Ý kiến ​​để The Wonder Shaper

Bình luận không
Nhập bình luận
Bật hình ảnh!