Маршрутизаторы Cisco в сетях X.25Рефераты >> Программирование и компьютеры >> Маршрутизаторы Cisco в сетях X.25
Сетевой уровень Х.25/3 (в стандарте он назван не сетевым, а пакетным уровнем) реализуется с использованием 14 различных типов пакетов, по назначению аналогичных типам кадров протокола LAP-B. Так как надежную передачу данных обеспечивает протокол LAP-B, протокол Х.25/3 выполняет функции маршрутизации пакетов, установления и разрыва виртуального канала между конечными абонентами сети и управления потоком пакетов.
После установления соединения на канальном уровне конечный узел должен установить виртуальное соединение с другим конечным узлом сети. Для этого он в кадрах LAP-B посылает пакет Call Request протокола Х.25. Формат пакета Call Request показан на рис. 1.3. Этот пакет является пакетом сигнализации для сети Х.25, которая отличается тем, что режим сигнализации в ней не выделен в отдельный протокол, а представляет собой один из режимов работы общего протокола сетевого уровня Х.25/3.
Рис. 1.3. Формат пакета Call Request
Поля, расположенные в первых трех байтах заголовка пакета, используются во всех типах кадров протокола Х.25. Признаки Q и D и Modulo находятся в старшей части первого байта заголовка. Признак Q предназначен для распознавания на сетевом уровне типа информации в поле данных пакета. При получении пакета информация, расположенная в поле данных, а также значение бита Q передаются верхним уровням пользовательского стека протоколов (непосредственно транспортному уровню этого стека). Значение Q = 1 означает управляющую пользовательскую информацию, a Q = 0 - данные. Признак D означает подтверждение приема пакета узлом назначения. Обычный механизм подтверждения принятия пакетов с помощью квитанций имеет для протокола Х.25 только локальный смысл - прием пакета подтверждает ближайший коммутатор сети, через который конечный узел запросил и установил виртуальное соединение. Если же узел-источник запросил подтверждение приема конечным узлом, то это подтверждение индицируется установкой бита D (delivery confirmation) в пакетах, идущих от узла назначения.
Признак Modulo идентифицирует модуль, по которому ведется нумерация пакетов (8 или 128). Значение 10 означает модуль 128, а 01 - модуль 8.
Поле LGN (Lodical Group Number - номер логической группы) содержит значение номера логической группы виртуального канала. Каналы образуют логические группы по функциональному признаку, например:
- постоянный виртуальный канал;
- коммутируемый виртуальный канал только для входящих сообщений (симплексный канал);
- коммутируемый виртуальный канал только для исходящих сообщений (симплексный канал);
- коммутируемый дуплексный виртуальный канал.
Максимальное количество логических групп - 12, хотя в конкретной сети допустимо и меньшее количество.
Поле LCN (Logical Channel Number - номер логического канала) содержит номер виртуального канала, назначаемый узлом-источником (для коммутируемых виртуальных каналов) или администратором сети (для постоянных виртуальных каналов). Максимальное количество виртуальных каналов, проходящих через один порт, равно 256.
Поле Туре (тип) идентифицирует тип пакета. Например, для пакета Call Request отведено значение типа, равное ОхОВ. Младший бит этого поля определяет, является ли пакет управляющим (бит равен 1) или пакетом данных (бит равен 0). Значение ОхОВ содержит 1 в младшем бите, поэтому это управляющий пакет, а остальные биты в этом случае определяют подтип пакета. В пакете данных остальные биты поля Туре используются для переноса номеров квитанций N(S) и N(R).
Следующие два поля определяют длину адресов назначения и источника (DA и SA) в пакете. Запрос на установление виртуального канала содержит оба адреса. Первый адрес нужен для маршрутизации пакета Call Request, а второй - для принятия решения узлом назначения о возможности установления виртуального соединения с данным узлом-источником. Если узел назначения решает принять запрос, то он должен отправить пакет Call Accepted - «Запрос принят», в котором также указать оба адреса, поменяв их, естественно, местами. Адреса могут иметь произвольный формат или же соответствовать требованиям стандарта Х.121 или ISO 7498.
Сами адреса назначения и источника занимают отведенное им количество байтов в следующих двух полях.
Поля FL (Facilities Length - длина поля услуг) и Facilities (услуги) нужны для согласования дополнительных услуг, которые оказывает сеть абоненту. Например, услуга «Идентификатор пользователя сети» позволяет задать идентификатор пользователя (отличный от его сетевого адреса), на основании которого могут оплачиваться счета за пользование сетью. Пользователь с помощью услуги «Согласование параметров управления потоком» может попросить сеть использовать нестандартные значения параметров протокола - размера окна, максимального размера поля данных пакета и т. п. Протокол Х.25 допускает следующие
максимальные значения длины поля данных: 16, 32, 64, 128, 256, 512 и 1024 байт. Предпочтительной является длина 128 байт.
Пакет Call Request принимается коммутатором сети и маршрутизируется на основании таблицы маршрутизации, прокладывая при этом виртуальный канал. Начальное значение номера виртуального канала задает пользователь в этом пакете в поле LCN (аналог поля VCI, упоминавшегося при объяснении принципа установления виртуальных каналов). Протокол маршрутизации для сетей Х.25 не определен.
Для сокращения размера адресных таблиц в коммутаторах в сетях Х.25 реализуется принцип агрегирования адресов. Все терминалы, имеющие общий префикс в адресе, подключаются при этом к общему входному коммутатору подсети, соответствующей значению префикса. Например, если путь ко всем терминалам, имеющим адреса с префиксом 250 720, пролегает через общий коммутатор К1, то в таблице маршрутизации коммутаторов, через которые проходит путь к коммутатору К1, помещается единственная запись - 250 720, которая соответствует как конечному узлу 250 720 11, так и конечному узлу 250 720 26. Маски в коммутаторах не используются, а младшие разряды адреса, которые не нужны при маршрутизации, просто опускаются.
После установления виртуального канала конечные узлы обмениваются пакетами другого формата - формата пакетов данных (пакет Data). Этот формат похож на описанный формат пакета Call Request - первые три байта в нем имеют те же поля, а адресные поля и поля услуг отсутствуют. Пакет данных не имеет поля, которое бы определяло тип переносимых в пакете данных, то есть поля, аналогичного полю Protocol в IP-пакете. Для устранения этого недостатка первый байт в поле данных всегда интерпретируется как признак типа данных.
Коммутаторы (ЦКП) сетей Х.25 представляют собой гораздо более простые и дешевые устройства по сравнению с маршрутизаторами сетей TCP/IP. Это объясняется тем, что они не поддерживают процедур обмена маршрутной информацией и нахождения оптимальных маршрутов, а также не выполняют преобразований форматов кадров канальных протоколов. По принципу работы они ближе к коммутаторам локальных сетей, чем к маршрутизаторам. Однако работа, которую выполняют коммутаторы Х.25 над пришедшими кадрами, включает больше этапов, чем при продвижении кадров коммутаторами локальных сетей. Коммутатор Х.25 должен принять кадр LAP-B и ответить на него другим кадром LAP-B, в котором подтвердить получение кадра с конкретным номером. При утере или искажении кадра коммутатор должен организовать повторную передачу кадра. Если же с кадром LAP-B все в порядке, то коммутатор должен извлечь пакет Х.25, на основании номера виртуального канала определить выходной порт, а затем сформировать новый кадр LAP-В для дальнейшего продвижения пакета. Коммутаторы локальных сетей такой работой не занимаются и просто передают кадр в том виде, в котором он пришел, на выходной порт.