Vista pomoże użytkownikom Linuksa
Nadchodzący Windows Vista pomoże nie tylko użytkownikom Linuksa, ale również pozostałych systemów operacyjnych z nowoczesnym stosem sieciowym. W tej chwili zbyt często musimy równać do poziomu ,,gorszych'' z powodu ignorancji różnych adminów sieciowych.
Najpierw był ECN. Jego twórcy użyli zarezerwowanych bitów w nagłówku IP. Zarezerwowanych wcześniej na wszelki wypadek, czyli np. na wypadek wprowadzenia Explicit Congestion Notification. Po włączeniu ECN nagle okazało się, że część hostów w sieci jest niedostępna. Ponieważ znajdują się za popsutymi firewallami, które odrzucają wszystkie pakiety z ustawionymi zarezerwowanymi bitami. Użytkownik Linuksa mógł ze swej strony mógł tylko poinformować admina i czekać, aż ten poprawi ustawienia firewalla lub zaktualizuje mu firmware. A w międzyczasie, żeby dostać się do usługi, musiał wyłączyć ECN u siebie, czyli zrezygnować z jego zalet.
A Path MTU Discovery? Linux wysyła pakiety z ustawioną flagą Don't Fragment. Gdy jakiś router po drodze nie może tak dużego pakietu przepchnąć przez łącze, a flaga zabrania mu podzielenia go na mniejsze, odsyła do nadawcy komunikat ICMP Fragmentation Needed. Linux po odebraniu go zaczyna wysyłać mniejsze pakiety, optymalizując wykorzystanie łącza. I wszystko działa ładnie dopóki po drodze nie znajdzie się jakiś pseudoadmin wycinający wszystkie pakiety ICMP. A są tacy! Informacja zwrotna nie dochodzi, pakiety wydają się ginąć bez wieści, komunikacja zostaje zerwana.
Dzisiaj problem jest Window Scaling. Maksymalna wartość okna wysyłania z wyprzedzeniem w ,,starym'' TCP/IP to 64KiB. Dużo za mało jak na dzisiejsze łącza. W ,,nowym'' TCP/IP (czyli implementującym RFC1323 z 1992 roku) na początku połączenia TCP hosty mogą wynegocjować o ile bitów ma być przesuwana wartość z nagłówka IP, co pozwala nawet na wielomegabajtowe okna nadawcze (idealne do szybkich łączy z dużymi opóźnieniami). I znowu problem stanowią firewalle. OpenBSD miało tego buga (pewnie nadal ma). Zdarza się, że firewall odrzuca pakiety z podejrzanie mu wyglądającą wartością okna nadawczego. W przypadku OpenBSD dzieje się tak, gdy filtr pakietów działa bezstanowo, analizując każdy pakiet TCP/IP niezależnie. I nie potrafi przez to policzyć poprawnej wielkości okna nadawczego, bo informacja o jego skalowaniu przesyłana jest tylko na początku połączenia.
Ale co z tą Vistą? Otóż Windows Vista był w produkcji tyle lat, że koderzy zdążyli w nim unowocześnić stos sieciowy. Dotąd dostawca usługi z zepsutym firewallem mógł się wypiąć na pojedyńczych Linuksiarzy. Użytkownicy Visty mając takie same problemy z połączeniem z usługą mogą przejść do konkurencji. A jeśli kolejny Windows się rozpowszechni, to mogą oni stanowić znaczącą część użytkowników, których nie należy ignorować.
Vista zresztą już się przydaje. Zaimplementowany w niej algorytm sterowania przepływem Compound TCP, stanowiący złożenie pomysłów z Reno i Vegas, dołączył niedawno do grona innych dostępnych w Linuksie. Został zakodowany na podstawie publikacji inżynierów z Microsoftu.
Archived comments:
Michał Górny 2006-06-17 23:18:09
Ech... jakbym czytał moje narzekania. Szkoda tylko, że jest w Polsce taka durna firma, która rozprowadza takie durne urządzenie o równie durnej nazwie „Livebox”, które skutecznie uniemożliwia użycie ECN. Więc w sumie Vista narobi tej firmie nieco problemów...
arag0rn 2006-06-17 23:50:55
> wszystko działa ładnie dopóki po drodze nie znajdzie się
> jakiś pseudoadmin wycinający wszystkie pakiety ICMP
To mnie zawsze dobijało, a podwójnie jeżeli towarzyszyło temu tłumaczenie że jak on sobie wytnie pinga to jest niewidoczny.
pupu 2006-11-18 19:32:51
:)