Wpis z mikrobloga

Jak wygląda zarządzanie pakietami UDP przez dostawców internetu? Pytam, bo w praktycznie każdej grze online, a szczególnie w grach FPS czuję, że połowa informacji w ogóle nie dociera albo dociera z bardzo dużym opóźnieniem do serwera. Z tego co mi wiadomo, to ping bazuje na pakietach TCP i pomimo niskich wartości i braku lossów, wszystko rozchodzi się o UDP, których nie można prześledzić i tym samym nie wiadomo, jakie opóźnienia kryją się za przesyłem tychże pakietów. Jest jakiś sposób, w który mogę sprawdzić przesył pakietów UDP pod kątem opóźnień?

#internet #siecikomputerowe #informatyka
  • 31
  • Odpowiedz
@d1sconn3cted: Mogę zobrazować to czymś takim, mam identycznie w każdej grze, a nawet gorzej. Jak widać na nagraniu jest niski ping i zero lossów, a 17 w dwóch strzałach to jakieś nieporozumienie.
karski - @d1sconn3cted: Mogę zobrazować to czymś takim, mam identycznie w każdej grze...
  • Odpowiedz
@karski: a to nie wiem
Slyszlaem o tym problemie w Orange.
Ponoc niektorzy obchodza t otak, ze instalowali sobie klienta VPN nord czy inne gowno i robili exit point w niemczech (z reguly tam jest wiekszosc gier).
U ISP z reguly ruch VPN ma wiekszy priorytet, wiec jest priorytezowany. Ale nie dam gwaranccji, ze to pomoze.

Oczywisice wyklyczam Twoje problemy z wifi.
  • Odpowiedz
  • 0
@karski akurat chyba słabą sytuację przedstawiłeś, bo tutaj nic nie trafiasz (albo ślepy jestem). Ping masz ok 40 (to nie jest mało w fpsach) 0 loss i 0 choke.
Wejdź sobie na serwer z ticrate 128 i zobacz czy tak samo Ci się strzela
  • Odpowiedz
@Kazadum: VPN nic nie pomaga, sprawdzałem
@emitar: to nie moje nagranie, ale to jest moje https://streamable.com/qnmsj2 i to też https://streamable.com/umrdv8

na 128 ticku na faceicie jest jeszcze gorzej, co może wydawać się dziwne. Przestałem przez to grać faceity, bo praktycznie nie mogę wygrać duelów. To wygląda trochę tak, że wiem gdzie jest przeciwnik, chce go zaskoczyć, ale pierwsze 2-3 strzały w ogóle nie docierają, a ginę od 3
  • Odpowiedz
  • 0
@karski kupę czasu w to nie gram, ale pewnie takie rzeczy jak ustawienie sieciowe w konfigu masz prawidłowe? Zobacz na internecie mobilnym (tylko sprawdzić czy kule docierają) czy jest tak samo
  • Odpowiedz
@emitar: Niestety na karcie sim od pomarańczowych nie mogę rzetelnie tego sprawdzić, bo mam wysoki ping i pojawiają się lossy. Po dłuższym riserczu padło na pakiety UDP i to, jak dostawca nimi zarządza. Prawdopodobnie można je jakoś prześledzić analizując to, co dociera po drugiej stronie mając swój serwer do testów.
  • Odpowiedz
@Kazadum: @karski:

Litości. Tradycyjny PING to tak jak kolega @d1sconn3cted napisał to jest ICMP. Przy czym w grach takich jak CS nie używa się ruchu ICMP a gra pokazuje rzeczywiste opóźnienia w datagramach UDP. Więc to co pokazuje gra jest bardzo miarodajne. Jeśli masz lossy w protokole UDP to bardzo prawdopodobne że po prostu ISP dropuje ramki UDP stąd jest problem. VPNy niestety nic nie pomogą bo
  • Odpowiedz
@brokenik:
Gra pokazuje opóźnienie pakietów w obie strony (pod net-graph) i od klienta do serwera (pod tabem w tabeli). Zaciekawiłeś mnie tą informacją, że jest to określane po UDP. Mógłbyś to bardziej rozwinąć? Co do dropów to jest taka komenda w grze: net-showudp. Nie mogłem znaleźć informacji, co oznacza "rel", ale ktoś na reddicie ma teorię, że jest to reliability. Jak widać, tych jedynek jest bardzo mało. Może ty będziesz
karski - @brokenik: 
Gra pokazuje opóźnienie pakietów w obie strony (pod net-graph) ...

źródło: comment_16400408338X8lqvTttiRNyrPKvaNyD3.jpg

Pobierz
  • Odpowiedz
@karski: Opóźnienia mogą być wyliczane na podstawie tak naprawdę realnej odpowiedzi pomiędzy serwerem gry a graczem. Protokół czy to będzie UDP/ICMP czy TCP nie ma tutaj NIC do rzeczy. Jak testujesz sobie łącze jakimś przeglądarkowym testem np. speedtest.pl - to przecież te opóźnienia które Ci się tam wyświetlają są w ogóle wartościami branymi z protokołu HTTP/HTTPS - bo przecież przeglądarka nie ma sposobności wysyłać danych ICMP.

Tutaj sprawa jest prosta - gry sieciowe zwykle bazują na prostym mechaniźmie - gracz generuje strumień komend a serwer po prostu potwierdza czy je zaakceptował. Na tej podstawie można określić opóźnienie pomiędzy komputerem gracza a serwerem. W szybkich grach akcji najważniejsze jest to, żeby dane miały nie tylko niskie opóźnienia oraz nie ulegały one stratom (loss) - ale również nie przychodziły do serwera w nieuporządkowanym stanie - tzw. out-of-order - co w przypadku gier on-line często dla serwera stanowi duże obciążenie (bo musi składać wszystko do kupy i buforować - więc zwykle te dane ignoruje i traktuje jako loss). Wszystko zależy od implementacji stosu sieciowego. Od bodajże Q3Arena wprowadzono mechanizmy predykcji w przypadku strat co pozwalało w czasach modemów 56k na płynne rozgrywki nawet przy stratach ramek UDP wynoszących 10%.

Z tego co mi się wydaje
  • Odpowiedz
@brokenik: Dzięki za fachowe wyjaśnienie. Zainteresowały mnie korekty, bo faktycznie odnoszę wrażenie, że nie jestem zsynchronizowany i to jest coś z czym walczę już 3 lata. Nie potrafię znaleźć odpowiedzi, przez co jest to spowodowane. Te korekty, jeżeli są podane w ms, to wyglądają na całkiem duże wartości.
  • Odpowiedz
@karski: nie wiem czy to są wartości w ms - raczej w ns. nie mam zbyt wielkiego doświadczenia z protokołami gier sieciowych - tutaj by się musiał wypowiedzieć jakiś #programista15k xD Za moich czasów jak się grało w CSa 1.6 to pingi poniżej 80ms były świetne ;)
  • Odpowiedz
@karski: Nie. Jak masz router który jest przeciążony na skutek ilości przetwarzanego ruchu to zaczyna gubić pomijać ramki. Więc komunikacja np. UDP zaczyna się sypać.
  • Odpowiedz
@brokenik: Ok, dzięki tobie widzę światło w tunelu. Routery są ewidentnie przeciążone, gdyż router T-Mobile w Warszawie nie wyrabia z ruchem, szczególnie w weekendy. Pomimo tego, że pakiety idą po szkielecie Valve, to i tak Warszawa wysyła w świat to, co pozostało, czyli właściwie niewiele informacji. Może to dziwny przykład, ale strzelanie z broni szybkostrzelnych jest jako tako możliwe, chociaż bardzo daleko do doskonałości w kwestii hitregu, to broń typu
  • Odpowiedz