W. Richard Stevens tłum. Marcin Palacz Biblia TCP/IP, tom 3 W tomie 3 szczegółowo przedstawione zostały cztery zagadnienia, których znajomość jest niezbędna każdemu współczesnemu programiście TCP/IP i administratorowi sieci. T/TCP (T/TCP dla transakcji), rozszerzenie TCP umożliwiające szybsze, bardziej efektywne i niezawodne transakcje klient-serwer ; HTTP (protokół przesyłania hipertekstu), fundament gwałtownie rozwijającej się światowej Pajęczyny NNTP (protokół przesyłania informacji sieciowych), na którym opiera się system Usenet news Protokoły domeny unixowej, zestaw protokołów, szeroko używany w implementacjach unixowych Podobnie jak wcześniejsze dwa tomy, książka ta zawiera wiele przykładów i szczegółów implementacji zaprezentowanych na podstawie kodu sieciowego 4.4BSD-Lite. Spis treści Przedmowa Rozdział 1 Wprowadzenie do T/TCP 1.1 Wstęp 1.2 Klient-serwer UDP 1.3 Klient-serwer TCP 1.4 Klient-serwer T/TCP 1.5 Sieć testowa 1.6 Przykład pomiaru czasu 1.7 Aplikacje 1.8 Historia 1.9 Implementacje 1.10 Podsumowanie Rozdział 2 Protokół T/TCP 2.1 Wstęp 2.2 Nowe opcje TCP związane z T/TCP 2.3 Zmienne implementacyjne T/TCP 2.4 Diagram zmiany stanów 2.5 Stany rozszerzone T/TCP 2.6 Podsumowanie Rozdział 3 T/TCP - przykłady 3.1 Wstęp 3.2 Przeładowanie klienta 3.3 Normalna transakcja T/TCP 3.4 Serwer otrzymuje duplikat starego segmentu SYN 3.5 Przeładowanie serwera 3.6 Żądanie lub odpowiedź z długością większą niż MSS 3.7 Kompatybilność wstecz 3.8 Podsumowanie Rozdział 4 Protokół T/TCP - kontynuacja 4.1 Wstęp 4.2 Numery portów i stan TIME_WAIT 4.3 Rola stanu TIME_WAIT 4.4 Skrócenie stanu TIME_WAIT 4.5 Unikanie potrójnego uzgodnienia przy pomocy TA 4.6 Wartości CC z zawiniętym bitem znaku 4.7 Podsumowanie Rozdział 5 Implementacja T/TCP: warstwa gniazd 5.1 Wstęp 5.2 Stałe 5.3 Funkcja sosend 5.4 Podsumowanie Rozdział 6 Implementacja T/TCP: tablica rutowania 6.1 Wstęp 6.2 Kod źródłowy - wprowadzenie 6.3 Struktura radix_node_head 6.4 Struktura rtentry 6.5 Struktura rt_metrics 6.6 Funkcja in_inithead 6.7 Funkcja in_addroute 6.8 Funkcja in_matroute 6.9 Funkcja in_clsroute 6.10 Funkcja in_rtqtimo 6.11 Funkcja in_rtqkill 6.12 Podsumowanie Rozdział 7 Implementacja T/TCP: bloki kontrolne protokołu 7.1 Wstęp 7.2 Funkcja in_pcbladdr 7.3 Funkcja in_pcbconnect 7.4 Podsumowanie Rozdział 8 Implementacja T/TCP: przegląd TCP 8.1 Wstęp 8.2 Kod źródłowy - wprowadzenie 8.3 Struktura TCP protosw 8.4 Blok kontrolny TCP 8.5 Funkcja tcp_init 8.6 Funkcja tcp_slowtimo 8.7 Podsumowanie Rozdział 9 Implementacja T/TCP: wyjście TCP 9.1 Wstęp 9.2 Funkcja tcp_output 9.3 Podsumowanie Rozdział 10 Implementacja T/TCP: funkcje TCP 10.1 Wstęp 10.2 Funkcja tcp_newtcpcb 10.3 Funkcja tcp_rtlookup 10.4 Funkcja tcp_gettaocache 10.5 Obliczenie czasu oczekiwania na powtórzenie transmisji 10.6 Funkcja tcp_close 10.7 Funkcja tcp_msssend 10.8 Funkcja tcp_mssrcvd 10.9 Funkcja tcp_dooptions 10.10 Funkcja tcp_reass 10.11 Podsumowanie Rozdział 11 Implementacja T/TCP: wejście TCP 11.1 Wstęp 11.2 Przetwarzanie wstępne 11.3 Przewidywanie nagłówka 11.4 Inicjacja pasywnego otwarcia 11.5 Inicjacja aktywnego otwarcia 11.6 Zabezpieczenie przed zawiniętymi numerami sekwencyjnymi (PAWS) 11.7 Przetwarzanie ACK 11.8 Zakończenie pasywnych i jednoczesnych otwarć 11.9 Przetwarzanie ACK (kontynuacja) 11.10 Przetwarzanie flagi FIN 11.11 Podsumowanie Rozdział 12 Implementacja T/TCP: żądania użytkownika TCP 12.1 Wstęp 12.2 Żądanie PRU_CONNECT 12.3 Funkcja tcp_connect 12.4 Żądania PRU_SEND i PRU_SEND_EOF 12.5 Funkcja tcp_usrclosed 12.6 Funkcja tcp_sysctl 12.7 Przyszłość T/TCP 12.8 Podsumowanie Rozdział 13 HTTP - protokół przesyłania hipertekstu 13.1 Wstęp 13.2 Wprowadzenie do HTTP i HTML 13.3 Protokół HTT 13.4 Przykład 13.5 Dane statystyczne HTTP 13.6 Problemy związane z szybkością i sprawnością działania 13.7 Podsumowanie Rozdział 14 Pakiety znalezione w serwerze HTTP 14.1 Wstęp 14.2 Jednoczesne serwery HTTP 14.3 Czas pomiędzy otrzymaniem kolejnych segmentów SYN 14.4 Pomiary RTT 14.5 Drugi argument funkcji listen 14.6 Opcje w segmencie SYN klienta 14.7 Powtórne wysłania SYN klienta 14.8 Nazwy domen 14.9 Ograniczenie czasu sondowania trwałości połączenia 14.10 Symulacja rozmiaru tablicy rutowania T/TCP 14.11 Współdziałanie z buforami mbuf 14.12 Blok protokołu TCP i przewidywanie nagłówka 14.13 Podsumowanie Rozdział 15 NNTP - sieciowy protokół przesyłania informacji 15.1 Wstęp 15.2 Protokół NNTP 15.3 Prosty klient informacji 15.4 Bardziej skomplikowany klient informacji 15.5 Statystyka NNTP 15.6 Podsumowanie Rozdział 16 Protokoły domeny unixowej: wprowadzenie 16.1 Wstęp 16.2 Zastosowania 16.3 Szybkość działania 16.4 Przykłady programów 16.5 Podsumowanie Rozdział 17 Protokoły domeny unixowej: implementacja 17.1 Wstęp 17.2 Wprowadzenie do kodu źródłowego 17.3 Unixowe struktury domain i protosw 17.4 Struktura adresowa gniazda domeny unixowej 17.5 Bloki kontrolne protokołu domeny unixowej 17.6 Funkcja uipc_usrreq 17.7 Żądanie PRU_ATTACH i funkcja unp_attach 17.8 Żądanie PRU_DETACH i funkcja unp_detach 17.9 Żądanie PRU_BIND i funkcja unp_bind 17.10 Żądanie PRU_CONNECT i funkcja unp_connect 17.11 Żądanie PRU_CONNECT2 i funkcja unp_connect2 17.12 Odwołanie systemowe socketpair 17.13 Odwołanie systemowe pipe 17.14 Żądanie PRU_ACCEPT 17.15 Żądanie PRU_DISCONNECT i funkcja unp_disconnect 17.16 Żądanie PRU_SHUTDOWN i funkcja unp_shutdown 17.17 Żądanie PRU_ABORT i funkcja unp_drop 17.18 Różne żądania 17.19 Podsumowanie Rozdział 18 Protokoły domeny unixowej: I/O i przekazywanie deskryptorów 18.1 Wstęp 18.2 Żądania PRU_SEND i PRU_RCVD 18.3 Przekazywanie deskryptorów 18.4 Funkcja unp_internalize 18.5 Funkcja unp_externalize 18.6 Funkcja unp_discard 18.7 Funkcja unp_dispose 18.8 Funkcja unp_scan 18.9 Funkcja unp_gc 18.10 Funkcja unp_mark 18.11 Szybkość działania (raz jeszcze) 18.12 Podsumowanie Dodatek A Pomiary czasu w sieci A.1 Pomiary RTT z użyciem programu Ping A.2 Pomiary w stosie protokołu A.3 Czas propagacji a szerokość pasma Dodatek B Programowanie aplikacji T/TCP Bibliografia Indeks ------------------ ISBN 83-87216-26-7 Wydawnictwo RM, czerwiec 1998 str. 360, format 172x242, oprawa twarda lakierowana Więcej informacji: http://www.rm.com.pl/tcpip3.htm