On Thu, 3 Jan 2008 22:18:48 +0100, Dariusz Kowalczyk wrote
nie wdajać sie w rozważanie na modelem osi/iso warstwa druga to w naszym przypadku pakiety ethernet, urządzenia pracujace w tej warstwie (np switche) nie obchodzą portokoły warstw wyższych. Dlatego analizowanie pakietów ethernet nie potrzebuje wydajnych procków z duzymi pamieciami cache, wielopotokowymi itd z rozbudowanymi algorytmiami predykcji (przewidywania instrukcji) jakie sa bardzo porządane w desktopach czy serwerach, a mimo to zapewnia bardzo precyzyjne z dokładnościa do ramek ethernet sterowanie i regulacje pakietów wnosząc minimalnie(nieporównanie bardziej niż wnoszone przez regulator w warstwie trzeciej) stosunkowo łatwe do okreslenia opóznienia pakietów.
Wszędzie powinieneś używać słowa ramka, ramki, ramek, etc.
Stąd nie należy się dziwic ze tak "słaby" sprzęt i 128Mb ramu wystarczy EWX-owi regulowac pasmo dla paru tysiecy klientów wnosząc opóznienia żedu 0.1ms itd itp. Ja sie spodziewałem znaleźć tam słabsze procki np Intela Xscale bo tez dałyby sobie radę z regulacją w warstwie 2, albo dedykowane procki Texas Instrument (niestety za drogie :-) bo trzeba zrobic własnego boarda, jeśli nie tłucze sie w setkach tysiecy egzemplarzy) Standardowo linux reguluje pasmo w warstwie trzeciej (analizuje adresy ip urzadzenia) i potrzebuje nieporównanie potężniejszych procków oraz znacznie wiekszej ilości pamieci ram żeby zrobić "to samo" mowa tu o regulacji predkości i gwarantowania przepływi danych dla np 1000 czy 5000 urządzeń, trudno przez to uzyskac tak małe opóznienia pakietów oraz zagwarantowanie ich czasu pojawiania się. Czyli zagwarantowanie prezycyjnego sterowania i trzymanie sie założónych parametrów, jest to bardzo trudne bo procek musi analizowac znacznie większe porcje danych.
To jest słaby sprzęt? ;-) Zobacz jakie CPU siedzą np. w juniperach. Prawdziwie sprzętowe rozwiązania mają wspomaganie realizowane przez układy ASIC.
Regulacja prędkości w warstwie trzeciej nie jest tez przezroczysta dla sieci i nie da sie jej ot tak wprowadzić w dowolnym czasie trzeba ją zaplanować. Dlatego z reguły stawia sie router na linuxie ktory jednoczesnie zajmuje sie regulacja prędkości i robi sie to na etapie projektowanie sieci. Regulator prędkości w warstwie drugiej można wstawić ot tak kiedy sie chce bez zmieniania konfguracji ip i nikt nie zauważy że itnieje (zostanie potraktowany jak switch), można mu nawet wyłaczyc ip i zarządzać przez port rs232 przez to niemożliwe bedzie skomunikowanie sie z urządzeniem po ip i nie zaburzy to jego funkcjonowania.
Można dokładnie to co piszesz zrobić na jądrze linuksowym. Sądzisz, że Etherwerx cały soft od zera napisał? Co mi z opóźnienia 0,1ms? 1ms nie jest odczuwalna, a znacznie niższą od 1ms uzyskuje się na porządnie sprofilowanym jądrze linuksowym. Spójrz jeszcze na to jakie oni obsługują maksymalne przepływności.
Dariusz Kowalczyk
Pozdrawiam, Tomek.
_______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms