DataLife Engine > Полезное > Эффективное программирование TCP/IP
Эффективное программирование TCP/IP23 ноября 2008. Разместил: Eugene |
![]() Эффективное программирование TCP/IP Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Часто причиной такого положения дел является неосторожное обращение с сетевымипротоколами. Поэтому основное внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними. Здесь изложены подтвержденные практикой советы, технические приемы и эвристические правила программирования TCP/IP для достижения максимальной производительности; показано, как избежать многих типичных ошибок. Каркас кода и библиотека функций дают возможность создавать приложения, не думая о низкоуровневых деталях. Основные идеи и концепции иллюстрируются многочисленными примерами. Вы станете лучше понимать внутреннее устройство TCP/IP и получите необходимые практические навыки работы с этим семейством протоколов. СОДЕРЖАНИЕ: Предисловие Глава 1. Введение Некоторые термины Путеводитель по книге Архитектура клиент-сервер Элементы API сокетов Резюме Глава 2. Основы Совет 1. О необходимости различать протоколы, требующие и не требующие установления логического соединения Резюме Совет 2. О том, что такое подсети и CIDR Классы адресов Подсети Ограниченное вещание Вещание на сеть Вещание на подсеть Вещание на все подсети Бесклассовая междоменная маршрутизация - CIDR Текущее состояние организации подсетей и CIDR Резюме Совет 3. О том, что такое частные адреса и NAT Резюме Совет 4. О разработке и применении каркасов приложений Каркас TCP-сервера Каркас TCP-клиента Каркас UDP-сервера Каркас UDP-клиента Резюме Совет 5. О том, почему интерфейс сокетов лучше интерфейса XTI/TLI Резюме Совет 6. О том, что TCP - потоковый протокол Резюме Совет 7.0 важности правильной оценки производительности TCP Источник и приемник на базе UDP Источник и приемник на базе TCP Резюме Совет 8. О том, что не надо заново изобретать TCP Резюме Совет 9. О том, что при всей надежности у TCP есть и недостатки Что такое надежность Потенциальные ошибки Сбой в сети Отказ приложения Крах хоста на другом конце соединения Резюме Совет 10. О том, что TCP не выполняет опрос соединения Механизм контролеров Пульсация Еще один пример пульсации Резюме Совет 11. 0 некорректном поведении партнера Проверка завершения работы клиента Проверка корректности входной информации Резюме Совет 12.0 работе программы в локальной и глобальной сетях Скрытая ошибка Резюме Совет 13. О функционировании протоколов Резюме Совет 14. О семиуровневой эталонной модели 081 Модель OSI Модель TCP/IP Резюме Глава 3. Создание эффективных и устойчивых сетевых программ Совет 15. Об операции записи в TCP Операция записи с точки зрения приложения Операция записи с точки зрения TCP Резюме Совет 16. О важности аккуратного размыкания TCP-соединений Вызов shutdown Аккуратное размыкание соединений Резюме Совет 17. О запуске приложения через inetd TCP-серверы UDP-серверы Резюме Совет 18. О назначении серверу номера порта с помощью tcpmux Резюме Совет 19. Об использовании двух TCP-соединений Архитектура с одним соединением Архитектура с двумя соединениями Резюме Совет 20. О том, как сделать приложение событийно-управляемым (1) Резюме Совет 21. О том, как сделать приложение событийно-управляемым (2) Резюме Совет 22. О том, что не надо прерывать состояние TIME-WAIT для закрытия соединения Что это такое Зачем нужно состояние TIME-WAIT Принудительная отмена состояния TIME-WAIT Резюме Совет 23. Об установке опции SO_REUSEADDR Резюме Совет 24. О написании одного большого блока вместо нескольких маленьких Отключение алгоритма Нейгла Запись со сбором Резюме Совет 25. Об организации тайм-аута для вызова connect Использование вызова alarm Использование select Резюме Совет 26. О вреде копирования данных Буферы в разделяемой памяти Система буферов в разделяемой памяти Реализация в UNIX Реализация в Windows Резюме Совет 27. Об обнулении структуры sockaddr_in Совет 28. О важности порядка байтов Резюме Совет 29. О том, что не стоит "зашивать" IP-адреса и номера портов в код Резюме Совет 30. О подсоединенном UDP-сокете Резюме Совет 31. О том, что С - не единственный язык программирования Резюме Совет 32. О значимости размеров буферов Резюме Глава 4. Инструменты и ресурсы Совет 33. Об использовании утилиты ping Резюме Совет 34. Об использовании программы tcpdump или аналогичного средства Как работает tcpdump Использование tcpdump Выходная информация, формируемая tcpdump Резюме Совет 35. О применении программы traceroute Как работает traceroute Программа tracert в системе Windows Резюме Совет 36. О преимуществах программы ttcp Резюме Совет 37. О работе с программой Isof Резюме Совет 38. Об использовании программы netstat Активные сокеты Интерфейсы Маршрутная таблица Статистика протоколов Программа netstat в Windows Резюме Совет 39. О средствах трассировки системных вызовов Преждевременное завершение Низкая производительность ttcp Резюме Совет 40. О создании и применении программы для анализа ICMP-сообщений Чтение ICMP-сообщений Печать ICMP-сообщений Резюме Совет 41. О пользе книг Стивенса "TCP/IP Illustrated" "UNIX Network Programming" Совет 42. О чтении текстов программ Резюме Совет 43. О том, что надо знать RFC Тексты RFC Совет 44. Об участии в конференциях Usenet Другие ресурсы, относящиеся к конференциям Приложение 1 Вспомогательный код для UNIX Заголовочный файл etcp.h Функция daemon Функция signal Приложение 2 Вспомогательный код для Windows Заголовочный файл skel.h Функции совместимости с Windows Литература Предметный указатель Автор: Йон Снейдер Перевод: А. Слинкин Издательство: Питер Серия: Библиотека программиста Год: 2001 ISBN: 5-318-00453-9, 0-201-61589-4 Страниц: 320 Формат: DJVU ![]() Скачать с ftp (UA-IX-1000 Mb/s): EffectiveProgrammingOfTCPIP.zip ![]() Скачать с ftp (мир-100 Mb/s): EffectiveProgrammingOfTCPIP.zip Вернуться назад |