Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)

Здесь есть возможность читать онлайн «Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2000, ISBN: 2000, Издательство: Лори, Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security): краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

 Второе издание популярного справочника полностью переработано и расширено с целью предоставить читателю наиболее полное описание средств разработки, конфигурирования, использования и обслуживания сетей TCP/IP и соответствующих служб.
Книга написана увлекательно и доступно. Она содержит дополнительные материалы о нескольких протоколах Интернета, используемых серверами и браузерами WWW, а также рассматривает все последние изменения в этой области. В книгу включены главы о новом стандарте безопасности IP и протоколе IP следующего поколения, известном как IPng или IPv6. Рисунки и таблицы наглядно показывают влияние средств безопасности IP и IPng на существующие сетевые среды.
Издание содержит следующие дополнительные разделы:
• Безопасность IP и IPv6
• Описание средств WWW, новостей Интернета и приложений для работы с gopher
• Подробное описание серверов имен доменов (DNS), маски подсети и бесклассовой маршрутизации в Интернете
• Таблицы и протоколы маршрутизации
• Руководство по реализации средств безопасности для каждого из протоколов и приложений
• Примеры диалогов с новыми графическими инструментами
Новое издание бестселлера по TCP/IP станет незаменимым помощником для разработчиков сетей и приложений, для сетевых администраторов и конечных пользователей.

TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
send( ) Запись буфера данных в socket. Как альтернативу можно применить write ().
sendv () Пересылка в socket последовательности буферов. Как альтернативу можно применить writev ().
recu() Получение буфера данных из socket либо из read ().
recvmsg () Получение последовательности буферов из socket либо из readv ().

Иногда программе нужна информация, хранящаяся в TCB:

getsockopt () Чтение выбранной информации из TCB. Иногда система обеспечивает необязательные системные запросы ввода/вывода, которые позволяют читать различные части TCB.

Проверка входных параметров запросов на открытие, отправку или получение показывает, что этих параметров очень мало. Причина в том, что обычно для большинства параметров TCB используются значения по умолчанию, содержащие важную информацию об окружении, например о размере приемного буфера, разрешении регистрации событий либо об использовании блокированной или неблокированной обработки в запросах, подобных recv. Некоторые значения по умолчанию можно изменить с помощью функций:

setsockopt () Устанавливает значения нескольких параметров TCB, например размеры приемного и выходного буферов, пересылку срочных данных в общем порядке оправки информации либо блокировку закрытия соединения до благополучной отправки всех данных.
iocntl () Устанавливает ввод/вывод в socket в режим блокирования
или fcntl () или снимает блокирование.

На рис. 21.2 демонстрируется последовательность вызовов в типичном сеансе TCP. Вызовы socket (), bind () и listen () обрабатываются очень быстро, и на них немедленно возвращается ответ.

Рис 212Последовательность программных вызовов в socket TCP Вызовы accept - фото 216

Рис. 21.2.Последовательность программных вызовов в socket TCP

Вызовы accept (), send () и recv () предполагаются в режиме блокирования (что является их обычным значением по умолчанию). Вызов send блокируется и при переполнении выходного буфера TCP. Вызовы write () и read () можно использовать вместо send () и recv ().

21.6 Серверная программа TCP

Рассмотрим подробно пример серверной программы. Сервер предназначен для непрерывной работы. Он будет выполнять следующие действия:

1. Запрашивать у socket создание главного TCB и возвращать значение дескриптора socket, который будет идентифицировать этот TCB в последующих вызовах.

2. Вводить локальный адрес сервера socket в структуру данных программы.

3. Запрашивать связывание, при котором в TCB копируется локальный адрес socket.

4. Создавать очередь, которая сможет хранить сведения о пяти клиентах. Оставшиеся шаги повторяются многократно:

5. Ожидать запросов от клиентов. Когда появляется клиент, создавать для него новый TCB на основе копии главного TCB и записи в него адреса socket клиента и других параметров.

6. Создавать дочерний процесс для обслуживания клиента. Дочерний процесс будет наследовать новый TCB и обрабатывать все дальнейшие операции по связи с клиентом

(ожидать сообщений от клиента, записывать их и завершать работу).

Каждый шаг в программе объясняется в следующем разделе.

/* tcpserv.c

* Для запуска программ ввести "tcpserv". */

/* Сначала включить набор стандартных заголовочных файлов. */

#include

#include

#include

#include

#include

#include

main() {

int sockMain, sockClient, length, child;

struct sockaddr_in servAddr;

/* 1. Создать главный блок управления пересылкой. */

if ((sockMain = socket(AF_INET, SOCK_STREAM, 0)) < 0) {

perror("Сервер не может открыть главный socket.");

exit(1);

}

/* 2. Создать структуру данных для хранения локальных IP-адресов

* и портов, которые будут использованы. Предполагается прием

* клиентских соединений от любых локальных IP-адресов

* (INADDR_ANY). Поскольку данный сервер не применяет

* общеизвестный порт, установить port = 0. Это позволит

* связать вызов с присвоением порта серверу и записать

* порт в TCB. */

bzero((char *)&servAddr, sizeof(servAddr));

servAddr.sin_family = AF_INET;

servAddr.sin_addr.s_addr = htonl(INADDR_ANY);

servAddr.sin_port = 0;

/* 3. Связать запрос, выбор номера порта и

* запись его в TCB. */

if (bind(sockMain, &servAddr, sizeof(servAddr))) {

perror("Связывание сервера неудачно.");

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)»

Представляем Вашему вниманию похожие книги на «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)»

Обсуждение, отзывы о книге «TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x