
- •Глава 1 Конвергенция сетей связи 4
- •Глава 2. Сетевые аспекты ip-телефонии 34
- •Глава 3 Передача речи по ip-сетям 56
- •Глава 4 Протоколы сети Интернет 84
- •Глава 5 - Архитектура н.323 116
- •Глава 8 Протокол управления шлюзами mgcp 221
- •11 Принципы реализации
- •Глава 1 Конвергенция сетей связи
- •1.1 Пропорции в телекоммуникациях
- •А) Трафик в сша б) Трафик в Европе
- •1.2 Перспективы развития ТфОп и ip-сетей
- •1.3 Транспортные технологии пакетной коммутации
- •1.4 Уровни архитектуры ip-телефонии
- •1.5 Различные подходы к построению сетей ip-телефонии
- •1.5.1 Построение сети по рекомендации н.323
- •1.5.2 Сеть на базе протокола sip
- •1.5.3 Сеть на базе mgcp и megaco
- •1.5.4 Сравнение подходов к построению сети ip-телефонии
- •Глава 2. Сетевые аспекты ip-телефонии
- •2.1 Три основных сценария ip-телефонии
- •Вызов инициирован абонентом ТфОп
- •2.2 Проект tiphon
- •2.3 Установление телефонного соединения в ip-сети
- •Абонент а набирает телефонный номер вызываемого абонента б.
- •Шлюз консультируется с привратником о возможных способах маршрутизации вызова.
- •2.4 Эффективность ip-телефонии
- •Глава 3 Передача речи по ip-сетям
- •3.1 Особенности передачи речевой информации по ip - сетям
- •3.1.1 Задержки
- •3.1.3 Устройства ограничения эффектов эха
- •3.2 Принципы кодирования речи
- •3.2.1 Кодирование формы сигнала
- •3.2.2 Кодеры исходной информации (вокодеры) и гибридные алгоритмы
- •Генератор возбуждающего сигнала
- •3.2.3 Процессоры цифровой обработки сигналов для речевых кодеков
- •3.2.4 Основные алгоритмы кодирования речи, используемые в ip-телефонии
- •3.3 Кодеки, стандартизованные itu-t
- •Кодек g.711
- •Кодек g.723.1
- •Кодек g.726
- •Кодек g.728
- •3.3.5 Кодек g.729
- •3.4 Кодеки, стандартизованные etsi
- •3.5 Передача сигналов dtmf
- •3.6 Передача факсимильной информации
- •3.7 О реализации «стандартных» алгоритмов
- •Глава 4 Протоколы сети Интернет
- •4.1 Интернет ab ovo
- •4.2 Стандарты в сфере Интернет
- •4.3 Адресация
- •4.4 Уровни архитектуры Интернет
- •4.5 Протокол ip версии 4
- •4.6 Протокол ip версии 6
- •4.7 Протокол tcp
- •1 Потоки, стек протоколов, механизм портов и мультиплексирование
- •4.7.2 Установление tcp-соединения и передача данных
- •4.7.3 Механизмы обеспечения достоверности
- •4.7.4 Механизм управления потоком данных
- •4.7.5 Состав и назначение полей заголовка
- •4.8 Протокол udp
- •4.9 Требования к современным ip-сетям
- •4.10 Протоколы rtp и rtcp
- •4.11 Многоадресная рассылка
- •Глава 5 - Архитектура н.323
- •5.1 Стандарты мультимедийной связи
- •5.2 Архитектура систем видеотелефонии в узкополосных isdn
- •5.3 Мультимедийная связь в ip-сетях
- •5.4 Терминал н.323
- •5.5 Шлюз н.323
- •5.6 Привратник
- •5.7 Устройство управления конференциями
- •5.8 Реализация оборудования н.323
- •Глава 6 Сигнализация н.323
- •6.1 Семейство протоколов н.323
- •6.2 Протокол ras
- •6.2.1 Обнаружение привратника
- •6.2.2 Регистрация оконечного оборудования
- •6.2.3 Доступ к сетевым ресурсам
- •6.2.4 Определение местоположения оборудования в сети
- •6.2.5 Изменение полосы пропускания
- •6.2.7 Освобождение полосы пропускания
- •6.2.8 Метка доступа
- •6.3 Сигнальный канал н.225.0
- •Сигнальные сообщения h.225.0/q.931 Сообщения ras
- •6.4 Управляющий канал н.245
- •6.4.1 Определение ведущего и ведомого
- •6.4.2 Обмен данными о функциональных возможностях
- •6.4.3 Открытие и закрытие логических каналов
- •6.4.4 Выбор режима обработки информации
- •6.5 Алгоритмы установления, поддержания и разрушения соединения
- •6.5.1 Базовое соединение с участием привратника
- •6.5.2 Базовое соединение без участия привратника
- •Туннелирование управляющих сообщений
- •Процедура быстрого установления соединения
- •6.5.5 Установление соединения с участием шлюза
- •Глава 7 Протокол инициирования сеансов связи - sip
- •7.1 Принципы протокола sip
- •7.2 Интеграция протокола sip с ip-сетями
- •7.3 Адресация
- •7.4 Архитектура сети sip
- •Терминал
- •Прокси-сервер
- •7.4.3 Сервер переадресации
- •Сервер определения местоположения пользователей
- •Пример sip- сети
- •7.5 Сообщения протокола sip
- •7.5.1 Структура сообщений
- •7.5.2 Заголовки сообщений
- •7.5.3 Запросы
- •7.5.4 Ответы на запросы
- •7.6 Алгоритмы установления соединения
- •7.8 Сравнительный анализ протоколов н.323 и sip
- •Глава 8 Протокол управления шлюзами mgcp
- •8.1 Принцип декомпозиции шлюза
- •8.2 Классификация шлюзов
- •8.3 Модель организации связи
- •8.4 Команды протокола mgcp
- •1 (Телефонный ::: канал 2)
- •8.5 Структура команд
- •8.6 Структура ответов на команды
- •8.7 Описания сеансов связи
- •8.8 Установление, изменение и разрушение соединений
- •8.9 Реализация оборудования с поддержкой протокола mgcp
- •8.10 Возможности и перспективы протокола mgcp
- •Глава 9 Протокол megaco/h.248
- •9.1 История создания и особенности протокола megaco/h.248
- •9.3 Сравнительный анализ протоколов mgcp и megaco
- •9.4 Структура команд и ответов
- •9.5 Пример установления и разрушения соединения
- •Глава 10 Качество обслуживания в сетях ip-телефонии 10.1 Что понимается под QoS?
- •Качество обслуживания в сетях пакетной коммутации
- •Трафик реального времени в ip-сетях
- •10.4 Дифференцированное обслуживание разнотипного трафика - Diff-Serv
- •10.5 Интегрированное обслуживание IntServ
- •10.6.2 Процедура резервирования ресурсов
- •10.7 Технология mpls
- •10.8 Обслуживание очередей
- •10.8.1 Алгоритмы организации очереди
- •10.8.1.1 Алгоритм Tail Drop
- •10.8.1.2 Алгоритм Random Early Detection (red)
- •10.8.2 Алгоритмы обработки очередей
- •10.8.2.1 Стратегия fifo
- •10.8.2.2 Очередь с приоритетами
- •10.8.3 Алгоритмы сглаживания пульсации графика
- •10.8.3.1 Алгоритм Leaky Bucket
- •10.8.3.2 Алгоритм «Token Bucket»
- •Глава 11 Принципы реализации
- •11.1 Оборудование ip-телефонии
- •11.2 Особенности оборудования ip-телефонии для России
- •11.3 Шлюз ip-телефонии Протей-itg
- •11.4 Привратник Протей-gk и варианты организации связи
- •11.5 Экономические аспекты применения оборудования ip- телефонии
- •11.6 Виртуальная телефонная линия
- •Система сервисных телефонных карт
- •11.7 Центр обработки вызовов
- •11.8 Модуль ipu как средство интеграции цифровых атс с ip- сетями
- •11.9 Тестирование протоколов ip-телефонии
3.7 О реализации «стандартных» алгоритмов
Как может показаться на первый взгляд, узкополосное кодирование речи, требующее огромной (миллионы операций в секунду) вычислительной мощности, является самой сложной задачей, выполняемой оборудованием IP-телефонии. Однако это отнюдь не так:
алгоритмы кодирования речи стандартизованы и отлично документированы, более того, на рынке доступны весьма эффективные их реализации для всех популярных DSP-платформ. С другой стороны, в оборудовании IP-телефонии должны быть реализованы многие другие функции, способ реализации которых не является объектом стандартизации, а представляет собой «know-how» разработчиков.
На передающей стороне оборудование IP-телефонии работает по принципу «закодировал, передал и забыл». На приемной стороне все гораздо сложнее. Пакеты приходят из сети с задержкой, меняющейся по случайному закону. Более того, пакеты могут придти не в той последовательности, в которой были переданы, а некоторые пакеты могут вообще быть потеряны. Приемник должен справляться со всеми этими трудностями, обеспечивая на выходе нормальный звуковой поток с тактовой синхронизацией, либо генерируемой на основе принимаемого потока данных, либо получаемой из ТфОП по каналам Е1. Привязка речевых потоков к местному тактовому синхросигналу производится, как уже отмечалось выше, путем незаметной на слух деформации периодов молчания в воспроизводимом сигнале.
К этому остается добавить необходимость передачи факсимильной информации в реальном времени с автоматическим распознаванием сигналов факсимильных аппаратов и передачу DTMF- сигна-лов с корректным их восстановлением в приемнике.
На основе данного обзора функций оборудования IP-телефонии можно сделать вывод, о том что, несмотря на существование стандартных алгоритмов кодирования речи, у разработчиков есть огромный простор для деятельности, направленной на дальнейшее совершенствование технологии IP-телефонии.
Глава 4 Протоколы сети Интернет
4.1 Интернет ab ovo
Общеизвестна дата начала знаменитого проекта сети пакетной коммутации ARPA - прототипа сегодняшней сети Интернет. Это 1971 год. Однако сама идея сети Интернет имеет гораздо более давнюю историю. Чего стоит одно только определение сетевой структуры, данное Буддой: «Как сеть состоит из множества узлов, так и всё на этом свете связано узлами. Если кто-то полагает, что ячейка сети является чем-то независимым, изолированным, то он ошибается. Она называется сетью, поскольку состоит из множества взаимосвязанных ячеек, и у каждой ячейки своё место и свои обязательства по отношению к другим ячейкам».
Реальная история Интернет началась, разумеется, спустя много веков после того, как появилось это определение. Авторы данной книги датируют ее начало 1957 годом - датой запуска первого советского искусственного спутника Земли. Именно в ответ на этот запуск США сформировали в составе Минобороны (Department of Defense - DoD) специальное агентство - Advanced Research Projects Agency (ARPA), создавшее сеть ARPANET - прообраз Интернет - и собравшее вокруг себя коллектив исследователей и ученых, заложивших основы сегодняшней сети Интернет. Таким образом, именно события, связанные с запуском первого советского спутника, стимулировали интеллектуальные усилия тысяч разработчиков и саму Интернет- революцию, которая сейчас сотрясает мир. Уже в июле 1961 года Леонард Клейнрок опубликовал первую статью по теории пакетной коммутации «Information Flow in Large Communication Nets».
В 1964 году последовала работа Пола Барана (Paul Baran, RAND) «On Distributed Communications Networks»
В 1965 году, под эгидой ARPA, компьютеры двух организаций -ТХ-2 в MIT Lincoln Lab и AN/FSQ-32 в System Development Corporation (Santa Monica, CA) - были связаны выделенной телефонной линией на скорости 1200 бит/с. В октябре 1967 года в Гатлинбурге, штат Теннесси, на симпозиуме АСМ собрались представители трех независимых команд-ARPA, RAND e NPL. Последняя из них, Национальная физическая лаборатория (National Physical Laboratory- NPL), построившая экспериментальную сеть пакетной коммутации на скорости 768 Кбит/с, более известна тем, что руководитель разработки Дональд Дэвис является автором термина «пакет».
В 1969 году на основе мини-компьютера DDP-516 фирмы Honeywell с памятью объемом 12К были созданы четыре первых узла сети ARPANET: Калифорнийский университет в Лос-Анжелесе (University of California Los Angeles - UCLA), Стэнфордский НИИ (Stanford Research Institute - SRI), университет Санта-Барбары и университет штата Юта. Компания AT&T предоставила для этой сети линии со скоростью передачи 50 Кбит/с. Первые пакеты данных были переданы Чарли Клайном (Charley Kline) из UCLA, когда он пытался связаться с компьютером SRI. Первая попытка 29 октября 1969 г. закончилась аварийным отказом системы во время ввода буквы G из слова LOGIN. Пикантность ситуации заключалась в том, что ARPANET определялась как полностью отказоустойчивая компьютерная сеть с распределением вычислительной мощности и резервированием устройств коммутации данных и компьютерных линий связи, способная выдержать ядерный удар. Тогда же первым проектом документа RFC (Request for Comments) «Программное обеспечение рабочих станций (hosts)» было положено начало стандартам Интернет.
Первая публикация, относящаяся к сети Интернет, появилась в 1970 году и была посвящена протоколу взаимодействия рабочих станций в составе сети ARPANET: Ч.Кар, С.Крокер, В.Серф. «Протокол связи рабочих станций в сети ARPA».
В 1971 году уже имеется 15 узлов (23 рабочие станции), и Рей Момлинсон изобретает программу электронной почты для передачи сообщений по распределенной сети. Оригинальная программа была создана на базе двух программ: программы внутримашинной электронной почты (SENDMSG) и экспериментальной программы пересылки файлов (CPYNET). Из клавиш пунктуации на телетайпе Model 33 производства Tomlinson в марте 1972 г. выбран знак @ в его значении «в».
Докторская диссертация Боба Меткафа из Гарварда наметила идею сети Ethernet. Эта идея была проверена на компьютерах Alto производства Xerox PARC, и первая сеть Ethernet получила в мае 1973 г. название Alto Aloha System. А число пользователей ARPANET к марту 1973 достигло 2000. Тогда же в Мичиганском университете создается сеть Merit на базе протокола Х.25, а в Стэнфордском университете начинается разработка набора протоколов, которые должны обеспечивать взаимодействие компьютеров, включённых в сеть ARPANET.
В мае 1974 года Винт Серф из Стэнфорда и Боб Кан (Vint Cerf, Bob Kahn) из агентства перспективных научных проектов Министерства обороны США опубликовали в журнале «IEEE Transactions on Communications» статью «A Protocol for Packet Network Intercommunication» со спецификацией протокола TCP, ставшей вскоре основой Интернет. Об истории этой публикации рассказывается в колонке редактора журнала «Сети и системы связи» (№11, 1999). Серф и Кан решали, чье имя поставить первым в спецификации протокола TCP, и бросили монетку. Первым оказался Винсент Серф, и именно он, со временем, стал известен широкой публике, занял должность вице- президента MCI и получил признание как один из основателей сети Интернет.
Тогда же появляется первый список адресов электронной почты -
MsgGroup. Самым популярным неофициальным списком становится список любителей научной фантастики - SF-Lovers. Спустя полтора года разрабатывается спецификация электронной почты (RFC 733). В 1976 году в лаборатории Александра Белла (Bell Laboratories) корпорации AT&T разрабатывается протокол UUCP (Копирование Unix-Unix), который начинает распространяться год спустя вместе с операционной системой UNIX.
В 1978 году протокол TCP разделяется на протоколы TCP и IP, а изложенная в статье Серфа и Кана концепция получает название TCP/IP. Работа над концепцией была завершена в 1980 году, а в 1983 году управление Минобороны США утвердило новый набор компьютерных протоколов в качестве стандарта для ARPANET, вместо протокола NCP (Network Control Protocol), использовавшегося с 1970 года. Чтобы поощрить переход колледжей и университетов на технологию TCP/IP, силами ARPA был облегчен процесс внедрения операционной системы Berkeley UNIX, реализующей протоколы TCP/IP. Этот шаг привел к формированию одного из первых определений понятия «Интернет» как совокупности соединенных между собой сетей, в частности, сетей с использованием стека протоколов TCP/IP, а понятия «Интернет» как совокупности сетей, реализованных на базе технологии TCP/IP.
Сама же ARPANET в конце 1983 года разделилась на две сети:
DARPANET (оборонная сеть) и MILNET (военная сеть). Несмотря на то, что ARPANET официально прекратила своё существование в июне 1990 года, сеть Интернет уцелела. Более того, протокол TCP/IP был усовершенствован и стал чрезвычайно популярен в сферах образования, научно-исследовательских разработок, в коммерции и во многих, многих других, порой неожиданных применениях, примером чему является эта книга. В 1984 году вводится система доменных имен (DNS). Она увязывает IP-адреса с именами компьютеров в Интернет. И в том же 1984 году Уильям Гибсон, в романе «Necromancer», вводит термин «гиперпространство». Количество рабочих станций, подключенных к сети, достигает 1000, а к 1987 году их становится уже 10000.
Национальный фонд Науки США, с целью обеспечить взаимодействие своих суперкомпьютерных центров и доступ к Интернет, создает в 1985 году сеть NSFNET (Сеть Национального фонда науки). NSFNET - это высокоскоростная магистральная сеть, состоящая из двухточечных линий связи в узловой конфигурации. Сеть была полностью развёрнута в 1988 году и первоначально работала на скорости 56 Кбит/с. В 1986 году NSFNET организовала ряд региональных сетей, объединённых в магистральную сеть. Позже основные части сети NSFNET были модернизированы для работы на скоростях до ОС-3 (155 Мбит/с) и выше. NSFNET официально прекратила своё существование в 1995 году, и на смену ей пришла сеть
MERIT. Первоначально, MERIT была сетью масштаба штата, эксплуатируемой Университетом Мичигана, и региональным компонентом как сети NSFNET, так и Интернет.
В 1988 году Ажако Ойкаринен (Jarkko Oikari-nen) разрабатывает технологию Internet Relay Chat (IRC). Тогда же появился новый термин «хакер», а 1 ноября 1988 года вирусная программа «Internet Worm» сумела повредить более 6000 рабочих станций.
В 1989 году количество рабочих станций достигает 100000 штук, а в 1990 году - 300000. Появляется первый коммерческий поставщик услуг сети Интернет, а год спустя Тим Бернерс-Ли (Tim Ber-ners-Lee) из организации CERN, Швейцария, выпускает свою разработку Всемирной Паутины - World Wide Web (WWW). Вскоре программы просмотра WWW стали неотъемлемой частью повседневной жизни, и началась эра бизнеса в сети Интернет. В 1992 году количество рабочих станций превысило 1 миллион, а в 1993 году в Интернет появился адрес www.whitehouse.gov и электронная почта president@whitehouse.gov Б. Клинтона. Понадобилось менее 2 лет, чтобы в Интернет появились адреса правительств большинства других стран, включая, например, адрес Ватикана - www.vatican.va. В том же 1995 году коллектив программистов Sun Microsystems под руководством Джеймса Гозлинга (James Gosling) создали язык программирования Java, радикально изменивший сам смысл программирования Интернет-приложений.
В 1996 году сети Интернет исполнилось 25 лет, а число рабочих станций, подключенных к Интернет, составило 10 миллионов.
К концу 2000 года насчитывалось около 300 миллионов пользователей Интернет. Количество рабочих станций сейчас возрастает примерно на 80 процентов за год. В первой главе приведен рисунок, на котором авторы взяли на себя смелость показать, что приблизительно к 2004 году Интернет разрастется до размеров современной телефонной сети.