Jeśli Twój dostawca usług internetowych lub zapora blokuje wszystkie połączenia przychodzące, w jaki sposób serwery sieciowe mogą nadal wysyłać dane do przeglądarki? Wysyłasz żądanie (wychodzące), a serwer wysyła dane (przychodzące). Jeśli zablokujesz wszystkie przychodzące, jak serwer WWW może zareagować?
Co z transmisją strumieniową wideo i grami wieloosobowymi, w których wykorzystuje UDP? UDP jest bezpołączeniowy, więc nie ma potrzeby ustanowienia połączenia, więc jak zapora sieciowa lub dostawca usług internetowych to obsłuży?
Odpowiedzi:
„Blokada przychodząca” oznacza, że nowe połączenia przychodzące są blokowane, ale ustalony ruch jest dozwolony. Jeśli więc dozwolone są nowe połączenia wychodzące , przychodząca połowa tej rozmowy jest w porządku.
Zapora zarządza tym poprzez śledzenie stanu połączeń (taka zapora jest często nazywana „zaporą stanową”). Widzi wychodzące TCP SYN i pozwala na to. Widzi przychodzące SYN / ACK i może sprawdzić, czy pasuje do wychodzącej SYN, którą widział, przepuszcza je i tak dalej. Jeśli pozwala na potrójny uścisk dłoni (np. Jest dozwolony zgodnie z regułami zapory), zezwoli na tę rozmowę. A kiedy zobaczy koniec tej rozmowy (FIN lub RST), usunie to połączenie z listy pakietów, aby zezwolić.
UDP odbywa się podobnie, chociaż wymaga zapory ogniowej zapamiętywającej wystarczająco dużo, aby udawać, że UDP ma połączenie lub sesję (czego nie ma UDP).
źródło
@gowenfawr ma obniżony obraz wysokiego poziomu. Pomyślałem jednak, że dodam kilka szczegółów na temat tego, w jaki sposób wykonuje się „dopasowanie” do śledzenia połączenia, ponieważ dla niewtajemniczonych może to brzmieć magicznie.
Każde połączenie TCP ma numer portu z każdej strony. Jak wie większość techników, serwery HTTP działają na porcie 80. Gdy przeglądarka połączy się z serwerem internetowym, poprosi system operacyjny o wygenerowanie „lokalnego” numeru portu, który będzie czymś losowym, takim jak 29672, który nie jest używany przez żaden inny Połączenie TCP z tego komputera (i system operacyjny może to zrobić, ponieważ wie o wszystkich aktywnych połączeniach TCP). Następnie początkowy pakiet instalacyjny TCP zostanie wysłany z adresu IP komputera (IP_YOURS) i numeru portu 29672 na adres IP serwera WWW (IP_WEBSERVER) i numer portu 80. W tym momencie zapora stanowa powie „aha, przyszłe pakiety z portu IP_WEBSERVER 80 idących do portu 29672 IP_YOURS nie są nowymi połączeniami, są odpowiedziami na istniejące połączenie i należy im zezwolić ". Zapory stanowe utrzymują stół,
źródło