СПб.: Питер, 2002. — 320 с.: ил. — (Библиотека программиста). — ISBN 5-318-00453-9.
Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Часто причиной такого положения дел является неосторожное обращение с сетевыми протоколами. Поэтому основное внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними. Здесь изложены подтвержденные практикой советы, технические приемы и эвристические правила программирования TCP/IP для достижения максимальной производительности; показано, как избежать многих типичных ошибок. Каркас кода и библиотека функций дают возможность создавать приложения, не думая о низкоуровневых деталях. Основные идеи и концепции иллюстрируются многочисленными примерами. Вы станете лучше понимать внутреннее устройство TCP/IP и получите необходимые практические навыки работы с этим семейством протоколов.
Основы.
Классы адресов.
Подсети.
Ограниченное вещание.
Вещание на сеть.
Вещание на подсеть.
Вещание на все подсети.
Бесклассовая междоменная маршрутизация - CIDR.
Текущее состояние организации подсетей и CIDR.
Каркас TCP-сервера.
Каркас TCP-клиента.
Каркас UDP-сервера.
Каркас UDP-клиента.
Источник и приемник на базе UDP.
Источник и приемник на базе TCP.
Что такое надежность.
Потенциальные ошибки.
Сбой в сети.
Отказ приложения.
Крax хоста на другом конце соединения.
Механизм контролеров.
Пульсация.
Еще один пример пульсации.
Проверка завершения работы клиента.
Проверка корректности входной информации.
Недостаточная производительность.
Скрытая ошибка.
Модель OSI.
Модель TCP/IP.
Операция записи с точки зрения приложения.
Операция записи с точки зрения TCP.
Вызов shutdown.
Аккуратное размыкание соединений.
TCP-серверы.
UDP-серверы.
Архитектура с одним соединением.
Архитектура с двумя соединениями.
Зачем нужно состояние TIME-WAIT.
Принудительная отмена состояния TIME-WAIT.
Отключение алгоритма Нейгла.
Запись со сбором.
Использование вызова alarm.
Использование select.
Буферы в разделяемой памяти.
Система буферов в разделяемой памяти.
Реализация в Unix.
Реализация в Windows.
Как работает tcpdump.
Использование tcpdump.
Выходная информация, формируемая tcpdump.
Как работает traceroute.
Программа tracert в системе Windows.
Активные сокеты.
Интерфейсы.
Маршрутная таблица.
Статистика протоколов.
Программа netstat в Windows.
Преждевременное завершение.
Низкая производительность ttcp.
Чтение ICMP-сообщений.
Печать ICMP-сообщений.
Тексты RFC.