Протокол dali

Общая характеристика протокола ICMP

ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений) — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. Также на ICMP возлагаются некоторые сервисные функции.

Протокол ICMP описал в RFC 792 от 1981 года Jon Postel (с дополнениями в RFC 950). ICMP является стандартом Интернета (входит в стандарт STD 5 вместе с IP). Хотя формально протокол использует IP (ICMP-пакеты инкапсулируются в IP пакеты), он является неотъемлемой частью IP и обязателен при реализации стека TCP/IP. Текущая версия ICMP для IPv4 называется ICMPv4. В IPv6 существует аналогичный протокол ICMPv6.

Протокол обмена управляющими сообщениями ICMP (Internet Control Message Protocol) позволяет маршрутизатору сообщить конечному узлу об ошибках, с которыми машрутизатор столкнулся при передаче какого-либо IP-пакета от данного конечного узла.

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

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

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

1.3. Открытые системы и модель OSІ

1.3.1. Протоколы, интерфейсы, стеки протоколов

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

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

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

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

Протокол, интерфейс, стек протоколов

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


Рис. 1.

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

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

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

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

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

Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов. В сети Интернет базовым набором протоколов является стек протоколов TCP/IP.

Далее…>>>Тема: 1.3.2. Семиуровневая эталонная модель OSІ. Модель OSІ-ISO

Форматы сообщений запроса/ответа

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

Давайте посмотрим на структуру передаваемого сообщения через HTTP:

message = <start-line>
          *(<message-header>)
          CRLF
          

<start-line> = Request-Line | Status-Line
<message-header> = Field-Name ':' Field-Value

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

Тело ответа может содержать полную информацию или её часть, если активирована соответствующая возможность (Transfer-Encoding: chunked). HTTP/1.1 также поддерживает заголовок Transfer-Encoding.

Общие заголовки

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

general-header = Cache-Control
               | Connection
               | Date
               | Pragma
               | Trailer
               | Transfer-Encoding
               | Upgrade
               | Via
               | Warning

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

Заголовок via используется в запросе типа TRACE, и обновляется всеми прокси-серверами.

Заголовок Pragma используется для перечисления собственных заголовков. К примеру, Pragma: no-cache — это то же самое, что Cache-Control: no-cache. Подробнее об этом поговорим во второй части.

Заголовок Date используется для хранения даты и времени запроса/ответа.

Заголовок Upgrade используется для изменения протокола.

Transfer-Encoding предназначается для разделения ответа на несколько фрагментов с помощью Transfer-Encoding: chunked. Это нововведение версии HTTP/1.1.

Заголовки сущностей

В заголовках сущностей передаётся мета-информация контента:

entity-header  = Allow
               | Content-Encoding
               | Content-Language
               | Content-Length
               | Content-Location
               | Content-MD5
               | Content-Range
               | Content-Type
               | Expires
               | Last-Modified

Все заголовки с префиксом Content- предоставляют информацию о структуре, кодировке и размере тела сообщения.

Заголовок Expires содержит время и дату истечения сущности. Значение “never expires” означает время + 1 код с текущего момента. Last-Modified содержит время и дату последнего изменения сущности.

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

Описание

/etc/network/interfaces содержит информацию по настройке сетевого интерфейса для команд ifup(8) и ifdown(8).

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

Строки, которые начинаются с символа «#» игнорируются

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

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

Файл состоит из нуля или более строф «iface», «mapping», «auto» и «allow-». Ниже указаны примеры.

auto lo eth0

allow-hotplug eth1

iface lo inet loopback

mapping eth0

script /usr/local/sbin/map-scheme

map HOME eth0-home

map WORK eth0-work

iface eth0-home inet static

address 192.168.1.1

netmask 255.255.255.0

up flush-mail

iface eth0-work inet dhcp

iface eth1 inet dhcp

Строки начинающиеся со слова «auto» используются для идентификации физических интерфейсов при их подьеме в время запуска ifup с опцией -a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом «auto» в той же строке. Может быть несколько строф «auto». ifup поднимет названные интерфейсы в порядке их перечисления.

Строки, начинающиеся с «allow-» используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды «ifup –allow=hotplug eth0 eth1″, которая будет поднимать только eth0 или eth1, если они перечислены в строке «allow-hotplug». Учтите, что «allow-auto» и «auto» – синонимы.

Строфы, начинающиеся со слова «mapping», используются определения, какой логический интерфейс соответствует физическому интерфейсу, который будет поднят. Первая строка строфы отображения (mapping) состоит из слова «mapping» с последующим шаблоном, соответствующим синтаксису глобальной оболочки. Каждая такая строфа отображения должна содержать определение сценария. Именованный сцеанрий запускается с именем физического интерфейса в качестве аргумента и с передачей на его стандартный вход всех следующих «map» строк (без ведущей «map») в строфе. Сценарий перед завершением должен вывести строку на стандартный вывод. Обратитесь к /usr/share/doc/ifupdown/examples за примерами того, что должен вывести сценарий.

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

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

Строфы, определяющие логические интерфейсы, начинаются со строки, содержащей слово «iface», которая сопровождается именем логического интерфейса. В простых конфигурациях, без строф отображения, это имя просто должно быть именем физического интерфейса, к которому будут применены настройки. (Сценарий отображения по умолчанию действует подобно команде echo.) За именем интерфейса следует название семейства адресов, которое использует интерфейс. Это может быть «inet» для сетей TCP/IP, но имеется так же поддержка сетей IPX («ipx»), и сетей IPv6 («inet6″). За ним следует название метода, используемого для настройки интерфейса.

Дополнительные опции могут быть заданы в последующих строках строфы. Доступность опций зависит от семейства и метода, как описано ниже. Дополнительные опции могут предоставляться другими пакетами Debian. Например, пакет wireless-tools предоставляет несколько опций, начинающихся с «wireless-», которые можно использовать для настройки интерфейса с помощью iwconfig(8). (Обратитесь к wireless(7) за подробностями.)
Опции обычно содержат отступ для ясности (как в примере выше) но это не обязательно.

PROFIBUS

Шина PROFIBUS определена стандартами МЭК 61158 и МЭК 61784 и технически базируется на 2-проводной системе RS-485 с полудуплексным режимом передачи данных. Система Profibus построена как чисто линейная структура с возможностью подключения до 32 оконечных устройств, максимальная протяженностью сегмента шины составляет 1200 м. чтобы обеспечит помехоустойчивую работы шины, в частности, при высоких значениях скорости передачи данных, следует применять лишь те типы шинных кабелей, которые разработаны специально для шины Profibus. Оконечные устройства системы Profibus соединяются между собой путем прокладки двухжильного шинного кабеля со скрученными жилами. Если в сеть необходимо объединить больше оконечных устройств, то машину или промышленную установку необходимо сегментировать. Отдельные сегменты обмениваются между собой данными через повторители, которые обеспечивают усиление и разделение потенциалов сигналов, несущих полезную информацию. Каждый повторитель расширяет систему на один дополнительный сегмент с 32 оконечными устройствами и полной длиной кабеля, причем максимально можно подключить 127 оконечных устройств. Скорость передачи в системах Profibus может быть настроена в диапазоне от 9,6 кбит/с до 12Мбит/с. Значение скорости влияет на допустимую длину сегментов шины, а также пассивных ответвлений (таблица). Чтобы обеспечить надежную передачу данных, каждый сегмент шины Profibus на медном кабеле должен начинаться и заканчиваться согласующим резистором.

Скорость Длина сегмента Допустимая длина ответвления на один сегмент
9,6 кбит/с 1200 м 32х3 м
19,2 кбит/с 1200 м 32х3 м
45,45 кбит/с 1200 м 32х3 м
93,75 кбит/с 1200 м 32х3 м
187,5 кбит/с 1200 м 32х3 м
500 кбит/с 400 м 32х1 м
1,5 Мбит/с 200 м 32х0,3 м
3,0 Мбит/с 100 м Не допускается
6,0 Мбит/с 100 м Не допускается
12,0 Мбит/с 100 м Не допускается

Способ подключения

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

Что было изначально?

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

Что стало теперь?

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

Чем витая пара лучше своего предшественника?

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

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

Уровни OSI

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

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

Задачи компьютера ОТПРАВИТЕЛЯ:

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

Задачи компьютера ПОЛУЧАТЕЛЯ:

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

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

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

Разберем их подробнее.

6. Уровень представления (Presentation Layer)

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

5. Сеансовый уровень (Session Layer)

У него много задач.

  1. Установить сеанс связи с получателем. ПО предупреждает компьютер-получатель о том, что сейчас ему будут отправлены данные.
  2. Здесь же происходит распознавание имен и защита:
    • идентификация — распознавание имен
    • аутентификация — проверка по паролю
    • регистрация — присвоение полномочий
  3. Реализация того, какая из сторон осуществляет передачу информации и как долго это будет происходить.
  4. Расстановка контрольных точек в общем потоке данных для того, чтобы в случае потери какой-то части легко было установить, какая именно часть потеряна и следует отправить повторно.
  5. Сегментация — разбивка большого блока на маленькие пакеты.

4. Транспортный уровень (Transport Layer)

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

  • Протоколы, которые ориентированы на соединение — они отслеживают доставку данных и при необходимости запрашивают повторную отправку при неудаче. Это TCP — протокол контроля передачи информации.
  • Не ориентированные на соединение (UDP) — они просто отправляют блоки и дальше не следят за их доставкой.

3. Сетевой уровень (Network Layer)

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

2. Канальный уровень (Data Link Layer)

Здесь происходит передача пакета в пределах одного кабеля, то есть одной локальной сети. Он работает только до пограничного маршрутизатора одной локальной сети. К полученному пакету канальный уровень добавляет свой заголовок — MAC адреса отправителя и получателя и в таком виде блок данных уже называется КАДРОМ.

При передачи за пределы одной локальной сети пакету присваивается MAC не хоста (компьютера), а маршрутизатора другой сети. Отсюда как раз появляется вопрос серых и белых IP, о которых шла речб в статье, на которую была выше дана ссылка. Серый — это адрес внутри одной локальной сети, который не используетс яза ее пределами. Белый — уникальный адрес во всем глобальном интернете.

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

1. Физический уровень (Transport layer)

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

Основные сетевые термины

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

  • Соединение в контексте сетевых технологий – это сигналы с информацией, которые передаются через сеть. Обычно соединение создается до передачи данных (в соответствии с процедурами, изложенными в протоколе) и сбрасывается после передачи.
  • Пакет – базовая единица информации, которая передается по сети. По сути, пакеты – это «конверты», которые переносят данные (по частям) из одной точки в другую. В пакете есть заголовок, который содержит информацию о пакете: источник и назначение, временные метки, сетевые переходы и т. д. В основной части пакета находятся передаваемые данные. Эту часть пакета также называют телом или полезной нагрузкой.
  • Сетевой интерфейс – это программный интерфейс для сетевого оборудования. Например, если на вашем компьютере есть две сетевые карты, вы можете управлять и настраивать связанные с ними сетевые интерфейсы по отдельности. Сетевой интерфейс может быть связан с физическим устройством, а также может быть виртуальным. Примером последнего является устройство закольцовывания (loopback) – виртуальный интерфейс локальной машины.
  • LAN (local area network) – локальная сеть; это сеть или часть сети, не доступная в сети Интернет (как, например, домашняя или офисная сеть).
  • WAN (wide area network) – глобальная сеть; широкодоступная сеть. WAN может использоваться для обозначения больших рассредоточенных сетей, но обычно WAN означает Интернет в целом. Если интерфейс подключен к WAN, обычно предполагается, что он доступен через Интернет.
  • Протокол – это набор правил и стандартов, который определяет метод взаимодействия устройств. В сети широко используется множество протоколов, и они часто реализуются на разных уровнях.  Протоколами низкого уровня являются TCP, UDP, IP и ICMP. Протоколы приложений, построенные на протоколах низкого уровня – HTTP, SSH, TLS/SSL и FTP.
  • Порт – это адрес на машине, который может быть привязан к определенному программному обеспечению. Это не физический интерфейс или местоположение. Порты позволяют серверу взаимодействовать с другими серверами с помощью нескольких приложений.
  • Брандмауэр – это программа, которая оценивает трафик и решает, что с ним делать дальше. Обычно брандмауэр работает на основе правил, которые определяют, какой тип трафика может принимать тот или иной порт. Как правило, брандмауэры блокируют порты, которые не используются конкретным приложением на сервере.
  • NAT (network address translation) – трансляция сетевых адресов; метод перевода запросов, поступающих на сервер маршрутизации, на соответствующие устройства или серверы в локальной сети. Обычно NAT реализуется в сетях как способ маршрутизации запросов к одному IP-адресу на серверы бэкэнда.
  • VPN (virtual private network) – виртуальная частная сеть; это метод объединения нескольких отдельных локальных сетей через Интернет, сохраняющий их приватность. Это позволяет использовать удалённую сеть как локальную, при этом не подвергая её опасности.

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

Протоколы транспортного уровня.

Двумя наиболее популярными протоколами транспортного уровня являются протоколы TCP и UDP:

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

Тем не менее UDP является быстрым протоколом и обеспечивает сохранение границ сообщений.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *