Протоколы канального уровня. Канальный уровень


9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

P.S. Возможно, со временем список дополнится.


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

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

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

1) Прикладной уровень. Тут работает само сетевое приложение. То есть веб-браузер, который запускается, например с компьютера.

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

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

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

Начнем с самого нижнего уровня. Это канальный и физический уровень, если рассматривать с точки зрения модели OSI и уровень доступа, если смотреть с высоты стека протоколов TCP/IP. Пользуемся мы TCP/IP, поэтому я буду говорить с ее точки зрения. Уровень доступа, как вы поняли, объединяет в себе физический и канальный уровень.

Физический уровень. Или как его любят называть «электрический уровень». Задает параметры сигнала, а также какой вид и форму имеет сигнал. Если, например, используется Ethernet (который передает данные при помощи провода), то какая модуляция, напряжение, ток. Если это Wi-Fi, то какие использовать радиоволны, частоту, амплитуду. К этому уровню можно отнести сетевые карты, Wi-Fi антенны, коннекторы. На этом уровне вводится такое понятие, как биты. Это единица измерения передаваемой информации.

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

Термин «физические адреса» ввели не просто так. Каждая сетевая карта или антенна имеет вшитый адрес, который ей присваивает производитель. В предыдущей статье я упоминал термин «протоколы». Только там это были протоколы верхнего уровня, а если точнее, то прикладного. На канальном уровне работают свои протоколы и количество их не маленькое. Самые популярные - это Ethernet (используется в локальных сетях), PPP и HDLC (они используются в глобальных сетях). Это конечно далеко не все, но Cisco в своей сертификации CCNA рассматривает только их.

Тяжело все это понять в виде сплошного сухого текста, поэтому объясню на картинке.

Забудьте сейчас про IP-адреса, модель OSI и стек протоколов TCP/IP. У вас есть 4 компьютера и коммутатор. На коммутатор внимания не обращайте, так как это обычная коробка для соединения компьютеров. У каждого компьютера есть свой MAC-адрес, который идентифицирует его в сети. Он должен быть обязательно уникальный. Хоть я и представил их 3-х значными, это далеко не так. Сейчас эта картинка только для логического понимания, а как это работает в реальной жизни, напишу чуть ниже.

Итак. Если один из компьютеров захочет что-то отправить другому компьютеру, то ему потребуется знать только MAC-адрес компьютера, на который он отправляет. Если верхнему левому компьютеру с MAC-адресом 111 захочется что-то отправить нижнему правому компьютеру, то он без проблем отправит это, если будет знать, что у адресата MAC-адрес 444.

Эти 4 компьютера образуют простенькую локальную сеть и одну канальную среду. Отсюда и название уровня. Но для корректной работы узлов в сетях TCP/IP, недостаточно адресации на канальном уровне. Важна еще адресация на сетевом уровне, которая всем известна, как IP-адресация.

Теперь вспоминаем про IP-адреса. И присвоим их нашим компьютерам.


Адреса я присвоил символически, чтобы на базовом уровне понять, как они работают. Вот эти две адресации (канальная и сетевая) работают в тесной связке между собой и по отдельности работать не смогут. Сейчас объясню почему. Мы в повседневной жизни работаем только с IP-адресами или именами, о которых была целая глава в предыдущей статье. С MAC-адресами мы фактически не работаем. С ними работают сами компьютеры. Сейчас смоделирую ситуацию. Я сижу за верхним левым компьютером с IP: 1.1.1.1 и MAC: 111. Захотел я связаться с нижним правым компом и проверить живой он или нет. Я смогу связаться с ним, если буду знать его IP-адрес. MAC-адрес мне его не интересен. Я знаю, что IP-адрес у него 1.1.1.4. И решаю воспользоваться утилитой ping (утилита проверки доступности узла).

Теперь важная вещь. Компьютер понимает, что он не знает MAC-адрес компьютера, доступность которого надо проверить. Для того, чтобы узнать MAC-адрес по IP-адресу, придумали протокол ARP. Я о нем напишу подробно позже. Сейчас я хочу, чтобы вы поняли зависимости MAC-адреса и IP-адреса. Итак, он на всю сеть начинает кричать: «Кто такой 1.1.1.4». Этот крик услышат все участники сети и, если найдется тот узел, который имеет данный IP-адрес, он отзовется. У меня такой компьютер присутствует и в ответ на этот крик, он ответит: «1.1.1.4 - это я. Мой MAC - 444». Мой компьютер получит это сообщение и сможет продолжить то, что я ему сказал.

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

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


Это скриншот из командной строки моего ноутбука. Я сижу за домашней точкой доступа, у которой маска 255.255.255.0. Это, наверное, самая простая маска для объяснения и скорее всего у вас она точно такая же. В чем суть. Первые 3 октета (они фиксированы) показывают адрес сети, а 4 октет (он динамический) показывает адрес хоста. Иными словами, данная маска показывает, что нужно проверять первые 3 октета полностью, а четвертый может быть свободным от 0 - 255. Вообще это грубая формулировка. Потому, что с такой маской свободны будут от 1 до 254, где 0 уйдет под адрес сети, а 255 под широковещательный адрес. Но в любом случае это предел одной канальной среды. То есть, когда узлу надо отправить другому узлу сообщение, он берет его адрес и накладывает на него маску и если адрес сети (фиксированная часть) сходится с его адресом, то значит они в одной канальной среде. Объясняю на примере той же картинки.


Сижу я за верхним левым компом и хочу отправить нижнему правому. Знаю я и IP-адрес его и MAC-адрес. Мне надо понять, в одной канальной среде мы или нет. Его адрес 1.1.1.4 и маска 255.255.255.0. Маска мне говорит, что 3 октета фиксированы и не должны меняться, а четвертый может быть любым в пределах от 1 до 254. Я накладываю маску на его адрес и на свой адрес и смотрю совпадения и различия.


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

Модернизирую сеть и покажу вам ее немного иначе.


Добавилась круглое устройство. Оно называется роутер или маршрутизатор. Слово всем знакомое. Основная его роль - это соединение сетей и выбор лучшего маршрута, о чем будет в дальнейшем рассказано более подробно. И добавился, справа, один коммутатор, с которым соединены 2 компьютера. Маска для всех устройств не изменилась (255.255.255.0).

Посмотрите внимательно на адреса всех устройств. Можно заметить, что у новых узлов и старых отличается 3-ий октет. Давайте разберемся с этим. Я также сижу за компом с MAC:111 и IP:1.1.1.1. Хочу отправить информацию одному из новых узлов. Давайте пусть это будет верхний правый компьютер с MAC:555 и IP:1.1.2.1. Накладываю маску и смотрю.


И тут уже другая картина. 3-ие октеты различаются, а значит, узлы находятся в разных сетях (правильнее подсетях). Для разрешения таких ситуации, в настройках каждой операционной системы есть основной шлюз. Его еще называют «шлюз последней надежды». Используется он, как раз, в том случае, когда нужно отправить информацию узлу, находящемся в другой канальной среде. Для моего компа адрес шлюза - 1.1.1.254. А для компьютера, которому я отправляю данные 1.1.2.254. Логика работы здесь простая. Если узлу, который находился в одной канальной среде, информация доходила напрямую, то для узла находящегося в другой канальной среде, путь будет через маршрутизатор.

Мой комп знает, что адрес шлюза 1.1.1.254. Он крикнет на всю сеть: «1.1.1.254 отзовись». Это сообщение получат все участники канальной среды, но ответит только тот, кто сидит за этим адресом. То есть маршрутизатор. Он отправит ответ, и только после этого мой комп отошлет данные до адреса 1.1.2.254. Причем обратите внимание. На канальном уровне данные будут отправлены на MAC:777, а на сетевом, на IP:1.1.2.1. Это значит, что MAC-адрес передается только в своей канальной среде, а сетевой адрес не меняется на всем своем пути. Когда маршрутизатор получит инфу, он поймет, что на канальном уровне она предназначалась ему, но когда увидит IP-адрес, то поймет, что он промежуточное звено и передать надо в другую канальную среду. Его второй порт смотрит в нужную подсеть. Значит, ему все пришло верно. Но он не знает MAC-адрес адресата. Он начинает так же кричать на всю сеть: «Кто такой 1.1.2.1?». И комп с MAC-адресом 555 отвечает ему. Думаю, что логика работы понятна.

На протяжении двух предыдущих статей и текущей, много раз упоминался термин «MAC-адрес» . Давайте разберем, что это такое.

Как я уже говорил, это уникальный идентификатор сетевого устройства. Он уникален и не должен нигде повторяться. Состоит он из 48 бит, из которых первые 24 бита - это уникальный идентификатор организации, который присваивается комитетом IEEE(Институт инженеров электротехники и электроники). А вторые 24 бита назначаются производителем оборудования. Выглядит это так.


Записывают его по-разному. Например:

1) 00-50-56-C0-00-08
2) 00:50:56:C0:00:08
3) 0050.56С0.0008

Как видите, один и тот же адрес можно записать разными способами. Еще обычно его не разделяют, а записывают слитно. Главное знать, что MAC-адрес всегда состоит из 48 бит и состоит из 12 букв и/или цифр. Посмотреть его можно разными способами. Например, в ОС Windows, открыв командную строку, ввести ipconfig /all. Многие производители еще записывают его на коробке или на обратной стороне корпуса устройства.


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

Раз мы разобрали адрес на канальном уровне, пришло время разобрать протокол, работающий на данном уровне. Самый популярный на сегодняшний момент протокол, используемый в локальных сетях - это Ethernet . IEEE описала его стандартом 802.3. Так что, все версии, которые начинаются с 802.3, относятся именно к нему. Например, 802.3z - это GigabitEthernet через волоконно-оптический кабель; 1 Гбит/с, а 802.3af - это электропитание через Ethernet (PoE - Power over Ethernet).

Кстати, я не сказал об организации IEEE (англ. Institute of Electrical and Electronics Engineers) . Эта организация разрабатывает стандарты ко всему, что относится к радиоэлектронике и электротехнике. На их сайте можно найти много документации по существующим технологиям. Вот, что они выдают по запросу «Ethernet»


Давайте разберем, из чего он состоит. Так как сам протокол старый (придуман в 1973 году), то он много раз модернизировался и менял свой формат. В Интернете можно найти все его варианты, но я приведу тот, который приводила Cisco, когда я учился.


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

2) MAC-адрес получателя. Поле, куда записывается адрес получателя.

3) MAC-адрес отправителя. Соответственно сюда записывается адрес отправителя.

4) Тип (длина). Раньше в этом поле указывалось, какому вышестоящему протоколу передается данный кадр, но в дальнейшем от этого отказались и ввели поле «Длина». Оно указывает длину поля данных, которое варьируется от 46-1500 байт.

5) Поле SNAP/LLC + данные. Как раз SNAP/LLC указывает какому вышестоящему протоколу передать кадр. Это может быть IP, IPX и другие протоколы сетевого уровня. Также в этом поле содержатся данные, полученные с высших уровней.

6) FCS (от англ. Frame Check Sequence - контрольная сумма кадра). Поле в котором подсчитана чек-сумма. По ней получатель понимает, побился кадр или нет.

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

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

IP (от англ. Internet Protocol). Протокол семейства TCP/IP, который был разработан в 80-х годах. Как я говорил ранее, используется для объединения отдельных компьютерных сетей между собой. Также важной его особенностью является адресация, которую называют

IP-адрес . На текущий момент существуют 2 версии протокола: IPv4 и IPv6. Пару слов о них:

1) IPv4. Использует 32-битные адреса, которые записываются в формате четырёх десятичных чисел (от 0 до 255), разделённых точками. Например, адрес 192.168.0.4. Каждое число разделенное точками называют октетом. Это самая популярная версия на сегодняшний день.

2) IPv6. Использует 128-битные адреса, которые записываются в формате восьми четырехзначных шестнадцатеричных чисел (от 0 до F). Например, адрес 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d. Каждое число разделенное точками называют хекстетом. На заре всеобщей компьютеризации появилась проблема. Стали заканчиваться IP-адреса и нужен был новый протокол, который смог бы обеспечить больше адресов. Так и появился в 1996 году протокол IPv6. Но благодаря технологии NAT, которая будет рассмотрена позже, была частична решена проблема нехватки адресов, и, в связи с этим, внедрение IPv6 затянулось по сегодняшний день.

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

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


1) Версия. Протокол IPv4 или IPv6.

2) IHL (от англ. Internet Header Length - размер заголовка). Так как многие из показанных на картинке полей не фиксированы, то это поле считает размер заголовка.

3) Тип обслуживания. Обслуживает размер очередей QoS (Quality of Service - качество обслуживания). Делает он это при помощи байта, который указывает на определенный набор критериев (требование ко времени задержки, пропускной способности, надежности и т.д.)

4) Длина пакета. Размер пакета. Если IHL отвечает только за размер полей в заголовке (заголовком являются все поля на картинке, кроме поля данных), то длина пакета отвечает за весь пакет в целом, включая пользовательские данные.

5) Время жизни (TTL- Time To Live). Поле, используемое для предотвращения циклического пути пакета. При прохождении через маршрутизатор, значение уменьшается на единицу, и когда достигает нуля, пакет отбрасывается.

6) Протокол. Для какого вышестоящего протокола предназначается данный пакет (TCP, UDP).

7) Контрольная сумма заголовка. Здесь считается целостность полей заголовка. Не данных! Данные проверяются соответствующим полем на канальном уровне.

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

9) Смещение. Указывает, какому месту принадлежит фрагмент в оригинальном IP. Это значение всегда кратно восьми байтам.

10) Данные. Здесь как раз содержатся данные, полученные с вышестоящих уровней. Чуть выше я показал, что в Ethernet-кадре тоже есть поле данных. И в его поле данных будет включен данный IP-пакет. Важно помнить, что максимальный размер Ethernet-кадра равен 1500 байт, а вот размер IP пакета может быть 20 Кбайт. Соответственно весь пакет не вместится в поле данных Ethernet-кадра. Поэтому пакет делят и отправляют частями. И вот для этого используются 3 поля ниже.

11) Идентификатор. Это 4-х байтовое число, которое показывает, что все части разделенного пакета одно единое целое.

12) Флаги. Указывает, что это не единый, а фрагментированный пакет.

13) Смещение фрагмента. Сдвиг относительно первого фрагмента. То есть это нумерация, которая поможет собрать IP-пакет воедино.

14) IP-адрес отправителя и IP-адрес получателя. Соответственно эти 2 поля указывают от кого и для кого пакет.

Вот так выглядит IP-пакет. Конечно, для новичков значения многих полей покажутся не совсем понятными, но в дальнейшем это уложится в голове. Например: поле «Время жизни (TTL)». Его работа станет ясна, когда поймете, как работает маршрутизация. Могу дать совет, который я сам применяю. Если видите непонятный термин, выпишите его отдельно и, при наличии свободного времени, попробуйте разобрать. Если никак не лезет в голову, то отложите и вернитесь к его изучению чуть позже. Главное не забрасывать и в конечном итоге все таки добить.

Остался последний уровень из стека TCP/IP. Это транспортный уровень . Пару слов о нем. Он предназначен для доставки данных определенному приложению, которое он определяет по номеру порта. В зависимости от протокола, он выполняет разные задачи. Например, фрагментация файлов, контроль доставки, мультиплексирование потоками данных и управление ими. 2 самых известных протокола транспортного уровня - это UDP и TCP. Поговорим о каждом из них подробнее, и начну с UDP, в силу его простоты. Ну и по традиции показываю, из чего он состоит.


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

2) Порт назначения. Здесь указывается порт, который будет являться адресатом. Например, если клиент запрашивает страницу сайта, то порт назначения, по умолчанию, будет 80-ый (протокол HTTP).

3) Длина UDP. Длина заголовка UDP. Размер варьируется от 8 до 65535 байт.

4) Контрольная сумма UDP. Проверка целостности. Если нарушена, то просто отбрасывает без запроса о повторной отправки.

5) Данные. Здесь упакованы данные с верхнего уровня. Например, когда веб-сервер отвечает на запрос клиента и отправляет веб-страницу, то она будет лежать в этом поле.

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

Переходим к более сложному протоколу. Встречаем протокол TCP. Смотрим, из чего состоит, и пробегаем по каждому полю.


1) Порт источника и порт назначения. Выполняют те же роли, что и в UDP, а именно нумерация портов.

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

3) Номер подтверждения. Это поле используется, когда ожидается доставка или подтверждается доставка. Для этого используется параметр ACK.

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

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

6) Флаги. В это поле устанавливаются специальные биты для установления или разрыва сессии.

7) Размер окна. Поле, указывающее, на сколько сегментов требовать подтверждения. Наверное, каждый из вас наблюдал такую картину. Вы скачиваете какой-то файл и видите скорость и время скачивания. И тут сначала он показывает, что осталось 30 минут, а через 2-3 секунды уже 20 минут. Еще спустя секунд 5, показывает 10 минут и так далее. Это и есть размер окна. Сначала размер окна устанавливается таким образом, чтобы получать больше подтверждений о каждом отправленном сегменте. Далее все идет хорошо и сеть не сбоит. Размер окна меняется и передается больше сегментов и, соответственно, требуя меньше отчетов о доставке. Таким образом, скачивание выполняется быстрее. Как только сеть даст краткий сбой, и какой то сегмент придет побитым, то размер опять изменится и потребуется больше отчетов о доставке. В этом суть данного поля.

8) Контрольная сумма TCP. Проверка целостности TCP-сегмента.

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

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

11) Данные. Практически тоже самое, что и в протоколе UDP. Здесь инкапсулированы данные с вышестоящего уровня.

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

Я открываю CPT и соберу схему, аналогичную одному из рисунков выше.


Здесь наблюдаем первую сеть, состоящую из 4-х компьютеров и коммутатора, который объединяет эти компьютеры. И 2-ую сеть, состоящую из двух компьютеров и коммутатора. Объединяет эти 2 сети маршрутизатор. Перейдем к настройке устройств и после смоделируем ту ситуацию, которую мы рассматривали в самом начале на картинке.

Открываю компьютер PC1 и пропишу сетевые настройки.


Не стал я мудрить с адресом и воспользовался самым простым, который постоянно на глазах:

1) IP-адрес - 192.168.1.1

Эту маску мы рассматривали выше. Напомню, что адрес сети у других хостов в той же локальной сети, должен быть 192.168.1, а адрес хоста может быть от 1 до 254.

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

Чтобы не было много однотипных картинок, я не буду приводить скриншоты остальных 3-х компьютеров, а только приведу их настройки.

PC2:
1) IP-адрес - 192.168.1.2
.
3) Основной шлюз - 192.168.1.254.

PC3:
1) IP-адрес - 192.168.1.3
2) Маска подсети - 255.255.255.0.
3) Основной шлюз - 192.168.1.254.

PC4:
1) IP-адрес - 192.168.1.4
2) Маска подсети - 255.255.255.0.
3) Основной шлюз - 192.168.1.254.

На данной настройке пока остановимся и посмотрим, как работает наша локальная сеть. Перевожу CPT в режим симуляции. Допустим, я сижу за компьютером PC1, и требуется проверить доступность PC4 командой ping. Открываю командную строку на PC1.


Как только нажимаю ENTER, на схеме появляются 2 конверта.


Один из них ICMP, с которым работает сама команда ping. Сразу открываю его и смотрю.


Вижу данные IP и ICMP. Тут нет ничего интересного, за исключением нескольких полей. А именно, цифра 4 в верхнем левом углу данных IP, которая говорит о том, что используется протокол IPv4. И 2 поля с IP-адресом источника и назначения (SRC:192.168.1.1 и DST:192.168.1.4).

Но тут ping сталкивается с проблемой. Он не знает MAC-адрес получателя. То есть, адрес канального уровня. Для этого он использует протокол ARP, который сможет опросить участников сети и узнать MAC-адрес. Мы про него вскользь говорили в предыдущей статье. Давайте поговорим о нем подробнее. Не буду изменять традиции. Картинку в студию!

1) Тип протокола канального уровня (Hardware type). Думаю понятно из названия, что тут указывается тип канального уровня. Мы пока рассматривали только Ethernet. Его обозначение в этом поле - 0x0001.

2) Тип протокола сетевого уровня (Protocol type). Тут, аналогично, указывается тип сетевого уровня. Код IPv4 - 0x0800.

3) Длина физического адреса в байтах (Hardware length). Если это MAC-адрес, то размер будет 6 байт (или 48 бит).

4) Длина логического адреса в байтах (Protocol length). Если это IPv4-адрес, то размер будет 4 байта (или 32 бита).

5) Код операции (Operation). Код операции отправителя. Если это запрос, то код 0001. В случае ответа - 0002.

6) Физический адрес отправителя (Sender hardware address). MAC-адрес отправителя.

7) Логический адрес отправителя (Sender protocol address). IP-адрес отправителя.

8) Физический адрес получателя (Target hardware address). MAC-адрес получателя. Если это запрос, то, как правило, адрес неизвестен и это поле остается пустым.

9) Логический адрес получателя (Target protocol address). IP-адрес получателя.

Теперь, когда мы знаем, из чего он состоит, можно посмотреть на его работу в CPT. Кликаю по второму конверту и наблюдаю следующую картину.


И вот протокол ARP во всей красе. На 2-ом уровне работает протокол Ethernet. Остановимся и посмотрим на его поля.

1) Преамбула - здесь битовая последовательность, которая говорит о начале кадра.

2) Далее идет MAC-адрес источника и получателя. В адресе источника записан MAC-адрес компьютера, который является инициатором, а в адресе получателя записан широковещательный адрес FF-FF-FF-FF-FF-FF (то есть для всех узлов в канальной среде).

3) Тип - здесь указан вышестоящий протокол. Код 0x806 означает, что выше стоит ARP. Я, если честно, не могу точно сказать, на каком уровне он работает. В разных источниках указано по-разному. Кто то говорит, что на 2-ом уровне OSI, а кто-то говорит, что на 3-ем. Я считаю, что он между ними работает. Так как тут есть адреса, присущие каждому из уровней.

Про данные и чек-сумму много говорить не буду. Данные здесь никак не указаны, а чек-сумма нулевая.

Поднимаемся чуть повыше и здесь протокол ARP .

1) Hardware Type - код канального уровня. CPT убрала лишние нули и вставила 0x1 (тоже, что и 0x0001). Это Ethernet.
2) Protocol Type - код сетевого уровня. 0x800 - это IPv4.
3) HLEN - длина физического адреса. 0x6 означает 6 байт. Все верно (MAC-адрес занимает 6 байт).
4) PLEN - длина сетевого адреса. 0x4 означает 4 байта (IP-адрес занимает 4 байта).
5) OPCODE - код операции. 0x1 означает, что это запрос.
6) Source Mac - здесь MAC-адрес отправителя. Можно сравнить его с адресом в поле протокола Ethernet и убедиться в правильности.
7) Source IP - IP-адрес отправителя.
8) Target MAC - так как это запрос и канальный адрес не известен, то он пустой. CPT показала его нулями, что равносильно.
9) Target IP - IP-адрес получателя. Как раз тот адрес, который пингуем.


Протокол ARP опрашивает все хосты в локальной сети и только один отвечает на этот запрос. Это PC4. Посмотрим, чем он ответит.


Вот он выплевывает что-то на коммутатор. Открываю его и вижу некоторые изменения, а именно:

1) В поле источника протокола Ethernet теперь записан MAC-адрес PC4, а в поле назначения MAC-адрес инициатора, то есть PC1.
2) В поле OPCODE теперь значение 0x2, то есть ответ.
3) Поменялись поля логических и физических адресов в протоколе ARP. Source MAC и Destination MAC аналогичны тем, что в протоколе Ethernet. В поле Source IP - адрес 192.168.1.4 (PC4), а в поле Destination IP - адрес 192.168.1.1 (PC1).

Как только эта информация достигнет PC1, он сразу формирует ICMP-сообщение, то есть ping.


Открываю его и смотрю. Это блок данных, состоящий из работы 3-х протоколов: Ethernet, IP и Ping.

1) В Ethernet протоколе ничего нового, а именно MAC-адрес отправителя - PC1, MAC-адрес получателя - PC4, а в поле Type - 0x800 (протокол IPv4)
2) В IP протоколе, в поле Версия - 4, что означает протокол IPv4. IP-адрес отправителя - PC1, а IP-адрес получателя - PC4.
3) В ICMP протоколе, в поле Type - код 0x8 (эхо-запрос).

Посылает он эхо-запрос, а я смотрю, чем ответит PC4.


Перекосил у меня CPT, и пришлось перезапустить его. Только теперь ICMP конверт не светло-зеленового цвета, а смесь зеленого и синего. Но это без разницы. Это одни и те же данные.
Ну что же, смотрю, чем ответил PC4. Поля источника и назначения в протоколах Ethernet и IP поменялись местами. А в поле Type протокола ICMP изменилось значения с 0x8 на 0x0 (означает эхо-ответ).

Судя по логике, как только этот ответ достигнет PC1, в консоли PC1 должна появиться запись. Давайте проверим.


И действительно. Появилась запись о доступности PC4, размер данных (32 байта), задержка по времени (8 мс) и TTL или время жизни (128). TTL показывает, сколько маршрутизаторов преодолел пакет. У меня пакет гулял в пределах локальной сети, поэтому данное поле не изменилось.

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


И как видите, действительно 4 ответа. Заметьте, что первый пришел с задержкой в 8 мс, а 3 последних в 4 мс. Это связано с работой протокола ARP, так как сначала PC1 не знал MAC-адрес PC4 и ждал, когда ему сообщат. Хотя в CPT встречается ситуация, что в режиме реального времени, первый пакет вообще теряется. Особенно часто это проявляется, когда проверяется доступность хоста, находящегося в другой канальной среде.

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

Открываю я компьютер с именем PC5 и пропишу сетевые настройки.


Заметьте, что сетевая адресация в первой канальной среде, была 192.168.1.X, а во 2-ой 192.168.2.X. При маске 255.255.255.0, это означает, что первые 3 октета фиксированы, а 4-ый октет в пределах от 1 до 254. И так как у нас 3-ие октеты различаются, то это разные канальные среды.

Привожу настройки PC6:

1) IP-адрес - 192.168.2.2
2) Маска подсети - 255.255.255.0
3) Основной шлюз - 192.168.2.254

Хосты во 2-ой канальной среде настроены и прекрасно работают. Для того, чтобы они смогли общаться с хостами из 1-ой канальной, нужно настроить маршрутизатор, который соединяет эти среды. Маршрутизатор настраивается через CLI (то есть в консольном виде) и проще будет приводить сюда не скриншоты, а команды.

1) Router>enable - переход в привилегированный режим
2) Router#configure terminal - переход в режим глобальной конфигурации
3) Router(config)#interface fastEthernet 0/0 - переходим к настройке порта 0/0, который смотрит на первую канальную среду
4) Router(config-if)#ip address 192.168.1.254 255.255.255.0 - вешаем на этот порт IP-адрес. Так как этот порт будет являться основным шлюзом для 1-ой канальной среды, то указываем ему тот IP, который прописали хостам
5) Router(config-if)#no shutdown - включаем этот интерфейс. По умолчанию все порты на цисковских маршрутизаторах выключены
6) Router(config-if)#exit - выходим из режима настройки fastEthernet 0/0
7) Router(config)#interface fastEthernet 0/1 - переходим к настройке порта 0/1, который смотрит на вторую канальную среду
8) Router(config-if)#ip address 192.168.2.254 255.255.255.0 - вешаем сюда адрес, который будет являться основным шлюзом для хостов во 2-ой канальной среде
9) Router(config-if)#no shutdown - аналогично включаем его
10) Router(config-if)#end - пишем команду, которая отбросит в привилегированный режим
11) Router#copy running-config startup-config - сохраняем настройки в памяти маршрутизатора

На этом этапе настройка маршрутизатора окончена. Немного забегу вперед и покажу полезную команду «show ip route». Она показывает все известные маршрутизатору сети и маршрут до них.

Исходя из этой таблицы, можно удостовериться, что он знает и про 1-ую канальную среду, и про 2-ую. Отлично. Осталось дело за малым - это проверить доступность PC5 из PC1. Пробую. Переключаю CPT в режим симуляции. Открываю командную строку и пингую 192.168.2.1.


Как только нажимаю ENTER, сразу появляется 2 конверта: ICMP и ARP. Остановимся и посмотрим на них подробнее. Сейчас может показаться, что передача между разными канальными средами ничем не отличается от передачи в одной канальной среде, но это не так. И сейчас вы это увидите.

Сначала посмотрим на ICMP.


Здесь пока в принципе ничего интересного. В поле источника - IP-адрес PC1, а в поле назначения - IP-адрес PC5.

Что же будет происходить дальше. PC1 видит, что проверяется доступность хоста, находящегося в другой канальной среде (путем наложения маски на свой IP-адрес и IP-адрес получателя). И кроме IP-адреса он не знает о получателе ничего. Соответственно в таком виде отправлять пакет ICMP нельзя. Зато он знает, что у него есть основной шлюз, который, скорее всего, знает что-то про канальную среду, в которой находится PC5. Но возникает еще одна сложность. Он знает IP-адрес шлюза (который я ему прописал в сетевых настройках), но не знает его MAC-адреса. Тут ему приходит на помощь протокол ARP, который опросит всех участников канальной среды и найдет его MAC-адрес. Посмотрим, как заполнены поля.


На канальном уровне (протокол Ethernet): Поле источника - MAC-адрес PC1, а в поле назначения - широковещательный адрес (то есть всем участникам).

И чуть повыше (протокол ARP):

1) SOURCE MAC - тот же PC1, а DESTINATION MAC пустой (его должен заполнить тот, для кого этот запрос предназначен).
2) SOURCE IP - адрес PC1, а вот DESTINATION IP - адрес основного шлюза.


3 компьютера отбросили пакет, и только маршрутизатор понял, что это для него. Смотрим, чем ответит.


Ethernet:

1) Source MAC - сюда он вставляет свой MAC-адрес (а именно MAC-адрес fastEthernet0/0).
2) Destination MAC - сюда записывает MAC-адрес PC1 (то есть того, кто запросил).
ARP:
1) Source MAC и Destination MAC аналогично записям в протоколе Ethernet.
2) Source IP - свой IP-адрес.
3) Target IP - IP-адрес PC1.


Как только ARP доходит от маршрутизатора к PC1, то сразу PC1 отсылает ICMP сообщение на маршрутизатор (или основной шлюз). И вот здесь прошу обратить особое внимание. А именно, на поля источника и назначения (и в протоколе Ethernet, и в протоколе IP).

1) SRC MAC: здесь указан MAC-адрес PC1.
2) DEST MAC: MAC-адрес маршрутизатора.
3) SRC IP: IP-адрес PC1.
4) DST IP: IP-адрес PC5.

Что это значит. Адреса на сетевом уровне (то есть IP-адреса) не меняются, чтобы знать от кого и кому предназначается информация. А адреса на канальном уровне (MAC-адреса) могут спокойно меняться, переходя из одной канальной среды в другую. Это очень важно понять и запомнить!

Смотрим, что происходит. Пакет доходит до маршрутизатора и сразу перечеркивается. А все из-за того, что он не знает MAC-адрес PC5. Теперь он формирует ARP-запрос и пытается его узнать. Привожу скриншот этого запроса.

Как только этот ответ дойдет до маршрутизатора, он будет знать канальный адрес PC5. Но вот что произошло. Пока тянулась канитель с ARP у маршрутизатора и PC5, у PC1 истекает время ожидания ответа отправленного ICMP. Показываю картинку.


После истечения времени ожидания, он формирует второе ICMP, ответ которого уже дойдет без проблем, так как MAC-адреса известны. Следом он сформирует 3-ье и 4-ое ICMP. Привожу конечный итог.


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

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

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

Начну, как всегда, с простого. И это протокол UDP. Как я уже говорил выше, он используется для того, чтобы передать данные определенному протоколу вышестоящего уровня. Делает он это при помощи портов. Один из протоколов, работающих с UDP - это TFTP(Trivial File Transfer Protocol). Протокол этот мы рассматривали в предыдущей статье. Поэтому трудностей возникнуть не должно. Для демонстрации потребуется добавить в сеть сервер с включенной службой TFTP.

Настройки сервера следующие:

1) IP-адрес - 192.168.1.5
2) Маска подсети - 255.255.255.0
3) Основной шлюз - 192.168.1.254

Служба TFTP включена по умолчанию, но лучше проверить. Далее переключаю CPT в режим симуляции и попробую сохранить конфигурацию маршрутизатора на TFTP-сервер:

1) Router>enable - переход в привилегированный режим.
2) Router#copy startup-config tftp: - пишу команду copy (то есть скопировать), далее startup-config (что именно скопировать) и tftp: (куда скопировать).
3) Address or name of remote host ? 192.168.1.5 - выходит сообщение с запросом адреса или имени сервера, где я пишу его адрес.
4) Destination filename ? - следом он спрашивает, под каким именем его сохранить на сервере и предлагает стандартное имя. Меня это устраивает, и я жму ENTER.


Сразу маршрутизатор формирует 2 конверта. Один из них - это перечеркнутый TFTP, а второй ARP. Думаю, догадались, что перечеркнут он из-за того, что не знает MAC-адрес сервера.

Пропущу я момент работы ARP, так как мы вдоволь на него насмотрелись.


Давайте подробнее разберем, что маршрутизатор отправляет на сервер.

Ethernet:
1) Source MAC - адрес маршрутизатора.
2) Destination MAC - адрес сервера.
3) Type - 0x800 (означает, что выше работает протокол IP).

IP:
1) Protocol - 0x11 (означает, что выше работает протокол UDP).
2) Source IP - адрес маршрутизатора.
3) Destination IP - адрес сервера.

UDP:
1) Source Port - динамически созданный порт (1025).
2) Destination Port - порт, который слушает TFTP-сервер (зарезервированный 69 порт).

TFTP:
Здесь находятся сами данные.

Так и работает протокол UDP. Он не устанавливает сессии, не требует подтверждения доставки, а если что-то потеряется, он не запрашивает повторно. Его работа - это указать номер порта и отправить. Что там будет происходить дальше, его не интересует. Но возникают случаи, когда это не устраивает и все эти параметры критически важны. Тогда на помощь приходит протокол TCP. Рассмотрим его на примере использования веб-сервера и веб-клиента. Веб-сервером у нас будет тот же TFTP-сервер. Включаем службу HTTP и запросим страницу с компьютера PC1. Не забываем переключить CPT в режим симуляции!


Набираю адрес веб-сервера и нажимаю ENTER.

Перед тем как продолжить, я расскажу про установление TCP-сессии. Постараюсь изложить этот процесс максимально просто. Этот процесс называют «трехстороннее рукопожатие» или «handshake». В чем суть. Клиент отправляет TCP-сегмент с флагом «SYN». Получив сегмент, сервер принимает решение. Если он согласен установить соединение, то он отправляет ответный сегмент с флагом «SYN+ACK». Если не согласен, то отправляет сегмент с флагом «RST». Далее клиент смотрим на ответный сегмент. Если там стоит флаг «SYN+ACK», то он в ответ отправляет сегмент с флагом «ACK» и устанавливается соединение. Если же там стоит флаг «RST», то он прекращает попытки соединения. После того, как потребуется разорвать установившееся соединение, клиент формирует и отправляет TCP-сегмент с флагом «FIN+ACK». Сервер на этот сегмент отвечает аналогичным флагом «FIN+ACK». И наконец, клиент отправляет последний TCP-сегмент с флагом «ACK». Сейчас вы увидите, как это работает на практике.

Переключаю внимание на сеть и вижу, как PC1 формирует TCP-сегмент.


Поля протоколов Ethernet и IP я рассматривать не буду, так как тут ничего нового, за исключением поля Protocol в протоколе IP. Там стоит значение - 0x6. Это говорит о том, что выше используется протокол TCP.

А вот в TCP уже поинтереснее.

1) Source Port - 1025 (это динамически сгенерированный порт веб-клиента).
2) Destination Port - 80 (это зарезервированный порт протокола HTTP).
3) Flag - SYN (запрос на установление сессии)

Смотрим, чем ответит веб-сервер.


Меняет он номера портов местами и отправляет сегмент с флагом «SYN+ACK».

Как только клиент получает этот сегмент, он сразу формирует 2 сообщения. Один из них TCP-сегмент, представленный ниже, который отправляется с флагом «ACK».

А второй - HTTP, где указана версия протокола, какая страница и адрес сервера.


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


Как только клиент получает желаемую страницу, ему больше нет смысла поддерживать соединение и он инициирует разрыв. Отправляет сегмент с флагом «FIN+ACK». Смотрим дальше.


Сервер согласен разорвать соединение и в ответ отправляет сегмент с аналогичным флагом «FIN+ACK».


И наконец, клиент формирует последний TCP-сегмент с флагом «ACK» и закрывает соединение.

Рассмотрели мы, как работает протокол TCP, а вместе с ним закончили рассматривать протоколы нижних уровней. Привожу ссылку на скачивание данной лабы. Сначала была у меня идея пойти стандартно проложенным путем, и писать под каждый уровень отдельную статью, но потом понял, что делать это бессмысленно. Так как к моменту написания следующей статьи, большая часть предыдущей забывается.

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

Добавить метки

Канальный уровень (Data Link) обеспечивает обмен данными через общую локальную среду. Он находится между сетевым и физическим уровнями модели OSI. Поэтому Канальный уровень должен предоставлять сервис вышележащему уровню, взаимодействуя с сетевым протоколом и обеспечивая инкапсулированным в кадр пакетам доступ к сетевой среде. В то же время, канальный уровень управляет процессом размещения передаваемых данных в физической среде. Поэтому канальный уровень разделен на 2 подуровня: верхний подуровень логической передачи данных LLC – Logical Link Control, являющийся общим для всех технологий, и нижний подуровень управления доступом к среде MAC – Media Access Control (рис.4.1). Кроме того, на канальном уровне обнаруживают ошибки в передаваемых данных.

Рис. 4.1. Подуровни канального уровня

Взаимодействие узлов локальных сетей происходит на основе протоколов канального уровня. Международным институтом инженеров по электротехнике и радиоэлектронике (Institute of Electrical and Electronics Engineers – IEEE) было разработано семейство стандартов 802.х, которое регламентирует функционирование нижних уровней (канального и физического) семиуровневой модели ISO/OSI. Ряд этих протоколов являются общими для всех технологий, например, стандарт 802.2, другие протоколы (например, 802.3, 802.5) определяют особенности технологий локальных сетей.

На подуровне LLC существует несколько процедур, которые позволяют устанавливать или не устанавливать связь перед передачей кадров, содержащих данные, восстанавливать или не восстанавливать кадры при их потере или обнаружении ошибок. Этот подуровень реализует связь с протоколами сетевого уровня. Связь с сетевым уровнем и определение логических процедур передачи кадров по сети реализует протокол 802.2. Протокол 802.1 дает общие определения локальных вычислительных сетей, связь с моделью ISO/OSI. Существуют также модификации этого протокола, которые будут рассмотрены позже.

Подуровень МАС определяет особенности доступа к физической среде при использовании различных технологий локальных сетей. Протоколы МАС-уровня ориентированы на совместное использование физической среды абонентами. Разделяемая среда (shared media) используется в таких широко распространенных в локальных сетях технологиях как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI. Использование разделяемой между пользователями среды улучшает загрузку канала связи, удешевляет сеть, но ограничивает скорость передачи данных между двумя узлами.

Каждой технологии МАС-уровня соответствует несколько вариантов (спецификаций ) протоколов физического уровня (рис.4.1). Так протоколу 802.3 , описывающему наиболее известную технологию Ethernet , соответствуют спецификации физического уровня: 10 Base - T , 10 Base - FB , 10 Base - FL . Спецификация 10Base-T предусматривает построение локальной сети на основе использования неэкранированной витой пары UTP не ниже 3 категории и концентратора (hub). Спецификации 10Base-FB, 10Base-FL используют волоконно-оптические кабели. В более ранних спецификациях 10Base-5 и 10Base-2 применялся “толстый” и “тонкий” коаксиальные кабели.

Протоколу Fast Ethernet (802.3u) соответствуют следующие спецификации физического уровня:

100Base-T4, где используется четыре витых пары кабеля UTP не ниже 3 категории;

100Base-TX – применяется две пары кабеля UTP не ниже 5 категории;

100Base-FX – используется два волокна многомодового оптического кабеля.

Помимо Ethernet и Fast Ethernet на МАС уровне используется еще ряд технологий: Gigabit Ethernet со скоростью передачи 1000 Мбит/c – стандарты 802.3z и 802.3ab; 10Gigabit Ethernet со скоростью передачи 10000 Мбит/c – стандарт 802.3ае, а также ряд других. Например, протокол 802.5 описывает технологию сетей Token Ring, где в качестве физической среды используется экранированная витая пара STP, с помощью которой все станции сети соединяются в кольцевую структуру. В отличие от технологии Ethernet в сетях с передачей маркера (Token Ring) реализуется не случайный, а детерминированный доступ к среде с помощью кадра специального формата – маркера (token). Сети Token Ring позволяют передавать данные по кольцу со скоростями либо 4 Мбит/c, либо 16 Мбит/c. По сравнению с Ethernet технология Token Ring более сложная и надежная, однако, Token Ring не совместима с новыми технологиями Fast Ethernet, Gigabit Ethernet, 10Gigabit Ethernet. Технологии Ethernet и совместимые с ними и рассматриваются в настоящем курсе лекций.

Передаваемый в сеть пакет инкапсулируется в поле данных кадра протокола LLC, формат которого приведен на рис.4.2.

Рис. 4.2. Формат кадра LLC

Флаги определяют границы кадра LLC. В поле данных (Data) размещаются пакеты сетевых протоколов. Поле адреса точки входа службы назначения (DSAP – Destination Service Access Point) и адреса точки входа службы источника (SSAP – Source Service Access Point) длиной по 1 байту адресуют службу верхнего уровня, которая передает и принимает пакет данных. Например, служба IP имеет значение SAP равное 0х6. Обычно это одинаковые адреса. Адреса DSAP и SSAP могут различаться только в том случае, если служба имеет несколько адресов точек входа. Таким образом, адреса DSAP и SSAP не являются адресами узла назначения и узла источника, да и не могут быть таковыми, поскольку поле длиной 1 байт позволяет адресовать только 256 точек, а узлов в сети может быть очень много.

Поле управления (Control) имеет длину 1 или 2 байта в зависимости от того, какой тип кадра передается: информационный (Information), управляющий (Supervisory), ненумерованный (Unnumbered). У первых двух длина поля Control составляет 2 байта, у ненумерованного – 1 байт. Тип кадра определяется процедурой управления логическим каналом LLC. Стандартом 802.2 предусмотрено 3 типа таких процедур:

LLC1 – процедура без установления соединения и подтверждения;

LLC2 – процедура с установлением соединения и подтверждением;

LLC3 – процедура без установления соединения, но с подтверждением.

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

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

Широкое применение процедура, подобная LLC2, получила в глобальных сетях для надежной передачи данных по ненадежным линиям связи. Например, она используется в протоколе LAP-B сетей Х.25, в протоколе LAP-D сетей ISDN, в протоколе LAP-M сетей с модемами, частично – в протоколе LAP-F сетей Frame Relay.

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

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

На передающей стороне кадр LLC уровня передается на МАС-уровень, где инкапсулируется в кадр соответствующей технологии данного уровня. При этом флаги кадра LLC отбрасываются. Технология Ethernet предусматривает кадры четырех форматов, которые незначительно отличаются друг от друга. На рис.4.3 приведен наиболее распространенный формат кадра 802.3/LLC.

Рис.4.3. Формат кадра Ethernet 802.3/LLC

Преамбула кадра состоит из семи байт 10101010, необходимых для вхождения приемника в режим синхронизации. Начальный ограничитель кадра (Start of Frame Delimiter - SFD) – 10101011 вместе с преамбулой в итоге составляют 8 байт. Далее следуют физические адреса узла назначения (DA – Destination Address) и узла источника (SA – Source Address). В технологиях Ethernet физические адреса получили название МАС-адресов. Они содержат по 48 двоичных разрядов и представляются в шестнадцатеричной системе. В локальных сетях адресация узлов производится на основе МАС-адресов, которые «прошиты» в ПЗУ сетевых карт.

Адрес, состоящий из всех единиц FFFFFFFFFFFF, является широковещательным адресом (broadcast), когда передаваемая в кадре информация предназначена всем узлам локальной сети.

Младшие 24 разряда МАС-адреса (6 шестнадцатеричных разрядов) задают уникальный номер оборудования, например, номер сетевой карты. Следующие 22 разряда, за исключением двух старших, задают идентификатор производителя оборудования. Старший бит равный 0 указывает на то, что адрес является индивидуальным, а равный 1 – адрес является групповым. Второй старший бит равный 0 указывает, что идентификатор задан централизованно комитетом IEEE. В стандартной аппаратуре Ethernet идентификатор всегда задан централизованно. Несмотря на то, что в МАС-адресе выделена старшая и младшая части, МАС-адрес считается плоским (flat).

Поле L (рис.4.3) определяет длину поля данных Data, которое может быть от 46 до 1497 байт (в информационных кадрах процедуры LLC2 – до 1496 байт, поскольку поле Control – 2 байта). Если поле данных меньше 46 байт, то оно дополняется до 46 байт.

Поле контрольной суммы (FCS – Frame Check Sequence) длиной в 4 байта позволяет определить наличие ошибок в полученном кадре, за счет использования алгоритма проверки на основе циклического кода.

Протоколы канального уровня

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

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

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

протоколы для соединений типа "точка-точка";

протоколы для сетей сложных топологий.

Согласование протоколов канального уровня

Современные вычислительные сети часто строятся с использованием нескольких различных базовых технологий - Ethernet, Token Ring или FDDI. Такая неоднородность возникает либо при объединении уже существовавших ранее сетей, использующих в своих транспортных подсистемах различные протоколы канального уровня, либо при переходе к новым технологиям, таким, как Fast Ethernet или 100VG-AnyLAN.

Именно для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами, и служит сетевой уровень. Когда две или более сетей организуют совместную транспортную службу, то такой режим взаимодействия обычно называют межсетевым взаимодействием (internetworking). Для обозначения составной сети в англоязычной литературе часто также используется термин интерсеть (internetwork или internet).

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

Маршрутизация в сетях с произвольной топологией

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

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

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

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

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

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

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

Рис. 1.1. Архитектура составной сети

Сетевой уровень и модель OSI

В модели OSI, называемой также моделью взаимодействия открытых систем (Open Systems Interconnection - OSI) и разработанной Международной Организацией по Стандартам (International Organization for Standardization - ISO), средства сетевого взаимодействия делятся на семь уровней, для которых определены стандартные названия и функции.

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

Рассмотрим коротко основные функции уровней модели OSI.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проверка доступности среды передачи.

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

Управление параметрами связи (скорость, повтор)

В протоколах канального уровня, используемых в локальных сетях, заложена структура связей и способы их адресации только для сети с определенной топологией. К топологиям относятся шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

Протоколы: IEEE 802.1 (описываются устройства (коммутаторы, мосты))

Делится на LLC – 802.2 и на МАС (CSMA /CD) – 802.3,

МАС (Token Ring) – 802.5,

МАС (Ethernet) – 802.4

Структура кадра Ethernet: | 1 | 2 | 3 | 4 | 5 | 6 |

1) Приамбула (начало передачи кадра – 8 байт)

2) Адрес получателя (2-6 байт МАС-адрес получателя, 2 байта для кольца)

3) Адрес отправителя (2- 6)

4) Длина поля данных (2 байта)

5) Поле данных (64 – 1500 байт)

6) Контрольная сумма

Протокол LLC: 1- LLC 802.2

| DSAP1байт | SSAP1байт | Control 1 байт | Данные |

2- LLC 802.2 SNAP

| DSAP 2байта | SSAP 2байта | Control 3 байта | Тип семейства протокола3байта | Тип протокола 2 байта | Данные |

DSAP –указывает протокол получателя

SSAP – указыв. протокол отправителя

Control – т для управления соединением

Тип семейства – (IPX /SPX, X.25, ATM, TCP/IP=0)

Тип протокола - 0×0800 – IP, 0×0806 - ARP

МАС –адрес (48 бит): определяется 3 типа: индивидуальный, широковещательный, групповой

|0|0|22бита|24бита|

00 –ндивидуальный адрес, 11 – широковещательный, 10 – групповой.

22 бита – код организации производителя

24 бита – код сетевого адаптера


23. КАНАЛЫ Т1/Е1.

Каналы Т1/Е1 Выделенные каналы Т1/Е1 стали в последние годы очень популярны в качестве средства для подключения корпоративных сетей и серверов к сети Internet. Это объясняется высокими скоростями данных каналов: 1,544 Мбит/с в канале Т1 и 2,048 Мбит/с – для El.

Линии Т1 – это дуплексные цифровые каналы, которые были первоначально разработаны для передачи вызовов между телефонными станциями. Физически связь осуществляется по двум парам телефонного витого провода (одна пара- в одну сторону, вторая – в обратную).

AMI В канале применяется биполярное кодирование (bipolar encoding). .Этот метод имеет и другое название –альтернативное инвертирование логических единиц (AMI). Отсутствие напряжения в линии соответствует нулю, а для представления единиц используются по очереди положительные и отрицательные импульсы. Пример такого кодирования в сравнении со стандартным представлением (в виде кода NRZ)

Синхронизаци я.

Длинная последовательность логических нулей может привести к потере синхронизации у приемника. Для борьбы с этим применяется методбиполярной замены 8 нулей – (B8ZS).

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

Кадровая синхронизация

Канал Е1 состоит из 24 отдельных каналов по 64 Кбит/с в каждом. Применяется разбиение передаваемой информации на кадры. Наибольшее распространение получили методы D4 и ESF (кроме того в линиях ЕЗ часто используется алгоритм Ml3).

Алгоритм D4

Кадр содержит 1 бит синхронизации и 24 байта данных (см. рис.5.3). Таким образом общая длина кадра составляет 193 бита.

Группа из 12 кадров снабжается специальной 12-битовой маской (см. рис), которую называют сигналом выравнивания кадра (frame alignment signal). Группа из 12 кадров называется суперкадром.

Алгоритм ESF Алгоритм формирования суперкадров ESF (Extended SuperFrame) отличается тем, что размер суперкадра был увеличен с 12 до 24 кадров. В таком суперкадре кз 24 служебных бит только 6 используются для целей синхронизации. Из оставшихся 18 бит - 6 служат для коррекции ошибок и 12 -для текущего контроля за состоянием линии.

Алгоритм М13 Предназначен для каналов ТЗ (44,476 Мбит/с). Кадр содержит 4760 бит. Из них 56 бит используются для выравнивания кадра (кадровой синхронизации), коррекции ошибок и отслеживания состояния линии.

Импульсно-кодовая модуляция (ИКМ)

Каналы Т1 первоначально предназначались для передачи телефонных разговоров, но по цифровой линии.

По обычному телефону сигнал передается как аналоговый в диапазоне частот от 300 до 3400 гц. Для перевода аналогового сигнала в цифровую форму применяется импульсно-кодовая модуляция (ИКМ) - Pulse Code Modulation (PCM). Для этой цели вводится блок АЦП, который переводит амплитуду аналогового сигнала в цифровой отсчет из 8 бит. Частота снятия таких отсчетов была выбрана с учетом теоремы Найквиста (Nyquist). В соответствии с этой теоремой для адекватного преобразования сигнала из аналоговой формы в цифровую частота дискретизации должна в 2 раза превышать частоту дискретизируемого сигнала. Применительно к телефонным каналам была выбрана частота 8000 опросов в секунду. Таким образом цифровая линия должна обладать пропускной способностью 8 х 8000 = 64 Кбит/с.

Мультиплексирование В линии Т1 собираются вместе 24 таких цифровых каналов по 64 Кбит/с. В итоге общая пропускная способность составляет 1,544 Мбит/с. Для объединения применяется временное мультиплексирование каналов – Time Division Multiplexing (TDM). Вся доступная полоса частот делится на элементарные временные интервалы по 125 мкс. Устройство монополизирует всю полосу частот на период такого элементарного интервала.

Благодаря мультиплексированию по линии Т1 можно передавать одновременно звуковые сигналы, цифровые данные и видеосигналы. В случае необходимости вся доступная пропускная способность 1,544 Мбит/с может быть монополизирована одним потоком данных.

Структура системы На рисунке показана возможная структура оконечного устройства для работы по линии Т1. Здесь CSU– модуль обслуживания канала, a DSl – это модуль обслуживания данных.

Дробные линии Т1 Пользователь может арендовать только часть канала Т1. При этом ему предоставляется возможность оплатить любое количество (от 1 до 24) канаов DSO (Digital Sygnal 0) по 64 Кбит/с.

Каналы E1 В Европе 1TU– Международный союз по электросвязи – предложил несколько другую классификацию таких цифровых каналов. Основой является капал Е1, содержащий 30 каналов USO (по 64 Кбит/с) и дополнительно 1 канал для синхронизации и 1 канал для передачи служебной информации. Пропускная способность канала Е1 составляет 2,048 Мбит/с.

Среда передачи Для организации каналов типа Т1 могут использоваться различные среды. Например: две пары витых проводников – позволяют организовать канал Т1; в коаксиальном кабеле могут быть организованы 4 канала Т1; сверхвысокочастотный кабель позволяет разместить 8 линий Т1; оптоволоконный кабель может содержать до 24 линий Т1.


Сети ISDN

Цифровые сети интегрального обслуживания ISDN (Integrated Services Digital Network) находят широкое применение в качестве альтернативы подключения посредством каналов Т1/Е1. Разница заключается в основном в способе оплаты. За полный (или часть) канала Т1 взимается фиксированная (достаточно высокая) абонентская плата. В сетях же ISDN оплата взимается только за время подключения.

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

Аналогично каналам Т1 эта технология базируется на использовании цифрового канала 64 Кбит/с. Аналоговые (голосовые) данные предварительно дискретизируются (производится семплирование - sampling) 8000 раз в секунду. Каждый отсчет представляет собой 8 бит информации. То есть используется ИКМ.

В-канал Основным компонентом любой линии ISDN является однонаправленный В-канал с пропускной способностью 64 Кбит/с. По нему могут передаваться оцифрованные аудио- или видеоданные или собственно цифровые данные.

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

Имеются две стандартные для ISDN конфигурации каналов: BRI и PRI/

Интерфейс BRI Это логическое объединение двух В-каналов по 64 Кбит/с и одного D-канала с пропускной способностью 16 Кбит/с. BRI (Basic Rate Interface) -I интерфейс передачи с номинальной скоростью.

Интерфейс BRJ является конфигурацией оптимальной для удаленных пользователей и небольших офисов. Общая его пропускная способность- 128 Кбит/с, а D-канал используется только для передачи служебной информации BRI позволяет подключить до 8 устройств (телефонных, цифровых и видео).

Для обмена по D-каналу используется протокол SS7 (Signalling System Number 7).

Интерфейс PRI PRI (Primary Rate Interface) - интерфейс передачи с базовой скоростью. Этот интерфейс соответствует максимальной скорости передачи по линии Т1. Конфигурация PRI состоит из 23 каналов по 64 Кбит/с (В-каналов) и одного D-канала с пропускной способностью 64 Кбит/с. Следовательно пользователь может вести передачу со скоростью 1,472 Мбит/с.

В европейских линиях ISDN конфигурации PRI соответствует 30 В-каналов (т.к. Е1 содержит именно столько каналов передачи полезной информации).

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

Устройство NT1 (Network Terminator 1) используется для подключения абонента к цифровому каналу.

Устройство NT2 (Network Terminator 2) занимает промежуточный уровень между NT1 и любым терминальным оборудованием. Это могут быть маршрутизаторы сетей ISDN и цифровые офисные АТС.

Терминальным устройством первого типа ТЕ1 (Terminal Equipment 1) считается пользовательское оборудование, которое в состоянии подключаться к устройствам типа NT. Это, например, рабочие станции ISDN, факсимильный аппарат, телефоны ISDN.K терминальным устройствам второго типа ТЕ2 (Terminal Equipment 2) относится все оборудование, которое не может непосредственно подключаться к NT2 (аналоговые телефоны, ПК и т.д.), а требует для этого применения специального терминального адаптера ТА (Terminal Adapter).

Аппаратура Проводка делается скрученным медным проводом (витая пара) UTP класса не менее 3 (она обеспечивает передачу со скоростью до ЮМбит/с). Для интерфейса BR1 требуется одна пара UTP, а для интерфейса PRI - 2 пары UTP.

Устройство NT1 достаточно простое, поэтому его часто интегрируют в терминальное оборудование.

Аппаратура ISDN у пользователя может быть встроенной или автономной. Встроенное устройство может быть и комбинированным, т.е. содержать NT1 и несколько терминальных адаптеров ТА. Внешние терминальные адаптеры внешне выглядят аналогично модему, поэтому их часто называют ISDN-модемами(хотя там нет ни модуляции, ни демодуляции). Очень часто используют еще один тип аппаратуры - маршрутизаторы ISDN - Ethernet. Они выполняют и роль моста между каналом и локальной сетью, т.е. это router-bridge.

Н-каналы ITU выпустил стандарты на Н-каналы ISDN. Они включают пять конфигураций, начиная с НО (включает 6 В-каналов - пропускная способность 384 Кбит/с, предназначен для поддержки видеоконференций) и заканчивая каналом Н4 (включает 2112 D-каналов, пропускная способность - 135 Мбит/с, ориентирован на широковещательную передачу видео- и аудиоданных).

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


Сети Frame Relay

Сети, использующие протоколы Х.25, оказались надежными, но недостаточно высокоскоростными. В связи сэтим были предложены модификации, ориентированные на очень высокие скорости передачи – это, в частности, сети Frame Relay и AТМ.

Родоначальником технологии Frame Relay – ретрансляции кадров – была в начале 90-х годов американская компания WILTEL, которая имела обширную сеть оптоволоконных линий, проложенных вдоль железных дорог. Технология Frame Relay в отличие от Х.25 позволила обеспечить скорости передачи, совместимые с каналами Т1 (1,5 Мбит/с) и ТЗ (45 Мбит/с), тогда как у Х.25 это была обычно скорость 64 Кбит/с.

Формат кадра Суть этой технологии заключается в отказе от 3-его(сетевого) уровня Х.25. Ограничиваются использованием 2-го (канального) уровня, где передача ведется кадрами. Видоизменяется только заголовок кадра:

Заголовок кадра Frame Relay содержит:

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

Из остальных шести бит заголовка:

3 бита выполняют роль флагов перегрузки;

1 бит – позволяет снизить приоритет кадра (называется битом DE);

2 бита – зарезервировано.

Скорость передачи

Скорость передачи согласуется с провайдером в виде трех параметров:

- CIR– согласованная скорость передачи;

Bс – согласованная величина расширения трафика;

Be – предельная величина расширения трафика.

Трафик объемом Be может приниматься сетью только ограниченный промежуток времени.

Передача графика объемом Вс допускается, только если загрузка сети в среднем не превысит согласованного значения CIR.

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

Типы каналов

Технология Frame Relay может работать на двух типах каналов:

PVC – постоянный виртуальный канал;

SVC– коммутируемый виртуальный канал.

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

Зашита от ошибок

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


Сети АТМ

Сети ATM были разработаны в качестве еще одной альтернативы сетям Х.25. Скорость передачи в этой сети находится и диапазоне от 25,5 Мбит/с до 2,488 Гбит/с. В качестве среды передачи могут использоваться различные носители, начиная с неэкранированной витой пары UTР класса 3 вплоть до оптоволоконных каналов.

Эта технология известна также под названием Fast Packet Switching –быстрая коммутация пакетов.

Высокие скорости передачи обеспечиваются за счет:

1. Фиксированного размера кадра – 53 байта

2. Отсутствия каких-либо мер по обеспечению правильности передачи. Эта задача переносится на более высокие протокольные уровни (транспортный).

Технология ATM относится по концепции OSI ко второму (канальному) уровню. Кадры в ATM называются ячейками (cell). Формат такой ячейки показан на левом рисунке.

Заголовок ячейки (5 байт) содержит:

Идентификатор виртуального пути – VPI (Virtual Path Identifier);

Идентификатор виртуального канала – VCI (Virtual Channel Identifier);

Идентификатор типа данных (3 бита);

Поле приоритета потери ячейки (1 бит);

Поле контроля ошибок в заголовке (8 бит) – это сумма по mod 2 байтов заголовка. Протоколы более высокого уровня разрезают свои сообщения на сегменты

по 48 байт и помещаютих в поле информации ячейки.

Технология ATM поддерживает 2 типа каналов (аналогично сетям Frame

PVC – постоянные виртуальные каналы;

SVC– коммутируемые виртуальные каналы.

На канальном уровне ATM выделяются 2 подуровня (см. рис вверху справа): непосредственно уровень ATM и уровень адаптации ATM.

Уровень адаптации ATM (ATM Adaptation Layer) – AAL – реализует один из

пяти режимов передачи:

AAL1 – характеризуется постоянной скоростью передачи (CBR) и синхронным трафиком. Ориентирован па передачу речи и видеоизображений.

AAL2 – тоже поддерживает синхронную передачу, но использует переменную битовую скорость (VDR). Oн пока, к сожалению, еще не реализован.

AAL3/AAL4 (объединены в единый протокол) – ориентированы на переменную битовую скорость (VBR). Синхронизация не обеспечивается. AAL4 отличается тем, что не требует предварительного установления соединения.

AAL5 – аналогичен AAL3, только содержит меньший объем служебной инфы.

По протоколам AAL1 и AAL2 передаются порции по 48 байт информации (1 байт – служебный). Протоколы AAL3 – AAL5 предполагают передачу блоков (разрезанных на сегменты) размером до 65536 байт.

Рекомендация X.25 описывает три уровня протоколов - физический, уровень звена передачи данных и сетевой. Физический уровень описывает уровни сигналов и логику взаимодействия на уровне физического интерфейса. Те из читателей, которым приходилось например подключать модем к последовательному порту персонального компьютера (интерфейс RS-232/V.24) имеют представление об этом уровне. Второй уровень (LAP/LAPB), с теми или иными модификациями, также достаточно широко представлен сейчас в оборудовании массового спроса: в оборудовании модемов, например, - протоколами группы MNP, отвечающими за защиту от ошибок при передаче информации по каналу связи, а также в локальных сетях на уровне LLC. Второй уровень протоколов отвечает за эффективную и надежную передачу данных в соединении "точка-точка", т.е. между соседними узлами сети X.25. Данным протоколом обеспечивается защита от ошибок при передаче между соседними узлами и управление потоком данных (если принимающая сторона не готова принимать данные, она извещает об этом передающую сторону, и та приостанавливает передачу). Кроме того, данный протокол содержит параметры, меняя значения которых, можно получить оптимальный по скорости передачи режим в зависимости от протяженности канала между двумя точками (времени задержки в канале) и качества канала (вероятности искажения информации при передачи). Для реализации всех указанных выше функций в протоколах второго уровня вводится понятие "кадра" ("frame"). Кадром называется порция информации (битов), организованная определенным образом. Начинает кадр флаг, т.е. последовательность битов строго определенного вида, являющаяся разделителем между кадрами. Затем идет поле адреса, которая в случае двухточечного соединения сводится к адресу "А" или адресу "B". Далее идут поле типа кадра, которое указывает, несет ли кадр в себе информацию, либо является чисто служебным, т.е. например тормозит поток информации, либо извещает передающую сторону о приеме/неприеме предыдущего кадра. В кадре имеется также поле номера кадра. Кадры нумеруются циклически. Это означает, что при достижении определенного порогового значения, нумерация опять начинается с нуля. И наконец заканчивается кадр проверочной последовательностью. Последовательность подсчитывается по определенным правилам при передаче кадра. По этой последовательности на приеме происходит поверка, не произошло ли искажения информации при передаче кадра. При настройке параметров протокола к физическим характеристикам линии можно менять длину кадра. Чем короче кадр, тем меньше вероятность того, что он будет искажен при передаче. Однако если линия хорошего качества, то лучше работать более длинными информационными кадрами, т.к. уменьшается процент избыточной информации, передаваемой по каналу (флаг, служебные поля кадра). Кроме того, можно менять число кадров которое передающая сторона посылает, не ожидая подтверждения от принимающей стороны.

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

Функционально данный протокол отвечает в первую очередь за маршрутизацию в сети передачи данных X.25, за доведение информации от "точки входа" в сеть до "точки выхода" из нее. На своем уровне протокол третьего уровня также структурирует информацию, т.е. разбивает ее на "порции". На третьем уровне порция информации называется "пакетом" ("packet"). Структура пакета во многом аналогична структуре кадра. В пакете имеется свой модуль нумерации, свои поля адреса, типа пакета, своя контрольная последовательность. При передаче пакет помещается в поле данных информационных кадров (кадров второго уровня). Функционально поля пакета отличаются от соответствующих полей кадра. В первую очередь это касается поля адреса, которое в пакете состоит из 15 цифр. Это поле пакета должно обеспечивать идентификацию абонентов в рамках всех сетей пакетной коммутации по всему миру

СЕТЬ ИНТЕРНЕТ

Интернет - это все сети, которые взаимодействуя с помощью протокола IP, образуют "бесшовную" сеть для своих пользователей. В настоящее время в Интернет входят десятки тысяч сетей и их число постоянно увеличивается. В 1980 году на Internet было 200 компьютеров. Число подключенных к сети компьютеров продолжает увеличиваться примерно на 15% в месяц. Масштабы Internet существенно увеличились после подключения к ней коммерческих сетей. Это были такие сети, как America Online, CompuServe, Prodigy, Delphi, GEuie, BIX и т.д..

Управление Интернет Направление развития Internet определяет "Общество Internet" (ISOC -Internet Society). Это организация, которая работает на общественных началах; ее целью является содействие глобальному информационному обмену через Internet. Она назначает Совет старейшин, который отвечает за техническое Руководство и ориентацию Internet.

Совет старейшин IAB - (Internet Architecture Board - совет по архитектуре Internet) регулярно собирается для утверждения стандартов и распределения Ресурсов. Наличие стандартов должно способствовать объединению в сети компьютеров разных платформ (Sun, Macintosh, IBM и т.д.). Каждый компьютер в сети имеет свой уникальный 32-разрядный адрес. Правила присвоения адресов определяет IAB.

Имеется еще один общественный орган - Инженерная комиссия IETF (Internet Engineering Task Force). Она собирается регулярно для обсуждения технических и организационных вопросов, а при необходимости формирует рабочие группы.

Канальный уровень (data link layer) обеспечивает прозрачность соединения для сетевого уровня. Для этого он предлагает ему следующие услуги:

Установление логического соединения между взаимодействующими узлами;

Согласование в рамках соединения скоростей передатчика и приемника информации;

Обеспечение надежной передачи, обнаружение и коррекция ошибок.

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

В сетях, построенных на основе разделяемой среды, физический уровень выполняет еще одну функцию - проверяет доступность разделяемой среды. Эту функцию иногда выделяют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC).

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

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

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

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

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

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

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

Статьи по теме: