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

Тут можно читать онлайн Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство Лори, год 2000. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2000
  • Город:
    Москва
  • ISBN:
    5-85582-072-6
  • Рейтинг:
    3.5/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

 Второе издание популярного справочника полностью переработано и расширено с целью предоставить читателю наиболее полное описание средств разработки, конфигурирования, использования и обслуживания сетей 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) - читать книгу онлайн бесплатно, автор Сидни Фейт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

servAddr.sin_family = AF_INET;

servAddr.sin_addr.s_addr = htonl(INADDR_ANY);

servAddr.sin_port = 0;

Вызовы инициализации адресной структуры сервера те же, что и в программе для TCP.

3. bind(sockMain, &servAddr, sizeof(servAddr));

Как и прежде, bind получает порт для сервера и записывает значения в TCB. Конечно, по сравнению с TCP, UDP содержит очень мало информации.

4. getsockname(sockMain, &servAddr, &length);

Использовать getsockname , чтобы извлечь присвоенный socket порт.

5. msgLength = recvfrom(sockMain, buf, BUFLEN, 0, &clientAddr, &length);

Вызов recvfrom имеет форму:

recvfrom(дескриптор_socket, входной_буфер, длина_буфера, флаги, исходная_адресная_структура, указатель_на_длину_исходной_адресной_структуры)

Флаги позволяют вызывающей стороне просмотреть сообщение без его фактического получения. После возвращения исходная адресная структура заполняется IP-адресом и номером порта клиента. Необходим указатель на длину исходного адреса, поскольку она может быть изменена при вставке в поле фактического адреса клиента.

6. inet_ntoa(clientAddr.sin_addr);

Этот вызов преобразует 32-разрядный адрес Интернета клиента в знакомую нам нотацию этого адреса с точками и десятичными значениями.

21.11 Клиентская программа UDP

Клиент соединяется с сервером, посылает одно сообщение и закрывает соединение. При запуске программы конечный пользователь должен ввести имя хоста, порт сервера и отправляемое на сервер сообщение. Например:

udpclient plum.cs.yale.edu 2315 "Это сообщение."

/* udpclient.с

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

* Далее нужно получить порт сервера.

* Для запуска клиента ввести:

* udpclient имя_хоста порт сообщение */

#include

#include

#include

#include

#include

#include

main(argc, argv)

int argc;

char *argv[]; /* Это вводимые пользователем аргументы. */

/* argv[0] - имя программы. argv[1] указывает на имя хоста. */

/* argv[2] ссылается на порт, */

/* а argv [3] ссылается на текстовое сообщение. */

{

int sock;

struct sockaddr_in, servAddr, clientAddr;

struct hostent *hp, *gethostbyname();

/* Должно быть четыре аргумента. */

if (argc < 4) {

printf ("ВВЕСТИ udpclient имя_хоста порт сообщение\n");

exit(1);

}

/* 1. Создать socket для UDP. */

if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {

perror("He получен socket\n");

exit(1);

}

/* 2. Занести адрес и порт сервера в servAddr.

* Сначала заполнить адресную структуру нулями.

* Использовать функцию gethostbyname для получения имени хоста

* и его IP-адреса. Затем скопировать IP-адрес

* в servAddr функцией bcopy.

* Наконец занести номер порта из argv[2]. */

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

servAddr.sin_family = AF_INET;

hp = gethostbyname(argv[1]);

bcopy(hp->h_addr, &servAddr.sin_addr, hp->h_length);

servAddr.sin_port = htons(atoi(argv[2]));

/* 3. Вызвать bind для получения порта UDP. Система

* назначает свободный порт. */

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

clientAddr.sin_family = AF_INET;

clientAddr.sin_addr.s_addr = htonl(INADDR_ANY);

clientAddr.sin_port = 0;

if (bind(sock, &clientAddr, sizeof(clientAddr)) < 0) {

perror("Клиент не получил порт.\n");

exit(1);

}

/* 4. Клиент анонсирует свою готовность к приему сообщений.

* Он посылает сообщение и распечатывает последнюю строку. */

printf ("CLIENT: Готов к пересылке\n");

if (sendto(sock, argv[3], strlen(argv[3]), 0, &servAddr, sizeof(servAddr)) < 0) {

perror "Проблема с sendto.\n");

exit(1);

}

printf ("CLIENT: Пересылка закончена. Счастливо.\n");

/* Закрытие socket */

close(sock);

}

21.11.1 Запросы в клиентской программе UDP

1. sock = socket(AF_INET, SOCK_DGRAM, 0); UDP клиента создает socket для UDP.

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

servAddr.sin_family = AF_INET;

hp = gethostbyname(argv[1]);

bcopy(hp->h_addr, &servAddr.sin_addr, hp->length);

servAddr.sin_port = htons(atoi(argv[2]));

Структура servAddr заполнена введенными конечным пользователем значениями, как это делалось и в клиенте для TCP.

3. bind (sock, &clientAddr, sizeof(clientAddr)); Клиент вызывает bind для получения порта.

4. sendto(sock, argv[3], strlen(argv[3]), 0, &servAddr, sizeof(servAddr));

Вызов sendto имеет форму:

sendto(дескриптор_socket, буфер, длина_буфера, флаги, адресная_структура_назначения, длина адресной_структуры_назначения)

Этот запрос содержит всю информацию о точке назначения, необходимую для отправки датаграммы протокола UDP.

21.12 Дополнительная литература

Любое техническое руководство по программированию в Unix содержит описания программных вызовов socket. В книге Ричарда Стивенса (Richard Stevens) Unix Network Programming детально обсуждается программирование socket. Руководства программиста TCP/IP для других операционных систем, описывают вызовы socket и часто содержат примеры типичных программ. Следует ознакомиться с подобным руководством, поскольку между операционными системами могут существовать различия.

Глава 22

IP версии 6

22.1 Введение

За относительно короткий период времени персональные компьютеры стали подключаться к локальным сетям, которые объединялись в региональные сети. Многие из этих систем связаны со всем миром. Результатом стало распространение Интернета среди миллионов пользователей.

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

Пространство номеров быстро истощилось. Кроме того, поскольку номера присваивались не иерархически, быстро разрослись таблицы маршрутизации.

Однако расширение Интернета нельзя остановить. Количество персональных компьютеров и их подключений к глобальной сети постоянно растет. Появляются новые потребности:

■ Работа в сети нового поколения мобильных компьютеров, заменяющих деловые бумаги и выполняющих роль цифрового персонального секретаря.

■ Требования для аудио и видео в реальном времени, приведшие существующую технологию к своему естественному пределу.

К Интернету обратился серьезный деловой мир, которому требуется обеспечение реальной безопасности сетевых инфраструктур.

Существует и проблема с сетевым управлением. Многие организации используют магистральные соединения по IP для объединения своих сетей и пересылке трафика средствами протокола IP. На сегодняшний день эти задачи не решены полностью и нет эффективных механизмов для управления нагрузкой.

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

Интервал:

Закладка:

Сделать


Сидни Фейт читать все книги автора по порядку

Сидни Фейт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x