Jakich narzędzi mogę użyć do symulacji sieci WAN dla ruchu HTTP?

13

Czasami muszę symulować środowisko WAN między moim klientem a serwerem. Mam na myśli w szczególności od najważniejszych do najmniej:

  • Całkowity limit przepustowości,
  • Sporadycznie długie (kilkadziesiąt sekund) opóźnienia
  • drganie

Najlepiej, jeśli symulator WAN może działać jako serwer proxy - kieruję mojego klienta na symulator WAN, a symulator WAN rozmawia z serwerem. Spędziłem dużo czasu w Google, próbując znaleźć coś, co by to zrobiło, i znalazłem bardzo mało.

Oczywiście wiem, że istnieją różne rozwiązania, które mogę wdrożyć, kontrolując topologię sieci i wstawiając urządzenia na środku, ale IT kontroluje sieć. Jestem tylko programistą.

Jakie znasz bezpłatne lub tanie narzędzia, które mogą pomóc w symulacji sieci WAN?

Eddie
źródło
Z jakiego środowiska korzystasz? Są różne rzeczy, które możesz zrobić ze stosem sieciowym, jeśli używasz Linuksa ...
Hamish Downer

Odpowiedzi:

6

http://communities.vmware.com/blogs/Knorrhane/2008/01/23/how-to-simulate-wan-connections-in-your-own-test-lab-for-free

saschabeaumont
źródło
W artykule wspomniano, że Tmurgent wprowadza również opóźnienie testowania. To jest klucz. W naszej wewnętrznej aplikacji stwierdziliśmy, że przepustowość nie była głównym problemem, ale opóźnieniem. Musimy bardzo ostrożnie budować nasze obiekty na kliencie, ponieważ wszystkie wywołania SQL mogą z opóźnieniem sumować się do rzeczywistych kosztów w środowisku WAN.
Aaron
7

Jeśli używasz Linuksa, możesz użyć tc - programu do kontroli ruchu. Powinien być standardem w twojej dystrybucji. Na przykład, aby ustawić maksymalną prędkość wysyłania (w tym przypadku 100 kbit na sekundę):

$ sudo tc qdisc add dev eth1 root tbf rate 100kbit latency 600ms burst 1540   

aby ustawić maksymalną prędkość pobierania (w tym przypadku 500 kbit na sekundę):

$ sudo tc qdisc add dev eth0 root tbf rate 500kbit latency 600ms burst 1540

tc może zrobić znacznie więcej. Nie mogę teraz znaleźć referencji, ale możesz upuścić pakiety itp. Za pomocą tc. Aby dowiedzieć się więcej, przeczytaj instrukcje kontroli ruchu .

Alternatywnie możesz zajrzeć do tcng - Kontrola ruchu nowej generacji - używa tc na niskim poziomie, ale ma nieco ładniejszy język do określania tego, co robisz. Nie używałem go, ale jest howto tcng i instrukcja tcng .

Hamish Downer
źródło
3

Jest firma o nazwie Shunra, która specjalizuje się w tych rzeczach. Nie mam z nimi żadnego doświadczenia, ale są już od jakiegoś czasu.

Joel Spolsky
źródło
2

DummyNet to darmowe oprogramowanie, którego można użyć do symulacji różnych warunków sieciowych. Jeśli masz komputer zapasowy, zainstaluj FreeBSD i DummyNet i umieść go pomiędzy klientem a serwerem. Następnie możesz dostosować DummyNet, aby zmienić opóźnienie, fluktuacje i straty.

EDYCJA: wystarczy ponownie przeczytać pytanie i zdać sobie sprawę, że nie jesteś właścicielem swojej sieci. W takim przypadku skonfiguruj DummyNet na komputerze, który ma dwie karty sieciowe, i zmień go w router, który ma korporacyjną sieć WAN z jednej strony, a stację roboczą z drugiej. Po prostu porozmawiaj najpierw z działem IT, aby upewnić się, że nie mają z tym problemu!

Murali Suriar
źródło
1

Założę się, że możesz zbudować wtyczkę Fiddler, aby symulować coś takiego, ale nie znam rozwiązania od razu po wyjęciu z pudełka.

jj33
źródło