Локальные компьютерные сети. Протоколы компьютерных сетей


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

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


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

Начинаем разговор про протоколы верхнего уровня. Я не просто так назвал тему «Протоколы верхнего уровня», а не «Протоколы верхних уровней». Так как разбираем мы этот уровень по стеку TCP/IP, то у нас он «один за трех».

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

Итак, протоколы прикладного уровня обеспечивают взаимодействие между человеком и сетью. Этих протоколов огромное количество, и выполняют они совершенно различные роли. Я приведу примеры часто используемых протоколов в сети и покажу, как они работают на практике: HTTP, DNS, DHCP, SMTP и POP3, Telnet, SSH, FTP, TFTP.

I) Протокол HTTP (англ. HyperText Transport Protocol). Протокол передачи данных, используемый обычно для получения информации с веб-сайтов. С каждым годом этот протокол становится все популярнее, и возможностей для его применения становится все больше. Использует он «клиент-серверную» модель. То есть существуют клиенты, которые формируют и отправляют запрос. И серверы, которые слушают запросы и, соответственно, на них отвечают.

В качестве клиентов выступают известные многим веб-браузеры: Internet Explorer, Mozilla Firefox, Google Chrome и т.д. А в качестве серверного ПО используют:Apache, IIS, nginx и т.д.

Для того, чтобы разобраться глубже в протоколе HTTP, взглянем на HTTP запрос от клиента к серверу.


Нас интересуют только самая верхняя и самая нижняя строчки.

В первой строчке используется такое понятие, как GET . Это, по сути, ключ запроса. Так как после GET стоит символ "/", то это означает, что запрашивается главная или корневая страница по URL (англ. Uniform Resource Locator) пути.

URL - это некий идентификатор какого-либо ресурса в сети.

Так же в этой строчке присутствует такая запись, как HTTP/1.1 . Это версия протокола. Довольно популярная версия. Выпустили ее в 1999 году, и до сих пор она служит верой и правдой. Хоть недавно был анонс версии 2.0, версия 1.1 занимает пока лидирующее положение.

Теперь о нижней строчке. Здесь указывается адрес сервера или имя, на котором располагается нужный ресурс. Давайте посмотрим, как это работает на практике. Я буду использовать свою любимую программу Cisco Packet Tracer 6.2 (в дальнейшем CPT). Она проста в освоении и для демонстрации описанного идеально подходит. Могу сказать с уверенностью, что для подготовки к CCNA R&S, ее хватает вполне. Но только для нее.

Открываем программу и добавим туда компьютер с сервером (находятся они на вкладке «End Devices»), как на картинке ниже


Соединяем компьютер с сервером перекрестным кабелем (англ. crossover cable). В CPT он находится на вкладке «Connections», обозначается пунктиром и называется «Copper Cross-Over».

Теперь займемся настройкой компьютера и веб-сервера.


1) Отрываем вкладки «Desktop» на рабочем компьютере и сервере, далее переходим в окно «IP Configuration». Откроются окна, как на рисунке выше. Это окна конфигурации узлов в сети.

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

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

Теперь требуется включить сервис HTTP на сервере.


1) Переходим на вкладку «Services».
2) Выбираем слева сервис HTTP.
3) Открывается окно настройки сервиса и файловый менеджер. Если у кого есть навыки по работе c HTML, то можете здесь создать страницу. Но у нас уже есть готовый шаблон, и мы им воспользуемся. Не забываем включить службу HTTP и HTTPS.

Раз уже зашла речь о HTTPS (HyperText Transfer Protocol Secure), то скажу про него пару слов. Это, по сути, расширение протокола HTTP, которое поддерживает криптографические протоколы и передает информацию не в открытом виде, а в зашифрованном. В CPT очень поверхностно показана его работа, но для понимания вполне достаточно. Вспоминаем и запоминаем: HTTP использует 80 порт, а HTTPS 443 порт. Вообще номеров портов очень много, и все запомнить тяжело, но часто встречающиеся лучше запомнить.

Теперь самое интересное. Нам надо перевести CPT из режима «Realtime» в режим «Simulation». Отличие их в том, что в режиме «Realtime» сеть ведет себя так, как она повела бы себя в реальной жизни и в реальном времени. Режим «Simulation» позволяет нам наблюдать за поведением сети в разные временные интервалы, а также проследить за каждым пакетом, раскрыть его и посмотреть, что он в себе несет. Переключаем среду, как показано на рисунке ниже.


Здесь открывается «Simulation Panel», в которой несколько опций. Есть фильтр, в котором можно указать протоколы, которые вы хотите отслеживать, скорость перемещения пакета и навигационная панель, где можно наблюдать за сетью вручную, нажатием «Capture/Forward» или автоматически, при помощи кнопки «Auto Capture/Play».

Оставляем все, как есть, и открываем компьютер.


Переходим на вкладку «Desktop» и открываем «WEB Browser». Перед нами открывается окно веб-браузера. В строке URL пишем адрес нашего веб-сервера, нажимаем кнопку «Go» и наблюдаем следующую картину.


Появились первые посылаемые данные на схеме и в окне «Simulation Panel». Это сегменты TCP, которые создадут сессию между компьютером и сервером. Сейчас нам это не интересно, и мы об этом поговорим в следующей статье. Поэтому я пропущу их до момента, когда будут созданы HTTP. Делать я это буду при помощи кнопки «Capture/Forward».


И вот после установления соединения, компьютер формирует первые HTTP данные. В дальнейшем я буду называть их PDU, чтобы вы привыкали к данным терминам.

1) Смотрим на схему и видим, что появилось 2 конверта. Это и есть наши данные. Нас интересует фиолетовый конверт. Это и есть созданный PDU.

2) Теперь смотрим на «Simulation Panel» и видим, что в таблице появилась запись с типом HTTP. Эти данные нас интересуют. Также рядом с записью показан цвет, которым окрашены эти данные на схеме.

3) Кликаем по HTTP (фиолетовый конверт), и перед нами открывается окно данных. Тут кратко показаны все нужные сведения по каждому уровню модели OSI. Можно кликнуть по любому уровню и получить информацию о том, что происходит на нем.

Если вам интересно полностью раскрыть данные и рассмотреть подробно, из каких полей они состоят и что в них происходит, есть вкладка «Outbound PDU Details». Давайте перейдем на нее и посмотрим, как выглядят HTTP данные.


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

Теперь нам интересен этап, когда веб-сервер получит запрос и начнет предпринимать какие-то действия. Давайте нажмем на «Capture/Forward» и посмотрим, чем веб-сервер ответит. И вот, на рисунке ниже видим, что он отправил компьютеру какие-то данные. Давайте посмотрим, как они выглядят.


1) Я случайно пережал кнопку и он уже начал формировать TCP на закрытие сессии. Ничего страшного. Находим PDU, адресованные от веб-сервера к клиенту. Как видим, он сразу показывает нам на схеме момент времени, в который я кликнул. Выбираем нужный конверт.

2) Здесь уже видим другую картину. Сверху указывается версия HTTP, код «200 OK», означающий, что отправляется запрашиваемая страница, а не сообщение об ошибке. Далее указывается длина контента, тип файла, а также с какого сервера отправляется. И в самой нижней строке указывается, что передаются какие-то данные. После того, как данные дойдут до компьютера, можно наблюдать, что веб-браузер компьютера открыл страницу.


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


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

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

Мы поговорили про HTTP, и теперь время разобрать протокол DNS. Данный протокол тесно связан с предыдущим протоколом, и скоро вы поймете почему.

II) DNS (Domain Name System) . Система доменных имен. Если говорить в целом, то она хранит информацию о доменах. Например, какому IP адресу соответствует определенное имя. Приведу пример: когда вы открываете свой любимый сайт, то обращаетесь к нему по имени. Но в поля Source Address и Destination Address, которые работают на сетевом уровне (это тема следующей статьи, но я немного забегу вперед), нельзя вставить имя. Там обязательно должен присутствовать именно IP адрес. Вот DNS как раз этим и занимается. Она сообщает, какой IP адрес у запрошенного имени. Вы, к примеру, обращаетесь на google.ru. Ваш компьютер понятия не имеет, кто и что это. Он спрашивает у DNS-сервера: Кто такой google.ru? И сервер отвечает, что google.ru - это 74.125.232.239 (это один из его адресов). И уже после этого, компьютер отправляет запрос на 74.125.232.239. Для пользователя все останется по-прежнему, и в адресной строке он также будет видеть google.ru.

Как обычно, покажу это на картинке


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

Например имя: ru.wikipedia.org. Cамым старшим будет доменное имя «org», а младшим - «ru». Но часто бывают случаи, когда DNS-сервер не может нам рассказать о каком-то доменном имени, и тогда он обращается к старшему DNS-серверу, который отвечает за доменные имена более высокого уровня. Не буду изобретать велосипед и приведу картинку из википедии. Там эта работа проиллюстрирована хорошо.


Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org»? Однако сервер DNS может ничего не знать не только о запрошенном имени, но даже обо всём домене wikipedia.org. В этом случае сервер обращается к корневому серверу - например, 198.41.0.4. Этот сервер сообщает - «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ - IP-адрес, который и передаётся клиенту - браузеру.

Открываю CPT и показываю, как это работает. Эта и следующие лабораторные работы буду основываться на предыдущей. Поэтому адресация будет такой же.


Здесь добавлен еще один сервер, который будет выполнять роль DNS-сервера и коммутатор. Когда в сети появляются 3 и более устройств, то для их соединения используют коммутатор.

Займемся настройкой DNS-сервера. Зайдем в «IP Configuration» и пропишем IP адрес с маской.

Теперь зайдем в сервисы и настроим DNS службу.


1) В окне «Name» запишем имя, которое хотим привязать к IP адресу. (я написал имя своего будущего сайта, над которым идет работа).
2) В окне «Address», соответственно, IP-адрес, который будет работать в связке с выше написанным именем. (здесь укажем тот же адрес, что и в лабораторной по HTTP - 192.168.1.2).
3) Нажимаем кнопку «Add», чтобы добавить эту запись.
4) Не забываем включить саму службу!

Если все выполнили верно, то картина должна быть такой.


Теперь надо в настройках сервера и компьютера указать адрес DNS-сервера.


Настройка DNS-сервера и узлов закончена, и самое время проверить, как это дело работает. Переключаем среду в режим симуляции и попробуем с компьютера зайти на сайт по имени «cisadmin.ru».


И видим, что создаются 2 конверта. Первый - это DNS, а второй - ARP. О ARP мы толком не говорили, так как это тема следующей статьи. Но раз он показал себя, то вкратце расскажу, для чего он. Как мы помним, для обмена между узлами недостаточно IP адреса, так как еще используются MAC-адреса, работающие на канальном уровне. Мы указали компьютеру IP адрес DNS-сервера. Но он не знает, какой у узла с IP-адресом 192.168.1.3 MAC-адрес. Он формирует ARP сообщение и выбрасывает его в сеть. Данный кадр (данные на канальном уровне называются - кадры) является широковещательным, то есть его получат все участники, находящиеся в одной локальной сети (правильно сказать все участники в одном широковещательном домене, но пока мы это не затрагивали, и я не буду грузить вас этим термином). И тот, у кого этот адрес, отправит обратное сообщение и сообщит свой MAC-адрес. Все остальные участники отбросят этот кадр. Смотрим рисунки.


Вот кадр пришел на коммутатор, и теперь его задача разослать этот кадр на все порты, кроме того, откуда он пришел.


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


И как видим, был создан ARP-ответ. Давайте немного разберем его.

1) MAC-адреса. В Source MAC он записывает свой MAC-адрес, а в Destination MAC (Target MAC) адрес компьютера.
2) В Source IP свой IP адрес, а в Target IP адрес ПК.

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

Я нажимаю на «Capture/Forward» и смотрю, что будет дальше происходить.


И вижу, что компьютер успешно получил ARP от сервера. Теперь он знает MAC-адрес DNS-сервера, а значит, и как с ним связаться. И сразу решает узнать у него, кто такой «cisadmin.ru». Мы можем открыть эти данные и посмотреть, что он там решил отправить. Открываем «Outbound PDU Details» и спускаемся в самый низ. Видим, что в верхнем поле «NAME» он записал запрашиваемое имя. Жмем кнопку «Capture/Forward» и cмотрим.


DNS-сервер получает DNS-запрос. Он лезет в свою таблицу и видит, что такая запись у него присутствует, и формирует ответ. Открываем и видим, что изменилось поле LENGTH и равняется 4. То есть 4 байта. Столько занимает IP адрес. И, соответственно, записывает сам IP-адрес - 192.168.1.2. Это и есть адрес веб-сервера. Двигаюсь дальше.


Видим, что компьютер получил сообщение от DNS-сервера, о чем свидетельствует галочка на коричневом конверте. И теперь он знает IP адрес веб-сервера. Сразу же он пытается установить TCP сессию, но возникает проблема. Он не знает MAC-адрес веб-сервера и запускает аналогичный ARP запрос, чтобы узнать. Смотрим.


И тут аналогично предыдущему. DNS-сервер понял, что сообщение не для него, и отбрасывает. А веб-сервер узнает свой IP адрес и формирует ARP ответ.


Дошел до компьютера ARP ответ. Теперь он знает MAC-адрес веб-сервера и пытается установить TCP сессию. Отправляет он TCP сегмент на 80-й порт. Раз уж протокол TCP снова дал о себе знать, и в следующих протоколах он тоже будет фигурировать, то вкратце объясню зачем он нужен. Как вы помните из первой статьи, я говорил, что он устанавливает соединение. Так вот теперь каждый блок данных, который будет отправлен от сервера компьютеру, будет промаркирован. Это нужно для того, чтобы клиент понимал, все ли данные он получил или какие-то потерялись. И, если какие-то данные потерялись, он сможет запросить их повторно. Потеря блока данных сайта может привести к тому, что сайт перекосит, и он отобразится криво. Но сейчас главное понимать, что TCP располагается на транспортном уровне и работает с портами. Я специально открыл окно, где это написано, чтобы вы постепенно привыкали к этим полям.

Посмотрим, чем ответит компьютеру веб-сервер.


Веб-сервер отправляет компьютеру ответное сообщение, и устанавливается сессия. И, когда все готово, компьютер формирует HTTP и отсылает его веб-серверу. Давайте посмотрим, что изменилось. А изменилась у нас самая последняя строчка. Если раньше там был записан IP адрес веб-сервера, то теперь там красуется доменное имя «cisadmin.ru». Но не забывайте, что доменное имя тут записано только в данных прикладного уровня. IP-адрес никуда не делся. Он располагается на сетевом уровне. Поэтому давайте сразу покажу IP пакет, где представлены эти адреса.


И как видите, IP адреса на месте.

Соответственно видим, что все прекрасно работает, и сайт открывается по доменному имени.
И напоследок упомяну об одной очень важной утилите под названием nslookup . Она позволяет обратиться к DNS-серверу и узнать у него информацию о имени или IP-адресе. В CPT эта команда присутствует, и я предлагаю взглянуть на нее.

Кликаем по компьютеру на схеме и на вкладке «Desktop» выбираем «Command Prompt». Это имитация командной строки.


Открывается у нас окошко, подобное cmd в ОС Windows. Можно ввести знак "?" и нажать ENTER. Она покажет список всех доступных команд. Нам нужна команда nslookup. Введем ее и нажмем ENTER.


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

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


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

Есть еще один файл в каждой ОС, который тесно связан с DNS. Название у него «hosts». Стандартное расположение его в Windows системах «windows\system32\drivers\etc\hosts». А в *nix подобных системах: "/etc/hosts". Делает он то же самое, что и DNS-сервера. И контролируется этот файл администратором компьютера. И самое важное: он имеет приоритет перед DNS-сервером. И, если у вас в файле написано, что сайту сайт соответствует IP адрес, который на самом деле соответствует google.ru, то, соответственно, открывать он будет google, а не habrahabr. Этим часто пользуются злоумышленники, когда вносят исправления в этот файл. Приведу скрин этого файла со своего компьютера.


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

Вот такая интересная служба и протокол. Также как и с HTTP, приведу ссылку на скачивание данной лабы.

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

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

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

Давайте посмотрим, как он работает на практике.


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

Настроим сервер.


Присваиваем свободный адрес и маску. Перейдем к роли DHCP.


1) Выбираем службу DHCP, и тут уже создан стандартный пул. Его удалить нельзя. Только изменить. Можете сами создать несколько пулов и вытворять с ними, что угодно, вплоть до удаления. Но стандартный всегда останется. Нам дополнительные пулы не нужны, поэтому переделаем под себя стандартный.

2) Здесь можно добавить адрес шлюза, адрес DNS-сервера. Мы пока не касались вопроса шлюза, поэтому пока не будем его трогать. DNS-сервер у нас есть, и его можно указать. Ну и старт адресов оставим, как есть.

3) Не забываем включить сервер!

Переключаем среду в режим симуляции и посмотрим, как компьютер получит адрес.


Соответственно переходим в настройки конфигурации и переключаем на DHCP.


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

1) Протокол канального уровня (Ethernet). В «Source MAC» записывается адрес компьютера. А в «Destination MAC» записан широковещательный адрес (то есть всем).

2) Протокол сетевого уровня (IP). В «Source IP» записывается адрес «0.0.0.0». Этот адрес вставляется, когда у запрашиваемого нет адреса. А в «Destination IP» вставляется широковещательный адрес «255.255.255.255».


Посмотрим на поле UDP. Здесь используются порты 67 и 68. Это UDP порты, зарезервированные для DHCP.
Теперь смотрим на поле DHCP. Здесь все по нулям, и только в поле «CLIENT HARDWARE ADDRESS» записан MAC-адрес компьютера.

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


И видим, что все кроме DHCP-сервера отбросили данные.

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

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


И видим, что в поле "«YOUR» CLIENT ADDRESS" добавился адрес 192.168.1.1. Это адрес, который DHCP-сервер предлагает компьютеру. В поле «SERVER ADDRESS» DHCP-сервер добавляет свой адрес, чтобы компьютер знал, кто предлагает ему адрес. В поле «CLIENT HARDWARE ADDRESS» добавляется MAC-адрес компьютера (то есть того, кто запросил). И в самом низу представлена опция «DHCP Domain Name Server Option». Сюда записывается адрес DNS-сервера, который мы указали в настройках сервиса DHCP.

Посмотрим, как компьютер получит адрес.


И наблюдаем сообщение «DHCP Request Successful». Что означает, что данные успешно получены, о чем свидетельствуют заполненные поля ниже.

Вот так работает протокол DHCP. Как обещал, ссылка для скачивания.

IV) POP3 (англ. Post Office Protocol Version 3). Протокол почтового отделения версии 3. Протокол, который используют клиенты для получения почтовых писем с сервера. Версии 1-ая и 2-ая устарели и в нынешнее время не используются. Работает он по принципу «загрузи и удали». Что это значит? Это значит, что клиент заходит на сервер и смотрит, есть ли для него письмо. И если оно присутствует, он загружает его к себе и ставит отметку об удалении на сервере. Хорошо это или плохо, вопрос спорный. Кто-то утверждает, что это хорошо, так как сервер не бывает перегружен ненужными письмами. Я считаю иначе. Во-первых современная инфраструктура позволяет хранить большой объем писем, а во-вторых часто случается, что пользователь удаляет или теряет важное письмо, и найти его потом становится трудно. Хотя, стоит упомянуть, что некоторые клиенты можно настроить так, чтобы они не удаляли письма с сервера. Однако при стандартных настройках они удаляют письма с сервера. Поэтому будьте внимательнее. Порт, который он прослушивает - 110. Довольно известный номер порта, поэтому возьмите себе на заметку. Так же как и у протокола HTTP, у него есть расширенная версия - POP3S. При помощи дополнительного криптографического протокола, как SSL, шифруется содержимое, и письма передаются в защищенном виде. POP3S использует 995 порт. Мы обязательно рассмотрим протокол POP3 на практике, после того, как узнаем про протокол SMTP.

Стоит упомянуть про аналог POP3. Это протокол IMAP (англ. Internet Message Access Protocol). Протокол доступа к электронной почте. Он более умный и посложнее, чем POP3. Но главное их различие в том, что клиент, заходя на сервер, не удаляет почту, а копирует ее. Таким образом, у клиента отображается копия почтового ящика, который хранится на почтовом сервере. И если клиент у себя удаляет какое-либо письмо, то оно удаляется только у него. На сервере оригинал остается целым. Слушает он 143 порт. Рассмотреть IMAP подробно в CPT не получится, так как полноценно он там не реализован.

V) SMTP (англ. Simple Mail Transfer Protocol). Простой протокол передачи почты. Используется он, как вы поняли, для передачи почты на почтовый сервер. Вот почему мы изучаем POP3 и SMTP параллельно. Использует он 25 порт. Это тоже важно помнить.

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

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

Открою я прошлую лабораторную работу по DHCP и слегка ее модернизирую.


Убрал я HTTP-сервер и вместо него добавил компьютер рабочего, и назвал WORKER-PC. Присвою ему IP-адрес, который был у HTTP-сервера. То есть 192.168.1.2. Старый компьютер переименовал в DIRECTOR-PC. DNS-сервер я оставил. Он нам в этой лабе еще понадобится. Сервер DHCP переименовал в Mail-Server. И давайте его настроим.


Адрес я не менял, и он остался от прошлой лабы. Пускай таким и остается. Переходим в службы и находим «EMAIL».


1) В поле «Domain Name» надо записать имя домена. Это то, что будет писаться после знака "@". Обязательное требование. Любая почта записывается в таком формате - логин@домен. И нажимаем кнопку «Set». Я ее уже нажал, поэтому она не активна, но если внести изменения в поле ввода доменного имени, то она снова станет активной.

2) И создадим пользователей. В поле «User» запишем первого пользователя. Это будет «Director». И зададим пароль «123». И нажимаем на знак "+", чтобы добавить его в базу. Аналогично создадим второго пользователя. Это будет «Worker» с таким же паролем «123».

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


1) Видим в базе список созданных пользователей. Их можно удалять, добавлять и менять пароли при помощи кнопок справа.
2) Не забываем включить службы POP3 и SMTP. Они по умолчанию включены, но проверка лишней не будет.

На этом настройка на стороне сервера заканчивается, и теперь перейдем к настройке на стороне клиентов. Начнем с компьютера директора. Открываем вкладку «Desktop» и выбираем Email.


После этого сразу откроется окно настройки.


1) В поле «Your Name» пишем любое имя. Я напишу Director.
2) В поле «Email Address» пишем почтовый ящик. Для директора - это [email protected].
3) В поля «Incoming Mail Server» и «Outgoing Mail Server» записываем адрес почтового сервера (192.168.1.4)
4) В поле «User Name» пишем сам логин. То есть Director и соответственно пароль 123.
Нажимаем кнопку «Save», и перед нами открывается почтовый клиент. CPT назвал его почтовым обозревателем.

Аналогичная настройка будет на компьютере рабочего. Привожу скрин.

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

Открываем почтовый клиент на компьютере директора и создадим письмо.


Жмем на кнопу «Compose», и перед нами открывается привычное окно.


Здесь все как обычно. Пишем кому отправляем, тему письма, сам текст письма и нажимаем кнопку «Send».


Видим следующее сообщение о том, что отправка завершена успешно. Замечательно! Теперь посмотрим, как письмо будет доставлено рабочему.

Открываем почтовый клиент на компьютере рабочего.


И видим, что письма нету. А все потому, что клиент в CPT не поддерживает автоматическое обновление и приходится это делать вручную. Нажимаем кнопку «Receive».


Видим появившееся письмо и сообщение об успешном получении. Откроем письмо и посмотрим, не побилось ли.


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


Отправляю письмо и перехожу к компьютеру директора. И, соответственно, жму кнопку «Receive», чтобы обновить почту.


Появилось письмо, а ниже и сообщение об успешном получении.

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


Письмо дошло, а значит все работает.

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


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

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


1) Появился долгожданный SMTP, о чем свидетельствует запись в панели симуляции, и откроем их. Обратим внимания на TCP-порты, чтобы удостовериться, что это он. И видим, что в «Destination Port» стоит 25 номер. А в «Source Port» записан динамически придуманный порт, чтобы сервер мог идентифицировать клиента. Все правильно.

2) Смотрим ниже на данные SMTP, и здесь нет ничего интересного. CPT показывает нам его, как обычный блок данных.


Сервер, получив данные от компьютера, формирует ответное сообщение. Обратите внимание на изменения. Номера, которые присутствовали ранее, поменялись местами, а именно «Source Port» и «Destination Port». Теперь источником является сервер, а назначением - компьютер. Это сообщение о доставке письма серверу.

После этого работа протокола SMTP закончена, и компьютер может начать закрывать TCP-сессию. Чем он и займется.

Теперь когда письмо отправлено, и мы знаем, что оно лежит на сервере, попробуем получить это письмо. Открываем компьютер рабочего и жмем кнопку «Receive».


Как и с SMTP, в POP3 тоже создается TCP-сессия. Посмотрим на номера портов. В «Destination Port» стоит 110 номер порта. Это и есть стандартный номер порта для протокола POP3. В «Source Port» стоит порт 1028.


Вот он появился и наблюдаем, что в поле POP3 такая же картина, что и в SMTP, т.е. все то, что и так было понятно.


Мы знаем, что оно там есть и наблюдаем, как сервер формирует ответное сообщение. И также как с SMTP, он меняет местами порты отправления и назначения. На прикладном уровне запакованы какие-то POP3 данные. Это и есть само письмо.

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


И как только данные получены, о чем здесь свидетельствует галочка на фиолетовом пакете, письмо сразу же высвечивается в клиенте. Дальше, как и в SMTP, будет закрытие TCP-сессии.

Привожу ссылку на скачивание этой лабы.

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

Ну и самое логичное, что приходит в голову - это то, что у нас есть почтовый сервер с адресом 192.168.1.4. И с этим адресом у нас будет работать доменное имя. Соответственно заходим на DNS-сервер и сопоставим этому адресу имя.

Настройка на стороне DNS-сервера закончена, и осталось изменить 2 строчки в почтовых клиентах компьютеров. Открываем клиент на компьютере директора.


И нажимаем на кнопку «Configure Mail».

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


Здесь надо поменять строки «Incoming Mail Server» и «Outgoing Mail Server». Вместо IP-адреса записываем доменное имя и нажимаем кнопку «Save».

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

Сразу попробуем написать письмо директору и отправить.


И после нажатия кнопки «Send», наблюдаем следующее.


Внизу появляется сообщение о том, что он спросил у DNS-сервера адрес, и тот ему выдал IP-адрес почтового сервера. Отправка прошла успешно.

Теперь зайдем на компьютер директора и нажмем на кнопку «Receive».


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

Разобрали мы почтовые протоколы. И переходим к разбору следующего протокола.

VI) Telnet (от англ. terminal network). Если переводить дословно, то это сетевой терминал. Основы этого протокола были заложены давным давно, и до сих пор он не теряет своей актуальности. Применяется он для отображения текстового интерфейса, а также для управления ОС. Очень полезный протокол, и каждый сетевой инженер обязан уметь работать с ним. Объясню почему. Каждое сетевое устройство, интерфейс которого представляет собой командную строку, настраивается либо при помощи специального консольного кабеля, либо через виртуальные терминалы, в который и входит протокол Telnet. И, если консольный кабель требует нахождения специалиста рядом с настраиваемым оборудованием, то настройка при помощи виртуальных терминалов, а в данном случае Telnet, не ограничивает специалиста в расстоянии. Можно находиться в другой комнате, здании, городе и все равно иметь возможность доступа к оборудованию. Я считаю это огромным плюсом. Из минусов данного протокола отмечу, что он фактически не защищенный и все передается в открытом виде. Использует он 23 порт. А самые популярные дистрибутивы, которые работают с этим протоколом - это Putty, Kitty, XShell и т.д. Я думаю закрепим его работу на практике.

Использовать Telnet мы будем для доступа к коммутатору Cisco 2960. Он, как и все Cisco устройства, использует разработанную компанией Cisco операционную систему IOS. А интерфейс командной строки называется CLI (Command Line Interface). Давайте для начала настроим коммутатор. Повесим на него IP-адрес, так как без него мы не сможем попасть на коммутатор и разрешим доступ по Telnet. Я не буду приводить скриншоты, так как там нет графики. Просто дам список вводимых команд и поясню для чего они.

Switch>enable - переход в привилегированный режим. Отсюда доступно большинство команд.

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

Switch(config)#username admin secret cisco - создаем пользователя с именем admin и паролем cisco.

Switch(config)#interface vlan 1 - переходим в виртуальный интерфейс и повесим на него IP-адрес. Здесь прелесть заключается в том, что не важно, на каком именно из 24-х портов он будет висеть. Нам главное, чтобы просто с какого-либо порта был доступ до него.

Switch(config-if)#ip address 192.168.1.254 255.255.255.0 - присваиваем последний адрес 192.168.1.254 с маской 255.255.255.0

Switch(config-if)#no shutdown - по умолчанию интерфейс выключен, поэтому включаем его. В IOS 90% команд отменяются или выключаются путем приписывания перед командой «no».

Switch(config)#line vty 0 15 - переходим в настройки виртуальных линий, где как раз живет Telnet. От 0 до 15 означает, что применяем это для всех линий. Всего можно установить на нем до 16 одновременных соединений.

Switch(config-line)#transport input all - и разрешаем соединение для всех протоколов. Я специально настроил для всех протоколов, так как чуть позже будет рассматриваться другой протокол и лезть сюда ради одной команды не считаю разумным.

Switch(config-line)#login local - указываем, что учетная запись локальная, и он будет проверять ее с той, что мы создали.

Switch#copy running-config startup-config - обязательно сохраняем конфигурацию. Иначе после перезагрузки коммутатора все сбросится.

Итак коммутатор настроен. Давайте подключимся к нему c рабочего компьютера. Открываем командную строку. Мы ее открывали, когда рассматривали nslookup. И пишем следующее.


То есть команда telnet и адрес, куда подсоединиться.

Если все верно, то открывается следующее окно с запросом логина и пароля.


Соответственно пишем логин:admin и пароль:cisco (мы создавали его на коммутаторе).

И он сразу пускает нас на коммутатор. Для проверки проверим доступность компьютера директора, при помощи команды ping.


Ping успешен. Надеюсь, понятно, что проверка доступности осуществляется не с компьютера рабочего, а с коммутатора. Компьютер здесь является управляющим устройством и все. Рассматривать его в режиме симуляции я не буду. Он работает точно так же, как и почтовые протоколы, то есть создается TCP-сессия, и, после установления соединения, начинает работать Telnet. Как только он отрабатывает, он начинает разрывать соединение. Тут все просто. Привожу ссылку на скачивание.

Давайте теперь разберем протокол SSH.

VII) SSH (англ. Secure Shell). В переводе с английского - безопасная оболочка. Как и Telnet позволяет управлять ОС. Отличие его в том, что он шифрует весь трафик и передаваемые пароли. Шифруется при помощи алгоритма Диффи-Хеллмана . Кому интересно почитайте. Практически все современные ОС системы умеют работать с этим протоколом. Если у вас стоит выбор, какой протокол применять, то используйте SSH. Сначала немного помучаетесь в настройке, и многое будет непонятно, но со временем в голове уляжется. Главное запомните сейчас, что самое главное отличие SSH от Telnet - это то, что SSH шифрует трафик, а Telnet нет. Я думаю пора перейти к практике и посмотреть, как это работает. Подключаться и управлять мы будем тем же коммутатором. Давайте попробуем подключиться по SSH с компьютера директора к коммутатору.


Здесь синтаксис команды немного другой, нежели при подключении по Telnet. Пишем ssh с ключом l, после набираем логин (у нас это admin) и адрес, куда подключаемся (192.168.1.254). Завершаем это дело клавишей ENTER. Выдается сообщение, что соединение было закрыто внешним хостом. То есть коммутатор закрыл соединение. Все потому, что не были созданы ключи, которые работают с шифрованием. Зайду на коммутатор и настрою его для корректной работы по SSH.

Switch(config)#hostname SW1 - меняем имя коммутатора. С этим стандартным именем нельзя прописать домен, который нужен для генерации ключей.

SW1(config)#ip domain-name cisadmin.ru - прописываем домен.

SW1(config)#crypto key generate rsa - генерируем RSA ключи.

The name for the keys will be: SW1.cisadmin.ru
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.

How many bits in the modulus : 1024 - Указываем размер ключа. По умолчанию предлагается 512, но я введу 1024.
% Generating 1024 bit RSA keys, keys will be non-exportable...
Выходит сообщение о удачной генерации ключей.

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


И уже выдается другое сообщение, с запросом на ввод пароля. Вводим пароль «cisco» и оказываемся на коммутаторе.

Осталось проверить работу. Я воспользуюсь командой ping и проверю доступность рабочего компьютера.


И убедился, что все прекрасно работает. Привожу ссылку , чтобы убедились и вы.

А я перехожу к следующему протоколу.

VIII) FTP (англ. File Transfer Protocol). Протокол передачи файлов. Думаю из названия протокола ясно, что он передает файлы. Очень древний протокол, вышедший в начале 70-х годов. Появился он еще до HTTP и стека TCP/IP. Как работал раньше, так и сейчас работает по «клиент-сервер» модели. То есть, присутствует инициатор соединения и тот, кто его слушает. Есть несколько модификаций, которые поддерживают шифрование, туннелирование и так далее. Раньше с этим протоколом работали разные консольные утилиты, у которых не было графики и работали они, при помощи ввода определенных команд. В нынешнее время присутствуют и графические программы. Самой популярной и простой является Filezilla. В CPT реализован только консольный метод.

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


В принципе схема аналогична предыдущей.

Откроем FTP-сервер и перейдем в сервис FTP.


По умолчанию служба включена, но лучше проверить.

1) Цифрой 1 я отметил учетку, которая по умолчанию была здесь создана. Это стандартная учетная запись с логином «cisco» и таким же паролем. В правой колонке видим «Permission» - это права доступа. И видим, что данная учетка имеет все права. В тестовой среде нам как раз это и надо, но, работая в компании, всегда следите за правами каждой учетки.

2) Цифрой 2 отмечено хранилище FTP. Здесь в основном прошивки для цисковских устройств.

Сервис настроен и раз все так прекрасно, попробуем с ним поработать. Но для начала создам текстовый файл на компьютере директора, который потом выкачаю на FTP-сервер.

Открываю компьютер директора и выбираю «Text Editor». Это аналог блокнота в ОС Windows.


Напишу туда текст и сохраню его.

Теперь попробуем залить этот файл на FTP-сервер. Открываем командную строку и пишем


То есть, как помним ранее, в начале пишется используемый протокол, а потом следует адрес. Далее, после соединения, спрашивается логин (вводим cisco) и пароль (тоже cisco). И после аутентификации попадаем на сам FTP-сервер. Список доступных команд можно проверить командой "?".

Чтобы что-то залить, используется команда «put», а скачать команда «get». Заливаем наш файл.


Ввел я команду «put» и название файла, которое хочу скопировать. И показывает он нам сообщение, что все скопировано. Файл весит 20 байтов, а скорость передачи 487 байтов в секунду. Далее ввел команду «dir», чтобы проверить содержимое сервера. И засветился на нем файл message.txt под 17 номером.

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


Выполняю я практически те же действия, что и ранее. За исключением команды «get», а не «put». Видим, что файл скачен. Еще я ввел команду «dir», чтобы показать, что при скачивании файла, оригинал не удаляется. Скачивается его копия.

И раз он скачал файл, то он должен появиться на компьютере. Открываю «Text Editor» и нажимаю File->Open.



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


Файл пришел целым. Весь текст присутствует.

Не буду повторно засорять вам голову, как это работает. Потому что работает оно точно так же, как и почтовые протоколы, Telnet, SSH и так далее. То есть создается TCP-сессия, и начинается передача/скачивание файла. Приведу только структуру его.


В TCP обращаем внимание на номер порта. Это 21 порт (стандартный порт FTP). И в поле данных FTP обозначено, что это какие-то двоичные данные.

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

И последний протокол, который остался - это TFTP.

IX) TFTP (англ. Trivial File Transfer Protocol). Простой протокол передачи файлов. Придумали его в 80-х годах. Хоть FTP был достаточно популярным, не все его функции были нужны для решения простых задач. И был придуман его простой аналог. Он работает по UDP, то есть не требует установления соединения. Также он не требует аутентификации и авторизации. Достаточно знать его IP-адрес и самому его иметь. Это конечно не безопасно, так как адрес можно подделать. Но когда нужен простой протокол и не требуется авторизация, выбор падает на него. Очень плотно с ним работает цисковское оборудование, для копирования образа или скачивания на flash-память.

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


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

Перейдем к коммутатору.

SW1#dir - команда вывода содержимого файловой системы
Directory of flash:/


9 -rw- 1168 config.text

64016384 bytes total (59600295 bytes free)

У нас есть файл config.text. Попробуем его залить на TFTP - сервер.

SW1#copy flash: tftp: - то есть указываем откуда, а потом куда. Здесь это с flash-памяти на tftp-сервер

Source filename ? config.text - здесь он спрашивает имя файла, которое надо скопировать.

указываем куда скопировать.

Destination filename ? - и тут надо указать, под каким именем сохранить его на сервере. По умолчанию он предлагает сохранить его с тем же названием.И, если нажать клавишу ENTER, он выберет имя по умолчанию. Меня это устраивает, и я оставлю его таким же.

Writing config.text....!!!

1168 bytes copied in 3.048 secs (383 bytes/sec)

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


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

Теперь попробуем что-нибудь скачать с сервера на коммутатор.

SW1#copy tftp: flash: - здесь пишем наоборот. Сначала tftp, а потом flash

Address or name of remote host ? 192.168.1.4 - адрес TFTP-сервера


Записываю название
Source filename ? c2960-lanbasek9-mz.150-2.SE4.bin

Destination filename ? - здесь он спрашивает, как назвать его на самом коммутаторе. Я нажму ENTER и оставлю имя по умолчанию.

Accessing tftp://192.168.1.4/c2960-lanbasek9-mz.150-2.SE4.bin…
Loading c2960-lanbasek9-mz.150-2.SE4.bin from 192.168.1.4:!!!

4670455 bytes copied in 0.057 secs (6587503 bytes/sec)

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

SW1#dir
Directory of flash:/

1 -rw- 4414921 c2960-lanbase-mz.122-25.FX.bin
10 -rw- 4670455 c2960-lanbasek9-mz.150-2.SE4.bin
9 -rw- 1168 config.text

64016384 bytes total (54929840 bytes free)

Вижу, что действительно все на месте. И вдобавок он мне сообщает об объеме памяти и наличии свободного места.

Закончили мы рассматривать протоколы верхнего уровня. Не думал я, что получится настолько длинная статья. Наверное виноваты картинки. Но постарался максимально кратко и по делу. Протоколов мы рассмотрели много, и все они не заменимы. Часто выручают жизнь сисадминам и любимым нами пользователям. Спасибо, что дочитали. Если что-то непонятно, оставляйте комментарии или сразу пишите в личку. А я пошел ставить чайник и пить вкусный чай с пирожными!

  • telnet
  • ssh
  • pop3
  • smtp
  • ftp
  • tftp
  • Добавить метки

    В локальных сетях основная роль в организации взаимодействия узлов принадлежит протоколу канального уровня, который ориентирован на вполне определенную топологию ЛКС. Так, самый популярный протокол этого уровня – Ethernet – рассчитан на топологию «общая шина», когда все узлы сети параллельно подключаются к общей для них шине, а протокол Token Ring – на топологию «звезда». При этом применяются простые структуры кабельных соединений между РС сети, а для упрощения и удешевления аппаратных и программных решений реализовано совместное использование кабелей всеми РС в режиме разделения времени (в режиме TDH). Такие простые решения, характерные для разработчиков первых ЛКС во второй половине 70-х годов ХХ-го века, наряду с положительными имели и отрицательные последствия, главные из которых – ограничения по производительности и надежности.

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

    Однако внутри базовых структур локальных сетей продолжают работать все те же протоколы Ethernet и Token Ring. Объединение этих структур (сегментов) в общую, более сложную локальную сеть осуществляется с помощью дополнительного оборудования, а взаимодействие РС такой сети – с помощью других протоколов.

    В развитии локальных сетей, кроме отмеченного, наметились и другие тенденции:

    · отказ от разделяемых сред передачи данных и переход к использованию активных коммутаторов, к которым РС сети присоединяются индивидуальными линиями связи;

    · появление нового режима работы в ЛКС при использовании коммутаторов – полнодуплексного (хотя в базовых структурах локальных сетей РС работают в полудуплексном режиме, т.к. сетевой адаптер станции в каждый момент времени либо передает свои данные, либо принимает другие, но не делает это одновременно). Сегодня каждая технология ЛКС приспособлена для работы как в полудуплексном, так и в полнодуплексном режимах.

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

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

    · логической передачи данных (LLC);

    · управления доступом к среде (МАС).

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

    Подуровень МАС обеспечивает совместное использование общей передающей среды, а подуровень LLC – организует передачу кадров с различным уровнем качества транспортных услуг. В современных ЛКС используются несколько протоколов подуровня МАС, реализующих различные алгоритмы доступа к разделяемой среде и определяющих специфику технологий Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

    Различают три режима работы протокола LLC:

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

    · LLC2 – процедура с установлением соединения и подтверждением. По этому протоколу перед началом передачи между взаимодействующими РС устанавливается логическое соединение и, если это необходимо, выполняются процедуры восстановления кадров после ошибок и упорядочения потока кадров в рамках установленного соединения (протокол работает в режиме скользящего окна, используемом в сетях ARQ). Логический канал протокола LLC2 является дуплексным, т.е. данные могут передаваться одновременно в обоих направлениях;

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

    Указанные три протокола являются общими для всех методов доступа к передающей среде, определенных стандартами IEEE 802.Х.

    Кадры подуровня LLC по своему назначению делятся на три типа – информационные (для передачи данных), управляющие (для передачи команд и ответов в процедурах LLC2) и ненумерованные (для передачи ненумерованных команд и ответов LLC1 и LLC2).

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

    Терминология компьютерной сети Протоколы

    Сетевой протокол - это набор программно реализованных правил общения компьютеров, подключенных к сети. Практически это "язык", на котором компьютеры разговаривают друг с другом. В настоящее время стандартом стало использование только протокола TCP/IP. В предыдущих версиях Windows по умолчанию устанавливалось несколько протоколов, обычно это NetBEUI, NWLink IPX/SPX, TCP/IP.

    • NetBEUI.
      Компактный и эффективный протокол для взаимодействия в малых сетях (до 200 компьютеров). Используется в самых разнообразных системах: Microsoft LAN Manager, Windows 3.1/3.11 for Workgroups/95/98/NT 4.0, IBM PCLAN, LAN Server и т. п. В Windows 2000 и старше применяется новая спецификация этого протокола, которая получила название NetBIOS Frame Protocol (NBFP). NetBEUI (NBFP) не требует никаких дополнительных настроек. Если нужно быстро создать сеть и вы не чувствуете себя уверенными в понимании дополнительных настроек, которых, например, требует протокол TCP/IP, то включите протокол NBFP. Вы получите простую и весьма быстро функционирующую локальную сеть.
    • NWLink IPX/SPX.
      Если в сети есть серверы Novell NetWare, то этот протокол необходим для организации с ними связи. В противном случае данный протокол следует исключить из числа используемых в системе.
    • TCP/IP .
      Основной рекомендуемый протокол как для больших сетей предприятий и малых офисов, так и для соединения домашних компьютеров в частную сеть. В отличие от других протоколов требует ряда предварительных настроек.

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

    Модель OSI

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

    Стек протоколов TCP/IP

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

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

    Протоколы UPD, TCP, ICMP

    Для передачи данных используются протоколы TCP (Transmission Control Protocol, протокол управления передачей данных) и UDP (User Datagram Protocol, протокол пользовательских дейтаграмм). UDP применяется в тех случаях, когда не требуется подтверждения приема (например, DNS-запросы, IP-телефония). Передача данных по протоколу TCP предусматривает наличие подтверждений получения информации. Если передающая сторона не получит в установленные сроки необходимого подтверждения, то данные будут переданы повторно. Поэтому протокол TCP относят к протоколам, предусматривающим соединение (connection oriented), a UDP - нет (connection less).
    Протокол Internet Control Message Protocol (ICMP , протокол управляющих сообщений Интернета) используется для передачи данных о параметрах сети. Он включает такие типы пакетов, как ping, destination unreachable, TTL exceeded и т. д.

    Бурное развитие Интернета привело к тому, что параметры, заложенные при создании протоколов IP, стали сдерживать дальнейшее развитие глобальной сети. Поэтому многочисленные группы постоянно разрабатывают возможные модификации данного протокола. Наиболее "признанной" на данный момент разработкой считается проект группы IETF (Internet Engineering Task Force, проблемная группа проектирования Интернета), который называют IPv6 (другие проекты объединяют общим названием IP Next Generation или IPng).
    К основным особенностям данного проекта относятся:

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

    Хотя большинство участников Интернета поддерживает разработку этого протокола, однако реальное внедрение данной разработки потребует длительного времени и существенных инвестиций, поскольку влечет за собой модернизацию большого количества уже установленного оборудования.
    Поддержка протокола IPv6 заложена в операционные системы Windows, начиная с Windows ХР. Чтобы ее включить в Windows XP, необходимо выполнить команду ipv6 install. Но использование ipv6 пока еще не имеет практического значения. По разным оценкам нехватка адресного пространства протокола IPv4 может возникнуть не ранее чем через 5-10 лет. Это достаточный срок для разработки уже следующей спецификации протокола IP.

    Параметры TCP/IP протокола
    IP-адрес

    Каждый компьютер, работающий по протоколу TCP/IP, обязательно имеет IP-адрес- 32-битное число, используемое для идентификации узла (компьютера) в сети. Адрес принято записывать десятичными значениями каждого октета этого числа с разделением полученных значений точками. Например: 192.168.101.36.
    IP-адреса уникальны. Это значит, что каждый компьютер имеет свое сочетание цифр, и в сети не может быть двух компьютеров с одинаковыми адресами. IP-адреса распределяются централизованно. Интернет-провайдеры дела ют заявки в национальные центры в соответствии со своими потребностями Полученные провайдерами диапазоны адресов распределяются далее между клиентами. Клиенты сами могут выступать в роли интернет-провайдера и распределять полученные IP-адреса между субклиентами и т.д. При таком способе распределения IP-адресов компьютерная система точно знает "pacположение" компьютера, имеющего уникальный IP-адрес; ей достаточно переслать данные в сеть "владельца". Провайдер в свою очередь проанализирует пункт назначения и, зная, кому отдана эта часть адресов, отправит инфор мацию следующему владельцу поддиапазона IP-адресов, пока данные не поступят на компьютер назначения.
    Выделение диапазона адресов осуществляется бесплатно, но организация получившая адреса, должна реально подтвердить их использование через oп ределенный промежуток времени.
    Для построения локальных сетей организаций выделены специальные диапа зоны адресов. Это адреса Ю.х.х.х, 192.168.х.х, Ю.х.х.х, с 172.16.х.х по 172.31.х.х, 169.254.Х.Х. Пакеты, передаваемые с указанных адресов, не маршрутизируются (иными словами, не пересылаются) через Интернет, поэтому в различных локальных сетях компьютеры могут иметь совпадающие адреса из указанных диапазонов. Для пересылки информации с таких компьютеров в Интернет и обратно используются специальные программы, "на лету" заменяющие локальные адреса реальными при работе с Интернетом. Иными словами, данные в Сеть пересылаются от реального IP-адреса. Этот процесс происходит "незаметно" для пользователя. Такая технология называется трансляцией адресов.

    Групповые адреса

    Если данные должны быть переданы на несколько устройств (например, просмотр видео с одной Web-камеры на различных компьютерах или одновременное разворачивание образа операционной системы на несколько систем), то уменьшить нагрузку на сеть может использование групповыхрассылок.
    Для этого компьютеру присваивается еще один IP-адрес из специального диапазона: с 224.0.0.0 по 239.255.255.255, причем диапазоны 224.0.0.0- 224.0.0.255 и 239.0.0.0-239.255.255.255 не могут быть использованы в приложениях и предназначены для протоколов маршрутизации3 и т. п. Назначение адресов групповой рассылки производится соответствующим программным обеспечением.
    Если коммутатор имеет функции работы с групповыми рассылками (поддержка IGMP snoophing, P1M DM/PIM SM), то передаваемые на адреса групповой рассылки данные будут поступать только на те порты, к которым подключены устройства, подписавшиеся на соответствующие рассылки. В результате сетевой трафик может быть существенно снижен по сравнению с вариантом передачи таких данных каждому устройству сети независимо.

    Распределение IP-адресов сети малого офиса

    В сетях предприятий обычно задействованы диапазоны IP-адресов, выделенные для локального использования. Часть адресов закрепляется статически, часть- раздается динамически с помощью DHCP (Dynamic Host Configuration Protocol, динамический протокол конфигурации сервера).

    Статические адреса закрепляются:

    • за шлюзом, для которого обычно используют адрес ххх.ххх.ххх.1, но это традиция, а не правило;
    • за серверами DNS, DHCP, WINS;
    • за контроллерами домена;
    • за серверами сети (например, централизованные файловые ресурсы, почтовый сервер и т. п.);
    • за станциями печати, имеющими непосредственное подключение к сети;
    • за управляемыми сетевыми устройствами (например, сетевыми переключателями, SNMP-управляемыми источниками аварийного питания и т. п.).

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

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

    Маска адреса

    Понятие подсети введено, чтобы можно было выделить часть IP-адресов одной организации, часть другой и т. д. Подсеть представляет собой диапазон IP-адресов, которые считаются принадлежащими одной локальной сети. При работе в локальной сети информация пересылается непосредственно получателю. Если данные предназначены компьютеру с IP-адресом, не принадлежащим локальной сети, то к ним применяются специальные правила для вычисления маршрута пересылки из одной сети в другую. Поэтому при использовании протокола TCP/IP важно знать, к какой сети принадлежит получатель информации: к локальной или удаленной.
    Маска- это параметр, который "сообщает" программному обеспечению о том, сколько компьютеров объединено в данную группу ("подсеть"). Маска адреса имеет такую же структуру, как и сам IP-адрес: это набор из четырех групп чисел, каждое из которых может быть в диапазоне от 0 до 255. При этом чем меньше значение маски, тем больше компьютеров объединено в данную подсеть. Для сетей небольших предприятий маска обычно имеет вид 255.255.255.x (например, 255.255.255.224). Маска сети присваивается компьютеру одновременно с IP-адресом.

    Так, сеть 192.168.0.0 с маской 255.255.255.0 (иначе можно записать 192.168.0.0/24) может содержать хосты с адресами от 192.168.0.1 до 192.168.0.254. Адрес 192.168.0.255 - это адрес широковещательной рассылки для данной сети. А сеть 192.168.0.0 с маской 255.255.255.128 (192.168.0.0/25) допускает адреса от 192.168.0.1 до 192.168.0.127 (адрес 192.168.0.128 используется при этом в качестве широковещательного).
    На практике сети с небольшим возможным числом хостов используются интернет-провайдерами (с целью экономии IP-адресов). Например, клиенту может быть назначен адрес с маской 255.255.255.252. Такая подсеть содержит только два хоста. При разбиении сети организации используют диапазоны локальных адресов сетей класса С. Сеть класса С имеет маску адреса 255.255.255.0 и может содеражать до 254 хостов. Применение сетей класса С при разбиении на VLAN в условиях предприятия связано с тем, что протоколы автоматической маршрутизации используют именно такие подсети.
    При создании подсетей в организации рекомендуется придерживаться следующего правила: подсети, относящиеся к определенному узлу распределения, должны входить в одну сеть. Это упрощает таблицы маршрутизации и экономит ресурсы коммутаторов. Например, если к данному коммутатору подключены подсети 192.168.0.0/255.255.255.0, 192.168.1.0/255.255.255.0, 192.168.3.0/255.255.255.0, то другому коммутатору достаточно знать, что в этом направлении следует пересылать пакеты для сети 192.168.0.0/255.255.252.0.
    Эта рекомендация несущественна для сетей малых и средних организаций, поскольку ресурсов современных коммутаторов достаточно для хранения настроек такого объема.

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

    Шлюз (Gateway, default gateway)

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

    Таблицы маршрутизации

    Организация может иметь несколько точек подключения к Интернету (например, в целях резервирования каналов передачи данных или использования более дешевых каналов и т. п.) или содержать в своей структуре несколько IP-сетей. В этом случае, чтобы система "знала", каким путем (через какой шлюз) посылать ту или иную информацию, используются таблицы маршрутизации (routing). В таблицах маршрутизации для каждого шлюза указывают те подсети Интернета, для которых через них должна передаваться информация. При этом для нескольких шлюзов можно задать одинаковые диапазоны назначения, но с разной стоимостью передачи данных: информация будет отсылаться по каналу, имеющему самую низкую стоимость, а в случае его выхода из строя по тем или иным причинам автоматически будет использоваться следующее наиболее "дешевое" подсоединение.
    Таблицы маршрутизации имеются на каждом устройстве, использующем протокол IP. Администраторы в основном работают с таблицами маршрутизации коммутирующего оборудования. Настройка таблиц маршрутизации компьютеров имеет смысл только в случае наличия нескольких сетевых адаптеров, подключенных к различным сегментам сети. Если у компьютера есть только одна сетевая карта (одно подключение к Интернету), таблица маршрутизации имеет наиболее простой вид: в ней записано, что все сигналы должны отправляться на шлюз, назначенный по умолчанию (default gateway).

    Просмотреть таблицу маршрутизации протокола TCP/IP можно при помощи команды route print. С помощью команды route можно также добавить новый статический маршрут (route add) или постоянный маршрут- route add -p (маршрут сохраняется в настройках после перезагрузки системы).
    Покажем на примере, как можно использовать модификации таблицы маршрутизации. Предположим, что на компьютере имеются две сетевых карты, одна из которых непосредственно подключена к Интернету (имеет реальный адрес), а вторая используется для работы во внутренней сети (локальный адрес). Доступ в Интернет производится по умолчанию через шлюз в локальной сети. В этом случае таблица маршрутизации, отображаемая по команде route print, выглядит примерно так:

    Проверим путь прохождения пакетов на адрес Интернета, например 109.84.231.210, с помощью команды tracert:
    tracert 109.84.231.210 -d В итоге получаем примерно такую картину (листинг ограничен первыми четырьмя узлами):

    Предположим, что мы хотим изменить путь прохождения пакетов к выбранному нами хосту, направив информацию через вторую сетевую карту (а не через шлюз по умолчанию). Для этого с помощью команды route add нужно добавить желаемый нами маршрут:
    route add 109.84.231.210 mask 255.255.255.255 195.161.192.2
    В команде мы указали, что хотим назначить новый маршрут не для диапазона адресов, а только для конкретного значения (поэтому маска - 255.255.255.255). Кроме того, явно указали адрес сетевого интерфейса, через который нужно пересылать пакеты.
    После исполнения данной команды (на экран система не выводит никаких итогов операции) изменения можно просмотреть через таблицу маршрутизации.

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

    Проверяем новый путь прохождения сигналов:
    Трассировка маршрута к 109.84.231.210 с максимальным числом прыжков 30

    1 1ms 1ms 1ms 195.161.192.1
    2 23 ms 22 ms 23 ms 195.161.94.137
    3 23 ms 23 ms 23 ms 195.161.94.5


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

    route delete 109.84.231.210

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

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

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

    В локальных сетях основная роль в организации взаимодействия узлов принадлежит протоколу канального уровня, который ориентирован на вполне определенную топологию ЛКС. Так, самый популярный протокол этого уровня - Ethernet - рассчитан на топологию «общая шина», когда все узлы сети параллельно подключаются к общей для них шине, а протокол Token Ring - на топологию «звезда». При этом применяются простые структуры кабельных соединений между РС сети, а для упрощения и удешевления аппаратных и программных решений реализовано совместное использование кабелей всеми РС в режиме разделения времени (в режиме TDH). Такие простые решения, характерные для разработчиков первых ЛКС во второй половине 70-х годов ХХ-го века, наряду с положительными имели и отрицательные последствия, главные из которых - ограничения по производительности и надежности.

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

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

    В развитии локальных сетей, кроме отмеченного, наметились и другие тенденции:

    Отказ от разделяемых сред передачи данных и переход к использованию активных коммутаторов, к которым РС сети присоединяются индивидуальными линиями связи;

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

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

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

    Логической передачи данных (LLC);

    Управления доступом к среде (МАС).

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

    Подуровень МАС обеспечивает совместное использование общей передающей среды, а подуровень LLC - организует передачу кадров с различным уровнем качества транспортных услуг. В современных ЛКС используются несколько протоколов подуровня МАС, реализующих различные алгоритмы доступа к разделяемой среде и определяющих специфику технологий Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

    Различают три режима работы протокола LLC:

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

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

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

    Указанные три протокола являются общими для всех методов доступа к передающей среде, определенных стандартами IEEE 802.Х.

    Кадры подуровня LLC по своему назначению делятся на три типа - информационные (для передачи данных), управляющие (для передачи команд и ответов в процедурах LLC2) и ненумерованные (для передачи ненумерованных команд и ответов LLC1 и LLC2).

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

    Технология Ethernet (стандарт 802.3). Это самый распространенный стандарт локальных сетей. По этому протоколу в настоящее время работают более 5 миллионов ЛКС. Имеется несколько вариантов и модификаций технологии Ethernet, составляющих целое семейство технологий. Из них наиболее известными являются 10-мегабитный вариант стандарта IEEE 802.3, а также новые высокоскоростные технологии Fast Ethernet и Gigabit Ethernet. Все эти варианты и модификации отличаются типом физической среды передачи данных.

    Все виды стандартов Ethernet используют один и тот же метод доступа к передающей среде - метод случайного доступа CSMA/CD. Он применяется исключительно в сетях с общей логической шиной, которая работает в режиме коллективного доступа и используется для передачи данных между любыми двумя узлами сети. Такой метод доступа носит вероятностный характер: вероятность получения в свое распоряжение среды передачи зависит от загруженности сети. При значительной загрузке сети интенсивность коллизий возрастает и ее полезная пропускная способность резко падает.

    Полезная пропускная способность сети - это скорость передачи пользовательских данных, переносимых полем данных кадров. Она всегда меньше номинальной битовой скорости протокола Ethernet за счет служебной информации кадра, межкадровых интервалов и ожидания доступа к среде. При передаче кадров минимальной длины (72 байта вместе с преамбулой) максимально возможная пропускная способность сегмента Ethernet составляет 14880 кадр/ с, а полезная пропускная способность - всего 5,48 Мбит/ с, что немного превышает половину номинальной пропускной способности - 10 Мбит/ с. При передаче кадров максимальной длины (1518 байт) полезная пропускная способность равна 9,76 Мбит/ с, что близко к номинальной скорости протокола. Наконец, при использовании кадров средней длины с полем данных в 512 байт, полезная пропускная способность равна 9,29 Мбит/ с, т. е. также мало отличается от предельной пропускной способности в 10 Мбит/ с. Следует учесть, что такие скорости достигаются только при отсутствии коллизий, когда двум взаимодействующим узлам другие узлы не мешают. Коэффициент использования сети в случае отсутствия коллизий и ожидания доступа имеет максимальное значение 0,96.

    Технологией Ethernet поддерживаются 4 разных типа кадров, имеющих общий формат адресов. Распознавание типа кадров осуществляется автоматически. В качестве примера приведем структуру кадра 802.3/LLC.

    Такой кадр имеет следующие поля:

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

    Начальный ограничитель кадра - состоит из одного байта 10101011 и указывает на то, что следующий байт - это первый байт заголовка кадра;

    Адрес назначения - длина его 6 байт, он включает признаки, по которым устанавливает тип адреса - индивидуальный (кадр отправляется одной РС), групповой (кадр отправляется группе РС), широковещательный (для всех РС сети);

    Адрес источника (отправителя) - длина его 2 или 6 байт;

    Длина поля данных - 2-байтовое поле, определяющее длину поля данных в кадре;

    Поле данных - длина его от 0 до 1500 байт. Если длина этого поля меньше 46 байт, то используется так называемое поле заполнения, чтобы дополнить кадр до минимального допустимого значения в 46 байт;

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

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

    В зависимости от типа физической среды по стандарту IEEE 802.3 различают следующие спецификации:

    10Base-5 - толстый коаксиальный кабель (диаметр 0,5 дюйма), максимальная длина сегмента сети 500 метров;

    10Base-2 - тонкий коаксиальный кабель (диаметр 0,25 дюйма), максимальная длина сегмента без повторителей 185 метров;

    10 Base-T - неэкранированная витая пара, образующая звездообразную топологию на основе концентратора. Расстояние между концентратором и РС - не более 100 метров;

    10Base-F - волоконно-оптический кабель, образующий звездообразную топологию. Расстояние между концентратором и РС - до 1000 м и 2000 м для различных вариантов этой спецификации.

    В этих спецификациях число 10 обозначает битовую скорость передачи данных (10 Мбит/с), слово Base - метод передачи на одной базовой частоте 10 МГц, последний символ (5, 2, Т, F) - тип кабеля.

    Для всех стандартов Ethernet имеют место следующие характеристики и ограничения:

    Номинальная пропускная способность - 10 Мбит/ с;

    Максимальное число РС в сети - 1024;

    Максимальное расстояние между узлами в сети - 2500 м;

    Максимальное число коаксиальных сегментов сети - 5;

    Максимальная длина сегмента - от 100 м (для 10Base-T) до 2000 м (для 10Base-F);

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

    Технология Token Ring (стандарт 802.5). Здесь используется разделяемая среда

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

    В сетях Token Ring в качестве физической среды передачи данных используются экранированная и неэкранированная витая пара и волоконно-оптический кабель. Сети работают с двумя битовыми скоростями - 4 и 16 Мбит/ с, причем в одном кольце все РС должны работать с одной скоростью. Максимальная длина кольца - 4 км, а максимальное количество РС в кольце - 260. Ограничения на максимальную длину кольца связаны со временем оборота маркера по кольцу. Если в кольце 260 станций и время удержания маркера каждой станцией равно 10 мс, то маркер после совершения полного оборота вернется в активный монитор через 2,6 с. При передаче длинного сообщения, разбиваемого, например на 50 кадров, это сообщение будет принято получателем в лучшем случае (когда активной является только РС-отправитель) через 260 с, что для пользователей не всегда приемлемо.

    Максимальный размер кадра в стандарте 802.5 не определен. Обычно он принимается равным 4 Кбайт для сетей 4 Мбит/ с и 16 Кбайт для сетей 16 Мбит/ с.

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

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

    Стандарт Token Ring (технология этих сетей была разработана еще в 1984 г. фирмой IBM, которая является законодателем мод в этой технологии) изначально предусматривал построение связей в сети с помощью концентраторов, называемых MAU, т.

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

    Для сетей Token Ring характерна звездно-кольцевая топология: РС подключаются к концентраторам по топологии звезды, а сами концентраторы через специальные порты Ring In (RI) и Ring Out (RO) объединяются для образования магистрального физического кольца. Сеть Token Ring может строиться на основе нескольких колец, разделенных мостами, маршрутизирующими кадры адресату (каждый кадр снабжается полем с маршрутом прохождения колец).

    Недавно технология Token Ring стараниями компании IBM получила новое развитие: предложен новый вариант этой технологии (HSTR), поддерживающий битовые скорости в 100 и 155 Мбит/с. При этом сохранены основные особенности технологии Token Ring 16 Мбит/с.

    Технология FDDI. Это первая технология ЛКС, в которой для передачи данных используется волоконно-оптический кабель. Она появилась в 1988 г. и ее официальное название - оптоволоконный интерфейс распределенных данных (Fiber Distributed Data Interface, FDDI). В настоящее время в качестве физической среды, кроме волоконнооптического кабеля, применяется неэкранированная витая пара.

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

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

    Компьютерные сети и сетевые технологии

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

    Основное отличие маркерного метода доступа к передающей среде, используемого в сети FDDI, от этого метода в сети Token Ring, заключается в том, что в сети FDDI время удержания маркера является постоянной величиной только для синхронного трафика, который критичен к задержкам передачи кадров. Для асинхронного трафика, не критичного к небольшим задержкам передачи кадров, это время зависит от загрузки кольца: при небольшой загрузке оно увеличивается, а при большой - может уменьшаться до нуля. Таким образом, для асинхронного трафика метод доступа является адаптивным, хорошо регулирующим временные перегрузки сети. Механизм приоритетов кадров отсутствует. Считается, что достаточно разделить трафик на два класса - синхронный, который обслуживается всегда (даже при перегрузках кольца), и асинхронный, обслуживаемый при малой загрузке кольца. Станции FDDI применяют алгоритм раннего освобождения маркера, как это сделано в сети Token Ring со скоростью 16 Мбит/с. Синхронизация сигналов обеспечивается применением биполярного кода NRZI.

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

    Результаты сравнения технологии FDDI с технологиями Ethernet и Token Ring приведены в табл. 8.


    Технологии Fast Ethernet и 100VG-AnyLAN. Обе эти технологии не являются самостоятельными стандартами и рассматриваются как развитие и дополнение технологии Ethernet, реализованное соответственно в 1995 и 1998 годах. Новые технологии Fast Ethernet (стандарт 802.3и) и 100VG-AnyLAN (стандарт 802.3z) имеют производительность 100 Мбит/ с и отличаются степенью преемственности с классическим Ethernet.

    В стандарте 802.3и сохранен метод случайного доступа CSMA/CD и тем самым обеспечена преемственность и согласованность сетей 10 Мбит/с и 100 Мбит/ с.

    В технологии 100VG-AnyLAN используется совершенно новый метод доступа - Demand Priority (DP), приоритетный доступ по требованию. Эта технология существенно отличается от технологии Ethernet.

    Отметим особенности технологии Fast Ethernet и ее отличия от технологии Ethernet:

    Структура физического уровня технологии Fast Ethernet более сложная, что объясняется использованием трех вариантов кабельных систем: волоконно-оптический кабель, витая пара категории 5 (используются две пары), витая пара категории 3 (используются четыре пары). Отказ от коаксиального кабеля привел к тому, что сети этой технологии всегда имеют иерархическую древовидную структуру;

    Диаметр сети сокращен до 200 м, время передачи кадра минимальной длины уменьшено в 10 раз за счет увеличения скорости передачи в 10 раз;

    Технология Fast Ethernet может использоваться при создании магистралей локальных сетей большой протяженности, но только в полудуплексном варианте и совместно с коммутаторами (полудуплексный вариант работы для этой технологии является основным);

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

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

    Для представления данных при передаче по кабелю и обеспечения синхронизации сигналов манчестерский код не используется. Применяется метод кодирования 4В/5В, хорошо себя зарекомендовавший в технологии FDDI. В соответствии с этим методом каждые 4 бита передаваемых данных представляются 5 битами, т. е. из 32 комбинаций 5-битных символов для кодирования исходных 4-битных символов используются только 16 комбинаций, а из оставшихся 16 комбинаций выбираются несколько кодов, которые используются как служебные. Один из служебных кодов постоянно передается в течение пауз между передачей кадров. Если он в линии связи отсутствует, то это свидетельствует об отказе физической связи;

    Кодирование и синхронизация сигналов осуществляются с помощью биполярного кода NRZI;

    Технология Fast Ethernet рассчитана на использование концентраторов- повторителей для образования связей в сети (то же самое имеет место для всех некоаксиальных вариантов Ethernet).

    Особенности технологии 100VG-AnyLAN заключается в следующем:

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

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

    Передача кадров осуществляется только станции назначения, а не всем станциям сети;

    Сохранены форматы кадров Ethernet и Token Ring, что облегчает межсетевое взаимодействие через мосты и маршрутизаторы;

    Поддерживаются несколько спецификаций физического уровня, предусматривающих использование четырех и двух неэкранированных витых пар, двух экранированных витых пар и двух оптоволоконных кабелей. Если используются 4 пары неэкранированного кабеля, по каждой паре одновременно передаются данные со скоростью 25 Мбит/ с, что в сумме дает 100 Мбит/ с. Коллизии при передаче информации отсутствуют. Для кодирования данных применяется код 5В/6В, идея использования которого аналогична коду 4В/5В.

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

    Технология Gigabit Ethernet. Появление этой технологии представляет собой новую ступень в иерархии сетей семейства Ethernet, обеспечивающую скорость передачи в 1000 Мбит/ с. Стандарт по этой технологии принят в 1998г., в нем максимально сохранены идеи классической технологии Ethernet.

    По поводу технологии Gigabit Ethernet следует отметить следующее:

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

    Сохраняются все форматы кадров Ethernet;

    Имеется возможность работы в полудуплексном и полнодуплексном режимах. Первый из них поддерживает метод доступа CSMA/CD, а второй - работу с коммутаторами;

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

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

    Технология Gigabit Ethernet позволяет строить крупные локальные сети, в которых серверы и магистрали нижних уровней сети работают на скорости 100 Мбит/ с, а магистраль 1000 Мбит/ с объединяет их, обеспечивая запас пропускной способности.

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

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

    Протоколы верхнего уровня подробно рассматриваются в следующей главе. Здесь лишь коротко отметим протокол IPX/SPX, получивший широкое применение в локальных сетях особенно в связи с усложнением их топологии (вопросы маршрутизации перестали быть тривиальными) и расширением предоставляемых услуг. IPX/SPX - сетевой протокол NetWare, причем IPX (Internetwork Packet Exchange) - протокол межсетевого обмена пакетами, а SPX (Sequenced Packet Exchange) - протокол последовательного обмена пакетами.

    Протокол IPX/SPX. Этот протокол является набором протоколов IPX и SPX. Фирма Nowell в сетевой операционной системе NetWare применяет протокол IPX для обмена дейтаграммами и протокол SPX для обмена в сеансах связи.

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

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

    Раздел 16 - Уголовного Кодекса Украины Преступления в сфере использования электронно-вычислительных машин (компьютеров), систем и компьютерных сетей и сетей электросвязи

  • Как было показано ранее, при обмене информацией в сети каждый уровень модели ВОС реагирует на свой заголовок. Иными словами, происходит взаимодействие между одноименными уровнями модели в различных абонентских ЭВМ. Такое взаимодействие должно выполняться по определенным правилам.

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

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

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

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

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

    Основные типы протоколов

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

    Байт-ориентированный протокол обеспечивает передачу сообщения по информационному каналу в виде последовательности байтов. Кроме информационных байтов

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

    Наиболее известным и распространенным байт-ориентированным протоколом является протокол двоичной синхронной связи BSC (Binary Synchronous Communication), разработанный фирмой IBM, Протокол обеспечивает передачу двух типов кадров: управляющих и информационных. В управляющих кадрах передаются управляющие и служебные символы, в информационных -- сообщения (отдельные пакеты, последовательность пакетов). Работа протокола BSC осуществляется в три фазы: установление соединения, поддержание сеанса передачи сообщений, разрыв соединения. Протокол требует на каждый переданный кадр посылки квитанции о результате его приема. Кадры, переданные с ошибкой, передаются повторно. Протокол определяет максимальное число повторных передач.

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

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

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

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

    Типичным представителем группы бит-ориентированных протоколов являются протокол HDLC (High-level Data Link Control -- высший уровень управления каналом связи) и его подмножества. Протокол HDLC управляет информационным каналом с помощью специальных управляющих кадров, в которых передаются команды. Информационные кадры нумеруются. Кроме того, протокол HDLC позволяет без получения положительной квитанции передавать в канал до трех -- пяти кадров. Положительная квитанция, полученная, например, на третий кадр, показывает, что два предыдущих приняты без ошибок и необходимо повторить передачу только четвертого и пятого кадров. Такой алгоритм работы и обеспечивает высокое быстродействие протокола.

    Из протоколов верхнего уровня модели ВОС следует отметить протокол Х.400 (электронная почта) и FTAM (File Transfer, Access and Management -- передача файлов, доступ к файлам и управление файлами).