Глава 22 Дополнительные сведения о сокетах udp
Глава 22
Дополнительные сведения о сокетах udp
22.1. Введение
Эта глава объединяет различные темы, касающиеся приложений, использующих сокеты UDP. Для начала нас интересует, как определяется адрес получателя дейтаграммы UDP и интерфейс, на котором дейтаграмма была получена, поскольку сокет, связанный с портом UDP и универсальным адресом, может получать дейтаграммы направленной, широковещательной и многоадресной передачи на любом интерфейсе.
TCP — это потоковый протокол, использующий окно переменной величины (sliding window), поэтому в TCP отсутствует такое понятие, как граница записи, и невозможно переполнение буфера получателя отправителем в результате передачи слишком большого количества данных. Однако в случае UDP каждой операции ввода соответствует одна дейтаграмма UDP (запись), поэтому возникает вопрос: что произойдет, когда полученная дейтаграмма окажется больше приемного буфера приложения?
UDP — это ненадежный протокол, однако существуют приложения, в которых UDP использовать целесообразнее, чем TCP. Мы рассмотрим факторы, под влиянием которых UDP оказывается предпочтительнее TCP. В UDP-приложения необходимо включать ряд функций, в некоторой степени компенсирующих ненадежность UDP: тайм-аут и повторную передачу, обработку потерянных дейтаграмм и порядковые номера для сопоставления ответов запросам. Мы разработаем набор функций, которые сможем вызывать из наших приложений UDP.
Если реализация не поддерживает параметр сокета IP_RECVDSTADDR, один из способов определить IP-адрес получателя UDP-дейтаграммы заключается в связывании всех интерфейсных адресов и использовании функции select.
Большинство серверов UDP являются последовательными, но существуют приложения, обменивающиеся множеством дейтаграмм UDP между клиентом и сервером, что требует параллельной обработки. Примером может служить TFTP (Trivial File Transfer Protocol — упрощенный протокол передачи файлов). Мы рассмотрим два варианта подобного согласования — с использованием суперсервера inetd и без него.
В завершение этой главы мы рассмотрим информацию о пакете, которая может быть передана во вспомогательных данных дейтаграммы IPv6: IP-адрес отправителя, отправляющий интерфейс, предельное количество транзитных узлов исходящих дейтаграмм и адрес следующего транзитного узла. Аналогичная информация — IP-адрес получателя, принимающий интерфейс и предельное количество транзитных узлов — может быть получена вместе с дейтаграммой IPv6.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Глава 2 Начальные сведения о ядре Linux
Глава 2 Начальные сведения о ядре Linux В этой главе будут рассмотрены основные вопросы, связанные с ядром Linux: где получить исходный код, как его компилировать и как инсталлировать новое ядро. После этого рассмотрим некоторые допущения, связанные с ядром Linux, отличия между
12.7. Дополнительные сведения о сигналах
12.7. Дополнительные сведения о сигналах Сигналы, которые мы обсуждали до сих пор, не несли в себе никаких данных; появление сигнала — это единственная информация, которую получает приложение. В некоторых случаях было бы неплохо знать, что послужило причиной отправки
Глава 8 Основные сведения о сокетах UDP
Глава 8 Основные сведения о сокетах UDP 8.1. Введение Приложения, использующие TCP и UDP, фундаментально отличаются друг от друга, потому что UDP является ненадежным протоколом дейтаграмм, не ориентированным на установление соединения, и этим принципиально непохож на
Глава 23 Дополнительные сведения о сокетах SCTP
Глава 23 Дополнительные сведения о сокетах SCTP 23.1. Введение В этой главе мы займемся углубленным рассмотрением SCTP, изучим особенности этого протокола и параметры сокетов, при помощи которых он управляется. Мы обсудим некоторые специальные вопросы, в частности, управление
6.21 Дополнительные сведения о многоадресных рассылках
6.21 Дополнительные сведения о многоадресных рассылках Существует класс IP-адресов, используемых в многоадресных рассылках (см. главу 5), позволяющий маршрутизировать датаграмму от источника к группе систем, заданной одним из адресов класса D. Технологии и протоколы
13.9.4 Дополнительные сведения о вариантах
13.9.4 Дополнительные сведения о вариантах Более тридцати RFC детально рассматривают различные варианты, предоставляющие специальные возможности для telnet. Среди них можно выделить:? Способность опрашивать партнера о текущем состоянии параметров. Запрос и ответ о состоянии
Дополнительные сведения по работе с дисками в программе Acronis
Дополнительные сведения по работе с дисками в программе Acronis Мы уже знаем, что такое образ диска и как его можно получить, а потом использовать при восстановлении работоспособности компьютера. В этом разделе будут даны дополнительные сведения о том, как подготовить
Глава 1 Общие сведения
Глава 1 Общие сведения 1.1. Гонки на выживание: Windows XP, Windows Vista и Windows 71.2. Новое в Windows 71.3. Версии операционной системы1.4. Системные требования1.5. Проверка на совместимостьПоявления новой операционной системы Windows 7, автором которой является корпорация Microsoft, ждали многие,
Дополнительные сведения
Дополнительные сведения Восстановление реестра При работе с реестром надо соблюдать осторожность. Удаление каких-либо важных данных случайно или по незнанию может привести к краху операционной системы. Тогда спасти положение может только восстановление последней
Глава 1 Общие сведения о Windows 7
Глава 1 Общие сведения о Windows 7 В первой главе кратко вспомним, что представляет собой операционная система Windows 7, каковы ее основные свойства и как оценить ее
2.1.2. Общие сведения о сокетах
2.1.2. Общие сведения о сокетах Сокетом (от англ. socket — гнездо, розетка) называется специальный объект, создаваемый для отправки и получения данных через сеть. Отметим, что под термином "объект" в данном случае подразумевается не объект в терминах объектно-ориентированного
Дополнительные сведения о типах данных
Дополнительные сведения о типах данных В этом разделе приводятся рекомендации по поводу того, где и когда использовать различные типа данных VBA. При этом рассматриваются все типы данных, кроме двух. Тип данных Object, хотя и очень полезен, но достаточно сложный, поэтому
Дополнительные сведения об операторе Case
Дополнительные сведения об операторе Case В предыдущем примере критерии, заданные в операторах Case, были просто цветочками, детскими вопросами типа "Равно ли свойство Туре тому-то и тому-то?" Но с помощью оператора Case вы можете задавать и значительно более сложные
Дополнительные сведения о языке C++
Дополнительные сведения о языке C++ Файлы программы и единицы компиляцииПри создании программ на языке C++ следует иметь в виду, что программирование на этом языке опирается на модульный принцип построения программы. Это значит, что программа, которая в результате
Глава 1 Общие сведения об ArchiCAD
Глава 1 Общие сведения об ArchiCAD • Почему ArchiCAD?• Что может ArchiCAD• Установка программы• Запуск ArchiCADРазработанное фирмой Graphisoft приложение ArchiCAD – наиболее популярный и функциональный программный продукт для создания архитектурных проектов. Мы рассмотрим одиннадцатую
Стивенс Уильям Ричард
Просмотр ограничен
Смотрите доступные для ознакомления главы 👉