logo
PolskiPL Flag EnglishUK Flag Strona NiceShapera
NiceShaper jest programem działającym w środowisku routera z systemem operacyjnym Linux. Wykorzystuje sprawdzony algorytm podziału łącza HTB. Umożliwia efektywniejsze dzielenie pasma, niż to, utworzone poprzez przydzielenie użytkownikom sieci stałych przepustowości. Dodatkowo upraszcza to, co w kształtowaniu ruchu sieciowego w Linuksie skomplikowane, a także wprowadza wiele dodatkowych funkcjonalności.

NiceShaper stale monitorując ilości danych przepływających przez router, w odpowiedzi na zmieniające się obciążenie i charakterystykę ruchu generowanego przez użytkowników, dynamicznie dostosowuje przepustowość działających klas, do poziomu umożliwiającego możliwie najpełniejsze wykorzystanie łącza. Jednocześnie nie dopuszczając do powstawania przeciążeń, gwarantuje wygodę użytkowania usług interaktywnych.

Poza ochroną pasm wszystkich użytkowników, rozsądnie korzystających z przepustowości łącza, oferuje:
  • Quotę na ilość pobranych/wysłanych danych oraz automatyczną zmianę wybranych parametrów klas o wskazanych porach dnia.
  • Funkcjonalność makr, umożliwiającą automatyczne generowanie (w oparciu o proste pętle), większej liczby podobnych do siebie klas.
  • Zautomatyzowaną obsługę interfejsów IMQ oraz mechanizmu markowania pakietów, używanych w celu zapewnienia obsługi wielu łącz oraz kontroli pasm wychodzących, hostów używających prywatnej adresacji IP, maskowanych za pomocą Source NAT.
  • Wygodny, również zdalny, monitoring pracy. A także automatyczny, zgodny z ustanowionym interwałem, zapis do wskazanego pliku aktualnych przydziałów klas - chociażby w celu udostępnienia przez serwis www.
Ważnym celem projektu jest przejrzystość i intuicyjność konfiguracji a informowanie o błędach oraz napotkanych w trakcie działania problemach możliwie jak najdokładniejsze, by opanowanie NiceShapera było łatwe i szybkie.
Wykres MRTG
Oto wykres MRTG prezentujący efekt działania NiceShapera w sieci, w której użytkownicy bardzo intensywnie wykorzystują oprogramowanie P2P, wymagające udostępniania zasobów. Jest to zabójcze dla łącz asymetrycznych charakteryzujących się małym pasmem wychodzącym jak InternetDSL z TPSA. Na zielono download, upload - niebieska linia, obydwa kierunki przepływu danych praktycznie zawsze w pełni obciążone, jednocześnie każdy użytkownik ma zagwarantowane wygodne surfowanie, pracę lub grę online. Konfiguracja statyczna praktycznie wyklucza tak skuteczne wysycenie pasma w obydwu kierunkach, wymuszając kompromis pomiędzy udostępnianą szerokością pasma wychodzącego a przychodzącego tak by nadmiernie wysycony upload nie zablokował downloadu.

[04.07.2013]

W odróżnieniu od wersji 0.6 która nigdy nie uzyskała oficjalnie statusu stabilnej, linia 1.0 doczekała się tylko jednego Release Candidate a na dodatek lista poprawek jest niezwykle skromna.

Zatem - zapraszam do pobierania!

[04.05.2013]

W udostępnionej dwa dni temu wersji 1.0pre4, pojawił się błąd uniemożliwiający uruchomienie w systemach z architekturą AMD64. Z racji tego że powód błędu był banalny a nową wersję zdążono pobrać tylko kilkanaście razy. Zdecydowałem na przepakowanie pakietu bez zmiany wersji. Zapraszam do ponownego pobierania.

[23.03.2013]

W niedawno udostępnionej wersji 1.0pre3, wykryto problem uniemożliwiający w pewnych konfiguracjach poprawną inicjalizację tabel iptables. Błąd został już namierzony i usunięty a poprawka znajdzie się w kolejnej wersji NiceShapera. Nie ma powodu do instalacji poprzedniej wersji, by tymczasowo obejść problem wystarczy użyć dyrektywy fallback iptables.

Druga informacja - umieściłem dziś uaktualnioną wersję tutoriala.

[09.02.2013]

Zapraszam do testowania kolejnej wersji pre release linii 1.0.

Wersja ta - oznaczona jako 1.0pre2 - wprowadza nową ciekawą funkcjonalność w postaci wyzwalaczy. Pozwalających na wprowadzenie quoty dla klas oraz alternatywnych wartości konfiguracyjnych o określonych porach doby.

Pojawiają się również poprawki kilku problemów. Pełna lista zmian jak zwykle, znajduje się w changelogu. Pakiet źródlowy do pobrania w dziale "Pobierz", w którym również postaram się umieścić pakiety .deb dla Squeeze oraz .rpm dla Centos 5 i 6.

[01.06.2012]

Witam Was. Cóż rzec:)

Z dniem wczorajszym udostępniłem pierwszą wersje PreRelease NiceShapera 1.0.

Skąd taki przeskok wersji? Zmiany nie każdy z Was oceni jako rewolucyjne ale w ustabilizowanym projekcie nie ma miejsca na ciągłe rewolucyjne przemeblowania koncepcji. Powiem wprost. Filozofia wielu projektów OpenSource, polegająca na wiecznym nieosiąganiu wersji 1.0, zaczyna mnie trochę drażnić a przynajmniej jej nie rozumiem. Ale spokojnie, nie zamierzam iść drogą Mozilla Foundation, takich skrajności tym bardziej nie lubię;)

To co najważniejsze w nowym NS to wyeliminowanie uruchamiania komendy systemowej tc. NiceShaper rozmawia bezpośrednio z kernelem więc dodawanie/usuwanie/modyfikowanie klas i filtrów HTB jest teraz piekielnie szybkie i tym większy zysk z tej zmiany im więcej operacji wykonywanych w jednym cyklu. Wreszcie usunięte zostało to ciążące od początku istnienia projektu wąskie gardło wydajności.