Kalkulator opóźnienia i przepustowości sieci

Wprowadź przepustowość łącza, czas RTT i rozmiar transferu, aby zobaczyć rzeczywisty limit pojedynczego przepływu TCP — ze wskazaniem wąskiego gardła, czasem transferu i pełnym podstawieniem do wzorów.

Trasa

Najwolniejszy odcinek na trasie — często prędkość nominalna Twojego planu taryfowego.
Czas ping do drugiego końca — użyj największej wartości oczekiwanej pod obciążeniem.

Przesyłanie danych

Dane do przesłania — plik, kopia zapasowa, zbiór danych.

Parametry TCP

Bajty, które odbiorca może buforować. Wartość 65,535 to nieskalowane maksimum; puste pole = brak limitu okna.
Bajty danych użytecznych na pakiet — wartość 1,460 zapełnia standardową ramkę Ethernet. Puste pole = ignorowanie narzutu protokołu i utraty pakietów.
Średnie prawdopodobieństwo utraty pakietów. Puste pole lub 0 = brak limitu utraty.

Przepustowość i czas transferu

Oczekiwana przepustowość TCP

Wprowadź przepustowość łącza, czas RTT oraz rozmiar danych.

Wzory i podstawienie

przepustowość = min(szybkość × wydajność, okno ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = szybkość × RTT

    Każda wprowadzona wartość jest przetwarzana bezpośrednio w tej przeglądarce — nic nie jest nigdzie wysyłane.

    FAQ

    Dlaczego mój transfer jest wolniejszy niż przepustowość łącza, za którą płacę?

    Pojedynczy przepływ TCP napotyka trzy niezależne limity, z których najniższy decyduje o ostatecznej prędkości. Narzut protokołu ogranicza samo łącze o około 5% — standardowa ramka Ethernet przenosi 1,460 bajtów danych użytecznych z 1,538 bajtów przesyłanych fizycznie. Okno odbioru ogranicza przepustowość do wartości okno ÷ RTT, przez co klasyczne okno o rozmiarze 65,535 bajtów ogranicza transfer na trasie o opóźnieniu 50 ms do około 10.5 Mbit/s, bez względu na to, jak szybkie jest łącze. Z kolei utrata pakietów ogranicza transfer do wartości (MSS ÷ RTT) ÷ √strata. Powyższy wynik wskazuje, który z tych limitów jest kluczowy dla Twoich parametrów.

    Co to jest iloczyn przepustowości i opóźnienia (BDP) i dlaczego określa on rozmiar okna?

    BDP — czyli przepustowość łącza × czas RTT — to ilość danych przesyłanych w sieci w danym momencie. TCP może mieć najwyżej jedno niepotwierdzone okno w locie, więc okno mniejsze niż BDP pozostawia łącze częściowo niewykorzystane: przy 100 Mbit/s i RTT wynoszącym 50 ms pojemność łącza wynosi 625 kB, a okno o rozmiarze 65,535 bajtów zapełnia zaledwie jedną dziesiątą tej przestrzeni. Dlatego szybkie trasy o dużym opóźnieniu wymagają skalowania okna TCP (RFC 7323), co podnosi maksymalny możliwy do wynegocjowania rozmiar z 65,535 bajtów do około 1 GB.

    W jaki sposób utrata pakietów ogranicza przepustowość TCP?

    TCP traktuje utratę pakietów jako objaw przeciążenia sieci i zmniejsza prędkość wysyłania o połowę przy każdym takim zdarzeniu, dlatego nawet minimalna utrata pakietów ma ogromne znaczenie na szybkich trasach. Model Mathisa szacuje limit jako (MSS ÷ RTT) ÷ √p — przy utracie pakietów na poziomie 0.01% na trasie o opóźnieniu 50 ms i MSS wynoszącym 1,460 bajtów daje to około 23 Mbit/s, niezależnie od nominalnej prędkości łącza. Model ten zakłada równomiernie rozłożone, niezależne przypadki utraty pakietów; poniżej około 1% dobrze odzwierciedla rzeczywistość, natomiast przy utracie pakietów o charakterze seryjnym (pakietami) jego szacunki są zbyt optymistyczne.

    Czy megabajty na tej stronie są takie same jak w moim menedżerze plików?

    Niezupełnie. Ta strona korzysta z jednostek dziesiętnych, zgodnie z konwencją sieciową: 1 kbit = 1,000 bitów, a 1 MB = 1,000,000 bajtów. Większość menedżerów plików liczy dane w jednostkach opartych na potęgach dwójki (1024), często błędnie oznaczając je jako MB — plik o rozmiarze „100 MB” w takim programie to zazwyczaj 100 MiB ≈ 104.86 dziesiętnych MB, więc jego przesłanie zajmuje o około 5% dłużej, niż sugerowałaby wartość dziesiętna. Wpisz tutaj 104.86 MB, aby dokładnie dopasować obliczenia.

    Zrozumienie ograniczeń przepustowości TCP

    Rzeczywista wydajność pojedynczego przepływu TCP na trasie sieciowej rzadko dorównuje nominalnej prędkości zakupionego łącza. Protokół TCP opiera się na mechanizmach potwierdzeń i kontroli przeciążeń, co sprawia, że ostateczna prędkość transferu jest wypadkową trzech niezależnych czynników: fizycznej przepustowości, rozmiaru okna odbioru oraz stopy utraty pakietów.

    Kalkulator opóźnienia i przepustowości sieci pozwala precyzyjnie wskazać, który z tych elementów stanowi w danym momencie wąskie gardło połączenia. Wprowadzając parametry trasy oraz parametry TCP, można natychmiast zidentyfikować aktywny limit, określany dynamicznie jako:

    • przepustowość łącza,
    • okno odbioru,
    • utratę pakietów.

    Wszystkie obliczenia wykonywane są bezpośrednio w przeglądarce użytkownika. Każda wprowadzona wartość jest przetwarzana bezpośrednio w tej przeglądarce — nic nie jest nigdzie wysyłane.


    Parametry wejściowe i konfiguracja trasy

    Aby dokonać dokładnej analizy wydajności, narzędzie wymaga zdefiniowania parametrów fizycznych oraz protokołu. Pola wejściowe obejmują następujące elementy:

    • Przepustowość łącza: Najwolniejszy odcinek na trasie — często prędkość nominalna Twojego planu taryfowego. Wartość ta musi być większa od zera.
    • Czas RTT (Round-Trip Time): Czas ping do drugiego końca — użyj największej wartości oczekiwanej pod obciążeniem. Wartość musi być większa od zera.
    • Rozmiar danych: Dane do przesłania — plik, kopia zapasowa, zbiór danych. Wartość musi być większa od zera.
    • Okno odbioru: Bajty, które odbiorca może buforować. Wartość 65,535 to nieskalowane maksimum; puste pole oznacza brak limitu okna. Wartość nie może przekraczać 1 073 725 440 bajtów.
    • MSS (bajty): Bajty danych użytecznych na pakiet — wartość 1,460 zapełnia standardową ramkę Ethernet. Puste pole powoduje ignorowanie narzutu protokołu i utraty pakietów. Wymagana jest liczba całkowita z przedziału od 1 do 65 495.
    • Utrata pakietów (%): Średnie prawdopodobieństwo utraty pakietów. Puste pole lub 0 oznacza brak limitu utraty. Zakres dopuszczalny wynosi od 0 do 100 procent.
    • Miejsca po przecinku: Określa precyzję wyświetlania wyników liczbowych.

    Interfejs udostępnia przycisk Załaduj przykład do automatycznego wypełnienia pól danymi testowymi oraz przycisk Wyczyść do resetowania formularza.


    Metodyka obliczeń i stosowane wzory

    Narzędzie wyznacza wydajność sieci poprzez zestawienie ze sobą trzech sufitów wydajnościowych i wybranie wartości najniższej. Poniżej przedstawiono matematyczny zapis poszczególnych kroków kalkulacji:

    1. Wydajność protokołu i limit łącza

    Każdy pakiet przesyłany przez sieć Ethernet obarczony jest narzutem nagłówków. Standardowy narzut wynosi 78 bajtów na pakiet (40 bajtów na nagłówki TCP/IP oraz 38 bajtów narzutu warstwy fizycznej). Wydajność protokołu oraz limit łącza po uwzględnieniu narzutu obliczane są następująco:

    Wydajność protokołu = MSS / (MSS + 78 B)

    Limit łącza = przepustowość × wydajność

    2. Iloczyn przepustowości i opóźnienia (BDP) oraz okno odbioru

    BDP określa fizyczną pojemność „rury” sieciowej. Aby w pełni wysycić łącze, okno odbioru musi być co najmniej równe tej wartości:

    BDP = przepustowość × RTT

    Okno do zapełnienia trasy = BDP / 8

    Jeśli zdefiniowano limit okna odbioru, maksymalna przepustowość ograniczona oknem wynosi:

    Limit okna = okno / RTT

    3. Limit utraty pakietów (Model Mathisa)

    W przypadku występowania strat pakietów, przepustowość TCP drastycznie spada. Do wyznaczenia tego limitu stosowany jest model Mathisa:

    Limit utraty pakietów (Mathis) = MSS / (RTT × √(p))

    Gdzie p oznacza prawdopodobieństwo utraty pakietów wyrażone jako ułamek dziesiętny.

    4. Ostateczna przepustowość i czas transferu

    Oczekiwana przepustowość TCP to najniższa z wyliczonych powyżej wartości:

    przepustowość = min(szybkość × wydajność, okno ÷ RTT, MSS ÷ RTT ÷ √p) · BDP = szybkość × RTT

    Czas potrzebny na przesłanie danych uwzględnia czas propagacji pierwszego pakietu (1 RTT) oraz czas transmisji całej reszty ładunku:

    Czas transferu = RTT + (8 × rozmiar) / przepustowość

    Komunikaty systemowe i ostrzeżenia

    W zależności od wprowadzonych danych, kalkulator wyświetla dynamiczne powiadomienia ułatwiające diagnostykę problemów sieciowych:

    • Wymóg skalowania okna: Jeśli wymagane okno do zapełnienia trasy przekracza standardowy limit 65 535 bajtów, pojawia się komunikat: „Zapełnienie tej trasy wymaga okna o rozmiarze ‹window› — to powyżej nieskalowanego maksimum wynoszącego 65,535 bajtów, więc obie strony muszą wynegocjować skalowanie okna TCP (RFC 7323).”
    • Przekroczenie limitu RFC 7323: Gdy wymagane okno przekracza absolutny limit protokołu TCP, system informuje: „Zapełnienie tej trasy wymaga okna ‹window› — to więcej niż największe okno, jakie TCP może wynegocjować (1,073,725,440 bajtów). Pojedynczy przepływ na tej trasie nigdy nie przekroczy ‹value›.”
    • Sugestia optymalizacji okna: Jeśli okno odbioru ogranicza transfer, wyświetlane jest powiadomienie: „Zwiększenie okna odbioru do ‹window› pozwoliłoby temu transferowi osiągnąć do ‹value›.”
    • Ograniczenia modelu Mathisa: Przy wysokiej utracie pakietów pojawia się ostrzeżenie: „Utrata pakietów powyżej 1% wykracza poza zakres wiarygodności modelu Mathisa — limit utraty należy traktować jako optymistyczny szacunek.”

    Obsługa błędów walidacji

    W przypadku wprowadzenia niepoprawnych danych, kalkulator wyświetla jeden z poniższych komunikatów o błędach:

    • Błąd parsowania: „Przepustowość łącza: „abc” nie jest liczbą.”
    • Błędna przepustowość: „Przepustowość łącza musi być większa od zera.”
    • Błędny czas RTT: „Czas RTT musi być większy od zera.”
    • Błędny rozmiar danych: „Rozmiar danych musi być większy od zera.”
    • Błędne okno odbioru: „Okno odbioru musi być większe od zera.”
    • Zbyt duże okno: „Protokół TCP nie może wynegocjować okna powyżej 1,073,725,440 bajtów (skalowanie okna RFC 7323).”
    • Błędny rozmiar MSS: „MSS musi być całkowitą liczbą bajtów z przedziału od 1 do 65,495.”
    • Błędna utrata pakietów: „Wskaźnik utraty pakietów musi mieścić się w przedziale od 0 do 100 procent.”
    • Przepełnienie zakresu: „Wartość lub wynik pośredni przekracza obsługiwany zakres liczb.”

    Często zadawane pytania (FAQ)

    Co to jest iloczyn przepustowości i opóźnienia (BDP) i dlaczego określa on rozmiar okna? BDP — czyli przepustowość łącza × czas RTT — to ilość danych przesyłanych w sieci w danym momencie. TCP może mieć najwyżej jedno niepotwierdzone okno w locie, więc okno mniejsze niż BDP pozostawia łącze częściowo niewykorzystane: przy 100 Mbit/s i RTT wynoszącym 50 ms pojemność łącza wynosi 625 kB, a okno o rozmiarze 65,535 bajtów zapełnia zaledwie jedną dziesiątą tej przestrzeni. Dlatego szybkie trasy o dużym opóźnieniu wymagają skalowania okna TCP (RFC 7323), co podnosi maksymalny możliwy do wynegocjowania rozmiar z 65,535 bajtów do około 1 GB.

    Dlaczego mój transfer jest wolniejszy niż przepustowość łącza, za którą płacę? Pojedynczy przepływ TCP napotyka trzy niezależne limity, z których najniższy decyduje o ostatecznej prędkości. Narzut protokołu ogranicza samo łącze o około 5% — standardowa ramka Ethernet przenosi 1,460 bajtów danych użytecznych z 1,538 bajtów przesyłanych fizycznie. Okno odbioru ogranicza przepustowość do wartości okno ÷ RTT, przez co klasyczne okno o rozmiarze 65,535 bajtów ogranicza transfer na trasie o opóźnieniu 50 ms do około 10.5 Mbit/s, bez względu na to, jak szybkie jest łącze. Z kolei utrata pakietów ogranicza transfer do wartości (MSS ÷ RTT) ÷ √strata. Powyższy wynik wskazuje, który z tych limitów jest kluczowy dla Twoich parametrów.

    W jaki sposób utrata pakietów ogranicza przepustowość TCP? TCP traktuje utratę pakietów jako objaw przeciążenia sieci i zmniejsza prędkość wysyłania o połowę przy każdym takim zdarzeniu, dlatego nawet minimalna utrata pakietów ma ogromne znaczenie na szybkich trasach. Model Mathisa szacuje limit jako (MSS ÷ RTT) ÷ √p — przy utracie pakietów na poziomie 0.01% na trasie o opóźnieniu 50 ms i MSS wynoszącym 1,460 bajtów daje to około 23 Mbit/s, niezależnie od nominalnej prędkości łącza. Model ten zakłada równomiernie rozłożone, niezależne przypadki utraty pakietów; poniżej około 1% dobrze odzwierciedla rzeczywistość, natomiast przy utracie pakietów o charakterze seryjnym (pakietami) jego szacunki są zbyt optymistyczne.

    Czy megabajty na tej stronie są takie same jak w moim menedżerze plików? Niezupełnie. Ta strona korzysta z jednostek dziesiętnych, zgodnie z konwencją sieciową: 1 kbit = 1,000 bitów, a 1 MB = 1,000,000 bajtów. Większość menedżerów plików liczy dane w jednostkach opartych na potęgach dwójki (1024), często błędnie oznaczając je jako MB — plik o rozmiarze „100 MB” w takim programie to zazwyczaj 100 MiB ≈ 104.86 dziesiętnych MB, więc jego przesłanie zajmuje o około 5% dłużej, niż sugerowałaby wartość dziesiętna. Wpisz tutaj 104.86 MB, aby dokładnie dopasować obliczenia.