Połączenia TCP / Sesja i porty

0

Mam kilka podstawowych pytań dotyczących portów i sesji. Ponieważ wszystkie są powiązane i proste pytania, zadałem je razem:

  1. Rozumiem, że do utworzenia połączenia potrzebujemy gniazda (ip + port) na kliencie i serwerze. Więc jeśli ustanowione zostanie jedno połączenie, te porty nie będą wykorzystywane do innych połączeń, prawda? Ale HTTP (80) lub SSH (22) pozwala wielu klientom na dostęp do tego portu. W jaki sposób?

  2. Przeczytałem, że istnieje ograniczenie liczby portów (~ 65536) dostępnych w maszynie. Co więc powinien zrobić serwer, jeśli potrzebujemy więcej niż to (na przykład Facebook lub Gmail, którzy mają wielu klientów)?

  3. Mogę przeczytać, jak się dzieje uścisk dłoni przed utworzeniem sesji TCP, ale nie jestem pewien, jak zachowuje połączenia. Na przykład, jeśli odłączę kabel Ethernet, skąd mój serwer wie, że klient utracił to połączenie? Czy jakiś mechanizm pulowania jest wykonywany między klientem a serwerem z pewnym odstępem czasu w połączeniu TCP?

Kanagavelu Sugumar
źródło

Odpowiedzi:

3
  1. Serwer nie śledzi „połączeń” tylko za pomocą własnego portu i adresu IP, ale także klienta. Tak więc, podczas gdy dwóch klientów może łączyć się z tym samym docelowym adresem IP i portem na serwerze, klienci pochodzą z różnych kombinacji źródłowych adresów IP / portów, a serwer je rozdziela, używając tego.

  2. Jak wspomniałem w pierwszej odpowiedzi, wiele połączeń nie musi używać wielu portów po stronie serwera, aby nawiązać „połączenie” (patrz odpowiedź 1), więc jedynym sposobem na zabicie miejsca jest, jeśli hostujesz 65536 różnych programy 1 na serwerze w tym samym czasie, że wszystkie potrzebne połączenia internetowe były w tym samym czasie.

  3. Oprogramowanie, które ustanowiło połączenie, może ustawić „limit czasu”, więc jeśli połączenie zostało zerwane (jak w przykładzie z odłączeniem) po upływie określonego czasu, jeśli oprogramowanie nie otrzyma żadnych nowych pakietów z drugiego końca, program przyjmuje drugi koniec utraciło połączenie i zamyka własną stronę połączenia.

Aby dowiedzieć się więcej o tym, jak działa TCP, naprawdę polecam Security Now! odcinki o tym, jak działa Internet

Możesz także wysłuchać odcinków opinii słuchaczy, ponieważ wyjaśniają one rzeczy, w których ludzie pisali i mówili, że chcą więcej wyjaśnień.


1: wiele połączeń z tego samego programu może korzystać z tego samego portu, o ile drugi koniec połączenia ma inną kombinację adresu IP / portu

Scott Chamberlain
źródło
Wielkie dzięki!! Scott. Nadal myślałem, że każde połączenie klienta wymaga jednego portu po stronie serwera :(. Przeczytam również, że TCP utrzymuje mechanizm (limit czasu).
Jeszcze