Aplikacja Klient-Serwer TCP
I. Uzgadnianie stopniowe SERWER
serwer wywołuje funkcję:
serwer wysyła swój własny segment SYN, zawierający podobnie jak u klienta, jego początkowy numer kolejny danych, jakie będzie wysyłał, oraz potwierdzenie ACK (skrót od ang. acknowledgment), które jest potwierdzeniem otrzymania segmentu SYN od klienta
IV. Uzgadnianie stopniowe KLIENT
Klient musi potwierdzić przyjęcie segmentu SYN od serwera
serwer wywołuje funkcję:
- socket stworzenie gniazda,
- bind dowiązanie do niego adresu protokołu (na który składa się adres IP oraz numer portu),
- listen (otwarcie bierne) nasłuchiwanie w celu przyjęcia nadchodzących połączeń
- Klient rozpoczyna otwarcie aktywne (ang. active open) połączenia, wywołując funkcję connect. To powoduje, że oprogramowanie TCP klienta wysyła segment danych
- wysłanie przez oprogramowanie TCP segmentu SYN (skrót od ang. synchronize), który zawiera początkowy numer kolejny danych jakie będą wysyłane przez klienta oraz odpowiednie nagłówki
serwer wysyła swój własny segment SYN, zawierający podobnie jak u klienta, jego początkowy numer kolejny danych, jakie będzie wysyłał, oraz potwierdzenie ACK (skrót od ang. acknowledgment), które jest potwierdzeniem otrzymania segmentu SYN od klienta
IV. Uzgadnianie stopniowe KLIENT
Klient musi potwierdzić przyjęcie segmentu SYN od serwera
Funkcja socket jest odpowiednikiem otrzymania własnego numeru telefonu. Funkcję bind można porównać do poinformowania innych ludzi o naszym numerze telefonu, pod który mogą oni zadzwonić. Funkcja listen odpowiada włączeniu się sygnału dźwiękowego, który słyszymy, gdy ktoś do nas dzwoni.
Dla porównania serwer UDP, który jest łatwiejszy ale nie mamy pewności czy pakiety zostały poprawnie wysłane.
Bardzo interesujące. Pozdrawiam serdecznie.
OdpowiedzUsuń