Главная » Просмотр файлов » В. Столлингс - Современные компьютерные сети (2-е издание, 2003)

В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681), страница 162

Файл №1114681 В. Столлингс - Современные компьютерные сети (2-е издание, 2003) (В. Столлингс - Современные компьютерные сети (2-е издание, 2003)) 162 страницаВ. Столлингс - Современные компьютерные сети (2-е издание, 2003) (1114681) страница 1622019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 162)

Выбор конкретного программного интерфейса сокетов зависит от используемой операционной системы и языка программирования. Отличительной чертой АР1 сокетов является фактически стандартный интерфейс с протоколами ТСР/1Р, изначально определенный в операционной системе ВЯ) 11)с)1Х, а позднее принятый другими опер!и!ионными системами. Это открытый стандарт, обеспечивающий переносимость исходного кода программ. Поэтому мы рассмотрим всего лишь два наиболее распространенных интерфейса — сокеты Беркли (Вег1се1еу Бойщаге 1)!зггсйщсюп эос1сегз, ВЯ)) в том виде, в котором они были представлены для операционной системы 1Лч1Х, и небольшую молификацию этого интерфейса АР1 — сокеты ЪЪ'1пс(ошз (11т'!пс)отээ Бос1сетз, УсгспБос1с) от корпорации Мссгозо(г.

Материал этой главы предназначается для программистов языка С (к функциям сокетов можно также обращаться из программ, написанных на языках С++, ~ д. о' ар этого приложения — Зарница Геназз (збеоатзОсяее.из!еда). 'тгсэца1 Ваз)с и РАБСА1.). В центре нашего обсуждения будет операционная система тсг1пдосэз. В то же самое время читателю будут предоставлены примеры из оригинальной спецификации ВЯ) 11)ч1Х, чтобы указать на различия (как правило, незначительные) в спецификации сокетов в этих двух операционных системах.

Предполагается, что читатель имеет базовые знания о сетевых протоколах ТСР/1Р и Ш) Р, Большая часть программ лолжна транслироваться как в опе)щциои ной системе сч'1пс1оугз, так и системах семейства (Пс)1Х. Оригинальная спецификация ВЯ) хорошо подходит для операционных систем семейства 1Лс11Х (см. табл. Б.1). Таблица 8.1. Хорошо известные операционные системы семейства ОН!Х Прозрачная распределенная система на основе микроядра Общая параллельная и распределенная операционная система Основанная на 880 4.4 ОН1Х операционная аистема для хбб РС Открытая операционная система на основе микроядра Операционная система ОН1Х, основанная на 880 4.4 Операционная смстема типа Месь на основе микроядра Свободно распространяемая реализация для РС с процессором 386, 488 и Репбигп Сервер, основанный на ОМХ 8804.4-1ае, и эмуляционная библиотека, обеспечивающая функциональность ОМ1Х на системах типа Масц Разработана как часть проекта СМО МДСН Проиэводгщя ат ОМХ 880 4.4-1яе Основанная на микроядре, распределенная, реального времени, Устойчивая к сбоям, поддерживающая стандарт РО81Х операционная система для хбб Производная ат ОМХ 880 4.4-1ае операционная система реального времени Распределенная операционная система 710 Приложение Б.

Сокеты Б.2. Сокеты, дескрипторы сокетов, порты и соединения 711 Здесь будут описываться исключительно сокеты на языке С, но интерфейс ЪЪ'!п5ос(с АР1 также может использоваться в большинстве других языков программирования, таких ссак С++, ЪДяиа1 Вая!с и РА5САЕ и т.д. Единственное требование заключается в том, что язык должен предоставлять возможность обращения к динамически подключаемым библиотекам (Вупаш!с Ып1с 1.!Ьгагу, 1НЛ.). В 32-разрядной ЪЪ'1пс!олчя-среде вам потребуется импортировать библиотеку чсяос!с32.НЬ, чтобы использовать преимущество интерфейса ЪЧ!п5ос(с. Эта библиотека должна быть скомпонована с программой, чтобы при запуске загрузилась динамическая библиотека свяос!с32.с!П.

Динамическая библиотека»«яос!с32.Й1 работает поверх стека протоколов ТСР/1 Р. В операционные системы ЪЪ! пс1оъчя ХТ, ЪЪ(пс1отчя 2000 и ЪЪс!пс!олчя 95 файл счяос!с32.48 включается по умолчанию. Если во время создания исполняемый файл колшонуется вместе с библиотекой свяос!с32.НЬ, тем самым неявно присоединяется динамическая библиотека вяос!«32 4Н, загружаемая при запуске программы.

То есть для обращения к динамической библиотеке счяос!с32.с!Н не потребуется добавлять строки к исходному файлу. Документацию, статьи, программное обеспечение и примеры программ по интерфейсу ЪЪ'!пяос1с 1.1 и 1.2 люжно найти по адресу Ьсср://исччлясасопяс.соса/. Также много полезного по данной теме можно найти на веб-сайте ЪЪ'!пс!ос«я 5ос!се1я Хе1«чог)с Ргойгашпппй» Боба Кунина (ВоЬ Оп!пп) по адресу Ьссрс// сч»чсч.яос!се!я.сот/а д.пглс. Программистам, пишущим программы на языке Ъ'!япа! Вая!с, стоит прочитать книгу «С1!еп1/5егчег Ргойгапип! п8 тч!1Ь М!сгояо(1 Ъс1япа! Вая!с», написанную Кеннетолс Л. Спенсером (КеппесЬ 1.

5репсег) и Кеном Миллером (Кеп Мс11ег). Кроме того, коллекцию сетевых компонентов и библиотек для разработчиков програлсм на языке Ъс!япа! Ваксе можно найти на сайте Ь11рс// с«чс»ч.саса1уяс.сот/. Старую, но хорошо известную статья~ Ральфа Дэвиса (На!рЬ 1)еч!я) по языку С++ «ЪЪсш32 Хеслчос(с Ргойгашпс!пй: ЪЪ'!пс!олчя 95 апс! ЪЪ'!пс(ос«я ХТ Хегччог1с Ргойгашш!пй 1!я!пй МРС» вместе с библиотекой классов можно найти на сайте Ьссрс//сяепй.асч.сот./Ьоо!с/аи1Ьос/0,3832,0201489309,00.

ЬсасЬ Исчерпывающие сведения о родословных операционных систелс семейств ()Х1Х и ЪЪс!пс!отчя можно найти на сайтах Ы1р://регяо/с«апазов.(с/1ечепег/ип!х/ и Ь11р://ресяо/чсападоо.(с/!ечепег/сч!пс!ос«я. Б.2. Сокеты, дескрипторы сокетов, порты и соединения Сокеты представляют собой конечные точки связи, обращение к которым осуществляется при помощи соответствующих дескрипторов сокетов или слов естественного языка, описывающих связь сокета с определенной машиной или приложением (например, мы будем обозначать сокет сервера как яесчес я). Соединение (или пара сокетов) состоит из пары 1Р-адресов, обладатели которых общаются друг с другом, а также пары номеров портов, где номер порта представляет собой 32-разрядное целое без знака, как правило, в десятичной системе счисления.

Неко- торые номера портов назначения, называемые хорошо известными портами (сче11- (сполчп рогся), закреплены за популярными службами и определяют тип службы, с которой осуществляется соединение. Протоколы ТСР/1Р ориентируются на то, что приложениями для общения друг с другом используются хо1юшо известные порты. При этом клиентские приложения предполагают, что соответствующее серверное приложение прослушивает свой хорошо известный порт, ассоциированный с этим приложением.

Например, для протокола НТТР (НурегТех1 Тгапя1ег Рготосо! — протокол передачи гипертекста) используется ТСР-порт с номером 80. По умолчанию веб-браузер будет пыгаться установить соединение с ТСР-портом 80 хоста назначения, если в 1)й1.-адресе не указан другой номер порта (например, 8000 или 8080). Порт (рогг) идентифицирует точку соединения в локальном стеке (например, порт с номером 80, как правило, используется веб-сервером). Совет (яос1сес) идентифицирует пару, состоящую из 1Р-адреса и нолсера порта (например, 192.168.1.20:80 обозначает порт веб-сервера на хосте 192.168.1.20).

Пара сокетов (яос1сес ра!г) идентифицирует все четыре компонента (адреса и номера портов отправителя и получателя). Поскольку хорошо известные порты уникальны, иногда они используются для обозначен»и определенного приложения на любом хосте, на котором может быть запущено это приложение. Однако употребление слова «сокет» подразумевает конкретное приложение на конкретном хосте. Соединение, или пара сокетов, означает соединение сокетов между двумя конкретными взаимодействующими системами. Протокол ТСР позволяет одновременно устанавливать несколько соединений для одного и того же локального порта, если у этих соединений отличаются удаленные 1Р-адреса или номера портов. Номера портов разделяются на три категории: + Номера от 0 до 1023 зарезервированы для хорошо известных портов.

Они ассоциированы со службами на постоянной основе, Например, НТТР-серверы всегда принимают запросы к порту 80. + Порты с нолсерами от 1024 до 49 151 являются регистрируемыми. Они используются для различных целей. + Порты с нолсерами от 49 151 до 65 535 представляют собой динамические и частные порты. С ними не должны ассоциироваться службы. В реальности машины начинают назначение динамических портов, начиная с номера 1024. Если вы разрабатываете протокол или приложение, для которого требуется канал связи, сонет, порт, протокол и т. д., свяжитесь с управлением 1АХА (1псегпес Аяя!8пес! ХшпЬегя Апбйоп1у — уполномоченная организация по выделению номеров Интернета).

1АХА располагается в институте кибернетики (1п1оппас!оп 5с!епсея 1пяс!сисе, 151) университета Южной Калифорнии. Рекомендация цГС «Аяя(япес! ХшпЬегя», опубликованная организацией 1АХА, является официальной спецификацией, в которой перечисляются назначения портов. Вы лшжете найти ее по адресу Ь(ср://чав«с.!апа.ос9/аяя!дптептя/росс-пипсЬеся, Список номеров портов со ссылкалси на информацию о связанных с ними приложениях предоставляется по адресу Ьсср://ас!ч!се.песпог!с!се.сопс/адч!се/схр1о!ся/Росся/. 712 Приложение Б.

Сокеты Бий Элементы бекетов 713 В обеих операционных системах, 1)Н1Х и 1)(Г(пг)отче, для проверки состояния всех активных локальных сокетов может использоваться команда пе)з(эС На рис. Б,1 показан примерный результат работы команды петэтэй фкувв;:,;.,1т1эвнЭ щЬенв . звухеХчл.)т(ббквве ',,, екв1е э:"':эйдфйв' ущ~5 уу Ъг/ гэ ';'., -'.: ':,„'".;,;.".ьт(этеывп фв,",' э':(кэвл(вг)иэв, ' ': (йуалвр:е, ',,::::,;,: ':::ьтэйквтйе... = тсэ."-""в'.'и сл$~г(вээе :., ',!йу<сбнр б' ' " " ' '.' "";" " " Тьтзтввтва " ", 'тсв"Т .'::я''номе,»эввт-' '-,.'ссенгл'ое,' '-''".::,'.'::, ':: ':' (втзтвнтва БАКР:.',т Ямы~~:~~зв',: '' -; вэ((сойр ызв'.:: '.:::::: :- ',::1ттикЭввтт.

; т г(йф.'у.-';-;;Мувокухитрщ- ',. „.'. Тэвггезэ7,-'млу,. слег ее бт„=: - .*кйтввьтэнво ° )т)1в(;, у)кс)хцг(мф6';. ' *4всэтэ.елу,есиыэвэй ' ',' (вэтвввтэякп Рис. Б.т. Пример вывода команды пе1в1в1 Б.З. Коммуникационная модель клиент-сервер Сервер ф соппесц) с)о вО для ОЩХ или с!оэевосхв10 для Уэ! обоев сЬвв0 для Ог1ГХ или с(овввос1гв10 для У)Г)обоев Рив. Б.в. Блок-схема взаимодействия потоковых соквгов Приложение, использующее сокеты, состоит из программы, исполняемой на обоих концах канала связи. Программу, инициирующую передачу, часто называют клиентом (с)(еп().

Характеристики

Тип файла
DJVU-файл
Размер
11,23 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6551
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее