IP-сети

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

НЕКОММЕРЧЕСКОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО

«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»

 

 

С.В. Коньшин, О.А. Абрамкина

IP СЕТИ

Учебное пособие

 

Алматы  2013

УДК 629.735.05

ББК 32.973.202я73

О 53 IP сети:

Учебное пособие/ С.В.Коньшин, О.А.Абрамкина;

АУЭС. Алматы, 2013, - 93 с.

 

ISBN 978-601-7327-31-6

 

Учебное пособие освещает основные понятия IP-сетей, протоколы передачи данных и протоколы обмена маршрутной информацией в данной сети, а также теоретические основы построения сети на базе протокола IP.

Учебное пособие предназначено для студентов, обучающихся по специальностям 5В071900 – Радиотехника, электроника и телекоммуникации.

 

Ил. 23, табл. 4,  библиогр. - 7 назв.

 

ББК 32.973.202я73     

 

РЕЦЕНЗЕНТЫ:   ТОО «IBG-7», гл. инженер, канд. тех. наук,  В.А.Иванов,

АУЭС, канд. тех. наук, доцент А.Г.Ни

 

Печатается по плану издания Министерства образования и науки Республики Казахстан на 2012 г.

 

ISBN 978-601-7327-31-6 

 

Ó НАО «Алматинский университет энергетики и связи». 2013 г.

 

Введение

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

Сегодня во всем мире широкое распространение получило подключение к  сети Интернет. Работа устройств в сети Интернет осуществляется с использованием специального протокола IP (Internet Protocol – протокол межсетевого взаи­модействия). В настоящее время IP протокол используется не только в сети Интернет, но и в других сетях передачи данных с пакетной коммутацией (локальных, корпоративных, региональных и др.). И во всех этих сетях имеется возможность передавать речевые сообщения с использованием па­кетов данных. Такой способ передачи речи получил название IP-телефония.

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

В настоящее время IP-телефония получила достаточно широкое рас­пространение в странах Европы, Америки и Азии. Несмотря на свой не­большой возраст, IP-телефония занимает прочное место в телекоммуника­ционной индустрии многих стран. Прежде всего этому способствует глу­бокая интеграция мировой экономики. Многие компании и предприятия как крупные, так и мелкие, имеют представительства в разных странах мира. Таким компаниям приходится тратить большие средства на международ­ные и междугородние переговоры, поэтому IP-телефония, позволяющая тратить на это меньше средств, была сразу же востребована потребителем. Многие крупные компании используют свои собственные сети передачи данных для организации международных IP-телефонных разговоров между офисами в разных странах. Другие компании, не имеющие средств и воз­можностей для организации частной сети, пользуются услугами компаний-провайдеров IP-телефонии.

Развитием технологии IP-телефонии занимаются ведущие мировые фирмы и организации: Европейский институт стандартов по телекоммуни­кации (ETSI, проект TIPHON - Telecommunication and IP Harmonization over Networks); группа ведущих производителей аппаратуры VoIP (3Com, Alcatel, Cisco, ECI Telecom, Ericsson, Lucent Technologies, Motorola, Nertix, OKI, Samsung, Siemens, Vocal Tec, ITXC, Dialogic, Natural Microsystem и др.).

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

В учебном пособии рассматриваются общие аспекты построения IP-сетей, основные подходы и понятия IP-сетей, протоколы передачи данных и протоколы обмена маршрутной информацией в данной сети, а также теоретические основы построения сети на базе протокола IP.

Данное пособие составлено на основе систематизации и обзора работ отечественных и зарубежных авторов и адресуется учащимся всех форм обучения по специальности 5В071900 – «Радиотехника, электроника и телекоммуникации». 

 

1 Введение в IP-сети

1.1 Общие принципы построения объединенных сетей

 

Определим основные понятия, используемые в данном учебном пособии.

Под понятием «Сеть» подразумевается физическая связь между компьютерами, осуществляющими пересылку пакетов, с единой системой адресации.

Протокол – стандарт передачи данных по сети.

Сетевые протоколы приняты официально. Благодаря четкости и
строгости следования протоколам, мы можем использовать сервис, предоставляемый сервером, вне зависимости от того, какое клиентское ПО установлено у нас и какое серверное ПО установлено на сервере. То есть каким бы браузером мы не пользовались, web-сервер (каким бы он ни был), всегда
знает, какого вида запрос он получит (согласно HTTP) и какого вида ответ надо отсылать.

Для разных нужд используются разные протоколы.

В Internet используется стек протоколов TCP/IP. Это ряд протоколов, объединенных вместе в «семейство» протоколов под общим названием TCP/IP (по названиям двух основных протоколов: TCP и IP).

На семействе протоколов TCP/IP построен Интернет.

В TCP/IP входят следующие протоколы:

-       IP – Internet Protocol. Межсетевой протокол, который обеспечивает транспортировку без дополнительной обработки данных с одной машины на другую;

-       TCP – Transmission Control Protocol. Протокол управления передачей, обеспечивающий транспортировку с помощью IP с проверкой установления соединения;

-       UDP – User Datagram Protocol. Протокол пользовательских датаграмм, обеспечивающий транспортировку отдельных сообщений с помощью IP, без проверки ошибок;

-       HTTP – Hyper Text Transfer Protocol. Протокол передачи гипертекста. По этому протоколу происходит пересылка пакетов в web. По умолчанию, web-сервер подключен к 80-ому порту. Используется web-сервером и браузером;

-       FTP – File Transfer Protocol. Протокол передачи файлов. По умолчанию, ftp-сервер подключен к 21-ому порту;

-       SMTP – Simple Mail Transfer Protocol. Протокол отправки почты. По этому протоколу почтовый клиент подключается к почтовому серверу и отсылает ему почтовые сообщения;

-       POP3 – Post Office Protocol. Протокол чтения почты. По этому протоколу почтовый клиент проверяет наличие новых писем на сервере и забирает их оттуда, если они есть. По умолчанию, POP3-сервер закреплен на 110-ом порту. Этот протокол требует авторизации (введение логина и пароля), так как в противном случае любой мог бы забирать чужую почту;

-       NNTP – Network News Transfer Protocol. Протокол передачи новостей;

-       Telnet – протокол эмуляции терминала. По этому протоколу подсоединяются на удаленный сервер и работают там на шелле, как на своем компьютере. По умолчанию, telnet открывают на 23-м порту.

Это, конечно, не все протоколы из «семейства» TCP/IP. Их довольно много, они будут рассмотрены в следующих главах.

 

1.1.1 Эталонная модель OSI, понятие протокола, передача сообщений в сети.

 

         Перемещение информации между компьютерами различных схем является чрезвычайно сложной задачей. В начале 1980 гг. Международная Организация по Стандартизации (ISO) признала необходимость в создании модели сети, которая могла бы помочь поставщикам создавать реализации взаимодействующих сетей. Эту потребность удовлетворяет эталонная модель «Взаимодействие Открытых Систем» (OSI), выпущенная в 1984 г.

         Эталонная модель OSI быстро стала основной архитектурной моделью для передачи межкомпьютерных сообщений. Несмотря на то что были разработаны другие архитектурные модели (в основном патентованные), большинство поставщиков сетей, когда им необходимо предоставить обучающую информацию пользователям поставляемых ими изделий, ссылаются на них как на изделия для сети, соответствующей эталонной модели OSI. И действительно, эта модель является самым лучшим средством, имеющимся в распоряжении тех, кто надеется изучить технологию сетей.

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

Каждая из семи областей проблемы решалась с помощью одного из уровней модели. Большинство устройств сети реализует все семь уровней. Однако в режиме потока информации некоторые реализации сети пропускают один или более уровней. Два самых низших уровня OSI реализуются аппаратным и программным обеспечением; остальные пять высших уровней, как правило, реализуются программным обеспечением.

         Справочная модель OSI описывает, каким образом информация проделывает путь через среду сети (например, провода) от одной прикладной программы (например, программы обработки крупноформатных таблиц) до другой прикладной программы, находящейся в другом компьютере. Т.к. информация, которая должна быть отослана, проходит вниз через уровни системы, по мере этого продвижения она становится все меньше похожей на человеческий язык и все больше похожей на ту информацию, которую понимают компьютеры, а именно: «единицы» и «нули».

Таким образом, в модели OSI средства сетевого взаимодействия делятся на семь уровней, для которых определены стандартные названия и функции.

 

Таблица 1.1 – Эталонная модель взаимодействия открытых систем OSI

Коммуникация: обеспечение точной доставки данных между конечными станциями.

7

Прикладной уровень

 

6

Представительный уровень

5

Сеансовый уровень

4

Транспортный уровень

 

Соединение: управление физической доставкой данных по сети.

3

Сетевой
уровень


Маршрутизаторы, коммутаторы уровня 3

2

Канальный уровень


Мосты, коммутаторы

1

Физический уровень


Кабели, повторители, концентраторы, модемы

 

Основным, с точки зрения пользователя, является прикладной уровень. Этот уровень обеспечивает выполнение прикладных процессов пользова­телей. Наряду с прикладными протоколами, он определяет протоколы передачи файлов, виртуального терминала, электронной почты.

Следующий (шестой) уровень называется представительным (уровень представления данных). Он определяет единый для всех систем синтак­сис передаваемой информации. Необходимость данного уровня обуслов­лена различной формой представления информации в сети передачи дан­ных и компьютерах. Этот уровень играет важную роль в обеспечении «открытости» систем, позволяя им общаться между собой независимо от их внутреннего языка.

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

Четвертый, транспортный уровень (уровень сквозной передачи) слу­жит для передачи данных между двумя взаимодействующими открытыми системами и организации процедуры сопряжения абонентов сети с сис­темой передачи данных. На этом уровне определяется взаимодействие рабочих станций – источника и адресата данных, организуется и поддер­живается логический канал (транспортное соединение) между абонента­ми.

Третий, сетевой уровень, предназначен для маршрутизации информа­ции и управления сетью передачи данных. В отличие от предыдущих, этот уровень в большей степени ориентирован на сеть передачи данных. Здесь решаются вопросы управления сетью передачи данных, в том числе маршрутизация и управление информационными потоками.

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

Физический уровень обеспечивает механические, электрические, функциональные и процедурные средства организации физических со­единений при передаче бит данных между физическими объектами.

Четыре нижних уровня образуют транспортную службу компьютерной сети, которая обеспечивает передачу («транспортировку») информации между рабочими станциями, освобождая более высокие уровни от реше­ния этих задач.

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

В рамках эталонной модели также определяются услуги, которые должны обеспечивать ее уровни. Услуги, по сути дела, представляют со­бой функции, выполняемые на соответствующем уровне эталонной мо­дели.

В частности, физический уровень должен обеспечивать такие виды услуг, как установление и идентификация физических соединений, орга­низация последовательностей передачи бит информации, оповещение об окончании связи.

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

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

Транспортный уровень обеспечивает:

-       установление и разъединение транспортных соединений;

-       формирование блоков данных;

-       обеспечение взаимодействия сеансовых соединении с транспортными соединениями;

-       управление последовательностью передачи блоков данных;

-       обеспечение целостности блоков данных во время передачи;

-       обнаружение и устране­ние ошибок, сообщение о неисправленных ошибках, предоставление приоритетов в передаче блоков;

-       передачу подтверждений о принятых блоках, ликвидацию тупиковых ситуаций.

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

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

Прикладной уровень обеспечивает широкий набор услуг, в том числе: управление терминалами, управление файлами, управление диалогом, управление задачами, управление сетью в целом.

К дополнительным услугам уровня относятся услуги по организации электронной почты, передачи массивов сообщений и т.п.

Услуги различных уровней определяются с помощью протоколов эта­лонной модели взаимодействия открытых систем. В соответствии с семиуровневой моделью взаимодействия открытых систем вводятся семь ти­пов протоколов, которые именуются так же, как уровни.

 

1.1.2 Функции сетевого уровня.

 

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

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

Основная идея введения сетевого уровня состоит в том, чтобы оставить технологии, используемые в объединяемых сетях в неизменном в виде, но добавить в кадры канального уровня дополнительную информацию – заголовок сетевого уровня, на основании которой можно было бы находить адресата в сети с любой базовой технологией. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в объединенную сеть.

Заголовок сетевого уровня должен содержать адрес назначения и другую информацию, необходимую для успешного перехода пакета из сети одного типа в сеть другого типа. К такой информации может относиться, например:

-       номер фрагмента пакета, нужный для успешного проведения операций сборки-разборки фрагментов при соединении сетей с разными максимальными размерами кадров канального уровня;

-       время жизни пакета, указывающее, как долго он путешествует по интерсети, это время может использоваться для уничтожения «заблудившихся» пакетов;

-       информация о наличии и о состоянии связей между сетями, помогающая узлам сети и маршрутизаторам рационально выбирать межсетевые маршруты;

-       информация о загруженности сетей, также помогающая согласовать темп посылки пакетов в сеть конечными узлами с реальными возможностями линий связи на пути следования пакетов;

-       качество сервиса – критерий выбора маршрута при межсетевых передачах, например, узел-отправитель может потребовать передать пакет с максимальной надежностью, возможно в ущерб времени доставки.

В качестве адресов отправителя и получателя в составной сети используется не МАС-адрес, а пара чисел – номер сети и номер компьютера в данной сети. В канальных протоколах поле «номер сети» обычно отсутствует – предполагается, что все узлы принадлежат одной сети. Явная нумерация сетей позволяет протоколам сетевого уровня составлять точную карту межсетевых связей и выбирать рациональные маршруты при любой их топологии, используя альтернативные маршруты, если они имеются, что не умеют делать мосты.

Таким образом, внутри сети доставка сообщений регулируется канальным уровнем. А вот доставкой пакетов между сетями занимается сетевой уровень.

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

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

 

1.1.3 Стеки протоколов.

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

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

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

Наиболее популярными сейчас являются стеки TCP/IP, IPX/SPX, NetBIOS/SMB, SNA, ATM и OSI.

 

1.1.3.1 Стек OSI.

Для единого представления данных в сетях с неоднородными устройствами и программным обеспечением международная организация по стандартам ISO (International Standardization Organization) разработала базовую модель связи открытых систем OSI (Open System Interconnection).

Это международный, независимый от производителей стандарт. Он может обеспечить взаимодействие между корпорациями, партнерами и поставщиками. Это взаимодействие осложняется из-за проблем с адресацией, именованием и безопасностью данных. Все эти проблемы в стеке OSI частично решены. Протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их более подходящими для мощных машин, а не для сетей персональных компьютеров. Большинство организаций пока только планируют переход к стеку OSI. Из тех, кто работает в этом направлении, можно назвать Военно-морское ведомство США и сеть NFSNET. Одним из крупнейших производителей, поддерживающих OSI, является компания AT&T. Ее сеть Stargroup полностью базируется на стеке OSI.

На рисунке 1.1 представлена структура базовой модели. Каждый уровень модели OSI выполняет определенную задачу в процессе передачи данных по сети. Базовая модель является основой для разработки сетевых протоколов. В отличие от других стеков протоколов, стек OSI полностью соответствует семиуровневой модели OSI, каждый уровень из которых обслуживает различные части процесса области взаимодействия открытых систем.

 

 

Рисунок 1.1 – Модель OSI

 

Модель OSI описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей. Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам. Если приложение может взять на себя функции некоторых верхних уровней модели OSI, то для обмена данными оно обращается напрямую к системным средствам, выполняющим функции оставшихся нижних уровней модели OSI.

На физическом и канальном уровнях стек OSI поддерживает спецификации Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN.

На сетевом уровне реализованы протоколы, как без установления соединений, так и с установлением соединений.

Транспортный протокол стека OSI скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают нужное качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. Определены 5 классов транспортного сервиса, от низшего класса 0 до высшего класса 4, которые отличаются степенью устойчивости к ошибкам и требованиями к восстановлению данных после ошибок.

 

 

Рисунок 1.2 – Стек OSI

 

Сервисы прикладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). В последнее время ISO сконцентрировала свои усилия именно на сервисах верхнего уровня.

 

1.1.3.2 Стек TCP/IP.

Набор многоуровневых протоколов, или как называют стек TCP/IP, предназначен для использования в различных вариантах сетевого окружения. Стек TCP/IP с точки зрения системной архитектуры соответствует эталонной модели OSI (Open Systems Interconnection – взаимодействие открытых систем) и позволяет обмениваться данными по сети приложениям и службам, работающим практически на любой платформе, включая Unix, Windows, Macintosh и другие (см.рисунок 1.3).

Реализация TCP/IP фирмы Microsoft [1] соответствует четырехуровневой модели вместо семиуровневой модели, как показано на рисунке 8. Модель TCP/IP включает большее число функций на один уровень, что приводит к уменьшению числа уровней. В модели используются следующие уровни:

-       уровень Приложения модели TCP/IP соответствует уровням Приложения, Представления и Сеанса модели OSI;

-       уровень Транспорта модели TCP/IP соответствует аналогичному уровню Транспорта модели OSI;

-       межсетевой уровень модели TCP/IP выполняет те же функции, что и уровень Сети модели OSI;

-       уровень сетевого интерфейса модели TCP/IP соответствует Канальному и Физическому уровням модели OSI.

 

 

Рисунок 1.3 – Соответствие модели OSI и четырехуровневой модели TCP/IP

 

Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API – Application Programming Interface):

-       сокеты Windows;

-       NetBIOS.

Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP – приложениями и семействами протоколов.

Интерфейс NetBIOS используется для связи между процессами (IPC – Interposes Communications) служб и приложений ОС Windows. NetBIOS выполняет три основных функции:

-       определение имен NetBIOS;

-       служба дейтаграмм NetBIOS;

-       служба сеанса NetBIOS.

Уровень транспорта TCP/IP отвечает за установление и поддержание соединения между двумя узлами. Основные функции уровня:

-       подтверждение получения информации;

-       управление потоком данных;

-       упорядочение и ретрансляция пакетов.

В зависимости от типа службы могут быть использованы два протокола:

-       TCP (Transmission Control Protocol – протокол управления передачей);

-       UDP (User Datagram Protocol – пользовательский протокол дейтаграмм).

TCP обычно используют в тех случаях, когда приложению требуется передать большой объем информации и убедиться, что данные своевременно получены адресатом. Приложения и службы, отправляющие небольшие объемы данных и не нуждающиеся в получении подтверждения, используют протокол UDP, который является протоколом без установления соединения. В таблице 1.2 приведено семейство протоколов TCP/IP.

 

Таблица 1.2 – Семейство протоколов TCP/IP

Название протокола

Описание протокола

WinSock

Сетевой программный интерфейс

NetBIOS

Связь с приложениями ОС Windows

TDI

Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

TCP

Протокол управления передачей (Transmission Control Protocol)

UDP

Протокол пользовательских дейтаграмм (User Datagram Protocol)

ARP

Протокол разрешения адресов (Address Resolution Protocol)

RARP

Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

IP

Протокол Internet(Internet Protocol)

ICMP

Протокол управляющих сообщений Internet (Internet Control Message Protocol)

IGMP

Протокол управления группами Интернета (Internet Group Management Protocol),

NDIS

Интерфейс взаимодействия между драйверами транспортных протоколов

FTP

Протокол пересылки файлов (File Transfer Protocol)

TFTP

Простой протокол пересылки файлов (Trivial File Transfer Protocol)

 

Протокол TCP отвечает за надежную передачу данных от одного узла сети к другому. Он создает сеанс с установлением соединения, иначе говоря, виртуальный канал между машинами. Установление соединения происходит в три шага:

1)     Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

2)     Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

3)     Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

Трехступенчатое открытие соединения устанавливает номер порта, а также ISN клиента и сервера. Каждый отправляемый TCP-пакет содержит номера TCP – портов отправителя и получателя, номер фрагмента для сообщений, разбитых на меньшие части, а также контрольную сумму, позволяющую убедиться, что при передачи не произошло ошибок.

В отличие от TCP, UDP не устанавливает соединения. Протокол UDP предназначен для отправки небольших объемов данных без установки соединения и используется приложениями, которые не нуждаются в подтверждении адресатом их получения. UDP также использует номера портов для определения конкретного процесса по указанному IP адресу. Однако UDP порты отличаются от TCP портов и, следовательно, могут использовать те же номера портов, что и TCP, без конфликта между службами.

Межсетевой уровень отвечает за маршрутизацию данных внутри сети и между различными сетями. На этом уровне работают маршрутизаторы, которые зависят от используемого протокола и используются для отправки пакетов из одной сети (или ее сегмента) в другую (или другой сегмент сети). В стеке TCP/IP на этом уровне используется протокол IP.

Протокол IP обеспечивает обмен дейтаграммами между узлами сети и является протоколом, не устанавливающим соединения и использующим дейтаграммы для отправки данных из одной сети в другую. Данный протокол не ожидает получение подтверждения (ASK, Acknowledgment) отправленных пакетов от узла адресата. Подтверждения, а также повторные отправки пакетов осуществляется протоколами и процессами, работающими на верхних уровнях модели.

К его функциям относится фрагментация дейтаграмм и межсетевая адресация. Протокол IP предоставляет управляющую информацию для сборки фрагментированных дейтаграмм. Главной функцией протокола является межсетевая и глобальная адресация. В зависимости от размера сети, по которой будет маршрутизироваться дейтаграмма или пакет, применяется одна из трех схем адресации.

Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя).

Физический, или локальный адрес узла, определяемый технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети, – это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС – адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

Сетевой, или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла гибкое, и граница между этими полями может устанавливаться произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Символьный адрес, или DNS-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol (ARP). ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети – протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу – нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP – RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

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

Протокол управления сообщениями Интернета (ICMP – Internet Control Message Protocol) используется IP и другими протоколами высокого уровня для отправки и получения отчетов о состоянии переданной информации. Этот протокол используется для контроля скорости передачи информации между двумя системами. Если маршрутизатор, соединяющий две системы, перегружен трафиком, он может отправить специальное сообщение ICMP – ошибку для уменьшения скорости отправления сообщений.

Узлы локальной сети используют протокол управления группами Интернета (IGMP – Internet Group Management Protocol), чтобы зарегистрировать себя в группе. Информация о группах содержится на маршрутизаторах локальной сети. Маршрутизаторы используют эту информацию для передачи групповых сообщений.

Групповое сообщение, как и широковещательное, используется для отправки данных сразу нескольким узлам.

Network Device Interface Specification – спецификация интерфейса сетевого устройства, программный интерфейс, обеспечивающий взаимодействие между драйверами транспортных протоколов, и соответствующими драйверами сетевых интерфейсов. Позволяет использовать несколько протоколов, даже если установлена только одна сетевая карта.

Уровень сетевого интерфейса модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети такого, как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

 

1.1.3.3 Стек SNA.

SNA (Systems Network Architecture) является патентованной архитектурой компании IBM, созданной в 1974 году в соответствии с иерархической моделью построения сетей, которой в то время придерживалась IBM. В эту иерархию включились мэйнфреймы (хост), коммуникационные контроллеры, кластерные (групповые) контроллеры и терминалы.

Уровневая архитектура и основные протоколы стека SNA в сопоставлении с архитектурой ISO/OSI представлены на рисунках 3,4. Как видно, модель SNA напоминает модель ISO/OSI. Но функции в ней сгруппированы по-другому.

Верхний уровень службы транзакций (Transaction Services) обеспечивает средства приложений для распределенной обработки и управления сетью. К прикладным протоколам относятся:

-       DIA (Document Interchange Architecture) определяет стандарты обмена документами между разнородными вычислительными системами; координирует передачу файлов, поиск документов и их хранение;

-       SNADS (SNA Distributed Service) управляет распространением документов и сообщений (инфраструктура для распространения электронной почты);

-       DDM (Distributed Data Management) обеспечивает прозрачный удаленный доступ к файлам за счет механизма перенаправления запросов.

Уровень службы представления данных (Presentation Services) выполняет часть функций шестого уровня модели ISO/OSI (трансляция данных) и частично седьмого по административному управлению совместного использования ресурсов и синхронизации операций.

Уровень управления потоком данных (Data Flow Control) по своим функциям в основном соответствует сеансовому уровню модели ISO/OSI. Он управляет диалогами, обработкой запросов и ответов, групповых сообщений и прерыванием потока данных по запросу.

Уровень управления передачей (Transmission Control) выполняет функции транспортного уровня ISO/OSI по управлению передачей данных в пределах установленных сессий и некоторые функции (шифрование/дешифрование и др.) шестого уровня.

Уровень управления маршрутом (Path Control) определяет функции, в основном входящие в сетевой уровень модели ISO/OSI, а также включает в себя управление потоками данных (в модели ISO/OSI это функция канального уровня).

Уровень звена данных (Data Link) почти аналогичен второму уровню эталонной модели и совместим с ним по используемому протоколу, так как протоколы 802.2 и SDLC входят в семейство оригинального протокола HDLC.

На этих уровнях располагаются протоколы:

-       APPC (Advanced Program-to-Program Communication) выполняет функции сеансового и транспортного уровней ISO/OSI. На сеансовом уровне обеспечивает администрирование сеанса и трансляцию синтаксиса файлов, а на транспортном организацию последовательностей сегментов и сквозное управление потоком данных.

-       CICS (Customer Information Control System) – инструментальное средство для построения приложений обработки транзакций, организует доступ к распределенной файловой системе, защиту информации, многозадачность и пр.

-       IMS (Information Management System) еще одна среда обработки транзакций, подобная CICS, позволяющая нескольким приложениям совместно использовать базы данных и планировать приоритеты транзакций.

-       TSO (Time Sharing Operation) обеспечивает интерактивный пользовательский терминальный интерфейс, реализуя одновременную поддержку множества независимых параллельных пользовательских сеансов; каждый пользователь TSO при помощи специальных команд получает возможность выполнять операции над наборами данных, запускать задания и контролировать ход их выполнения, использовать устройства, связываться с другими пользователями.

Среди них коммуникационные:

-       APPN (Advanced Peer-to-Peer Networking) работает на сетевом и транспортном уровнях и обеспечивает одноранговое сетевое взаимодействие между несколькими физическими устройствами (миникомпьютерами, кластерными контроллерами, шлюзами, рабочими станциями и пр.); предусматривает управление окном передач и службу каталогов.

-       VTAM (Virtual Telecommunication Access Method) обеспечивает управление, обмен данными и управление потоками данных в сетях SNA; на сеансовом уровне VTAM управляет диалогом и реализует управление сеансом, а на транспортном уровне обеспечивает сквозное управление потоками данных.

-       NCP (Network Control Program) – протокол управления ресурсами, подключенными к коммуникационным контроллерам; частично выполняет функции сетевого уровня (маршрутизация, шлюзование) и частично - канального уровня (управление доступом к каналу, физическая и логическая адресация, управление потоком данных).

Первый уровень – физический (Physical) – подобно модели ISO/OSI определяет характеристики сопряжения со средой передачи данных. Решения этого уровня основаны преимущественно на тех же стандартах и рекомендациях, что и модель ISO/OSI.

 

1.1.3.4 Стек ATM.

Стек протоколов АТМ формально соответствует нижним уровням модели ISO/OSI и включает уровень адаптации АТМ, собственно уровень АТМ и физический уровень. Прямого соответствия между уровнями протоколов технологии АТМ и уровнями модели ISO/OSI нет.

Уровень адаптации AAL (ATM Adaptation Layer) представляет собой набор протоколов AAL1-AAL5; действует как интерфейс с вышерасположенными уровнями и адаптирован к требованиям различных применений (речь, мультимедиа, данные и т.п.). Рекомендация I.362 определяет четыре класса услуг уровня AAL, зависящих от трех параметров:

-       временной синхронизации между отправителем и получателем (требуется или не требуется);

-       скорости передачи (постоянная или переменная);

-       режима соединения (с установлением или без установления соединения).

Таким образом, уровень AAL поддерживает прикладные программы; его операции зависят от характера выполняемых в системе приложений, при этом выполняет некоторые функции уровней 4, 5 и 7 модели ISO/OSI.

Протокол АТМ занимает в стеке протоколов АТМ примерно то же место, что и протокол IP в стеке TCP/IP, выполняя передачу ячеек через коммутаторы при установленном и настроенном виртуальном соединении, то есть на основании готовых таблиц коммутации портов.

Одноименный уровень несет ответственность за администрирование передачи и приема между узлом пользователя и коммутатором. Уровень выполняет четыре основные функции:

-       мультиплексирование ячеек в единый поток при передаче ячеек и демультиплексирование при приеме потока;

-       трансляцию номеров виртуальных путей VPI и соединений VCI;

-       генерацию заголовков ячеек АТМ при получении данных от уровня AAL;

-       управление потоком по принятым методам сигнализации.

Уровень АТМ приблизительно соответствует уровням 2 и 3 эталонной модели ISO/OSI, но имеет функциональные упрощения с целью достижения большей простоты и более высокой производительности сети.

Физический уровень содержит два подуровня: сходимости передачи ТС (Transmission Convergence) и физической среды РМ (Physical Medium). Первый подуровень выполняет функции генерации, формирования и разграничения кадров, генерации контрольной последовательности и корректировки скоростей передачи ячеек.

Подуровень РМ осуществляет передачу битов данных и образует электрический (оптический) интерфейс со средой передачи данных. Рекомендация I.432 определила два стандартных типа подуровня РМ на скоростях 155 и 520 Mb/s (коаксиальный кабель) и 622 Мb/s (оптоволоконный кабель) SDH/SONET. Для локальных сетей компания IBM разработала спецификацию сети АТМ со скоростью 25 Mb/s (витая пара), которая принята АТМ Forum. Имеются и другие физические интерфейсы к сетям АТМ, отличные от SDH/SONET. К ним относятся интерфейсы T1/E1, Т3/Е3 и др.

Комитет АТМ Forum разработал спецификацию, называемую LAN Emulation, которая обеспечивает совместимость традиционных протоколов и оборудования локальных сетей с технологией АТМ (канальный уровень). Спецификация LANE определяет способ преобразования кадров и адресов МАС-уровня традиционных технологий локальных сетей в ячейки и коммутируемые виртуальные соединения технологии АТМ, а также способ обратного преобразования.

 

1.2  Понятие IP-телефонии

 

Наиболее широко распространенной современной сетевой технологией является IP-технология, благодаря универсальности своего использования.

IP (Internet Protocol) применяется на всех участках сети, хорошо приспособлен как для низкоскоростных каналов доступа, так и для высокоскоростных линий IP; играет роль интегратора доступа, обеспечивая единый универсальный интерфейс для приложений, транспортных протоколов и операционных систем. IP-технология объединяет все виды трафика на единой платформе. Перспективным способом организации телефонных разговоров по сетям передачи данных является IP-телефония – одно из приложений   IP-технологии. Она   представляется наиболее экономически выгодной, так как при ее реализации пользователям предлагаются услуги телефонной связи при значительном сокращении их расходов на телефонные разговоры.

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

Процесс передачи голоса по IP-сети состоит из нескольких этапов.

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

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

Извлечение переданной информации из полученных пакетов также состоит из нескольких этапов.

Когда голосовые пакеты приходят на терминал получателя, то сначала проверяется их порядковая последовательность. IP-сети не гарантируют время доставки, и пакеты со старшими порядковыми номерами могут прийти раньше, более того, интервал времени получения также может колебаться. Для восстановления исходной последовательности и синхронизации происходит временное накопление пакетов. Однако некоторые пакеты могут быть потеряны при доставке, либо задержка их при доставке превышает допустимый уровень. В обычных условиях приемный терминал запрашивает повторную передачу ошибочных или потерянных данных. Но передача голоса слишком критична к задержкам, поэтому в этом случае либо включается алгоритм аппроксимации, позволяющий на основе полученных пакетов приблизительно восстановить потерянные, либо эти потери просто игнорируются, а пропуски заполняются данными случайным образом.

Полученная   таким   образом   последовательность   данных декомпрессируется и преобразуется непосредственно в аудио-сигнал, несущий голосовую информацию получателю. Таким образом, с большей степенью вероятности, полученная информация не соответствует исходной. Однако в некоторых пределах избыточность голосовой информации позволяет мириться с такими потерями.

 

1.2.1 Базовая архитектура систем IP – телефонии.

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

В рекомендации Н.323 описаны четыре основных компонента:

-       терминал;

-       (gatekeeper) контроллер зоны;

-       шлюз;

-       устройство управления многоточечной конференцией.

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

Терминал Н.323 представляет собой конечную точку в сети, способную передавать и принимать трафик в масштабе реального времени, взаимодействуя с другим терминалом Н.323, шлюзом или устройством управления многоточечной конференцией.

Для обеспечения этих функций терминал включает в себя:

-       элементы аудио (микрофон, акустические системы, телефонный микшер, система акустического эхоподавления);

-       элементы видео (монитор, видеокамера);

-       элементы сетевого интерфейса;

-       интерфейс пользователя.

Терминал Н.323 должен поддерживать протоколы Н.245, Q.931, RAS, RTP и семейство протоколов Н.450, а также включать аудиокодек G.711.

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

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

Более полно основные функции шлюза, состоят в следующем:

-       реализация физического интерфейса с телефонной и IP-сетью;

-       детектирование и генерация сигналов абонентской сигнализации;

-       преобразование сигналов абонентской сигнализации в пакеты данных и обратно;

-       преобразование речевых сигналов в пакеты данных и обратно;

-       соединение абонентов;

-       передача по сети сигнализационных и речевых пакетов;

-       разъединение связи.

Большая часть функций шлюза в рамках архитектуры TCP/IP реализуется в процессах прикладного уровня.

Функцию управления вызовами выполняет gatekeeper (контролер зоны). Gatekeeper выполняет следующие функции:

-       преобразовывает адреса-псевдонимы в транспортные адреса;

-       контролирует доступ в сеть на основании авторизации вызова, наличия необходимой для связи полосы частот и других критериев, определяемых производителем;

-       контролирует полосу пропускания;

-       управляет зонами.

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

Сервер управления конференциями (MCU – Multipoint Control Unit) обеспечивает связь трех и более Н-323-терминалов. Все терминалы, участвующие в конференции, устанавливают соединение с MCU. Сервер управляет ресурсами конференции, согласовывает возможности терминалов по обработке звука и видео, определяет аудио и видео-потоки, которые необходимо направлять по многим адресам.

В рамках архитектуры Н.323 может быть использовано два подхода для построения системы управления для многоточечной конференции:

-       децентрализованное управление многоточечной конференцией;

-       централизованное управление многоточечной конференцией.

                Первый тип требует, чтобы все участники конференции пересылали многоадресные (групповые) сообщения всем остальным. Это позволяет избежать концентрации трафика в некоторых сегментах сети, но управлять такой конференцией не очень удобно. При использовании централизованного метода конечные узлы передают сигнал системе MCU, которая обеспечивает его рассылку.

 

1.2.2  Стандарты, используемые в IP-телефонии.

Для обеспечения совместимости оконечного оборудования и шлюзов различных поставщиков проблемами стандартизации IP-телефонии занимаются несколько международных организаций:  

-       сектор стандартизации телекоммуникации Международного союза электросвязи МСЭ (International Telecommunication Union – Telecommunication, ITU-T);

-       Европейский институт стандартизации по телекоммуникациям (European Telecommunication Standard Institute, ETSI);

-       рабочая группа по инженерным проблемам Интернет (Internet Engineering Task Force, IETF);

-       Американский национальный институт стандартов (American National Standards Institute, ANSI);

-       форум VoIP (Voice over IP) и др.

В таблице 1.3 приведены стандарты, связанные с IP-телефонией.

 

Таблица 1.3 – Стандарты IP-телефонии

Стандарты/ протоколы

 

Назначение стандартов/протоколов

 

Т.120

 

Конференция по передачи данных в реальном времени

 

Н.320

 

Видеоконференция ISDN

 

Н.323

 

Мультимедийная связь в сетях пакетной коммутации

 

Н.324

Видео- аудио- связь через низкоскоростной канал передачи данных, например, через коммутируемое модемное соединение 

OSP

 

Протокол открытого взаимодействия обеспечивает передачу IP-трафика на основе языка XML

 

SIP

 

Протокол инициализации сеансов связи для шлюзов VoIP и оконечного оборудования пользователей.

 

RSVP

 

Протокол резервирования ресурсов обеспечивает приоритезацию пакетного трафика пользователей

 

RTP

 

Протокол реального времени обеспечивает передачу аудио, и видео в реальном времени

 

MGCP

 

Протокол управления медиа шлюзом определяет, как производится управление пакетами данных от различных служб (например, голоса и видео)

 

LDAP

 

Упрощенный протокол доступа к каталогам обеспечивает универсальную адресацию баз данных в сетях

 

 

1.2.2.1 Стандарты ITU-Т.

Начальное развитие техники IP-телефонии опиралось в большей степени на рекомендации Международного союза электросвязи. В первую очередь, это рекомендации G.729  G.723.1, устанавливающие стандарты на компрессию речи со скоростью 8 кбит/с и 6,3/5,3 кбит/с, соответствующие рекомендации Н.323. Для передачи речи через IP-сеть рекомендация Н.323 обязательна и фактически является стандартом.

Набор рекомендаций Н.323 определяет сетевые компоненты, протоколы и процедуры, позволяющие организовать мультимедиа-связь в пакетных сетях. Они определяют порядок функционирования абонентских терминалов в сетях с разделяемым ресурсом, не гарантирующим качество обслуживания QoS. Н.323-совместимые устройства могут применяться для телефонной связи (IP-телефония), передача звука и видео (видео-телефония), а также звука, видео и данных (мультимедийные конференции). В настоящее время готовится новая версия стандарта. В ней будут описаны создание пакетных сетей факсимильной связи и организация связи между Н.323-шлюзами.

Стандарт Н.323  входит в  семейство рекомендаций Н.32х, описывающих порядок организации мультимедиа-связи в сетях различных типов:

-       Н.320 – узкополосные цифровые коммутируемые сети;

-       Н.321 – широкополосные сети ISDN и ATM;

-       Н.322 – пакетные сети с гарантированной полосой пропускания;

-       Н.324 – телефонные сети общего пользования (ТфОП).

Одна из основных целей разработки стандарта Н.323 – обеспечение взаимодействия с другими типами сетей мультимедиа-связи. Данная задача реализуется с помощью шлюзов, осуществляющих трансляцию сигнализации и форматов данных. При условии соответствия стандарту устройства с различными возможностями могут взаимодействовать друг с другом, например, терминалы с видео средствами могут участвовать в аудио-конференции.  В  совокупности  с  другими  стандартами  на мультимедийную связь рекомендации Н.323 применимы для любых видов соединений – от многоточечных до «точка-точка». Основные компоненты этого стандарта приведены в таблице 1.4.

 

Таблица 1.4 – Рекомендации Н.323

Рекомендация

Описание

Н.225

Определяет сообщения по управлению вызовом, включая сигнализацию и регистрацию, а также пакетизацию и синхронизацию потоков мультимедийных данных

Н.245

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

G.711

Аудио кодек 3,1 кГц на 48, 56 и 64 кбит/с

G.722

Аудио кодек 7 кГц на 48, 56 и 64 кбит/с

G.723.1

Аудиокодек для режимов 5.3 кбит/с и 6.3 кбит/с

G.728

Аудиокодек 3,1 кГц на 16 кбит/с

G.729.a

Аудиокодек для режима 8 кбит/с

 

Стандарт Н.323 определяет также порядок взаимодействия с оконечными устройствами других стандартов. Наиболее часто такая задача возникает при сопряжении телефонных сетей с коммутацией каналов и коммутацией пакетов. Сети стандарта Н.323 совместимы и с другими типами Н.32х-сетей.

На следующем этапе развития IP-телефонии к спецификациям Н.323, соответствующим нижним уровням эталонной модели взаимодействия открытых систем (ЭМВОС), будут добавлены новые. Они зафиксируют возможности обеспечения классов и качества обслуживания, услуг, относящихся соответственно, ко второму (канальному) и третьему (сетевому) уровням.

 

1.2.2.2 Стандарты IETF.

Рабочей группой IETF был разработан протокол резервирования ресурсов (Resource Reservation Protocol, RSVP). С помощью RSVP мультимедиа-программы  могут  потребовать  специального  качества обслуживания (quality of service, QoS) посредством любого из существующих сетевых протоколов – главным образом IP, хотя возможно использовать UDP, чтобы обеспечить качественную передачу информации. Протокол RSVP предусматривает QoS благодаря тому, что через каждый узел, который связывает между собой участников телефонного разговора, может передаваться определенное количество данных.

Хотя протокол RSVP предусматривает решение проблемы QoS, в нем имеется недостаток, присущий протоколам Интернет для программ мультимедиа, а именно: недостаточное развитие средства синхронизации данных. Надежные протоколы такие, как TCP/IP, располагают многоуровневыми средствами, предотвращающими потерю данных. Однако многоуровневая архитектура может помешать выполнению чувствительных к временной   упорядоченности   процедур   декодирования   аудио   и видеосигналов, реагирующих на несвоевременное поступление данных. Кроме того, временные критерии вообще не фигурируют в IP. Из этого следует, что синхронизация может оказаться очень сложной задачей. Поэтому комитетом IETF был разработан транспортный протокол реального времени (Real-time Transport Protocol, RTP).

Как правило, протокол RTP используется как надстройка поверх какого-нибудь ненадежного протокола, например, UDP. К каждому пакету данных, посылаемых посредством RTP, прилагается информация о времени его посылки и порядковый номер. Благодаря этой дополнительной информации прикладные программы могут относительно несложно смешивать потоки аудио и видеоданных. Информация о времени посылки, прилагаемая к каждому пакету, позволяет осуществлять синхронизацию без особых трудностей, так как программа может легко определить порядковый номер кадра. Еще одно преимущество RTP состоит в том, что его можно использовать с RSVP для передачи синхронизированной мультимедиа информации с определенным уровнем качества обслуживания.

Возможности RTP были расширены путем объединения его с еще одним протоколом, а именно: с протоколом управления передачей в реальном времени (Real-time Transport Control Protocol, RTCP). С помощью протокола RTCP программы могут приспосабливаться к изменяющимся нагрузкам на сеть, уведомляя отправителей и получателей об изменении объемов передаваемой информации по сети. Например, RTCP – совместимый телефон может отслеживать пропускную  способность сети и  мгновенно переключаться на алгоритм кодирования/декодирования аудиосигнала более низкого качества, если в сети становиться слишком много пользователей.

Быстрое развитие IP-телефонии выявило проблему совместимости шлюзов, предназначенных для сопряжения IP-сетей и сетей с коммутацией каналов. Специальная группа по управлению многоточечными сеансами мультимедиа-связи организации IETF разработала собственный протокол прикладного уровня для инициализации сеанса связи (Session Initiation Protocol, SIP). Протокол SIP, не включенный пока в стандарт Н.323, может оказать огромное влияние на распространение IP-телефонии, поскольку он стирает границы, пока еще существующие между ней и обычной телефонией.

 

1.3      Классификация сетей IP-телефонии

 

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

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

-       выделенные;

-       интегрированные;

-       смешанные.

В выделенных сетях (см.рисунок 1.4) связь между оконечными устройствами осуществляется по выделенным каналам и пропускная способность этих каналов используется только для передачи речевых пакетов.

 

 

      Рисунок 1.4 – Пример построения выделенной сети IP-телефонии

Главное преимущество выделенной сети – это высокое качество передачи речи, так как такие сети предназначены только для передачи речевого трафика. Кроме того, для обеспечения гарантированного качества предоставляемых услуг в этих сетях, кроме протокола IP, могут применяться и другие транспортные протоколы: ATM и Frame Relay.

В интегрированных сетях IP-телефонии для связи между устройствами используется глобальная сеть Интернет (см.рисунок 1.5). Это может быть уже существующая собственная сеть или доступ к сети Интернет через провайдеров.

 

 

Рисунок 1.5 – Пример построения интегрированной сети IP-телефонии

 

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

Если для объединения устройств в сети IP-телефонии используются выделенные каналы и сеть Интернет, то такие сети называются сетями смешанного типа (см.рисунок 1.6).

 

 

Рисунок 1.6 – Пример построения смешанной сети IP-телефонии

Вопрос о том, какие каналы использовать для связи устройств между собой, решается оператором индивидуально в зависимости от возможностей.

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

По своему масштабу все сети IP-телефонии делятся на международные, национальные и местные.

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

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

Операторы IP-телефонии, не имеющие собственной инфраструктуры, оказывают услуги с использованием средств и сетей провайдеров Интернет или провайдеров первичной телекоммуникационной сети и стараются выйти за рамки национальной сети, так как особенно выгодно предоставлять услуги IP-телефонии на большие расстояния.

Местная сеть IP-телефонии предоставляет возможность абонентам местной телефонной сети и частным компаниям воспользоваться услугами IP-телефонии. В основном, операторы местных сетей являются провайдерами доступа к сети IP-телефонии. Чаще всего, их сети имеют всего один шлюз, подключенный к более крупным сетям через сеть Интернет или по выделенным каналам. Таких операторов часто называют ресселерами, так как они просто перепродают услуги других сетей абонентам местной телефонной сети. Для большинства операторов местная сеть является лишь промежуточным этапом развития, и они стремятся выйти на международный или национальный уровень.

 

1.3.1 Способы соединений в IP сети.

С использованием аппаратуры связи, реализующей функции передачи речевой информации по сетям с маршрутизацией пакетов по протоколу IP, возможны следующие варианты организации связи:

1) «От телефона к телефону» (см.рисунок 1.7). Вызов идет с обычного телефонного аппарата к АТС, на один из выходов которой подключен шлюз IP-телефонии, и через IP-сеть доходит до другого шлюза, который осуществляет обратные преобразования.

2) «От компьютера к телефону» (см.рисунок 1.8). Мультимедийный компьютер, имеющий программное обеспечение IP-телефонии, звуковую плату (адаптер), микрофон и акустические системы, подключается к IP-сети или к сети Интернет и с другой стороны шлюз IP-телефонии имеет соединение через АТС с обычным телефонным аппаратом.

 

 

            Рисунок 1.7 – Схема связи «телефон-телефон»

 

       

 

   Рисунок 1.8 – Схема связи «компьютер-телефон»

 

3) «От компьютера к компьютеру» (см.рисунок 1.9). В этом случае соединение устанавливается через IP-сеть между двумя мультимедийными компьютерами, оборудованными аппаратными и программными средствами для работы с IP-телефонией.

4) «От WEB браузера к телефону» (см.рисунок 1.10). С развитием сети Интернет стал возможен доступ и к речевым услугам. Например, на WEB-странице некоторой компании в разделе «Контакты» размещается кнопка «Вызов», нажав на которую можно осуществить речевое соединение с представителем данной компании без набора телефонного номера. Стоимость такого звонка для вызывающего пользователя входит в стоимость работы в сети Интернет.

 

 

Рисунок 1.9 – Схема связи «компьютер-компьютер»

 

 

         Рисунок 1.10 – Схема связи «WEB-браузер - телефон»

 

Установление соединения в IP-телефонии осуществляется аналогично традиционной телефонии. Абонент снимает трубку и, услышав сигнал АТС, набирает номер шлюза, расположенного в том же или в ближайшем к нему городе, после соединения с местным шлюзом абонент получает голосовое приглашение, проходит авторизацию, сообщая тоновым набором на клавиатуре телефонного аппарата свой пароль, а затем набирает код страны и номер телефона вызываемого абонента. Местный шлюз по коду страны и города определяет в базе данных IP адрес шлюза, ближайшего к вызываемому абоненту. Местный шлюз устанавливает с удалённым шлюзом соединение через Интернет (частный случай). Удалённый шлюз вызывает через ТфОП города нужного абонента. Когда по окончании разговора один из абонентов кладёт трубку, местный шлюз разрывает соединение с удалённым шлюзом, фиксирует время соединения и производит другие необходимые операции.

 

1.4 Достоинства и недостатки IP-телефонии

 

Конечный пользователь IP-телефонии не только сохранит имеющиеся преимущества телефонной сети общего пользования, которые включают широкий диапазон услуг, простоту использования, но и получит следующие дополнительные преимущества:

-       более низкие цены на традиционные услуги телефонной связи;

-       одновременная поддержка голоса и данных. Это означает, что клиенты получат дополнительные преимущества от экономии в развитии, возможном за счет использования единой сети, а также за счет того, что объемы трафика и шаблоны быстро сменяются от данных к голосу, и наобо­рот, – это защищает клиента;

-       возможность пользователей иметь доступ к одному и тому же набору услуг вне зависимости от того, где и как они подключаются к сети. Эта распределенная архитектура обеспечивает прекрасную гибкость и делает возможным отсутствие привязки к месту предоставления услуги;

-       новый набор устройств доступа: от традиционных телефонов и факсов до компьютеров;

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

-       возможность настройки набора услуг;

-       простота оплаты услуг IP-телефонии (обычно с помощью предоплаченных телефонных карточек);

-       простота контроля пользователем состояния его расчетного счета (через сеть Интернет).

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

Для Интернет-провайдеров услуга Интернет-телефонии обеспечивает следующие преимущества:

-       сбережение капитальных вложений за счет использования открытых компьютерных платформ;

-       снижение эксплуатационных расходов как результат предоставления разнообразия услуг на единой сети;

-       открытая среда разработчика услуги означает более конкурентную, а следовательно, менее дорогую разработку новых услуг;

-       множество услуг может быть доступно через единственный канал с пользователем, что означает больше услуг (прибыли) в расчете на одного пользователя.

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

Различие позиций традиционной и IP-телефонии на рынке услуг телекоммуникаций предопределено уровнем качества предлагаемых услуг, обусловленным технологией их предоставления. Традиционная телефония предусматривает технологию гарантированного качества в соответствии с заданными нормативами, в то время как IP-телефония остается услугой телекоммуникаций пока более низкого качества. Основные факторы, влияющие на снижение качества передачи речи по IP протоколу, – врем я запаздывания пакетов, их задержка и пропадание.

Однако при использовании современного оборудования и сети максимальное время задержки уже сегодня находится на уровне 250 мс, причем качество каналов IP-телефонии сравнимо с качеством каналов сотовой связи, а часто и коммутируемой сети. Следует учесть, что время задержки, вносимое оборудованием, примерно обратно пропорционально производительности процессоров. Последняя же удваивается каждые 1,5-2 года. Поэтому можно ожидать, что в ближайшие годы  максимальная задержка в каналах IP-телефонии приблизится к 150 мс (нормы для каналов коммутируемой сети), а качество этих каналов – к качеству каналов ТфОП.

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

 

2 Адресация в IP-сетях

 2.1 Типы адресов: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя)

 

         Существенным компонентом любой системы сети является оперделение местонахождения компьютерных систем. Существуют различные схемы адресации, используемые для этой цели, которые зависят от используемого семейства протоколов. Другими словами, адресация AppleTalk отличается от адресации TCP/IP, которая в свою очередь отличается от адресации OSI, и т.д.

         Двумя важными типами адресов являются адреса канального уровня и адреса сетевого уровня. Адреса канального уровня (называемые также физическими или аппаратными адресами), как правило, уникальны для каждого сетевого соединения. У большинства локальных сетей (LAN) адреса канального уровня размещены в схеме интерфейса; они назначаются той организацией, которая определяет стандарт протокола, представленный этим интерфейсом. Т.к. большинство компьютерных систем имеют одно физическое сетевое соединение, они имеют только один адрес канального уровня. Роутеры и другие системы, соединенные с множеством физических сетей, могут иметь множество адресов канального уровня. В соответствии с названием адреса канального уровня существуют на Уровне 2 эталонной модели ISO.

         Адреса сетевого уровня (называемые также виртуальными или логическими адресами) существуют на Уровне 3 эталонной модели OSI. В отличие от адресов канального уровня, которые обычно существуют в пределах плоского адресного пространства, адреса сетевого уровня обычно иерархические. Другими словами, они похожи на почтовые адреса, которые описывают местонахождение человека, указывая страну, штат, почтовый индекс, город, улицу, адрес на этой улице и наконец, имя. Хорошим примером одноуровневой адресации является номерная система социальной безопасности США, в соответствии с которой каждый человек имеет один уникальный номер, присвоенный ему службой безопасности.

         Иерархические адреса делают сортировку адресов и повторный вызов более легкими путем исключения крупных блоков логически схожих адресов в процессе последовательности операций сравнения. Например, можно исключить все другие страны, если в адресе указана страна «Ирландия». Легкость сортировки и повторного вызова являются причиной того, что роутеры используют адреса сетевого уровня в качестве базиса маршрутизации.

         Адреса сетевого уровня различаются в зависимости от используемого семейства протоколов, однако они, как правило, используют соответствующие логические разделы для нахождения компьютерных систем в объединенной сети. Некоторые из этих логических разделов базируются на физических характеристиках сети (таких, как сегмент сети, в котором находится какая-нибудь система); другие логические разделы базируются на группировках, не имеющих физического базиса (например, «зона» AppleTalk).

         После того, как по адресам установили местоположение компьютерных систем, может быть произведен обмен информацией между двумя или более системами. В литературе по объединенным сетям наблюдается непоследовательность в наименовании логически сгруппированных блоков информации, которая перемещается между компьютерными системами. «Блок данных», «пакет», «блок данных протокола», «PDU», «сегмент», «сообщение» -  используются все эти и другие термины, в зависимости от прихоти тех, кто пишет спецификации протоколов.

         В настоящей работе термин «блок данных» (frame) обозначает блок информации, источником и пунктом назначения которого являются объекты канального уровня. Термин «пакет» (packet) обозначает блок информации, у которого источник и пункт назначения - объекты сетевого уровня. И наконец, термин «сообщение» (message) oбoзначает информационный блок, у которого объекты источника и места назначения находятся выше сетевого уровня. Термин «сообщение» используется также для обозначения отдельных информационных блоков низших уровней, которые имеют специальное, хорошо сформулированное назначение.

Таким образом, каждый компьютер в сети TCP/IP имеет адреса трех уровней:

-       локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети, – это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта – идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие, как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети.

-       IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами.

Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла – гибкое, и граница между этими полями может устанавливаться весьма произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение: символьный идентификатор-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес, называемый также DNS-именем, используется на прикладном уровне, например, в протоколах FTP или telnet.

 

2.1.1 Основные классы IP-адресов.

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

128.10.2.30 - традиционная десятичная форма представления адреса,

10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.

На рисунке 2.1 показана структура IP-адреса.

 

Класс А

0

N сети

N узла

Класс В

1

0

N сети

N узла

Класс С

1

1

0

N сети

N узла

Класс D

1

1

1

0

адрес группы multicast

Класс Е

1

1

1

1

0

зарезервирован

 

Рисунок 2.1 – Структура IР-адреса

 

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

-       если адрес начинается с 0, то сеть относят к классу «А», и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса «А» имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) В сетях класса «А» количество узлов должно быть больше 216 , но не превышать 224;

-       если первые два бита адреса равны 10, то сеть относится к классу «В» и является сетью средних размеров с числом узлов 28 - 216. В сетях класса «В» под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта;

-       если адрес начинается с последовательности 110, то это сеть класса «С» с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов;

-       если адрес начинается с последовательности 1110, то он является адресом класса «D» и обозначает особый, групповой адрес - multicast. Если в пакете в качестве адреса назначения указан адрес класса «D», то такой пакет должны получить все узлы, которым присвоен данный адрес;

-       если адрес начинается с последовательности 11110, то это адрес класса «Е», он зарезервирован для будущих применений.

В таблице 2.1 приведены диапазоны номеров сетей, соответствующих каждому классу сетей.

 

Таблица 2.1 – Диапазоны номеров сетей

Класс

Наименьший адрес

Наибольший адрес

A

0.0.0.0

126.0.0.0

B

128.0.0.0

191.255.0.0

C

192.0.1.0.

223.255.255.0

D

224.0.0.0

239.255.255.255

E

240.0.0.0

247.255.255.255

 

2.1.2 Соглашения о специальных адресах: broadcast, multicast, loopback.

В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:

-       если IР-адрес состоит только из двоичных нулей (0 0 0 0 …. 0 0 0 0), то он обозначает адрес того узла, который сгенерировал этот пакет;

-       если в поле номера сети стоят 0, то, по умолчанию, считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;

-       если все двоичные разряды IP-адреса равны 1, (1 1 1 1 ....1 1), то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);

-       если в поле адреса назначения стоят сплошные 1, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером. Такая рассылка называется широковещательным сообщением (broadcast);

-       адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.

Уже упоминавшаяся форма группового IP-адреса - multicast - означает, что данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Узлы сами идентифицируют себя, то есть определяют, к какой из групп они относятся. Один и тот же узел может входить в несколько групп. Такие сообщения в отличие от широковещательных называются мультивещательными. Групповой адрес не делится на поля номера сети и узла и обрабатывается маршрутизатором особым образом.

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

 

2.1.3 Отображение физических адресов на IP-адреса: протоколы ARP и RARP.

В протоколе IP-адрес узла, то есть адрес компьютера или порта маршрутизатора, назначается произвольно администратором сети и прямо не связан с его локальным адресом, как это сделано, например, в протоколе IPX. Подход, используемый в IP, удобно использовать в крупных сетях и по причине его независимости от формата локального адреса, и по причине стабильности, так как в противном случае, при смене на компьютере сетевого адаптера это изменение должны бы были учитывать все адресаты всемирной сети Internet (в том случае, конечно, если сеть подключена к сети Internet).

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

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу – нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP – RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

На рисунке 2.2 показан формат пакета протокола ARP для передачи по сети Ethernet.

 

0                                   8                                     16                                          31

Тип сети

Тип протокола

Длина локального адреса

Длина сетевого адреса

Операция

Локальный адрес отправителя (байты 0 - 3)

 

Локальный адрес отправителя (байты 4 - 5)

IP-адрес отправителя (байты 0-1)

IP-адрес отправителя (байты 2-3)

Искомый локальный адрес (байты 0 - 1)

Искомый локальный адрес (байты 2-5)

 

Искомый IP-адрес (байты 0 - 3)

 

 

Рисунок 2.2 – Формат  пакета протокола ARP

 

Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес, и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 080016.

Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса – 4 байтам. В поле операции для ARP запросов указывается значение 1 для протокола ARP и 2 для протокола RARP.

Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.

В глобальных сетях администратору сети чаще всего приходится вручную формировать ARP-таблицы, в которых он задает, например, соответствие IP-адреса адресу узла сети X.25, который имеет смысл локального адреса. В последнее время наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP-адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора.

 

2.1.4 Отображение символьных адресов на IP-адреса: служба DNS.

DNS (Domain Name System) – это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.

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

Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов для повышения надежности своей работы.

База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.

Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:

-       com – коммерческие организации (например, microsoft.com);

-       edu – образовательные (например, mit.edu);

-       gov – правительственные организации (например, nsf.gov);

-       org – некоммерческие организации (например, fidonet.org);

-       net – организации, поддерживающие сети (например, nsf.net).

Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени: citint.dol.ru.

 

2.1.5 Автоматизация процесса назначения IP-адресов узлам сети – протокол DHCP.

Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этих проблем. Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.

В ручной процедуре назначения адресов активное участие принимает администратор, который предоставляет DHCP-серверу информацию о соответствии IP-адресов физическим адресам или другим идентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросы к DHCP-серверу.

При автоматическом статическом способе DHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства оператора. Границы пула назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первичного назначения сервером DHCP IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.

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

DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов за счет централизованного управления их распределением. Администратор управляет процессом назначения адресов с помощью параметра «продолжительности аренды» (lease duration), которая определяет, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.

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

Протокол DHCP использует модель клиент-сервер. Во время старта системы компьютер-клиент DHCP, находящийся в состоянии «инициализация», посылает сообщение discover (исследовать), которое широковещательно распространяется по локальной сети и передается всем DHCP-серверам частной интерсети. Каждый DHCP-сервер, получивший это сообщение, отвечает на него сообщением offer (предложение), которое содержит IP-адрес и конфигурационную информацию.

Компьютер-клиент DHCP переходит в состояние «выбор» и собирает конфигурационные предложения от DHCP-серверов. Затем он выбирает одно из этих предложений, переходит в состояние «запрос» и отправляет сообщение request (запрос) тому DHCP-серверу, чье предложение было выбрано.

Выбранный DHCP-сервер посылает сообщение DHCP-acknowledgment (подтверждение), содержащее тот же IP-адрес, который уже был послан ранее на стадии исследования, а также параметр аренды для этого адреса. Кроме того, DHCP-сервер посылает параметры сетевой конфигурации. После того, как клиент получит это подтверждение, он переходит в состояние «связь», находясь в котором он может принимать участие в работе сети TCP/IP. Компьютеры-клиенты, которые имеют локальные диски, сохраняют полученный адрес для использования при последующих стартах системы. При приближении момента истечения срока аренды адреса компьютер пытается обновить параметры аренды у DHCP-сервера, а если этот IP-адрес не может быть выделен снова, то ему возвращается другой IP-адрес.

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

Однако использование DHCP несет в себе и некоторые проблемы. Во-первых, это проблема согласования информационной адресной базы в службах DHCP и DNS. Как известно, DNS служит для преобразования символьных имен в IP-адреса. Если IP-адреса будут динамически изменяться сервером DHCP, то эти изменения необходимо также динамически вносить в базу данных сервера DNS. Хотя протокол динамического взаимодействия между службами DNS и DHCP уже реализован некоторыми фирмами (так называемая служба Dynamic DNS), стандарт на него пока не принят.

Во-вторых, нестабильность IP-адресов усложняет процесс управления сетью. Системы управления, основанные на протоколе SNMP, разработаны с расчетом на статичность IP-адресов. Аналогичные проблемы возникают и при конфигурировании фильтров маршрутизаторов, которые оперируют с IP-адресами.

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

 

3 Маршрутизация в IP-сетях

 3.1 Протокол межсетевого взаимодействия IP

 

Основу транспортных средств стека протоколов TCP/IP составляет протокол межсетевого взаимодействия – Internet Protocol (IP). К основным функциям протокола IP относятся:

-       перенос между сетями различных типов адресной информации в унифицированной форме;

-       сборка и разборка пакетов при передаче их между сетями с различным максимальным значением длины пакета.

 

3.1.1 Формат пакета IP.

Пакет IP состоит из заголовка и поля данных. Заголовок пакета имеет следующие поля:

-       поле «Номер версии» (VERS) указывает версию протокола IP. Сейчас повсеместно используется версия 4 и готовится переход на версию 6, называемую также IPng (IP next generation);

-       поле «Длина заголовка» (HLEN) пакета IP занимает 4 бита и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байт в поле Резерв (IP OPTIONS);

-       поле «Тип сервиса» (SERVICE TYPE) занимает 1 байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (PRECEDENCE). Приоритет может иметь значения от 0 (нормальный пакет) до 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит T – для максимизации пропускной способности, а бит R – для максимизации надежности доставки;

-       поле «Общая длина» (TOTAL LENGTH) занимает 2 байта и указывает общую длину пакета с учетом заголовка и поля данных;

-       поле «Идентификатор пакета» (IDENTIFICATION) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля;

-       поле «Флаги» (FLAGS) занимает 3 бита, оно указывает на возможность фрагментации пакета (установленный бит Do not Fragment – DF – запрещает маршрутизатору фрагментировать данный пакет), а также на то, является ли данный пакет промежуточным или последним фрагментом исходного пакета (установленный бит More Fragments - MF – говорит о том пакет переносит промежуточный фрагмент);

-       поле «Смещение фрагмента» (FRAGMENT OFFSET) занимает 13 бит, оно используется для указания в байтах смещения поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами максимальной длины пакета;

-       поле «Время жизни» (TIME TO LIVE) занимает 1 байт и указывает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи средствами протокола IP. На шлюзах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается также при каждой транзитной передаче (даже если не прошла секунда). При истечении времени жизни пакет аннулируется;

-       поле «Идентификатор Протокола» верхнего уровня (PROTOCOL) занимает 1 байт и указывает, какому протоколу верхнего уровня принадлежит пакет (например, это могут быть протоколы TCP, UDP или RIP);

-       поле «Контрольная сумма» (HEADER CHECKSUM) занимает 2 байта, она рассчитывается по всему заголовку;

-       поля «Адрес источника» (SOURCE IP ADDRESS) и Адрес назначения (DESTINATION IP ADDRESS) имеют одинаковую длину - 32 бита, и одинаковую структуру;

-       поле «Резерв» (IP OPTIONS) является необязательным и используется обычно только при отладке сети. Это поле состоит из нескольких подполей, каждое из которых может быть одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут прохождения маршрутизаторов, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности, а также временные отметки. Так как число подполей может быть произвольным, то в конце поля Резерв должно быть добавлено несколько байт для выравнивания заголовка пакета по 32-битной границе.

Максимальная длина поля данных пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65535 байтов, однако при передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байтов, умещающиеся в поле данных кадра Ethernet.

 

3.1.2 Управление фрагментацией.

Протоколы транспортного уровня (протоколы TCP или UDP), пользующиеся сетевым уровнем для отправки пакетов, считают, что максимальный размер поля данных IP-пакета равен 65535, и поэтому могут передать ему сообщение такой длины для транспортировки через интерсеть. В функции уровня IP входит разбиение слишком длинного для конкретного типа составляющей сети сообщения на более короткие пакеты с созданием соответствующих служебных полей, нужных для последующей сборки фрагментов в исходное сообщение.

В большинстве типов локальных и глобальных сетей определяется такое понятие, как максимальный размер поля данных кадра или пакета, в которые должен инкапсулировать свой пакет протокол IP. Эту величину обычно называют максимальной единицей транспортировки – Maximum Transfer Unit, MTU. Сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт.

Работа протокола IP по фрагментации пакетов в хостах и маршрутизаторах иллюстрируется рисунком 3.1.

 

К1 и Ф1 канальный и физический уровень сети 1, К2 и Ф2 канальный и физический уровень сети 2

 

Рисунок 3.1 – Фрагментация  IP-пакетов при передаче между сетями с разными максимальными размерами пакетов

 

Пусть компьютер 1 связан с сетью, имеющей значение MTU в 4096 байтов, например, с сетью FDDI. При поступлении на IP-уровень компьютера 1 сообщения от транспортного уровня размером в 5600 байтов, протокол IP делит его на два IP-пакета, устанавливая в первом пакете признак фрагментации и присваивая пакету уникальный идентификатор, например, 486. В первом пакете величина поля смещения равна 0, а во втором - 2800. Признак фрагментации во втором пакете равен нулю, что показывает, что это последний фрагмент пакета. Общая величина IP-пакета составляет 2800+20 (размер заголовка IP), то есть 2820 байтов, что умещается в поле данных кадра FDDI.

Далее компьютер 1 передает эти пакеты на канальный уровень К1, а затем и на физический уровень Ф1, который отправляет их маршрутизатору, связанному с данной сетью.

Маршрутизатор видит по сетевому адресу, что прибывшие два пакета нужно передать в сеть 2, которая имеет меньшее значение MTU, равное 1500. Вероятно, это сеть Ethernet. Маршрутизатор извлекает фрагмент транспортного сообщения из каждого пакета FDDI и делит его еще пополам, чтобы каждая часть уместилась в поле данных кадра Ethernet. Затем он формирует новые пакеты IP, каждый из которых имеет длину 1400 + 20 = 1420 байтов, что меньше 1500 байтов, поэтому они нормально помещаются в поле данных кадров Ethernet.

В результате в компьютер 2 по сети Ethernet приходит четыре IP-пакета с общим идентификатором 486, что позволяет протоколу IP, работающему в компьютере 2, правильно собрать исходное сообщение. Если пакеты пришли не в том порядке, в котором были посланы, то смещение укажет правильный порядок их объединения.

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

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

 

3.2 Компоненты маршрутизации

 

         Маршрутизация включает в себя два основных компонента: определение оптимальных трактов маршрутизации и транспортировка информационных групп (обычно называемых пакетами) через объединенную сеть. В настоящей работе последний из этих двух компонентов называется коммутацией. Коммутация относительно проста. С другой стороны, определение маршрута может быть очень сложным процессом.

 

         3.2.1 Определение маршрута.

         Определение маршрута может базироваться на различных показателях (величинах, результирующих из алгоритмических вычислений по отдельной переменной - например, длина маршрута) или комбинациях показателей. Программные реализации алгоритмов маршрутизации высчитывают показатели маршрута для определения оптимальных маршрутов к пункту назначения.

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

         Алгоритмы маршрутизации заполняют маршрутные таблицы неким множеством информации. Ассоциации «Пункт назначения/следующая пересылка» сообщают роутеру, что определенный пункт назначения может быть оптимально достигнут путем отправки пакета в определенный роутер, представляющий «следующую пересылку» на пути к конечному пункту назначения. При приеме поступающего пакета роутер проверяет адрес пункта назначения и пытается ассоциировать этот адрес со следующей пересылкой. В таблице 3.1 приведен пример маршрутной таблицы.

 

Таблица 3.1 – Маршрутная таблица

Место назначения:

Следующая пересылка:

27

Node A

57

Node B

17

Node C

24

Node A

52

Node A

16

Node B

26

Node A

.
.
.

.
.
.

 

         В маршрутных таблицах может содержаться также и другая информация. «Показатели» обеспечивают информацию о желательности какого-либо канала или тракта. Роутеры сравнивают показатели, чтобы определить оптимальные маршруты. Показатели отличаются друг от друга в зависимости от использованной схемы алгоритма маршрутизации. Далее в этой главе будет представлен и описан ряд общих показателей.

         Роутеры сообщаются друг с другом (и поддерживают свои маршрутные таблицы) путем передачи различных сообщений. Одним из видов таких сообщений является сообщение об «обновлении маршрутизации». Обновления маршрутизации обычно включают всю маршрутную таблицу или ее часть. Анализируя информацию об обновлении маршрутизации, поступающую ото всех роутеров, любой из них может построить детальную картину топологии сети. Другим примером сообщений, которыми обмениваются роутеры, является «объявление о состоянии канала».

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

 

3.2.2 Коммутация.

         Алгоритмы коммутации сравнительно просты и в основном одинаковы для большинства протоколов маршрутизации. В большинстве случаев главная вычислительная машина определяет необходимость отправки пакета в другую главную вычислительную машину. Получив определенным способом адрес роутера, главная вычислительная машина-источник отправляет пакет, адресованный специально в физический адрес роутера (уровень МАС), однако с адресом протокола (сетевой уровень) главной вычислительной машины пункта назначения.

         После проверки адреса протокола пункта назначения пакета, роутер определяет, знает он или нет, как передать этот пакет к следующему роутеру. Во втором случае (когда роутер не знает, как переслать пакет) пакет, как правило, игнорируется. В первом случае роутер отсылает пакет к следующей роутеру путем замены физического адреса пункта назначения на физический адрес следующего роутера и последующей передачи пакета.

         Следующая пересылка может быть или не быть главной вычислительной машиной окончательного пункта назначения. Если нет, то следующей пересылкой, как правило, является другой роутер, который выполняет такой же процесс принятия решения о коммутации. По мере того, как пакет продвигается через объединенную сеть, его физический адрес меняется, однако адрес протокола остается неизменным. Этот процесс иллюстрируется на рисунке 3.2.

Международная Организация по Стандартизации (ISO) разработала иерархическую терминологию, которая может быть полезной при описании этого процесса. Если пользоваться этой терминологией, то устройства сети, не обладающие способностью пересылать пакеты между подсетями, называются конечными системами (ЕS), в то время как устройства сети, имеющие такую способность, называются промежуточными системами (IS). Промежуточные системы далее подразделяются на системы, которые могут сообщаться в пределах «доменов маршрутизации» («внутридоменные» IS), и системы, которые могут сообщаться как в пределах домена маршрутизации, так и с другими доменами маршрутизации («междоменные IS»). Обычно считается, что «домен маршрутизации» – это часть объединенной сети, находящейся под общим административным управлением и регулируемой определенным набором административных руководящих принципов. Домены маршрутизации называются также «автономными системами» (AS). Для определенных протоколов домены маршрутизации могут быть дополнительно подразделены на «участки маршрутизации», однако для коммутации как внутри участков, так и между ними также используются внутридоменные протоколы маршрутизации.

 

 

Рисунок 3.2 – Процесс коммутации пакетов

          

3.3 Алгоритмы маршрутизации

 

         Алгоритмы маршрутизации можно дифференцировать, основываясь на нескольких ключевых характеристиках. Во-первых, на работу результирующего протокола маршрутизации влияют конкретные задачи, которые решает разработчик алгоритма. Во-вторых, существуют различные типы алгоритмов маршрутизации, и каждый из них по-разному влияет на сеть и ресурсы маршрутизации. И наконец, алгоритмы маршрутизации используют разнообразные показатели, которые влияют на расчет оптимальных маршрутов. В следующих разделах анализируются эти атрибуты алгоритмов маршрутизации.

         При разработке алгоритмов маршрутизации часто преследуют одну или несколько из перечисленных ниже целей:

1)     Оптимальность.

2)     Простота и низкие непроизводительные затраты.

3)     Живучесть и стабильность.

4)     Быстрая сходимость.

5)     Гибкость.

         Оптимальность, вероятно, является самой общей целью разработки. Она характеризует способность алгоритма маршрутизации выбирать «наилучший» маршрут. Наилучший маршрут зависит от показателей и от «веса» этих показателей, используемых при проведении расчета. Например, алгоритм маршрутизации мог бы использовать несколько пересылок с определенной задержкой, но при расчете «вес» задержки может быть им оценен как очень значительный. Естественно, что протоколы маршрутизации должны строго определять свои алгоритмы расчета показателей.

         Простота и низкие непроизводительные затраты. Алгоритмы маршрутизации разрабатываются как можно более простыми. Другими словами, алгоритм маршрутизации должен эффективно обеспечивать свои функциональные возможности, с минимальными затратами программного обеспечения и коэффициентом использования. Особенно важна эффективность в том случае, когда программа, реализующая алгоритм маршрутизации, должна работать в компьютере с ограниченными физическими ресурсами.

         Алгоритмы маршрутизации должны обладать живучестью. Другими словами, они должны четко функционировать в случае неординарных или непредвиденных обстоятельств таких, как отказы аппаратуры, условия высокой нагрузки и некорректные реализации. Т.к. роутеры расположены в узловых точках сети, их отказ может вызвать значительные проблемы.

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

         Алгоритмы маршрутизации должны быстро сходиться. Сходимость - это процесс соглашения между всеми роутерами по оптимальным маршрутам. Когда какое-нибудь событие в сети приводит к тому, что маршруты или отвергаются, или становятся доступными, роутеры рассылают сообщения об обновлении маршрутизации. Сообщения об обновлении маршрутизации пронизывают сети, стимулируя пересчет оптимальных маршрутов и, в конечном итоге, вынуждая все роутеры придти к соглашению по этим маршрутам. Алгоритмы маршрутизации, которые сходятся медленно, могут привести к образованию петель маршрутизации или выходам из строя сети.

         На рисунок 3.3 изображена петля маршрутизации. В данном случае, в момент времени t1 к роутеру 1 прибывает пакет. Роутер 1 уже был обновлен и поэтому он знает, что оптимальный маршрут к пункту назначения требует, чтобы следующей остановкой был роутер 2. Поэтому роутер 1 пересылает пакет в роутер 2. Роутер 2 еще не был обновлен, поэтому он полагает, что следующей оптимальной пересылкой должен быть роутер 1.

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

 

 

Рисунок 3.3 – Петля маршрутизации

 

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

 

3.3.1 Типы алгоритмов.

         Алгоритмы маршрутизации могут быть классифицированы по типам. Например, алгоритмы могут быть:

1)     Статическими или динамическими.

2)     Одномаршрутными или многомаршрутными.

3)     Одноуровневыми или иерархическими.

4)     С интеллектом в главной вычислительной машине или в роутере.

5)     Внутридоменными и междоменными.

6)     Алгоритмами состояния канала или вектора расстояний.

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

         Т.к. статические системы маршрутизации не могут реагировать на изменения в сети, они, как правило, считаются непригодными для современных крупных, постоянно изменяющихся сетей. Большинство доминирующих алгоритмов маршрутизации 1990 г. – динамические.

         Динамические алгоритмы маршрутизации подстраиваются к изменяющимся обстоятельствам сети в масштабе реального времени. Они выполняют это путем анализа поступающих сообщений об обновлении маршрутизации. Если в сообщении указывается, что имело место изменение сети, программы маршрутизации пересчитывают маршруты и рассылают новые сообщения о корректировке маршрутизации. Такие сообщения пронизывают сеть, стимулируя роутеры заново прогонять свои алгоритмы и соответствующим образом изменять таблицы маршрутизации. Динамические алгоритмы маршрутизации могут дополнять статические маршруты там, где это уместно. Например, можно разработать «роутер последнего обращения» (т.е. роутер, в который отсылаются все неотправленные по определенному маршруту пакеты). Такой роутер выполняет роль хранилища неотправленных пакетов, гарантируя, что все сообщения будут хотя бы определенным образом обработаны.

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

         Некоторые алгоритмы маршрутизации оперируют в плоском пространстве, в то время как другие используют иерархии маршрутизации. В одноуровневой системе маршрутизации все роутеры равны по отношению друг к другу. В иерархической системе маршрутизации некоторые роутеры формируют то, что составляет основу (backbone – базу) маршрутизации. Пакеты из небазовых роутеров перемещаются к базовыи роутерам и пропускаются через них до тех пор, пока не достигнут общей области пункта назначения. Начиная с этого момента, они перемещаются от последнего базового роутера через один или несколько небазовых роутеров до конечного пункта назначения.

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

         Основным преимуществом иерархической маршрутизации является то, что она имитирует организацию большинства компаний и, следовательно, очень хорошо поддерживает их схемы трафика. Большая часть сетевой связи имеет место в пределах групп небольших компаний (доменов). Внутридоменным роутерам необходимо знать только о других роутерах в пределах своего домена, поэтому их алгоритмы маршрутизации могут быть упрощенными. Соответственно может быть уменьшен и трафик обновления маршрутизации, зависящий от используемого алгоритма маршрутизации.

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

         Другие алгоритмы предполагают, что главные вычислительные машины ничего не знают о маршрутах. При использовании этих алгоритмов роутеры определяют маршрут через объединенную сеть, базируясь на своих собственных расчетах. В первой системе, рассмотренной выше, интеллект маршрутизации находится в главной вычислительной машине. В системе, рассмотренной во втором случае, интеллектом маршрутизации наделены роутеры.

         Компромисс между маршрутизацией с интеллектом в главной вычислительной машине и маршрутизацией с интеллектом в роутере достигается путем сопоставления оптимальности маршрута с непроизводительными затратами трафика.

         Системы с интеллектом в главной вычислительной машине чаще выбирают наилучшие маршруты, т.к. они, как правило, находят все возможные маршруты к пункту назначения, прежде чем пакет будет действительно отослан. Затем они выбирают наилучший маршрут, основываясь на определении оптимальности данной конкретной системы. Однако акт определения всех маршрутов часто требует значительного трафика поиска и большого объема времени.

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

         Алгоритмы состояния канала (известные так же, как алгоритмы «первоочередности наикратчайшего маршрута») направляют потоки маршрутной информации во все узлы объединенной сети. Однако каждый роутер посылает только ту часть маршрутной таблицы, которая описывает состояние его собственных каналов. Алгоритмы вектора расстояния ( известные также как алгоритмы Бэлмана-Форда) требуют от каждого роутера посылки всей или части своей маршрутной таблицы, но только своим соседям. Алгоритмы состояния каналов фактически направляют небольшие корректировки по всем направлениям, в то время как алгоритмы вектора расстояний отсылают более крупные корректировки только в соседние роутеры.

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


3.3.1.1 Показатели алгоритмов (метрики).

         Маршрутные таблицы содержат информацию, которую используют программы коммутации для выбора наилучшего маршрута. Чем характеризуется построение маршрутных таблиц? Какова особенность природы информации, которую они содержат? В данном разделе, посвященном показателям алгоритмов, сделана попытка ответить на вопрос о том, каким образом алгоритм определяет предпочтительность одного маршрута по сравнению с другими.

В алгоритмах маршрутизации используется много различных показателей. Сложные алгоритмы маршрутизации при выборе маршрута могут базироваться на множестве показателей, комбинируя их таким образом, что в результате получается один отдельный (гибридный) показатель. Ниже перечислены показатели, которые используются в алгоритмах маршрутизации:

1)     Длина маршрута.

2)     Надежность.

3)     Задержка.

4)     Ширина полосы пропускания.

5)     Нагрузка.

6)     Стоимость связи.

         Длина маршрута является наиболее общим показателем маршрутизации. Некоторые протоколы маршрутизации позволяют администраторам сети назначать произвольные цены на каждый канал сети. В этом случае длиной тракта является сумма расходов, связанных с каждым каналом, который был траверсирован. Другие протоколы маршрутизации определяют «количество пересылок», т.е. показатель, характеризующий число проходов, которые пакет должен совершить на пути от источника до пункта назначения через изделия объединения сетей (такие как роутеры).

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

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

         Полоса пропускания относится к имеющейся мощности трафика какого-либо канала. При прочих равных показателях, канал Ethernet 10 Mbps предпочтителен любой арендованной линии с полосой пропускания 64 Кбайт/сек. Хотя полоса пропускания является оценкой максимально достижимой пропускной способности канала, маршруты, проходящие через каналы с большей полосой пропускания, не обязательно будут лучше маршрутов, проходящих через менее быстродействующие каналы.

 

3.4 Маршрутизация с помощью IP-адресов

 

Рассмотрим теперь принципы, на основании которых в сетях IP происходит выбор маршрута передачи пакета между сетями.

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

 

Рисунок 3.4 – Выбор маршрутизатора конечным узлом

 

Длина маршрута может существенно измениться в зависимости от того, какой маршрутизатор выберет компьютер для передачи своего пакета на сервер, расположенный, например, в Германии, если маршрутизатор 1 соединен выделенной линией с маршрутизатором в Копенгагене, а маршрутизатор 2 имеет спутниковый канал, соединяющий его с Токио.

В стеке TCP/IP маршрутизаторы и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables). В таблице 3.2 представлен пример таблицы маршрутов.

 

Таблица 3.2 – Пример таблицы маршрутов, использующей IP-адреса сетей

Адрес сети
назначения

Адрес следующего маршрутизатора

Номер выходного
порта (Расстояние до
сети назначения)

56.0.0.0

198.21.17.7

1 (20)

56.0.0.0

213.34.12.4.

2 (130)

116.0.0.0

213.34.12.4

2 (1450)

129.13.0.0

198.21.17.6

1 (50)

198.21.17.0

-

2 (0)

213. 34.12.0

-

1 (0)

default

198.21.17.7

1 (-)

 

В этой таблице в столбце «Адрес сети назначения» указываются адреса всех сетей, которым данный маршрутизатор может передавать пакеты. В стеке TCP/IP принят так называемый одношаговый подход к оптимизации маршрута продвижения пакета (next-hop routing) - каждый маршрутизатор и конечный узел принимает участие в выборе только одного шага передачи пакета. Поэтому в каждой строке таблицы маршрутизации указывается не весь маршрут в виде последовательности IP-адресов маршрутизаторов, через которые должен пройти пакет, а только один IP-адрес – адрес следующего маршрутизатора, которому нужно передать пакет. Вместе с пакетом следующему маршрутизатору передается ответственность за выбор следующего шага маршрутизации. Одношаговый подход к маршрутизации означает распределенное решение задачи выбора маршрута. Это снимает ограничение на максимальное количество транзитных маршрутизаторов на пути пакета.

Альтернативой одношаговому подходу является указание в пакете всей последовательности маршрутизаторов, которые пакет должен пройти на своем пути. Такой подход называется маршрутизацией от источника - Source Routing. В этом случае выбор маршрута производится конечным узлом или первым маршрутизатором на пути пакета, а все остальные маршрутизаторы только отрабатывают выбранный маршрут, осуществляя коммутацию пакетов, то есть передачу их с одного порта на другой. Алгоритм Source Routing применяется в сетях IP только для отладки, когда маршрут задается в поле Резерв (IP OPTIONS) пакета.

В случае, если в таблице маршрутов имеется более одной строки, соответствующей одному и тому же адресу сети назначения, то при принятии решения о передаче пакета используется та строка, в которой указано наименьшее значение в поле «Расстояние до сети назначения».

При этом под расстоянием понимается любая метрика, используемая в соответствии с заданным в сетевом пакете классом сервиса. Это может быть количество транзитных маршрутизаторов в данном маршруте (количество хопов от hop – прыжок), время прохождения пакета по линиям связи, надежность линий связи, или другая величина, отражающая качество данного маршрута по отношению к конкретному классу сервиса. Если маршрутизатор поддерживает несколько классов сервиса пакетов, то таблица маршрутов составляется и применяется отдельно для каждого вида сервиса (критерия выбора маршрута).

Для отправки пакета следующему маршрутизатору требуется знание его локального адреса, но в стеке TCP/IP в таблицах маршрутизации принято использование только IP-адресов для сохранения их универсального формата, не зависящего от типа сетей, входящих в интерсеть. Для нахождения локального адреса по известному IP-адресу необходимо воспользоваться протоколом ARP.

Конечный узел, как и маршрутизатор, имеет в своем распоряжении таблицу маршрутов унифицированного формата и на основании ее данных принимает решение, какому маршрутизатору нужно передавать пакет для сети N. Решение о том, что этот пакет нужно вообще маршрутизировать, компьютер принимает в том случае, когда он видит, что адрес сети назначения пакета отличается от адреса его собственной сети (каждому компьютеру при конфигурировании администратор присваивает его IP-адрес или несколько IP-адресов, если компьютер одновременно подключен к нескольким сетям). Когда компьютер выбрал следующий маршрутизатор, то он просматривают кэш-таблицу адресов своего протокола ARP и, может быть, находит там соответствие IP-адреса следующего маршрутизатора его MAC-адресу. Если же нет, то по локальной сети передается широковещательный ARP-запрос и локальный адрес извлекается из ARP-ответа.

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

Одношаговая маршрутизация обладает еще одним преимуществом – она позволяет сократить объем таблиц маршрутизации в конечных узлах и маршрутизаторах за счет использования в качестве номера сети назначения так называемого маршрута по умолчанию – default, который обычно занимает в таблице маршрутизации последнюю строку. Если в таблице маршрутизации есть такая запись, то все пакеты с номерами сетей, которые отсутствуют в таблице маршрутизации, передаются маршрутизатору, указанному в строке default. Поэтому маршрутизаторы часто хранят в своих таблицах ограниченную информацию о сетях интерсети, пересылая пакеты для остальных сетей в порт и маршрутизатор, используемые по умолчанию. Подразумевается, что маршрутизатор, используемый по умолчанию, передаст пакет на магистральную сеть, а маршрутизаторы, подключенные к магистрали, имеют полную информацию о составе интерсети.

Особенно часто приемом маршрутизации по умолчанию пользуются конечные узлы. Хотя они также в общем случае имеют в своем распоряжении таблицу маршрутизации, ее объем обычно незначителен, так как маршрутизация для компьютера - не основное занятие. Главная роль в маршрутизации пакетов в концепции протокола IP отводится, естественно, маршрутизаторам, которые должны обладать гораздо более полными таблицами маршрутизации, чем конечные узлы. Конечный узел часто вообще работает без таблицы маршрутизации, имея только сведения об IP-адресе маршрутизатора по умолчанию. При наличии одного маршрутизатора в локальной сети этот вариант - единственно возможный для всех конечных узлов. Но даже при наличии нескольких маршрутизаторов в локальной сети, когда проблема их выбора стоит перед конечным узлом, задание маршрута по умолчанию часто используется в компьютерах для сокращения объема их маршрутной таблицы.

Другим способом разгрузки компьютера от необходимости ведения больших таблиц маршрутизации является получение от маршрутизатора сведений о рациональном маршруте для какой-нибудь конкретной сети с помощью протокола ICMP.

Кроме маршрута «default», в таблице маршрутизации могут встретиться два типа специальных записей - запись о специфичном для узла маршруте и запись об адресах сетей, непосредственно подключенных к портам маршрутизатора.

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

Записи в таблице маршрутизации, относящиеся к сетям, непосредственно подключенным к маршрутизатору, в поле «Расстояние до сети назначения» содержат нули.

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

 

4 Протоколы маршрутизации

 4.1 Протокол маршрутизации внутренних роутеров IGRP

 

Протокол маршрутизации внутренних роутеров (Interior Gateway Routing Protokol-IGRP) является протоколом маршрутизации, разработанным в середине 1980 гг. компанией Cisco Systems, Inc. Главной целью, которую преследовала Cisco при разработке IGRP, было обеспечение живучего протокола для маршрутизации в пределах автономной системы (AS), имеющей произвольно сложную топологию и включающую в себя носитель с разнообразными характеристиками ширины полосы и задержки. AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. Обычно AS присваивается уникальный 16-битовый номер, который назначается Центром Сетевой Информации (Network Information Center - NIC) Сети Министерства Обороны (Defence Data Network - DDN).

В середине 1980 г. самым популярным протоколом маршрутизации внутри AS был Протокол Информации Маршрутизации (RIP). Хотя RIP был вполне пригоден для маршрутизации в пределах относительно однородных объединенных сетей небольшого или среднего размера, его ограничения сдерживали рост сетей. В частности, небольшая допустимая величина числа пересылок (15) RIP ограничивала размер объединенной сети, а его единственный показатель (число пересылок) не обеспечивал достаточную гибкость в сложных средах. Популярность роутеров Cisco и живучесть IGRP побудили многие организации, которые имели крупные объединенные сети, заменить RIP на IGRP.

IGRP является протоколом внутренних роутеров (IGP) с вектором расстояния. Протоколы маршрутизации с вектором расстояния требуют от каждого роутера отправления через определенные интервалы времени всем соседним роутерам всей или части своей маршрутной таблицы в сообщениях о корректировке маршрута. По мере того как маршрутная информация распространяется по сети, роутеры могут вычислять расстояния до всех узлов объединенной сети.

Протоколы маршрутизации с вектором расстояния часто противопоставляют протоколам маршрутизации с указанием состояния канала, которые отправляют информацию о локальном соединении во все узлы объединенной сети. Рассмотрение двух популярных протоколов, использующих алгоритм маршрутизации с указанием состояния канала, «Открытый протокол с алгоритмом поиска наикратчайшего пути» (Open Shortest Path First) и «Промежуточная система-Промежуточная система» (Intermediate System to Intermediate System (IS-IS).

IGRP использует комбинацию (вектор) показателей. Задержка объединенной сети (internetwork delay), ширина полосы (bandwidth), надежность (reliability) и нагрузка (load) - все эти показатели учитываются в виде коэффициентов при принятии маршрутного решения. Администраторы сети могут устанавливать факторы весомости для каждого из этих показателей. IGRP использует либо установленные администратором, либо устанавливаемые по умолчанию весомости для автоматического расчета оптимальных маршрутов.

IGRP предусматривает широкий диапазон значений для своих показателей. Например, надежность и нагрузка могут принимать любое значение в интервале от 1 до 255, ширина полосы может принимать значения, отражающие скорости пропускания от 1200 до 10 гигабит в секунду, в то время как задержка может принимать любое значение от 1-2 до 24-го порядка. Широкие диапазоны значений показателей позволяют производить удовлетворительную регулировку показателя в объединенной сети с большим диапазоном изменения характеристик производительности. Самым важным является то, что компоненты показателей объединяются по алгоритму, который определяет пользователь. В результате администраторы сети могут оказывать влияние на выбор маршрута, полагаясь на свою интуицию.

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

 

4.1.1     Формат пакета.

Первое поле пакета IGRP содержит номер версии (version number). Этот номер версии указывает на используемую версию IGRP и сигнализирует о различных, потенциально несовместимых реализациях.

За полем версии идет поле операционного кода (opcode). Это поле обозначает тип пакета. Операционный код, равный 1, обозначает пакет корректировки; равный 2-пакет запроса. Пакеты запроса используются источником для запроса маршрутной таблицы из другого роутера. Эти пакеты состоят только из заголовка, содержащего версию, операционный код и поля номера AS. Пакеты корректировки содержат заголовок, за которым сразу же идут записи данных маршрутной таблицы. На записи данных маршрутной таблицы не накладывается никаких ограничений, за исключением того, что пакет не может превышать 1500 байтов, вместе с заголовком IP. Если этого недостаточно для того, чтобы охватить весь объем маршрутной таблицы, то используются несколько пакетов.

За полем операционного кода идет поле выпуска (edition). Это поле содержит последовательный номер, который инкрементируется, когда маршрутная таблица каким-либо образом изменяется. Это значение номера выпуска используется для того, чтобы позволить роутерам избежать обработки корректировок, содержащих информацию, которую они уже видели.

За полем выпуска идет поле, содержащее номер AS (AS number). Это поле необходимо по той причине, что роутеры Cisco могут перекрывать несколько AS. Несколько AS (или процессов IGRP) в одном роутере хранят информацию маршрутизации AS отдельно.

Следующие три поля обозначают номер подсетей, номер главных сетей и номер внешних сетей в пакете корректировки. Эти поля присутствуют потому, что сообщения корректировки IGRP состоят из трех частей: внутренней для данной подсети, внутренней для текущей AS и внешней для текущей AS. Сюда включаются только подсети сети, связанной с тем адресом, в который отправляется данная корректировка. Главные сети (т.е. не подсети) помещаются во «внутреннюю для текущей AS» часть пакета, если только они не помечены четко как внешние. Сети помечаются как внешние, если информация о них поступает во внешней части сообщения из другого роутера.

Последним полем в заголовке IGRP является поле контрольной суммы (checksum). Это поле содержит какую-нибудь контрольную сумму для заголовка IGRP и любую информацию корректировки, содержащуюся в данном пакете. Вычисление контрольной суммы позволяет принимающему роутеру проверять достоверность входящего пакета.

Сообщения о корректировке содержат последовательность из семи полей данных для каждой записи данных маршрутной таблицы. Первое из этих полей содержит три значащих байта адреса (address) (в случае адреса IP). Следующие пять полей содержат значения показателей. Первое из них обозначает задержку (delay), выраженную в десятках микросекунд. Диапазон перекрывает значения от 10 мксек. до 167 сек. За полем задержки следует поле ширины полосы (bandwidth). Ширина полосы выражена в единицах 1 Кбит/сек и перекрывает диапазон от линии с шириной полосы 1200 бит/сек до 10 Гбит/сек. Затем идет поле MTU, которое обеспечивет размер MTU в байтах. За полем MTU идет поле надежности (reliability), указывающее процент успешно переданных и принятых пакетов. Далее идет поле нагрузки (load), которое обозначает занятую часть канала в процентном отношении. Последним полем в каждой записи данных маршрутизации является поле числа пересылок (hop count). И хотя использование числа пересылок не явно выражено при определении показателя, тем не менее это поле содержится в пакете IGRP и инкрементируется после обработки пакета, обеспечивая использование подсчета пересылок для предотвращения петель.

 

4.1.2     Характеристики стабильности.

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

Временное удерживание изменений используется для того, чтобы помешать регулярным сообщениям о коррректировке незаконно восстановить в правах маршрут, который возможно был испорчен. Когда какой-нибудь роутер выходит из строя, соседние роутеры обнаруживают это через отсутствие регурярного поступления запланированных сообщений. Далее эти роутеры вычисляют новые маршруты и отправляют сообщения о корректировке маршрутизации, чтобы информировать своих соседей о данном изменении маршрута. Результатом этой деятельности является запуск целой волны корректировок, которые фильтруются через сеть.

Приведенные в действие корректировки поступают в каждое сетевое устройство не одновременно. Поэтому возможно, что какое-нибудь устройство, которое еще не было оповещено о неисправности в сети, может отправить регулярное сообщение о корректировке (указывающее, что какой-нибудь маршрут, который только что отказал, все еще считается исправным) в другое устройство, которое только что получило уведомление о данной неисправности в сети. В этом случае последнее устройство будет теперь содержать (и возможно, рекламировать) неправильную информацию о маршрутизации.

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

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

 

 

 

Рисунок 4.1 – Пример пересылки пакетов

 

Роутер 1 (R1) первоначально объявляет, что у него есть какой-то маршрут до Сети А. Роутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отправляемую в R1, т.к. R1 ближе к Сети А. В правиле о расщепленных горизонтах говорится, что R2 должен исключить этот маршрут независимо от того, какие корректировки он отправляет в R1.

Правило о расщепленных горизонтах помогает предотвращать зацикливание маршрутов. Например, рассмотрим случай, когда интерфейс R1 с Сетью А отказывает. Без расщепленных горизонтов R2 продолжал бы информировать R1, что он может попасть в Сеть А (через R1!). Если R1 не располагает достаточным интеллектом, он действительно может выбрать маршрут, предлагаемый R2, в качестве альтернативы своему отказавшему прямому соединению, что приводит к образованию маршрутной петли. И хотя удерживание изменений должно помешать этому, в IGRP реализованы также расщепленные горизонты, т.к. они обеспечивают дополнительную стабильность алгоритма.

В то время как расщепленные горизонты должны препятствовать зацикливанию маршрутов между соседними роутерами, корректировки отмены маршрута предназначены для борьбы с более крупными маршрутными петлями. Увеличение значений показателей маршрутизации обычно указывает на появление маршрутных петель. В этом случае посылаются корректировки отмены, чтобы удалить этот маршрут и перевести его в состояние удерживания. В реализации IGRP компании Cisco корректировки отмены отправляются в том случае, если показатель маршрута увеличивается на коэффициент 1.1 или более.

IGRP обеспечивает ряд таймеров и переменных, содержащих временные интервалы. Сюда входят таймер корректировки, таймер недействующих маршрутов, период времени удерживания изменений и таймер отключения. Таймер корректировки определяет, как часто должны отправляться сообщения о корректировке маршрутов. Для IGRP значение этой переменной, устанавливаемое по умолчанию, равно 90 сек. Таймер недействующих маршрутов определяет, сколько времени должен ожидать роутер при отсутствии сообщений о корректировке какого-нибудь конкретного маршрута, прежде чем объявить этот маршрут недействующим. Время по умолчанию IGRP для этой переменной в три раза превышает период корректировки. Переменная величина времени удерживания определяет промежуток времени удерживания. Время по умолчанию IGRP для этой переменной в три раза больше периода таймера корректировки, плюс 10 сек. И наконец, таймер отключения указывает, сколько времени должно пройти прежде, чем какой-нибудь роутер должен быть исключен из маршрутной таблицы. Время, по умолчанию, IGRP для этой величины в семь раз превышает период корректировки маршрутизации.

 

4.2 Протокол информации маршрутизации RIP

 

Протокол информации маршрутизации (RIP) является протоколом маршрутизации, который был первоначально разработан для Универсального протокола PARC Xerox (где он назывался GWINFO) и использовался в комплекте протоколов ХNS. RIP начали связывать как с UNIX, так и с TCP/IP в 1982 г., когда версию UNIX, называемую Berkeley Standard Distribution (BSD), начали отгружать с одной из реализацией RIP, крторую называли «трассируемой» (routed) (слово произносится «route dee»). Протокол RIP, который все еще является очень популярным протоколом маршрутизации в сообществе Internet, формально определен в публикации «Протоколы транспортировки Internet» XNS (XNS Internet Transport Protocols) (1981 г.) и в Запросах для комментария (Request for Comments - RFC) 1058 (1988 г.).

RIP был повсеместно принят производителями персональных компьютеров (РС) для использования в их изделиях передачи данных по сети. Например, протокол маршрутизации AppleTalk (Протокол поддержания таблицы маршрутизации - RTMP) является модернизированной версией RIP. RIP также явился базисом для протоколов Novell, 3Com, Ungermann-Bass и Banyan. RIP компаний Novell и 3Com в основном представляет собой стандартный RIP компании Xerox. Ungermann-Bass и Banyan внесли незначительные изменения в RIP для удовлетворения своих нужд.

 

4.2.1 Формат таблицы маршрутизации.

Каждая запись данных в таблице маршрутизации RIP обеспечивает разнообразную информацию, включая конечный пункт назначения, следующую пересылку на пути к этому пункту назначения и показатель (metric). Показатель обозначает расстояние до пункта назначения, выраженное числом пересылок до него. В таблице маршрутизации может находиться также и другая информация, в том числе различные таймеры, связанные с данным маршрутом. Типичная таблица маршрутизации RIP показана в таблице 4.1.

 

Таблица 4.1 – Таблица маршрутизации протокола RIP

Направление

Следующий порт

Расстояние

Таймеры

Флаги

Network A

Router 1

3

t1, t2, t3

x,y

Network B

Router 2

5

t1, t2, t3

x,y

Network C

Router 1

2

t1, t2, t3

x,y

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

 

RIP поддерживает только самые лучшие маршруты к пункту назначения. Если новая информация обеспечивает лучший маршрут, то эта информация заменяет старую маршрутную информацию. Изменения в топологии сети могут вызывать изменения в маршрутах, приводя к тому, например, что какой-нибудь новый маршрут становится лучшим маршрутом до конкретного пункта назначения. Когда имеют место изменения в топологии сети, то эти изменения отражаются в сообщениях о корректировке маршрутизации. Например, когда какой-нибудь роутер обнаруживает отказ одного из каналов или другого роутера, он повторно вычисляет свои маршруты и отправляет сообщения о корректировке маршрутизации. Каждый роутер, принимающий сообщение об обновлении маршрутизации, в котором содержится изменение, корректирует свои таблицы и распространяет это изменение.

 

4.2.2 Формат пакета (Реализация IP).

На рисунке 4.2 изображен формат пакета RIP для реализаций IP так, как он определен в RFC 1058.

 

Рисунок 4.2 – Формат пакета

 

Первое поле «А» в пакете RIP-это поле команд (command). Это поле содержит целое число, обозначающее либо запрос, либо ответ. Команда «запрос» запрашивает отвечающую систему об отправке всей таблицы маршрутизации или ее части. Пункты назначения, для которых запрашивается ответ, перечисляются далее в данном пакете. Ответная команда представляет собой ответ на запрос или чаще всего какую-нибудь незатребованную регулярную корректировку маршрутизации. Отвечающая система включает всю таблицу маршрутизации или ее часть в ответный пакет. Регулярные сообщения о корректировке маршрутизации включают в себя всю таблицу мааршрутизации.

Поле «В» - поле версии (version) определяет реализуемую версию RIP. Т.к. в объединенной сети возможны многие реализации RIP, это поле может быть использовано для сигнализирования о различных потенциально несовместимых реализациях.

Поле «С» 16-битовое поле, состоящим из одних нулей.

Поле «D» - поле идентификатора семейства адресов (аddress family identifier). Это поле определяет конкретное используемое семейство адресов. В сети Internet (крупной международной сети, объединяющей научно-исследовательские институты, правительственные учреждения, университеты и частные предприятия) этим адресным семейством обычно является IP (значение=2), но могут быть также представлены другие типы сетей.

Следом за еще одним 16-битовым полем, состоящим из одних нулей, идет 32-битовое поле «Е» - поле адреса (address). В реализациях RIP Internet это поле обычно содержит какой-нибудь адрес IP.

За еще двумя 32-битовыми полями из нулей идет поле «F» поле показателя RIP (metric). Этот показатель представляет собой число пересылок (hop count). Он указывает, сколько должно быть пересечено транзитных участков (роутеров) объединенной сети, прежде чем можно добраться до пункта назначения.

В каждом отдельном пакете RIP IP допускается появление дo 25 вхождений идентификатора семейства адреса, обеспечиваемых полями показателя. Другими словами, в каждом отдельном пакете RIP может быть перечислено до 25 пунктов назначения. Для передачи информации из более крупных маршрутных таблиц используется множество пакетов RIP.

Как и другие протоколы маршрутизации, RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP (routing update timer), обычно, устанавливается на 30 секунд, что гарантирует отправку каждым роутером полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов (route invalid timer) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой-нибудь маршрут признан недействительным, то соседи уведомляются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута (route flush timer). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров – 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.

 

4.2.3 Характеристики стабильности.

RIP определяет ряд характеристик, предназначенных для более стабильной работы в условиях быстро изменяющейся топологии сети. В их число входит ограничение числа пересылок, временные удерживания изменений (hold-downs), расщепленные горизонты (split-horizons) и корректировки отмены (poison reverse updates).

RIP разрешает максимальное число пересылок, равное 15. Любому пункту назначения, который находится дальше, чем на расстоянии 15 пересылок, присваивается ярлык «недосягаемого». Максимальное число пересылок RIP в значительной мере ограничивает его применение в крупных объединенных сетях, однако способствует предотвращению появления проблемы, называемой счетом до бесконечности (count to infinity), приводящей к зацикливанию маршрутов в сети. Проблема счета до бесконечности представлена на рисунке 4.3.

 

 

Рисунок 4.3 – Пример цикличности маршрутов

 

Рассмотрим, что случится, если на рисунке 4.3 канал Роутера 1 (R1) (канал а), связывающий его с сетью А, откажет. R1 проверяет свою информацию и обнаруживает, что Роутер 2 (R2) связан с сетью А каналом длиной в одну пересылку. Т.к. R1 знает, что он напрямую соединен с R2, то он объявляет о маршруте из двух пересылок до сети А и начинает направлять весь трафик в сеть А через R2. Это приводит к образованию маршрутной петли. Когда R2 обнаруживает, что R1 может теперь достичь сеть А за две пересылки, он изменяет запись своих собственных данных в таблице маршрутизации, чтобы показать, что он имеет тракт длиной в 3 пересылки до сети А. Эта проблема, а также данная маршрутная петля будут продолжаться бесконечно или до тех пор, пока не будет навязано какое-нибудь внешнее граничное условие. Этим граничным условием является максимальное число пересылок RIP. Когда число пересылок превысит 15, данный маршрут маркируется как недосягаемый. Через некоторое время этот маршрут удаляется из таблицы.

Временные удерживания изменений используются для того, чтобы помешать регулярным сообщениям о корректировке незаконно восстановить в правах маршрут, который оказался испорченным. Когда какой-нибудь маршрут отказывает, соседние роутеры обнаруживают это. Затем они вычисляют новые маршруты и отправляют сообщения об обновлении маршрутизации, чтобы информировать своих соседей об изменениях в маршруте. Эта деятельность приводит к появлению целой волны коррекций маршрутизации, которые фильтруются через сеть.

Приведенные в действие корректировки не одновременно прибывают во все устройства сети. Поэтому возможно, что какое-нибудь устройство, которое еще не получило информацию о каком-нибудь отказе в сети, может отправить регулярное сообщение о корректировке (в котором маршрут, который только что отказал, все еще числится исправным) в другое устройство, которое только что получило уведомление об этом отказе в сети. В этом случае это другое устройство теперь будет иметь (и возможно, рекламировать) неправильную маршрутную информацию.

Команды о временном удерживании указывают роутерам, чтобы они на некоторое время придержали любые изменения, которые могут оказать влияние на только что удаленные маршруты. Этот период удерживания обычно рассчитывается таким образом, чтобы он был больше периода времени, необходимого для внесения кокого-либо изменения о маршрутизации во всю сеть. Удерживание изменений предотвращает появление проблемы счета до бесконечности.

Расщепленные горизонты используют преимущество того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого пришла эта информация. Для иллюстрации этого положения рассмотрим рисунок 4.4.

Pоутер 1 (R1) первоначально объявляет, что он располагает каким-то маршрутом до Сети А. Pоутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отсылаемую обратно роутеру R1, т.к. R1 ближе к Сети А. Правило расщепленного горизонта гласит, что R2 должен исключить (попасть на) этот маршрут при любых корректировках, которые он отправляет в R1.

 

Рисунок 4.4 – Пример расщепленных горизонтов

 

Правило расщепленного горизонта помогает предотвратить маршрутные петли между двумя узлами. Например, рассмотрим случай, когда отказывает интерфейс R1 с Сетью А. При отсутствии расщепленных горизонтов R2 продолжает информировать R1 о том, что он может попасть в Сеть А через R1. Если R1 не располагает достаточным интеллектом, то он действительно может выбрать маршрут, предлагаемый R2, в качестве альтернативы для своей отказавшей прямой связи, что приводит к образованию петли маршрутизации. И хотя временное удерживание изменений должно предотвращать это, применение расщепленного горизонта обеспечивает дополнительную стабильность алгоритма.

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

 

4.3 Протокол OSPF

 

Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt – OSPF), является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol – IGP). Рабочая группа была образована в 1988 г. для разработки протокола IGP, базирующегося на алгоритме «поиска наикратчайшего пути» (shortest path first – SPF), с целью его использования в Internet, крупной международной сети, объединяющей научно-исследовательские институты, правительственные учреждения, университеты и частные предприятия. Как и протокол IGRP, OSPF был разработан по той причине, что к середине 1980 г. непригодность RIP для обслуживания крупных гетерогенных объединенных систем стала все более очевидна.

OSPF является протоколом маршрутизации с объявлением состояния о канале (link-state). Это значит, что он требует отправки объявлений о состоянии канала (link-state advertisement – LSA) во все роутеры, которые находятся в пределах одной и той же иерархической области. В объявления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных. По мере накопления роутерами OSPF информации о состоянии канала они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу.

Являясь алгоритмом с объявлением состояния канала, OSPF отличается от RIP и IGRP, которые являются протоколами маршрутизации с вектором расстояния. Роутеры, использующие алгоритм вектора расстояния, отправляют всю или часть своей таблицы маршрутизации в сообщения о корректировке маршрутизации, но только своим соседям.

В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система (Autonomous System – AS) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.

Любая AS может быть разделена на ряд областей (area). Область - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких областях. Такие роутеры, которые называются роутерами границы областей (area border routers), поддерживают отдельные топологические базы данных для каждой области.

Топологическая база (topological database) данных фактически представляет собой общую картину сети по отношению к роутерам. Топологическая база данных содержит набор LSA, полученных от всех роутеров, находящихся в одной области. Т.к. роутеры одной области коллективно пользуются одной и той же информацией, они имеют идентичные топологические базы данных.

Термин «домен» (domain) используется для описания части сети, в которой все роутери имеют идентичную топологическую базу данных. Термин «домен» часто используется вместо AS.

Топология области является невидимой для объектов, находящихся вне этой области. Путем хранения топологий областей отдельно OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области. На рисунке 4.5 представлен пример объединенной сети с несколькими областями.

Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях. Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области; маршрутизация между областями – когда они находятся в разных областях.

 

Стержневая часть OSPF (backbone) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью какой-либо из областей, и подключенные к ним роутеры.

 

 

Рисунок 4.5 – Пример объединенной сети

 

На рисунке 4.5 роутеры 4, 5, 6, 10, 11 и 12 образуют стержень. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (роутеры 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2.

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

Область может быть определена таким образом, что стержневая часть не будет смежной с ней. В этом случае связность стержневой части должна быть восстановлена через виртуальные соединения. Виртуальные соединения формируются между любыми роутерами стержневой области, которые совместно используют какую-либо связь с любой из нестержневых областей; они функционируют так, как если бы они были непосредственными связями.

Граничные роутеры AS, использующие OSPF, узнают о внешних роутерах через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway Protocol (EGP) или Border Gateway Protocol (BGP), или через информацию о конфигурации.

 

4.3.1 Алгоритм SPF.

Алгоритм маршрутизации SPF является основой для операций OSPF. Когда на какой-нибудь роутер SPF подается питание, он инициилизирует свои структуры данных о протоколе маршрутизации, а затем ожидает индикации от протоколов низшего уровня о том, что его интерфейсфы работоспособны.

После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол (hello protocol) OSPF, чтобы приобрести соседей (neighbor). Соседи – это роутеры с интерфейсами с общей сетью. Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же пакеты. Помимо оказания помощи в приобретении соседей, приветственные пакеты также действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутеры все еще функционируют.

В сетях с множественным доступом (multi-access networks) (сетях, поддерживающих более одного роутера) протокол «Hello» выбирает назначенный роутер (designated router) и дублирующий назначенный роутер. Назначенный роутер, помимо других функций, отвечает за генерацию LSA для всей сети с множественным доступом. Назначенные роутеры позволяют уменьшить сетевой трафик и объем топологической базы данных.

Если базы данных о состоянии канала двух роутеров являются синхронными, то говорят, что эти роутеры смежные (adjacent). В сетях с множественным доступом назначенные роутеры определяют, какие роутеры должны стать смежными. Топологические базы данных синхронизируются между парами смежных роутеров. Смежности управляют распределением пакетов протокола маршрутизации. Эти пакеты отправляются и принимаются только на смежности.

Каждый роутер периодически отправляет какое-нибудь LSA. LSA также отправляются в том случае, когда изменяется состояние какого-нибудь роутера. LSA включает в себя информацию о смежностях роутера. При сравнении установленных смежностей с состоянием канала быстро обнаруживаются отказавшие роутеры, и топология сети изменяется соответствующим образом. Из топологической базы данных, генерируемых LSA, каждый роутер рассчитывает дерево наикратчайшего пути, корнем которого является он сам. В свою очередь дерево наикратчайшего пути выдает маршрутную таблицу.

 

4.3.2 Формат пакета.

Все пакеты OSPF начинаются с 24-байтового заголовка, как показано на рисунке 4.6.

 

 

Рисунок 4.6 – формат пакета OSPF

 

Первое поле в заголовке OSPF – это номер версии OSPF (version number). Номер версии обозначает конкретную используемую реализацию OSPF.

За номером версии идет поле типа (type). Существует 5 типов пакета OSPF:

1)     «Hello» отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений;

2)     «Database Description» – поле описание базы данных. Описывает содержимое базы данных; обмен этими пакетами производится при инициализации смежности;

3)     «Link-State Request» – запрос о состоянии канала. Запрашивает части топологической базы данных соседа. Обмен этими пакетами производится после того, как какой-нибудь роутер обнаруживает, (путем проверки пакетов описания базы данных), что часть его топологической базы данных устарела;

4)     «Link-State Update» –  корректировка состояния канала. Отвечает на пакеты запроса о состоянии канала. Эти пакеты также используются для регулярного распределения LSA. В одном пакете могут быть включены несколько LSA;

5)     «Link-State Acknowledgement» – подтверждение состояния канала. Подтверждает пакеты корректировки состояния канала. Пакеты корректировки состояния канала должны быть четко подтверждены, что является гарантией надежности процесса лавинной адресации пакетов корректировки состояния канала через какую-нибудь область.

Каждое LSA в пакете корректировки состояния канала содержит тип поля. Существуют 4 типа LSA:

1)     «Router links advertisements» (RLA) – объявления о каналах роутера. Описывают собранные данные о состоянии каналов роутера, связывающих его с конкретной областью. Любой роутер отправляет RLA для каждой области, к которой он принадлежит. RLA направляются лавинной адресацией через всю область, но они не отправляются за ее пределы;

2)     «Network links advertisements» (NLA) – объявления о сетевых каналах. Отправляются назначенными роутерами. Они описывают все роутеры, которые подключены к сети с множественным доступом, и отправляются лавинной адресацией через область, содержащую данную сеть с множественным доступом;

3)     «Summary links advertisements» (SLA) – суммарные объявления о каналах. Суммирует маршруты к пунктам назначения, находящимся вне какой-либо области, но в пределах данной AS. Они генерируются роутерами границы области и отправляются лавинной адресацией через данную область. В стержневую область посылаются объявления только о внутриобластных роутерах. В других областях рекламируются как внутриобластные, так и межобластные маршруты;

4)     «AS external links advertisements» – объявления о внешних каналах AS. Описывают какой-либо маршрут к одному из пунктов назначения, который является внешним для данного AS. Объявления о внешних каналах AS вырабатываются граничными роутерами AS. Этот тип объявлений является единственным типом объявлений, которые продвигаются во всех направлениях данной AS; все другие объявления продвигаются только в пределах конкретных областей.

За полем типа заголовка пакета OSPF идет поле длины пакета (packet length). Это поле обеспечивает длину пакета вместе с заголовком OSPF в байтах.

Поле идентификатора роутера (router ID) идентифицирует источник пакета.

Поле идентификатора области (area ID) идентифицирует область, к которой принадлежит данный пакет. Все пакеты OSPF связаны с одной отдельной областью.

Стандартное поле контрольной суммы IP (checksum) проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.

За полем контрольной суммы идет поле типа удостоверения (authentication type). Примером типа удостоверения является «простой пароль». Все обмены протокола OSPF проводятся с установлением достоверности. Тип удостоверения устанавливается по принципу «отдельный для каждой области».

За полем типа удостоверения идет поле удостоверения (authentication). Это поле длиной 64 бита и содержит информацию удостоверения.

 

4.3.3 Дополнительные характеристики OSPF.

В числе дополнительных характеристик OSRF – равные затраты, многотрактовая маршрутизация (multipath routing) и маршрутизация, базирующаяся на запросах типа услуг высшего уровня (type of service - TOS).

Базирующаяся на TOS маршрутизация поддерживает те протоколы высшего уровня, которые могут назначать конкретные типы услуг. Например, какая-нибудь прикладная программа может включить требование о том, что определенная информация является срочной. Если OSPF имеет в своем распоряжении каналы с высоким приоритетом, то они могут быть использованы для транспортировки срочных дейтаграмм.

OSPF обеспечивает один или более показателей. Если используется только один показатель, то он считается произвольным, и TOS не обеспечивается. Если используется более одного показателя, то TOS обеспечивается факультативно путем использования отдельного показателя (и следовательно, отдельной маршрутной таблицы) для каждой из 8 комбинаций, образованной тремя битами IP TOS: битом задержки (delay), производительности (throughput) и надежности (reliability). Например, если биты IP TOS задают небольшую задержку, низкую производительность и высокую надежность, то OSPF вычисляет маршруты во все пункты назначения, базируясь на этом обозначении TOS.

Маски подсети IP включаются в каждый объявленный пункт назначения, что позволяет использовать маски подсети переменной длины (variable-length subnet masks). С помощью масок подсети переменной длины сеть IP может быть разбита на несколько подсетей разной величины. Это обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.

 

4.4 EGP

 

Протокол внешних роутеров (Exterior Gateway Protocol-EGP) является протоколом междоменной досягаемости, который применяется в Internet - международной сети, объединяющей университеты, правительственные учреждения, научно-исследовательские организации и частные коммерческие концерны. EGP документально оформлен в Запросах для Комментария (RFC) 904, опубликованных в апреле 1984 г.

Являясь первым протоколом внешних роутеров, который получил широкое признание в Internet, EGP сыграл важную роль. К сожалению, недостатки EGP стали более очевидными после того, как Internet стала более крупной и совершенной сетью. Из-за этих недостатков EGP в настоящее время не отвечает всем требованиям Internet и заменяется другими протоколами внешних роутеров, такими, как Протокол граничных роутеров (Border Gateway Protocol - BGP) и Протокол междоменной маршрутизации (Inter-Domain Routing Protocol - IDRP).

 

4.4.1 Основы технологии.

EGP первоначально предназначался для передачи информации о досягаемости в стержневые роутеры ARPANET и получения ее от них. Информация передавалась из отдельных узлов источника, находящихся в различных административных доменах, называемых автономными системами (AS), вверх в стержневые роутеры, которые передавали эту информацию через стержневую область до тех пор, пока ее можно было передать вниз к сети пункта назначения, находящейся в пределах другой AS. Эти взаимоотношения между EGP и другими компонентами ARPANET показаны на рисунке 4.7.

 

 

Рисунок 4.7 – Взаимоотношения между EGP и другими компонентами ARPANET

 

Несмотря на то, что EGP является динамическим протоколом маршрутизации, он использует очень простую схему. Он не использует показатели, и следовательно, не может принимать по настоящему интеллектуальных решений о маршрутизации. Корректировки маршрутизации EGP содержат информацию о досягаемости сетей. Другими словами, они указывают, что в определенные сети попадают через определенные роутеры.

EGP имеет три основных функции. Во-первых, роутеры, работающие с EGP, организуют для себя определенный набор соседей. Соседи - это просто другие роутеры, с которыми какой-нибудь роутер хочет коллективно пользоваться информацией о досягаемости сетей; какие-либо указания о географическом соседстве не включаются. Во-вторых, роутеры EGP опрашивают своих соседей для того, чтобы убедиться в их работоспособности. В-третьих, роутеры EGP oтправляют сообщения о корректировках, содержащих информацию о досягаемости сетей в пределах своих AS.

 

4.4.2 Формат пакета.

Пакет EGP представлен на рисунке 4.8.

 

 

Рисунок 4.8 – Формат пакета EGP

 

Первым полем в заголовке пакета EGP является поле номера версии EGP (EGP version number). Это поле обозначает текущую версию EGP и проверяется приемными устройствами для определения соответствия между номерами версий отправителя и получателя.

Следующим полем является поле типа (type), которое обозначает тип сообщения. EGP выделяет 5 отдельных типов сообщения:

Сообщение «Приобретение соседа» включает в себя интервал приветствия (hello interval) и интервал опроса (poll interval). Поле интервала приветствия определяет период интервала проверки работоспособности соседей. Поле интервала опроса определяет частоту корректировки маршрутизации.

Сообщения о досягаемости соседа не имеют отдельных полей в числе полей, идущих за заголовком EGP. Эти сообщения используют поле кода для указания различия между приветственным сообщением и ответом на приветственное сообщение. Выделение функции оценки досягаемости из функции корректировки маршрутизации уменьшает сетевой трафик, т.к. изменения о досягаемости сетей обычно появляются чаще, чем изменения параметров маршрутизации. Любой узел EGP заявляет об отказе одного из своих соседей только после того, как от него не был получен определенный процент сообщений о досягаемости.

Сообщение «Опрос». Чтобы обеспечить правильную маршрутизацию между AS, ЕGP должен знать об относительном местоположении отдаленных хостов. Сообщение опроса позволяет роутерам EGP получать информацию о досягаемости сетей, в которых находятся эти машины. Такие сообщения имеют только одно поле помимо обычного заголовка - поле сети источника IP (source network). Это поле определяет сеть, которая должна использоваться в качестве контрольной точки для запроса.

Сообщения о корректировке маршрутизации дают роутерам EGP возможность указывать местоположение различных сетей в пределах своих AS. В дополнение к обычному заголовку эти сообщения включают несколько дополнительных полей. Поле числа внутренних роутеров (number of interior gateways) указывает на число внутренних роутеров, появляющихся в сообщении. Поле числа внешних роутеров (number of exterior gateways) указывает на число внешних роутеров, появляющихся в сообщении. Поле сети источника IP (IP source network) обеспечивает адрес IP той сети, от которой измерена досягаемость. За этим полем идет последовательность блоков роутеров (gateway blocks). Каждый блок роутеров обеспечивает адрес IP какого-нибудь роутера и перечень сетей, а также расстояний, связанных с достижением этих сетей.

В пределах одного блока роутера EGP перечисляет сети по расстояниям. Например, на расстоянии три может быть четыре сети. Эти сети перечислены по адресам. Следующей группой сетей могут быть сети, находящиеся на расстоянии 4, и т.д.

ЕGP не расшифровывает показатели расстояния, содержащиеся в сообщениях о корректировке маршрутов. EGP фактически использует поле расстояния для указания существования какого-либо маршрута; значение расстояния может быть использовано только для сравнения трактов, если эти тракты полностью находятся в пределах одного конкретного AS. По этой причине EGP является скорее протоколом досягаемости, чем протоколом маршрутизации. Это ограничение приводит также к ограничениям в структуре Internet. Характерно, что любая часть EGP сети Internet должна представлять собой структуру дерева, у которого стержневой роутер является корнем, и в пределах которого отсутствуют петли между другими AS. Это ограничение является основным ограничением EGP; оно стало причиной его постепенного вытеснения другими, более совершенными протоколами внешних роутеров.

Сообщения о неисправностях указывают на различные сбойные ситуации. В дополнение к общему заголовку EGP сообщения о неисправностях обеспечивают поле причины (reason), за которым следует заголовок сообщения о неисправности (message header). В число типичных неисправностей (причин) EGP входят неисправный формат заголовка EGP (bad EGP header format), неисправный формат поля данных EGP (bad EGP data field format), чрезмерная скорость опроса (excessive polling rate) и невозможность достижения информации (unavailability of reachability information). Заголовок сообщения о неисправности состоит из первых трех 32-битовых слов заголовка.

За полем типа следует поле кода (code). Это поле определяет различие между подтипами сообщений.

Следующее поле – поле состояния (status), которое содержит информацию о состоянии, зависящую от сообщения. В число кодов состояния входят коды недостатка ресурсов (insufficient resources), неисправных параметров (parameter problem), нарушений протокола (protocol violation), и другие.

За полем состояния идет поле контрольной суммы (checksum). Контрольная сумма используется для обнаружения возможных проблем, которые могли появиться в пакете в результате транспортировки.

За полем контрольной суммы идет поле номера автономной системы (autonomous system number). Оно обозначает AS, к которой принадлежит роутер-отправитель.

Последним полем заголовка пакета EGP является поле номера последовательности (sequence number). Это поле позволяет двум роутерам EGP, которые oбмениваются сообщениями, согласовывать запросы с ответами. Когда определен какой-нибудь новый сосед, номер последовательности устанавливается в исходное нулевое значение и инкрементируется на единицу с каждой новой транзакцией запрос-ответ.

За заголовком EGP идут дополнительные поля. Содержимое этих полей различается в зависимости от типа сообщения (определяемого полем типа).

 

4.5 BGP

 

Протоколы внешних роутеров предназначены для маршрутизации между доменами маршрутизации. В терминологии Internet (международной сети, объединяющей университеты, правительственные учреждения, научно-исследовательские организации и частные коммерческие концерны) доменом маршрутизации называется автономная система (AS). Первым протоколом внешних роутеров, получившим широкое признание в Internet, был протокол EGP. Хотя технология EGP пригодна для сетей, он имеет ряд недостатков, в том числе тот факт, что это скорее протокол досягаемости, а не маршрутизации.

Протокол Граничных роутеров (Border Gateway Protocol - BGP) является попыткой решить самую серьезную проблему EGP. BGP является протоколом маршрутизации между AS, созданным для применения в Internet. В отличие от EGP, протокол BGP предназначен для обнаружения маршрутных петель. BGP можно назвать следующим поколением EGP. И действительно, BGP и другие протоколы маршрутизации между AS постепенно вытесняют EGP из Internet. Версия 3 BGP определена в Запросах для Комментария (RFC) 1163.

4.5.1 Основы технологии.

Хотя BGP разработан как протокол маршрутизации между AS, он может использоваться для маршрутизации как в пределах, так и между AS. Два соседа BGP, сообщающихся из различных AS, должны находиться в одной и той же физической сети. Роутеры BGP, находящиеся в пределах одной и той же AS, сообщаются друг с другом, чтобы обеспечить согласующееся представление о данной AS и определить, какой из роутеров BGP данной AS будет служить в качестве точки соединения при передаче сообщений в определенные внешние AS и при их приеме.

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

Сообщения о корректировках BGP состоят из пар «сетевой номер/тракт AS». Тракт AS содержит последовательность из AS, через которые может быть достигнута указанная сеть. Эти сообщения о корректировке отправляются с помощью механизма транспортировки TCP для обеспечения надежной доставки.

Обмен исходной информацией между двумя роутерами является содержанием всей маршрутной таблицы BGP. С изменением маршрутной таблицы отправляются инкрементные корректировки. В отличие от некоторых других протоколов маршрутизации, BGP не требует периодического обновления всей маршрутной таблицы. Вместо этого роутеры BGP хранят новейшую версию маршрутной таблицы каждого равноправного члена. Хотя BGP поддерживает маршрутную таблицу всех возможных трактов к какой-нибудь конкретной сети, в своих сообщениях о корректировке он объявляет только об основных (оптимальных) маршрутах.

Показатель BGP представляет собой произвольное число единиц, характеризующее степень предпочтения какого-нибудь конкретного маршрута. Эти показатели обычно устанавливаются администратором сети с помощью конфигурационных файлов. Степень предпочтения может базироваться на любом числе критериев, включая число AS (тракты с меньшим числом AS как правило лучше), тип канала (стабильность, быстродействие и надежность канала) и другие факторы.

4.5.2 Формат пакета.

Пакеты BGP имеют общий 19-байтовый заголовок, состоящий их трех полей.

Поле маркера (marker) имеет длину 16 байтов и содержит величину, которую получатель сообщения может предсказывать. Это поле используется для установки подлинности.

Поле длины (length) содержит полную длину сообщения в байтах.

Формат пакета представлен на рисунке 4.9.

 

 

Рисунок 4.9 – Формат пакета BGP

 

Поле типа (type) определяет тип сообщения. RFC 1163 определяет 4 типа сообщений:

«Открывающие сообщения». В дополнение к обычному заголовку пакета BGP в открывающих сообщениях выделяют несколько полей. Поле версии (version) обеспечивает номер версии BGP и дает возможность получателю проверять, совпадает ли его версия с версией отправителя. Поле автономной системы (autonomous system) обеспечивает номер AS отправителя. Поле времени удерживания (hold time) указывает максимальное число секунд, которые могут пройти без получения какого-либо сообщения от передающего устройства, прежде чем считать его отказавшим. Поле кода удостоверения (authentication code) указывает на используемый код удостоверения (если он имеется). Поле данных удостоверения (autentication data) содержит фактические данные удостоверения (при их наличии).

«Сообщения о корректировках» BGP обеспечивают корректировки маршрутизации для других систем BGP. Информация этих сообщений используется для построения графика, описывающего взаимоотношения между различными AS. В дополнение к обычному заголовку BGP сообщения о корректировках имеют несколько дополнительных полей. Эти поля обеспечивают маршрутную информацию путем перечисления атрибутов трактов, соответствующих каждой сети. В настоящее время BGP определяет 5 атрибутов:

1)     «Origin» (Источник). Может иметь одно из трех значений: IGP, EGP и incomplete (незавершенный). Атрибут IGP означает, что данная сеть является частью данной AS. Атрибут EGP означает, что первоначальные сведения о данной информации получены от протокола EGP. Реализации BGP склонны oтдавать предпочтение маршрутам IGP перед маршрутами EGP, т.к. маршрут EGP отказывает при наличии маршрутных петель. Атрибут incomplete используется для указания того, что о данной сети известно через какие-то другие средства;

2)     «AS path» (Путь AS). Обеспечивает фактический перечень AS на пути к пункту назначения;

3)     «Next hop» (Следующая пересылка). Обеспечивает адрес IP роутера, который должен быть использован в качестве следующей пересылки к сетям, перечисленным в сообщении о корректировке;

4)     «Unreachable» (Недосягаемый). Указывает (при его наличии), что какой-нибудь маршрут больше не является досягаемым;

5)     «Inter-AS metric» (Показатель сообщения между AS). Обеспечивает для какого-нибудь роутера BGP возможность рекламировать свои затраты на маршруты к пунктам назначения, находящимся в пределах его AS. Эта информация может быть использована роутерами, которые являются внешними по отношению к AS рекламодателя, для выбора оптимального маршрута к конкретному пункту назначения, находящемуся в пределах данной AS.

Сообщения «keepalive» (продолжай действовать) не содержат каких-либо дополнительных полей помимо тех, которые содержатся в заголовке BGP. Эти сообщения отправляются довольно часто для того, чтобы препятствовать истечению периода времени удерживания таймера.

«Уведомления» отправляются в том случае, если была обнаружена сбойная ситуация, и один роутер хочет сообщить другому, почему он закрывает соединение между ними. Помимо обычного заголовка BGP уведомления содержат поле кода ошибки (error code), поле подкода ошибки (error subcode) и данные ошибки (error data). Поле кода ошибки указывает тип ошибки, который может быть одним из перечисленных ниже:

1)     «Message header error» (ошибка в заголовке сообщения). Указывает на проблему в заголовке сообщения такую, как неприемлемая длина сообщения, неприемлемое значение поля маркера или неприемлемый тип сообщения;

2)     «Open message error» (ошибка в открывающем сообщении). Указывает на наличие проблемы в открывающем сообщении такой, как необеспечиваемый номер версии, неприемлемый номер AS или адрес IP и необеспечиваемый код удостоверения;

3)     «Update message error» (ошибка в сообщении о корректировке). Указывает на наличие проблемы в сообщении о корректировке. Примерами таких проблем могут быть неправильно сформированный перечень атрибутов, ошибка в перечне атрибутов и недействительный атрибут следующей пересылки;

4)     «Hold time expired» (время удерживания истекло). Указывает на истечение периода времени удерживания, после чего узел BGP будет объявлен недействующим.

После того как соединение протокола транспортного уровня организовано, первым сообщением, отправляемым каждой стороной, является открывающее сообщение. Если открывающее сообщение приемлемо для получателя, то отправителю отсылается сообщение keepalive, подтверждающее получение открывающего сообщения. После успешного подтверждения принятия открывающего сообщения может быть произведен обмен корректировками, сообщениями keepalive и уведомлениями.

 

4.6 Маршрутизация OSI

 

При содействии Международной Организации по Стандартизации (ISO) уже разработаны или разрабатываются в настоящее время несколько протоколов маршрутизации. ISO ссылается на Протокол Обмена Внутридоменной Маршрутизации Промежуточных Систем (Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol (IS-IS)) как на ISO 10589. Двигательной силой стандартизации ISO документа IS-IS был комитет Х.3S3.3 Американского Национального Института Стандартов (ANSI), занимающийся сетевым и транспортным уровнями. В числе других протоколов ISO, связанных с маршрутизацией, протоколы ISO 9542 (End System to Intermediate System, или ES-IS - Конечная система-Промежуточная Система) и ISO 10747 (IS-IS Inter-Domain Routing Protocol, или IDRP – протокол междоменной маршрутизации промежуточных систем). Об этих протоколах будет вкратце упомянуто в данной главе, однако oсновное внимание уделено внутридоменной версии IS-IS.

IS-IS базируется на работе, которая была впервые выполнена Digital Equipment Corporation при разработке Phase V DECnet. Хотя IS-IS предназначался для маршрутизации в сетях протокола CLNP ISO, со временем была разработана одна из его версий для поддержки как сетей CLNP, так и сетей IP. На эту версию IS-IS обычно ссылаются как на Integrated IS-IS (интегрированный); ее также называют Dual IS-IS (двойственный). Integrated IS-IS также рассматривается вкратце.

 

4.6.1 Терминология.

Объединенные сети OSI используют уникальную терминологию. Термин «конечная система» (end system – ES) относится к любому узлу сети, который не занимается маршрутизацией; термин «промежуточная система» (intermediate system – IS) относится к роутеру. На этих терминах базируются протоколы OSI ES-IS (который позволяет ES и IS находить друг друга) и IS-IS (который обеспечивает маршрутизацию между IS). Ниже дается определение некоторых других важных терминов объединенных сетей OSI:

1)     «Area» (область). Группа смежных сетей и подключенных к ним хостов, которые определяются как область администратором сети или другим аналогичным лицом;

2)     «Domain» (домен). Набор соединенных областей. Домены маршрутизации обеспечивают полную связность со всеми конечными системами, находящимися в их пределах;

3)     «Level 1 routing» Маршрутизация в пределах области Уровня 1;

4)     «Level 2 routing» Maршрутизация между областями Уровня 1.

На рисунке 4.10 представлена «Иерархия объединенных сетей OSI» и показана взаимосвязь между этими терминами.

 

 

Рисунок 4.10 - Иерархия объединенных сетей OSI

 

С технологической точки зрения IS-IS почти аналогичен протоколу маршрутизации OSPF. Оба протокола являются протоколами с указанием состояния канала. Оба они обеспечивают различные характеристики, которые не обеспечивает RIP, в том числе иерархии маршрутизации (routing hierachies), дробление путей (path splitting), обеспечение типа услуги (type-of-service - TOS), удостоверение (authentication), поддержка нескольких протоколов сетевого уровня и поддержка (совместно с протоколом Integrated IS-IS) масок подсети переменной длины.

 

4.6.2 Протокол ES-IS.

ES-IS в большей мере является протоколом обнаружения, чем протоколом маршрутизации. Через ES-IS системы ES и IS узнают друг о друге. Этот процесс известен как конфигурация (configuration). Т.к. конфигурация должна иметь место прежде, чем может начаться маршрутизация между ES, протокол ES-IS рассматривается в первую очередь.

ES-IS различает три разных типа подсетей:

1)     «Point-to-point subnetworks» (двухточечные подсети). Обеспечивают непосредственное соединение между двумя системами. Большинство последовательных каналов глобальной сети являются двухточечными сетями;

2)     «Broadcast subnetworks» (широковещательные подсети). Направляют отдельное физическое сообщение во все узлы данной подсети. Примерами широковещательных подсетей являются Ethernet и IEEE 802.3;

3)     «General-topology subnetworks» (подсети с общей топологией). Поддерживают произвольное число систем. Однако в отличие от широковещательных подсетей, величина затрат на передачу по какому-нибудь маршруту n непосредственно связана с размерами данной подсети в подсети с общей топологией. Примером подсети с общей топологией является Х.25.

Информация конфигурации передается через определенные интервалы времени с помощью сообщений двух типов. Приветственные сообщения ES (Es hello messages – ESHs) генерируются ES и отправляются в каждую IS данной подсети. Приветственные сообщения IS (IS hello messages - ISH) генерируются IS и отправляются всем ES данной подсети. Эти приветственные сообщения в основном предназначены для переноса адресов подсетей и адресов сетевого уровня тех систем, которые генерируют их.

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

ES-IS переносит как адреса сетевого уровня, так и адреса подсетей. Адреса сетевого уровня OSI идентифицируют либо точку доступа к услугам сети (NSAP), которая представляет собой интерфейс между Уровнями 3 и 4, либо титул объекта сети (NET), который является объектом сетевого уровня в OSI IS. Адреса подсетей OSI (иногда называемые адресами точки подключения подсети – subnetwork point of attachment – SNPA) являются точками, в которых ES или IS физически подключена к какой-нибудь подсети. Адрес SNPA уникальным образом идентифицирует каждую систему, подключенную к данной подсети. В сети Ethernet, например, SNPA является 48-битовым адресом управления доступом к носителю (МАС). Часть информации конфигурации, которую передает ES-IS, представляет собой отображение соответствия между NSAP и SNPA или между NET и SNPA.

На рисунке 4.11 представлены форматы пакетов ESH и ISH.

 

 

Рисунок 4.11 – Форматы пакетов ESH и ISH

 

4.6.3 Протокол IS-IS.

IS-IS является протоколом маршрутизации с указанием состояния канала. В этом роли он передает по сети лавинной адресацией информацию о состоянии канала для построения полной, последовательной картины топологии сети.

Для упрощения схемы и работы роутера IS-IS различает IS уровней 1 и 2. IS уровня 1 могут сообщаться с другими IS уровня 1, находящимися в той же области. IS уровня 2 могут сообщаться с IS других областей. Т.е. IS уровня 1 формируют области уровня 1; IS уровня 2 осуществляют маршрутизацию между областями уровня 1.

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

Маршрутизация OSI выполняется следующим образом. Каждая ES принадлежит конкретной области. ES обнаруживают ближайшую IS путем прослушивания пакетов ISH. Если какая-нибудь ES захочет отправить пакет в другую ES, она направляет пакет в одну из IS сети, к которой она непосредственно подключена. Роутер просматривает адрес пункта назначения и продвигает пакет по наилучшему маршруту. Если ES пункта назначения находится в той же подсети, то местная IS узнает об этом в результате прослушивания ESH и соответствующим образом продвинет пакет. В этом случае IS может также обеспечить отправку сообщения о переадресации (redirect – RD) в источник пакета, чтобы сообщить о доступности более прямого пути. Если адресом пункта назначения является какая-нибудь ES другой подсети той же области, то IS узнает о точном маршруте и соответствующим образом продвинет пакет. Если адресом пункта назначения является какая-нибудь ES другой области, то IS уровня 1 отправляет этот пакет в в ближайшую IS уровня 2. Продвижение пакета через IS уровня 2 продолжается до тех пор, пока он не достигнет IS уровня 2 в области пункта назначения. В пределах области пункта назначения IS продвигают пакет по наилучшему маршруту, пока не будет достигнута ES пункта назначения.

Каждая IS генерирует корректировку, определяющую ES и IS, с которыми она соединена, а также связанные с ней показатели. Эта корректировка отправляется во все соседние IS, которые продвигают ее своим соседям, и т.д. (лавинная адресация). Номера последовательностей прекращают лавинную адресацию и отличают старые корректировки от новых. Т.к. каждая IS получает корректировки о состоянии канала от всех других IS, то каждая IS может построить полную базу данных всей топологии сети. При изменении топологии отправляются новые корректировки.

 

4.6.3.1 Показатели (метрики).

IS-IS использует один обязательный, устанавливаемый по умолчанию показатель с максимальным значением пути 1024. Этот показатель является произвольным и обычно назначается администратором сети. Любой отдельный канал может иметь максимальное значение 64. Длина путей вычисляется путем суммирования значений каналов. Максимальные значения каналов установлены на этих уровнях для обеспечения степени детализации, чтобы поддерживать различные типы каналов, одновременно обеспечивая достаточную эффективность алгоритма поиска наикратчайшего пути, используемого для расчета маршрута.

IS-IS также определяет три дополнительных показателя (затраты) в качестве опций для тех администраторов, которые испытывают в них необходимость. Затраты задержки (delay) отражают величину задержки в канале. Затраты на издержки (expense) отражают коммуникационные затраты, связанные с использованием данного канала. Затраты на ошибки (error) отражают коэффициент ошибок данного канала.

IS-IS обеспечивает соответствие этих четырех показателей опции качества обслуживания (quality-of-service – QOS) в заголовке пакета CLNP. Пользуясь этим соответствием, IS-IS может вычислять маршруты через объединенную сеть.

 

4.6.3.2 Формат пакета.

IS-IS использует три базовых формата пакета:

-       IS-IS hello packets – приветственные пакеты IS-IS;

-       Link state packets (LSPs) – пакеты состояния канала;

-       Sequence numbers packets (SNPs) – пакеты номеров последовательностей.

Каждый из этих трех пакетов IS-IS имеет сложный формат с тремя различными логическими частями. Первой частью является 8-байтовый фиксированный заголовок, общий для всех трех типов пакетов. Второй частью является специфичная для данного типа пакета часть с фиксированным форматом. Третья логическая часть также является специфичной для типа пакета, но имеет переменную длину. Логический формат пакетов IS-IS представлен на рисунке 4.12.

 

Common header

Packet-type-specific, fixed header

Packet-type-specific, variable-length header


Рисунок 4.12 – Логический формат пакета

 

Каждый из трех типов пакета имеет общий заголовок, как это показано на рисунке 4.13.

 

Рисунок 4.13 – Формат пакета

 

Первым полем в общем заголовке IS-IS является идентификатор протокола (protocol identifier), который идентифицирует протокол IS-IS. Это поле содержит константу (131).

Следующим полем общего заголовка является поле длины заголовка (header length). Это поле содержит фиксированную длину заголовка. Эта длина всегда равняется 8 байтам, но она включена таким образом, чтобы пакеты IS-IS незначительно отличались от пакетов CLNP.

За полем длины следует поле версии (version), которое равняется единице в текущей спецификации IS-IS.

За полем версии идет поле длины ID, которое определяет размеры части ID (идентификатора) NSAP, если eго значение лежит в пределах от 1 до 8 (включительно). Если поле содержит нуль, то часть ID равняется 6 байтам. Если поле содержит 255 (одни единицы), то часть ID равна 0 байтов.

Следующим полем является поле типа пакета (packet type), которое определяет тип пакета IS-IS (hello, LSP или SNP).

За полем типа пакета повторно следует поле версии.

За вторым полем версии идет поле резерва (reserved), которое равно нулю и которое игнорируется получателем.

Последним полем общего заголовка является поле максимума адресов области. Это поле определяет число адресов, разрешeнных для этой области.

За общим заголовком идет дополнительная фиксированная часть, разная для каждого типа пакета, за которой следует переменная часть.

 

4.6.3.3 Интегрированный IS-IS

 

Интегрированный IS-IS является одной из версий IS-IS, которая использует один алгоритм маршрутизации для поддержки нескольких протоколов сетевого уровня, а не только одного протокола CLNP. Интегрированный IS-IS иногда называют Двойственным IS-IS (Dual IS-IS), по имени одной из версий, предназначенных для сетей IP и CLNP.

Пакеты IS-IS дополнены несколькими полями, что позволяет IS-IS поддерживать дополнительные сетевые уровни. Эти поля сообщают роутерам следующую информацию:

-       досягаемость сетевых адресов из других комплектов протоколов;

-       какие протоколы поддерживаются и какими роутерами;

-       другую информацию, необходимую для какого-нибудь конкретного комплекта протоколов.

Интегрированный IS-IS представляет один из двух способов поддержки в роутере нескольких протоколов сетевого уровня; другим способом является применение метода «корабли ночью» (ships in the night). Этот метод пропагандирует использование совершенно отдельного и отличного от других протокола маршрутизации для каждого сетевого протокола сети так, чтобы несколько протоколов маршрутизации фактически существовали независимо друг от друга (с разными типами маршрутной информации, проходящей, подобно кораблям, ночью). Возможность направлять по определенным маршрутам несколько протоколов сетевого уровня с помощью таблиц, рассчитанных одним протоколом маршрутизации, экономит ресурсы роутеров.

 

4.6.4 Протокол междоменной маршрутизации (IDRP).

IDRP является протоколом OSI, предназначенным для перемещения информации между доменами маршрутизации. Он предназначен для бесшовной работы с CLNP, ES-IS и IS-IS. IDRP базируется на Протоколе граничных роутеров (BGP), который является протоколом междоменной маршрутизации, впервые появившемся в сообществе IP.

IDRP вводит несколько новых терминов, в том числе следующие:

-       Border intermediate system (BIS) (Граничная промежуточная система) – это IS, участвующая в междоменной маршрутизации. Для этого она использует IDRP.

-       Routing domain (RD) (домен маршрутизации) – это группа ES и IS, работающих согласно общим административным правилам, включающим коллективное пользование общим маршрутным планом.

-       Routing domain identifier (RDI) (идентификатор домена маршрутизации). Уникальный идентификатор домена маршрутизации (RD).

-       Routing information base (RIB) (информационная база маршрутизации) – это база данных маршрутизации, используемая IDRP. Каждая BIS строит свою RIB из информации, полученной от систем данного RD и из других BIS. Любая RIB содержит набор маршрутов, выбранных для использования какой-нибудь конкретной BIS.

-       Confederation (конфедерация) – это группа доменов маршрутизации (RD). RD, не принадлежащие к данной конфедерации, воспринимают ее как один RD. Топология конфедерации невидима для RD, не принадлещащих к ней. Конфедерации помогают сократить сетевой трафик, выступая в объединенной сети в качестве непреодолимой преграды; они могут быть вложены одна в другую.

Маршрут IDRP представляет собой последовательность RDI. Некоторые из этих RDI могут быть конфедерациями. При конфигурации каждой BIS она знает о RD и конфедерациях, к которым она принадлежит, а также узнает о других BIS, RD и конфедерациях из информации, которой она обменивается с каждым соседом. Как и для маршрутизации с вектором расстояния, маршруты в какой-нибудь конкретный пункт назначения накапливаются вне данного пункта назначения. Только маршруты, которые удовлетворяют требованиям местной политики какой-нибудь BIS и были выбраны для использования, будут переданы в другие BIS. Пересчет маршрутов носит частичный характер и имеет место при наличии одного их следующих трех событий: получена инкрементная корректировка маршрутизации с новыми маршрутами, отказывает какая-нибудь соседняя BIS или появляется новая соседняя BIS.

 

Список литературы

 

1        Калугин А. Н. Введение в IP-сети. – М., 2008.

2        Уолрэнд Дж. Телекоммуникационные и компьютерные сети. – М.: Постмаркет, 2007.

3        Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. – СПб.: «Питер», 2010.

4        Олифер В.Г., Олифер Н.А. Основы сетей передачи данных. – СПб.: «Питер», 2005.

5        Хамбракен Д. Компьютерные сети: Пер. с англ. – М.: ДМК Пресс, 2004.

6        Новиков Ю.В., Кондратенко С.В. Локальные сети. Архитектура, алгоритмы, проектирование. – М.: ЭКОМ, 2009.

7        Нанс Б. Компьютерные сети: Пер. с англ. – М.: «БИНОМ», 2006.

 

Содержание

 

Введение  3

1 Введение в IP-сети  5

1.1 Общие принципы построения объединенных сетей                                      5

1.1.1 Эталонная модель OSI, понятие протокола, передача сообщений    в сети          6

1.1.2 Функции сетевого уровня                                                                              9

1.1.3 Стеки протоколов                                                                                           11

1.1.3.1 Стек OSI                                                                                                       11

1.1.3.2 Стек TCP/IP                                                                                                 13

1.1.3.3 Стек SNA                                                                                                     18

1.1.3.4 Стек ATM                                                                                                    20

1.2  Понятие IP-телефонии                                                                                    21

1.2.1 Базовая архитектура систем IP – телефонии                                              22

1.2.2  Стандарты, используемые в IP-телефонии  24

1.2.2.1 Стандарты ITU-Т  25

1.2.2.2 Стандарты IETF  27

1.3 Классификация сетей IP-телефонии  28

1.3.1 Способы соединений в IP сети  30

1.4 Достоинства и недостатки IP-телефонии  33

2 Адресация в IP-сетях  35

2.1 Типы адресов: физический (MAC-адрес), сетевой (IP-адрес) и   символьный (DNS-имя) 35

2.1.1 Основные классы IP-адресов. 37

2.1.2 Соглашения о специальных адресах: broadcast, multicast, loopback. 38

2.1.3 Отображение физических адресов на IP-адреса: протоколы ARP    и RARP                            39

2.1.4 Отображение символьных адресов на IP-адреса: служба DNS  41

2.1.5 Автоматизация процесса назначения IP-адресов узлам сети –     протокол DHCP  42

3 Маршрутизация в IP-сетях  45

3.1 Протокол межсетевого взаимодействия IP  45

3.1.1 Формат пакета IP  45

3.1.2 Управление фрагментацией  46

3.2 Компоненты маршрутизации  48

3.2.1 Определение маршрута  48

3.2.2 Коммутация  50

3.3 Алгоритмы маршрутизации  51

3.3.1 Типы алгоритмов  53

3.3.1.1 Показатели алгоритмов (метрики) 56

3.4 Маршрутизация с помощью IP-адресов  57

4 Протоколы маршрутизации  61

4.1 Протокол маршрутизации внутренних роутеров IGRP  61

4.1.1  Формат пакета  62

4.1.2  Характеристики стабильности  63

4.2 Протокол информации маршрутизации RIP  65

4.2.1 Формат таблицы маршрутизации  66

4.2.2 Формат пакета (Реализация IP) 67

4.2.3 Характеристики стабильности  68

4.3 Протокол OSPF  70

4.3.1 Алгоритм SPF  73

4.3.2 Формат пакета  74

4.3.3 Дополнительные характеристики OSPF  75

4.4 EGP  76

4.4.1 Основы технологии  76

4.4.2 Формат пакета  77

4.5 BGP  79

4.5.1 Основы технологии  80

4.5.2 Формат пакета  81

4.6 Маршрутизация OSI 83

4.6.1 Терминология  83

4.6.2 Протокол ES-IS  84

4.6.3 Протокол IS-IS  86

4.6.3.1 Показатели (метрики) 87

4.6.3.2 Формат пакета  87

4.6.3.3 Интегрированный IS-IS  88

4.6.4 Протокол междоменной маршрутизации (IDRP) 89

Список литературы                                                                                                                91