Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
Скачать 22.28 Mb.
|
808 Глава 23. Сетевые службы В том случае, когда программа работает на стороне клиента, код страницы передается веб-сервером веб-браузеру как обычный статический объект, а затем браузер выполняет этот код, с его помощью создает динамическое содержание страницы и выводит ее на экран. Примером может служить код, написанный на языке ActionScript, который иногда используется для программирования интерактивной анимации в играх. Однако для этого требуется еще один механизм, поддерживаемый современными браузерами, — механизм надстроек (add-on). Механизм надстроек является программным интерфейсом между браузером и внешними программами, которые расширяют функциональные возможности браузеров. Программа-надстройка обрабатывает объекты веб-страницы определенного типа, в данном случае — код ActionScript. Программой-надстройкой, которая понимает ActionScript, является Flash-плейер компании Adobe. Если Flash-плейер загружен в брау зер, то динамическая веб-страница, в которой есть код ActionScript, будет правильно работать и воспроизводить интерактивную анимацию. Другим популярным языком про граммирования страниц на стороне клиента является JavaScript. При программировании содержания страницы на стороне сервера процесс выглядит не много сложнее, так как программный код страницы создает содержание на сервере, следо вательно, здесь нужен дополнительный этап — передача этого содержания по протоколу HTTP на клиентскую машину браузеру. Популярными языками сценариев для серверной части являются Perl, ASP, JSP и РНР Существует также стандартный программный интер фейс между веб-сервером и программами, генерирующими динамическое содержание, — это общий шлюзовой интерфейс (Common Gateway Interface, CGI). IP-телефония ІР-телефония — это сервис, который обеспечивает коммутируемые голосовые соединения преимущественно по схеме «один к одному» и который поддерживается сетью, использующей протокол IP в форме общедоступного Интернета или частной 1Р-сети. О ТЕРМИНАХ -------------------------------------------------------------------------------------------------------------- П о н я т и е «IP-телефония» распространяется т ак ж е и на те случаи, когда голос и ф а к с передаются вместе с д р у г и м и в и д а м и и н ф о р м а ц и и , в частности с текстом и изображением. П о м и м о термина «IP-телефония» употребляются также т е р м и н ы «VoIP» (Voice over IP — голос через IP) и «интернет- телефония». Х о т я аббревиатура V o I P часто используется как с и н о н и м т е р м и н а «1Р-телефония», существует ее более ш и р о к а я трактовка — л ю б а я услуга, в к л ю ч а ю щ а я передачу голоса по протоколу IP; это м о ж е т быть, например, передача голосовой р е к л а м ы п р и щ е л ч к е на с о о тветствующем значке, р а с п о л о ж е н н о м на веб-странице. Интернет-телефония — это ча с т н ы й случай I P -телефонии, когда разговор происходит через Интернет, а не, например, в пределах локальной сети предприятия. Ранняя 1Р-телефония В своем развитии IP-телефония прошла три этапа. На первом этапе это была, скорее, интернет-игрушка, пригодная разве что для общения двух энтузиастов, готовых мириться с сопровождающим диалог кваканьем и шипением. Два компьютера, оснащенные микрофонами, динамиками, звуковыми картами с поддерж кой оцифровки звука и не очень сложным программным обеспечением, позволяли вести двусторонний диалог через Интернет в реальном времени (рис. 23.5). ІР-телефония 809 Однако до удобств обычной телефонной услуги такой спософ общения явно недотягивал. Абонентам нужно было знать ІР-адрес компьютера собеседника, договариваться о вре мени разговора, выбирать момент для более качественной передачи речи, когда трафик Интернета между данными конкретными точками не сталкивался с перегрузками и за держками. Кроме того, при отсутствии стандартов на обоих компьютерах требовалось установить такое программное обеспечение, которое поддерживало бы один и тот же способ кодирования голоса и упаковки его в пакеты. Взаимодействия между компьютером и телефоном, подключенным к обычной телефонной сети, не предполагалось. Зато затраты ограничивались небольшой платой провайдеру за обычное коммутируемое подсоединение к Интернету. Второй этап ознаменовался появлением стандартов IP-телефонии, прежде всего — стан дартов группы Н.323, разработанных ITU-T, и стандартов на основе протокола SIP, раз работанного IETF. К третьему этапу можно отнести появление нового поколения IP-телефонии, поддержи вающей широкий спектр дополнительных услуг, подобный тому, который предоставляют абонентам развитые телефонные сети. Стандарты Н.323 Разработчики стандартов Н.323 исходили из того, что две сети — телефонная и IP — будут сосуществовать бок о бок достаточно длительное время, а значит, важно регламентировать их взаимодействие с учетом существующих в традиционных телефонных сетях процедур установления соединения, а также договориться о способе передачи вызова и собственно голоса по 1Р-сети. В рамках установленного сеанса Н.323 абоненты могут обмениваться не только голосовой, но и видеоинформацией, то есть пользоваться видеотелефонами или оборудованием для организации видеоконференций. В стандартах Н.323 определяется две группы протоколов (рис. 23.6): □ Протоколы транспортной (transport plane), или пользовательской (user plane), плоско сти отвечают за непосредственную передачу голоса по сети с коммутацией пакетов. Протоколы этой плоскости определяют способы кодирования голоса (сюда входят стандарты различных кодеков, например G.711, G.723.1, G.729, G.728 и др.) и видео (кодеки Н.261, Н.263 и др.). Голос и видео передаются в пакетах протокола RTP (Real Time Protocol — протокол реального времени), который определен в RFC 3550 (ftp://ftp. rfc-editor.org/in-notes/rfc3550.txt) и переносит отметки времени и последовательные номера 810 Глава 23. Сетевые службы пакетов, помогая конечным узлам сеанса восстанавливать аналоговую информацию реального времени. Пакеты RTP переносятся в пакетах протокола UDP. □ Протоколы плоскости управления вызовами (call control plane) переносят по сети за просы на установление соединений и реализуют такие служебные функции, как авто ризация доступа абонента к сети и учет времени соединения. Эта группа протоколов работает через надежные TCP-соединения и включает протокол сигнализации Q.931, обеспечивающий установление и завершение соединения между абонентами; протокол Н.245, с помощью которого абонентское оборудование узнает о функциональных воз можностях противоположной стороны, например о том, какие аудио- и видеокодеки поддерживаются, а также о том, сколько аудио- и видеопотоков будут использовать абоненты в рамках данного соединения. По умолчанию ІР-телефон поддерживает толь ко один голосовой поток, но видеотелефон уже поддерживает два потока — один голо совой и один видео, а оборудование видеоконференци может поддерживать несколько аудиопотоков и несколько видеопотоков. Еще один протокол этой группы — RAS (Registration, Admission, Status) — служит для учета звонков, регистрации пользователя в некотором административном домене (например, в домене организации, где работает пользователь) и контроля доступа в сеть (то есть проверке сетевых ресурсов, таких как свободная пропускная способность, необходимых для качественного обслуживания телефонного вызова). Аудио кодеки Видео- кодеки RAS Н.245 Q.931 RTP UDP TCP IP Рис. 23.6. Стек протоколов Н.323 Основными элементами сети Н.323, в которых реализуются протоколы этого стека, явля ются так называемые IP-телефоны, подключаемые непосредственно к IP-сети, и шлюзы, связывающие традиционную телефонную сеть с IP-сетью (рис. 23.7). лот^мниіі.' К&Шуйго, щ фикции шлюзй Н*323 т^вфонных оргей, тшдос,’ нап^йм^ как $87, ш про$о*юлы ШякЬз.позволйет цбо- нентам собычным телефонным аппаратомобщаться 'с* пользователями IP-телефонов иЛи ip'^CU»Tir|fe!^ ''* % Л ' " ' ' ' * ; Основная задача плоскости управления вызовами — установление соединения между абонентами через сети с коммутацией пакетов — в простейшем случае может быть решена шлюзом, а в более общей постановке поручается специальному элементу сети — приврат нику. ІР-телефония 811 Придоннії (gatekeeper) рыполияет регистрацию и авторизацию абонентов по протоколу RAS, а также, і сл^Нав необходимости; тр М л М й ю адресов (например, DNS-имен в телефонные номера). Кроме Т0ГО, 0н занимается маршрутизацией эызовов к IP-телефону или шлюзу, а если потребуется, труї кдругбмупривратнику. Обычно один привратник обслуживает так называемую зону, то есть часть сети, находя щуюся под административным управлением одной организации. Все функции привратника в архитектуре Н.323 могут выполнять терминальные устройства — телефоны и шлюзы, но такое решение плохо масштабируется, а поток вызовов с трудом контролируется и тари фицируется. Стандарты на основе протокола SIP Основным конкурентом протоколов стандарта Н.323 является протокол SIP (Session Initiation Protocol — протокол инициирования сеанса), разработанный интернет- сообществом и стандартизованный IETF в RFC 3261 (ftp://ftp.rfc-editor.org/in-notes/ rfc3261.txt). SIP является протоколом сигнализации, он ответственен за установление сеанса между абонентами, при этом SIP выполняет функции протоколов Q.931, RAS и Н.245 стандарта Н.323 (точнее — часть из них). Для передачи аудио- и видеоданных в ходе сеанса протокол SIP предполагает ^пользование протокола RTP. Протокол SIP очень близок по стилю к протоколу HTTP: он имеет похожий набор и син таксис сообщений, которыми обмениваются стороны в процессе установления сеанса. Как и у протокола HTTP, SIP-сообщения текстовые, они хорошо понятны программистам, имеющим опыт создания веб-приложений. Поэтому системы IP-телефонии, построенные на основе SIP, оказались гораздо ближе к миру Интернета, чем стандарты Н.323, пришед 812 Глава 23. Сетевые службы шие «от телефонистов». Сегодня SIP-телефония более тесно интегрирована с веб-услугами, чем телефония стандарта Н.323. Архитектура SIP предусматривает как непосредственное взаимодействие абонентов через IP-сеть, так и более масштабируемые схемы, включающие участие серверов-посредников (прокси-серверов). Основным таким сервером является так называемый прокси-сервер SIP, он выполняет функции, близкие к функциям привратника Н.323. Кроме того, в ар хитектуре SIP может присутствовать сервер определения местоположения (SIP Location Server). Работу протокола SIP в архитектуре с серверами обоих типов иллюстрирует рис. 23.8. Прокси-сервер SIP: ^ slp@ja.net ч Р / Location Server — определение местоположения INVITE bob@piter.ru OK АСК Голос в RTP Прокси-сервер SIP: sip2@piter.ru bill@ja.net bob@ws12.ru Рис. 23.8. Взаимодействие абонентов SIP Адресами абонентов в протоколе SIP являются универсальные идентификаторы URI, используемые во всех веб-службах. На рис. 23.8 абонент bill@ja.net хочет установить сеанс с абонентом bob@mgu.ru. В домене ja.net установлен прокси-сервер SIP с именем sip1@ja.net, через него проходят все вызовы абонентов этого домена (за счет того, что в ІР-телефонах абонентов задан ІР-адрес этого прокси-сервера). Запросом на установление сеанса в протоколе SIP является передача сообщения INVITE с URI вызываемого абонента, поэтому абонент bill@ja.net направляет своему прокси-серверу сообщение INVITE lpb@mgu.ru. Прокси-сервер для выполнения этого запроса обращается к серверу определения местоположения, который возвращает ему ответ о том, что абонент bob@mgu.ru в данный момент зарегистрирован как активный в домене piter.ru с именем bob@ piter.ru. Прокси-сервер использует эту информацию для того, чтобы направить сообщение INVITE прокси-серверу домена piter.ru (сервер с именем sip2@piter.ru), указав в нем имя ІР-телефония 813 bob@piter.ru. Вызов завершается прокси-сервером sip2@piter.ru, который обнаруживает, что пользователь bob@piter.ru зарегистрировался и работает в настоящее время за компьютером ws12, поэтому вызов INVITE передается на этот компьютер. Далее протокол SIP работает подобно большинству протоколов сигнализации: если пользователь bob@ws12.ru согла шается принять вызов, то он снимает трубку своего SIP-телефона (или щелкает на соот ветствующем значке своего программного SIP-телефона) и тем самым посылает ответ ОК назад по цепочке. Окончательное установление сеанса фиксируется отправкой сообщения АСК (подтверждение) от вызывающего абонента к вызываемому. После установления сеанса разговор происходит между телефонами абонентов в рамках протокола RTP. Существуют также фирменные протоколы IP-телефонии, из которых наиболее известны ми являются протоколы Skype — очень популярного сервиса интернет-телефонии. Этот сервис к тому же поддерживает такие дополнительные услуги, как видеоконференции, передача мгновенных сообщений, передача файлов между «абонентами. Связь телефонных сетей через Интернет На втором этапе развития 1Р-телефонии IP-сеть (Интернет или частная сеть) широко использовалась в качестве транзитной сети между двумя местными телефонными се тями (рис. 23.9). Данная схема реализации общедоступных услуг IP-телефонии стала достаточно популярной во всем мире, в том числе в России. Она заключается в том, что абонент звонит по определенному номеру, который закреплен за провайдером мест ной телефонной сети, и на звонок отвечает сервер интерактивного голосового ответа (Interactive Voice Response, IVR). IVR-сервер запрограммирован на выполнение рутин ных процедур аутентификации вызывающего абонента и приема номера вызываемого абонента. Для этого привлекается техника распознавания голосовых ответов (которыми могут быть и сигналы тонового набора, используемого вызывающим абонентом для от ветов на запросы IVR-сервера). Для реализации услуги IP-телефонии по описанной схеме оператору связи не надо созда вать собственную дорогостоящую транспортную инфраструктуру и иметь непосредствен ный доступ к абонентам. Однако стратегические перспективы такого подхода оставляют желать лучшего из-за плохой масштабируемости и узкого спектра услуг. Масштабируемость такого варианта ограничивается несколькими факторами. Во-первых, провайдеру приходится устанавливать многочисленные одноранговые связи со своими друзьями-соперниками по бизнесу. Во-вторых, протоколы обеих плоскостей необходи мо реализовывать во всех элементах сети IP-телефонии: и в привратниках, и в шлюзах, и в терминалах, что приводит к излишней сложности и дороговизне всех этих устройств. И наконец, пользователям предоставляются только базовые услуги по обработке вызовов, поскольку взаимодействие с протоколами межстанционной сигнализации (SS7) и служ бами интеллектуальной сети (IN) отсутствует. Эту последнюю группу недостатков нельзя отнести на счет стандартов Н.323, в которых явно не говорится о том, какие протоколы сигнализации должен поддерживать шлюз со стороны телефонной сети. Перечень допол нительных услуг по обработке вызовов определен в спецификации Н.450. Таким образом, это скорее изъян реализации шлюзов того поколения, в которых поддержка SS7 и IN, как правило, отсутствовала. 814 Глава 23. Сетевые службы Местная телефонная сеть Узел провайдера услуг ІР-телефонии Сервер аутентификации с базой данных абонентов Узел провайдера услуг ІР-телефонии Сервер аутентификации с базой данных абонентов Местная телефонная сеть Привратник Сервер IVR Сервер биллинга Рис. 23.9. Взаимодействие двух местных телефонных сетей через Интернет Кроме того, сам диалог достаточно утомителен — гораздо удобнее просто набрать но мер с небольшой приставкой вроде 8-20 и получить доступ к услугам международной ІР-телефонии. Но для этого провайдеру нужен прямой доступ к абоненту или договорен ность с местными операторами о переадресации таких вызовов на шлюз ІР-телефонии провайдера с помощью средств интеллектуальной сети (а они пока поддерживаются далеко не всеми местными операторами). Таким образом, для выхода ІР-телефонии на более высокий уровень национального или международного оператора требуются другие стандарты и оборудование, чтобы сети, построенные на базе протокола IP, могли равно правно соседствовать с традиционными телефонными сетями. Многие из необходимых стандартов уже появились и воплощены в новом поколении оборудова ния, ставшим основой для третьего этапа развития ГР-Телефонии. Новое поколение сетей ІР-телефонии Укрупненная схема полномасштабной сети ІР-телефонии показана на рис. 23.10. Такая сеть может поддерживать собственных абонентов и служить транзитной для традиционных теле фонных сетей с оказанием полного спектра услуг, включая услуги интеллектуальной сети. IP-телефония 815 Серверы приложений Сервер аутентификации с базой данных Сервер абонентов биллинга Сервер IVR Серверы приложений Сервер аутентификации с базой данных Сервер абонентов биллинга Сервер IVR Программный Программный К П М М У Т Я Т П П кпымитятпо Офисная АТС Офисная АТС IP-телефоны |