Jak kierować ruch przez wiele serwerów w celu szybszego połączenia [zamknięte]

0

„Szybkość” Internetu zależy nie tylko od tego, co daje ci usługodawca internetowy, ale od tego, które serwery dają, a ten drugi jest niezależny od usługodawcy internetowego, więc bez względu na to, ile płacisz za Internet, niektóre witryny (większość) nie poprawią całości los. Jedynym momentem, w którym naprawdę widzę potencjał połączenia, jest pobieranie (całkowicie legalnego) torrenta z dużymi plikami i dużymi ilościami seederów, jak na przykład kopia Ubuntu, serwery mają większą przepustowość niż to, co ci dają, po prostu zapisz go dla innych użytkowników.

Chcę wiedzieć, jak korzystać z wielu serwerów proxy, aby uzyskać dostęp do serwera z różnych punktów w tym samym czasie, a tym samym uzyskać większą ogólną szybkość, a następnie podzielić dane i przesłać je z powrotem do głównego połączenia (prawdopodobnie nie jestem wyjaśniając to zbyt dobrze, ale ktoś może zrozumieć, co mam na myśli). Najlepiej, gdyby działał ze wszystkimi protokołami, nie tylko przeglądaniem stron internetowych, ale także aplikacjami innych firm i grami itp.…

Luis Gonzalez
źródło
Prosimy nie równocześnie wykładać nam, w jaki sposób (twierdzicie) działa sieć i prosić o pomoc. (Podczas gdy niektóre z Twoich wypowiedzi są poprawne, inne są fałszywe)
davidgo
1
To sprawia, że ​​założenia, dlaczego strony internetowe są powolne i jak można je „naprawić”, sugerują, że „… serwery mają większą przepustowość niż to, co ci dają, po prostu zapisują ją dla innych użytkowników.” Jakby to była jakaś gra. Prosta odpowiedź? 100% niczego, o czym mówisz, nie istnieje na łatwym poziomie dla użytkowników końcowych. Sposób, w jaki niektóre witryny zwiększają szybkość, wykorzystuje CDN (sieci dostarczania treści) do zrobienia czegoś, co opisujesz. Ale nie wszystkie serwery internetowe są tak skonfigurowane. Czasami powolność nie ma nic wspólnego z przepustowością 10%, ale sam serwer może obsługiwać zawartość.
JakeGould

Odpowiedzi:

2

Nie możesz - sieć nie działa tak, jak chcesz - w szczególności

  • Ani UDP, ani TCP nie oferują wbudowanych mechanizmów podziału ruch, czyniąc ogólne rozwiązanie nierealistycznym
  • Dostawcy usług internetowych zwykle używają filtrów wejściowych i wyjściowych, aby zapobiec routingowi Adresy IP nie pozyskiwane / kierowane przez ich sieć - aby zapobiec pewne rodzaje ataków. (czyniąc ogólne rozwiązanie nierealistycznym)
  • Szybkość połączenia jest kontrolowana przez wiele innych czynników następnie szybkość połączenia - w tym opóźnienie połączenia i ilość utraconych pakietów.
  • Większość serwerów będzie próbować udostępniać ładunki uczciwie, ale nie pozostawi przepustowości siedząc bezczynnie - będą jednak traktować priorytetowo przepustowość.
  • Serwer proxy definiuje źródłowy i docelowy adres IP - wiele serwerów proxy będzie mają różne adresy źródłowe, aby cel obsługiwał je jako różne sesje (poprawnie)
davidgo
źródło
1

To nie jest realne podejście z perspektywy klienta. Nie wierzę, że istnieją technologie wspierające opisywaną technikę.

Po pierwsze, w przypadku pobierania, pobieranie HTTP / FTP jest pojedynczym binarnym strumieniem odpowiedzi, więc pobierane dane są wynikiem pojedynczego żądania. Jeśli serwer obsługuje ZAWARTOŚĆ CZĘŚCIOWĄ (206), możesz zorganizować system, w którym ustanowisz kilka pobrań z obliczonym przesunięciem i długością, aby zrobić to za pomocą wielu połączeń, ale nie będzie działać dla każdego serwera. Tak czy inaczej, mechanizm musiałby wiedzieć, że manipuluje połączeniem HTTP, więc działałby tylko dla danych HTTP.

Po drugie, większość współczesnych stron internetowych to już nie tylko statyczne dokumenty i są programowo skonstruowane po stronie serwera, więc często polegają na koncepcji sesji. Sesje są zazwyczaj ograniczone do połączenia użytkownika, więc jeśli łączysz się z dwóch różnych lokalizacji, są to dwie różne sesje. Próba skomponowania i renderowania strony z Gets pochodzącej z różnych sesji będzie prawie niemożliwa, ponieważ każda sesja ma własne pliki cookie, skrypty itp., A ponadto istnieją bariery bezpieczeństwa mające na celu powstrzymanie atakujących od robienia tego, co myślę o.

Ostatecznie takie narzędzie mogłoby istnieć, ale musiałoby mieć wiele inteligencji protokołów (aby mogło przepisać dane specyficzne dla protokołu, aby korzystać z różnych połączeń za pośrednictwem różnych ścieżek), a jego zdolność do blokowania izolowanych GET byłaby ograniczona inne połączenia z powodu ograniczeń narzuconych przez protokoły i operacje po stronie serwera.

Frank Thomas
źródło