Протокол

Содержание

Набор протоколов в OSI:

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

1. Протоколы физического уровня модели OSI:

  • Ethernet — Протокол для работы кабеля Ethernet, или кабеля для интернета;
  • GSM — Протокол для работы со сотовой связи;
  • 802.11 — Протокол для работы Wi-Fi;
  • USB — Протокол для работы шины в компьютере или флешки;
  • IrDA — Протокол для работы с  инфракрасным портом;
  • Bluetooth — Протокол для работы с Bluetooth;

2. Протоколы канального уровня модели OSI:

  • Ethernet — Протокол самого кабеля интернет;
  • Frame Relay — Протокол для передачи сотовой связи;
  • PPP — Протокол передачи данных один на один, между двумя компьютерами;

3. Протоколы сетевого уровня модели OSI:

  • IPv4 — Протокол для работы IP адресов версии четыре;
  • IPv6 — Протокол для работы IP адресов версии шесть;
  • ICMP — Протокол для ошибок в сотовой связи;
  • RiP — Протокол позволяет маршрутизаторам быстро и динамически находить путь;

4. Протоколы транспортного уровня модели OSI:

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

5. Протоколы сеансового уровня модели OSI:

  • PPTP — Протокол для туннельного соединена с компьютер на компьютер или VPN;
  • L2TP — Подобный протокол PPTP
  • SSH — Протокол позволяет производить удалённое управление операционной системой;

6. Протоколы представления уровня модели OSI:

  • SSL — Криптографический протокол для безопасного соединения;
  • XDR — Протокол позволяет организовать не зависящую от платформы передачу данных между компьютерами в гетерогенных сетях;

7. Протоколы прикладного уровня модели OSI:

  • HTTP — Протокол для передачи гипертекста или HTML;
  • FTP, TFTP, SFTP — Протоколы для передачи файлов;
  • TELNET — Протокол для уделённого управления другим компьютером;
  • DHCP — Протокол для автоматического получение IP адреса;
  • IRC — Протокол для обмена сообщениями в режиме реального времени;
  • SNMP — Протокол для управление устройствам в IP-ситах;
  • DNS — Протокол позволяющий получать информацию о доменах;
  • BitTorrent — Пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет;
  • SMTP, POP3, IMAP4— Протоколы для отправки, доставки электронной почты;

Эхо-протокол

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

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

Обмен информацией о заказах

Заказы, оформленные на сайте, загружаются в систему «1С: Предприятие».

Последовательность действий при работе с заказом:

  1. Заказ оформляется на сайте
  2. При передаче в систему «1С: Предприятие» в заказе устанавливается категория «Заказ с сайта».
    При формировании заказа в системе «1С: Предприятие» записываются номер и дата заказа, с которыми он оформлен на сайте. Поиск контрагента осуществляется по ИНН или наименованию, в зависимости от указанных настроек.
  3. При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.
  4. При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе «1С: Предприятие» по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.
  5. Заказ может модифицироваться в системе «1С: Предприятие», при этом его изменения будут выгружаться на сайт
  6. Если заказ оплачивается или отгружается в системе «1С: Предприятие», то состояния заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается не оплаченным и не отгруженным.
  7. При попытке в системе «1С: Предприятие» изменить заказ, по которому произведена оплата или отгрузка, заказ на сайт не загрузится как измененный. При этом пользователь получит об этом сообщение.
  8. После каждой выгрузка заказа на сайт, на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе  «1С: Предприятие» так, как они присвоены заказу на сайте

A. Начало сеанса

Выгрузка данных начинается с того, что система «1С: Предприятие» отправляет http-запрос следующего вида: 
http:/// /1c_exchange.php? type=sale& mode=checkauth.

В ответ система управления сайтом передает системе «1С: Предприятие» три строки (используется разделитель строк «\n»):

  • слово «success»;
  • имя Cookie;
  • значение Cookie.

Примечание. Все последующие запросы к системе управления сайтом со стороны «1С: Предприятия» содержат в заголовке запроса имя и значение Cookie.

B. Уточнение параметров сеанса

Далее следует запрос следующего вида: 
http:/// /1c_exchange.php? type=sale& mode=init

В ответ система управления сайтом передает две строки:

  1. zip=yes, если сервер поддерживает обмен в zip-формате —  в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
    или
    zip=no — в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.
  2. file_limit=, где  — максимально допустимый размер файла в байтах для передачи за один запрос. Если системе «1С: Предприятие» понадобится передать файл большего размера, его следует разделить на фрагменты.

C. Получение файла обмена с сайта

Затем на сайт отправляется запрос вида
http:/// /1c_exchange.php? type=sale& mode=query.

Сайт передает сведения о заказах в формате CommerceML 2. В случае успешного получения и записи заказов «1С: Предприятие» передает на сайт запрос вида 
http:/// /1c_exchange.php? type=sale& mode=success

D. Отправка файла обмена на сайт

Затем система «1С: Предприятие» отправляет на сайт запрос вида 
http:/// /1c_exchange.php? type=sale& mode=file& filename=,  
который загружает на сервер файл обмена, посылая содержимое файла в виде POST.

В случае успешной записи файла система управления сайтом передает строку со словом «success». Дополнительно на следующих строчках могут содержаться замечания по загрузке.

Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово «failure», а в следующих строках — описание ошибки, произошедшей в процессе обработки запроса.
 Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Примеры файлов обмена информацией

Представленный протокол используется для интеграции системы «1С: Предприятие» с системами «1С-Битрикс: Управление сайтом», «UMI.CMS» и другими.

Типы сетевых протоколов

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

MAC

Уже известный вам Media Access Control (MAC) это низкоуровневый сетевой протокол. С ним, в той или иной мере приходится сталкиваться всем пользователям. Используется он для идентификации сетевых устройств.

IP

На следующем уровне после MAC располагается IP – Internet Protocol, имеющий две основные разновидности IPv4 и IPv6. Он назначает компьютерам уникальные IP-адреса, благодаря которым устройства могут себя обнаруживать в сети.

ICMP, TCP и UDP

Выше IP находятся такие протоколы:

  • ICMP (Internet control message protocol), отвечающий за обмен информацией. Не используется для передачи данных. Именно ICMP используется в известной вам команде ping.
  • TCP (Transmission control protocol). Этот сетевой протокол управляет передачей данных. TCP дает гарантия в том, что все переданные пакеты данных будут приняты правильно и ошибки будут полностью исключены.
  • UDP (user datagram protocol) похож на TCP, но работает быстрее, так как в нем данные при получении не проверяются. В некоторых случаях использование UDP бывает вполне достаточным.

HTTP

По своей распространенности в Интернет Hyper Text Transfer protocol находится на первом месте, ведь именно на его основе работают все сайты. С его помощью с локального компьютера можно открыть веб-сервис на удалённом сервере.

FTP

Как понятно из перевода названия, File Transfer Protocol служит для передачи файлов. Советуем не использовать его для передачи важных данных, так как в FTP не поддерживается необходимая безопасность.

SSH

Протокол SSH (Secure Shell) относится к уровню приложений. Создает защищенный канал для удаленного управления другой операционной системой. Поддерживает различные алгоритмы шифрования.

Что такое протокол Интернета: понятие и история создания

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

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

Заголовки HTTP¶

Заголовок HTTP (HTTP Header) — это строка в HTTP-сообщении, содержащая разделённую двоеточием пару вида «параметр-значение». Формат заголовка соответствует общему формату заголовков текстовых сетевых сообщений ARPA (RFC 822). Как правило, браузер и веб-сервер включают в сообщения более чем по одному заголовку. Заголовки должны отправляться раньше тела сообщения и отделяться от него хотя бы одной пустой строкой (CRLF).

Название параметра должно состоять минимум из одного печатного символа (ASCII-коды от 33 до 126). После названия сразу должен следовать символ двоеточия. Значение может содержать любые символы ASCII, кроме перевода строки (CR, код 10) и возврата каретки (LF, код 13).

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

Пример заголовков ответа сервера:

Server: Apache/2.2.3 (CentOS)
Last-Modified: Wed, 09 Feb 2011 17:13:15 GMT
Content-Type: text/html; charset=UTF-8
Accept-Ranges: bytes
Date: Thu, 03 Mar 2011 04:04:36 GMT
Content-Length: 2945
Age: 51
X-Cache: HIT from proxy.omgtu
Via: 1.0 proxy.omgtu (squid/3.1.8)
Connection: keep-alive

200 OK

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

  1. General Headers (Основные заголовки) — должны включаться в любое сообщение клиента и сервера.
  2. Request Headers (Заголовки запроса) — используются только в запросах клиента.
  3. Response Headers (Заголовки ответа) — присутствуют только в ответах сервера.
  4. Entity Headers (Заголовки сущности) — сопровождают каждую сущность сообщения.

Сущности (entity, в переводах также встречается название “объект”) — это полезная информация, передаваемая в запросе или ответе. Сущность состоит из метаинформации (заголовки) и непосредственно содержания (тело сообщения).

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

В таблице 3 приведено краткое описание некоторых HTTP-заголовков.

Таблица 3. Заголовки HTTP

В листинге 1 приведен фрагмент дампа заголовков при подключении к серверу http://example.org

Листинг 1. Заголовки HTTP

http://www.example.org/

GET http://www.example.org/ HTTP/1.1
Host: www.example.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.13) Gecko/20101203 SUSE/3.6.13-0.2.1 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=.9,*/*;q=.8
Accept-Language: ru-ru,ru;q=.8,en-us;q=.5,en;q=.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=.7,*;q=.7
Keep-Alive: 115
Proxy-Connection: keep-alive

HTTP/1.0 302 Moved Temporarily
Date: Thu, 03 Mar 2011 06:48:28 GMT
Location: http://www.iana.org/domains/example/
Server: BigIP
Content-Length: 
X-Cache: MISS from proxy.omgtu
Via: 1.0 proxy.omgtu (squid/3.1.8)
Connection: keep-alive
----------------------------------------------------------
http://www.iana.org/domains/example/

GET http://www.iana.org/domains/example/ HTTP/1.1
Host: www.iana.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.13) Gecko/20101203 SUSE/3.6.13-0.2.1 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=.9,*/*;q=.8
Accept-Language: ru-ru,ru;q=.8,en-us;q=.5,en;q=.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=.7,*;q=.7
Keep-Alive: 115
Proxy-Connection: keep-alive

HTTP/1.0 200 OK
Server: Apache/2.2.3 (CentOS)
Last-Modified: Wed, 09 Feb 2011 17:13:15 GMT
Content-Type: text/html; charset=UTF-8
Accept-Ranges: bytes
Date: Thu, 03 Mar 2011 04:04:36 GMT
Content-Length: 2945
Age: 9858
X-Cache: HIT from proxy.omgtu
Via: 1.0 proxy.omgtu (squid/3.1.8)
Connection: keep-alive

....

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

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

Давайте посмотрим на структуру передаваемого сообщения через 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 содержит время и дату последнего изменения сущности.

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

Коды состояния

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

1xx: Информационные сообщения

Набор этих кодов был введён в HTTP/1.1. Сервер может отправить запрос вида: Expect: 100-continue, что означает, что клиент ещё отправляет оставшуюся часть запроса. Клиенты, работающие с HTTP/1.0 игнорируют данные заголовки.

2xx: Сообщения об успехе

Если клиент получил код из серии 2xx, то запрос ушёл успешно. Самый распространённый вариант — это 200 OK. При GET запросе, сервер отправляет ответ в теле сообщения. Также существуют и другие возможные ответы:

  • 202 Accepted: запрос принят, но может не содержать ресурс в ответе. Это полезно для асинхронных запросов на стороне сервера. Сервер определяет, отправить ресурс или нет.
  • 204 No Content: в теле ответа нет сообщения.
  • 205 Reset Content: указание серверу о сбросе представления документа.
  • 206 Partial Content: ответ содержит только часть контента. В дополнительных заголовках определяется общая длина контента и другая инфа.

3xx: Перенаправление

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

  • 301 Moved Permanently: ресурс теперь можно найти по другому URL адресу.
  • 303 See Other: ресурс временно можно найти по другому URL адресу. Заголовок Location содержит временный URL.
  • 304 Not Modified: сервер определяет, что ресурс не был изменён и клиенту нужно задействовать закэшированную версию ответа. Для проверки идентичности информации используется ETag (хэш Сущности — Enttity Tag);

4xx: Клиентские ошибки

Данный класс сообщений используется сервером, если он решил, что запрос был отправлен с ошибкой. Наиболее распространённый код: 404 Not Found. Это означает, что ресурс не найден на сервере. Другие возможные коды:

  • 400 Bad Request: вопрос был сформирован неверно.
  • 401 Unauthorized: для совершения запроса нужна аутентификация. Информация передаётся через заголовок Authorization.
  • 403 Forbidden: сервер не открыл доступ к ресурсу.
  • 405 Method Not Allowed: неверный HTTP метод был задействован для того, чтобы получить доступ к ресурсу.
  • 409 Conflict: сервер не может до конца обработать запрос, т.к. пытается изменить более новую версию ресурса. Это часто происходит при PUT запросах.

5xx: Ошибки сервера

Ряд кодов, которые используются для определения ошибки сервера при обработке запроса. Самый распространённый: 500 Internal Server Error. Другие варианты:

  • 501 Not Implemented: сервер не поддерживает запрашиваемую функциональность.
  • 503 Service Unavailable: это может случиться, если на сервере произошла ошибка или он перегружен. Обычно в этом случае, сервер не отвечает, а время, данное на ответ, истекает.

Библиотеки для работы с HTTP — jQuery AJAX

Поскольку jQuery очень популярен, в нём также есть инструментарий для обработки HTTP ответов при AJAX запросах. Информацию о jQuery.ajax(settings) можете найти на официальном сайте.

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

$.ajax({
    url: 'http://www.articles.com/latest',
    type: 'GET',
    beforeSend: function (jqXHR) {
      jqXHR.setRequestHeader('Accepts-Language', 'en-US,en');
    }
  });

Прочитать объект jqXHR можно с помощью метода jqXHR.getResponseHeader().

Если хотите обработать статус запроса, то это можно сделать так:

$.ajax({
  statusCode: {
    404: function() {
      alert("page not found");
    }
  }
});

Стандраты и группы

Некоторые протоколы образуют отдельные группы, с подгруппами в которые входит ряд непосредственно протоколов. Всем известный TCP/IP включает в себя десятки протоколов разного уровня в том числе для работы оборудования, некоторые из них вы наверняка слышали: DNS, HTTPS, IPv6, POP3 и много других. Сюда же входит RTSP (Потоковый протокол реального времени (англ. real time streaming protocol, сокр

RTSP) который используется для управления потоками медиаданных, в нем включены методы play, pause, record и прочие что очень важно в видеонаблюдении, и в том числе используется в программах клиентах: Skype, Медиапроигрыватель VLC и т.д

5 последних уроков рубрики «Разное»

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

  • Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг — это будущее Ваших сайтов

    Проект готов, Все проверено на локальном сервере OpenServer и можно переносить сайт на хостинг. Вот только какую компанию выбрать? Предлагаю рассмотреть хостинг fornex.com. Отличное место для твоего проекта с перспективами бурного роста.

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

  • Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.

Протоколы удаленного доступа

В состав операционных систем Windows входит служба Routing and Remote Access Service (RRAS), которая позволяет удаленным клиентам прозрачно подключаться к удаленному серверу. Служба RRAS поддерживает три протокола удаленного доступа:

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

Serial Line Internet Protocol (SLIP) — простой протокол, не располагающий средствами обнаружения ошибок, возникающих при передаче данных, и позволяющий использовать только протокол сетевого уровня IP, что делает его малоэффективным.

Asynchronous NetBEUI (AsyBEUI) — протокол службы удаленного доступа Microsoft, известный также как асинхронный NetBEUI. Применяется устаревшими клиентами удаленного доступа под управлением Windows NT, Windows 3.1, Windows for Workgroups, MS-DOS и LAN Manager.

Методы

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

Существующие методы:

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

POST: используется для создания нового ресурса. POST запрос обычно содержит в себе всю нужную информацию для создания нового ресурса.

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

DELETE: служит для удаления существующего ресурса.

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

Также HTTP поддерживает и другие методы:

HEAD: аналогичен GET. Разница в том, что при данном виде запроса не передаётся сообщение. Сервер получает только заголовки. Используется, к примеру, для того чтобы определить, был ли изменён ресурс.

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

OPTIONS: используется для определения возможностей сервера, его параметров и конфигурации для конкретного ресурса.

Формат сообщений протокола ICMP

Существует несколько типов сообщений ICMP. Каждый тип сообщения имеет свой формат, при этом все они начинаются с общих трех полей: 8-битного целого числа, обозначающего тип сообщения (TYPE), 8-битного поля кода (CODE), который конкретизирует назначение сообщения, и 16-битного поля контрольной суммы (CHECKSUM). Кроме того, сообщение ICMP всегда содержит заголовок и первые 64 бита данных пакета IP, который вызвал ошибку. Это делается для того, чтобы узел-отправитель смог более точно проанализировать причину ошибки, так как все протоколы прикладного уровня стека TCP/IP содержат наиболее важную информацию для анализа в первых 64 битах своих сообщений.

Поле типа может иметь следующие значения:

ICMP-сообщение Описание сообщения
Тип Код
Эхо-ответ (ping-отклик)
3 Адресат недостижим
* Сеть недостижима
1 * ЭВМ не достижима
2 * Протокол не доступен
3 * Порт не доступен
4 * Необходима фрагментация сообщения
5 * Исходный маршрут вышел из строя
6 * Сеть места назначения не известна
7 * ЭВМ места назначения не известна
8 * Исходная ЭВМ изолирована
9 * Связь с сетью места назначения административно запрещена
10 * Связь с ЭВМ места назначения административно запрещена
11 * Сеть не доступна для данного вида сервиса
12 * ЭВМ не доступна для данного вида сервиса
13 * Связь административно запрещена с помощью фильтра.
14 * Нарушение старшинства ЭВМ
15 * Дискриминация по старшинству
4 * Отключение источника при переполнении очереди (quench)
5 Переадресовать (изменить маршрут)
Переадресовать дейтограмму в сеть (устарело)
1 Переадресовать дейтограмму на ЭВМ
2 Переадресовать дейтограмму для типа сервиса (tos) и сети
3 Переадресовать дейтограмму для типа сервиса и ЭВМ
8 Эхо запроса (ping-запрос).
9 Объявление маршрутизатора
10 Запрос маршрутизатора
11 Для дейтограммы время жизни истекло (ttl=0):
*при передаче
1 * при сборке (случай фрагментации).
12 * Проблема с параметрами дейтограммы
* Ошибка в ip-заголовке
1 * Отсутствует необходимая опция
13 Запрос временной метки
14 Временная метка-отклик
15 Запрос информации (устарел)
16 Информационный отклик (устарел)
17 Запрос адресной маски
18 Отклик на запрос адресной маски

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

Какими бывают протоколы Интернета

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

  • HTTP;
  • DNS;
  • ICMP;
  • FTP;
  • UDP;
  • TCP/IP — название протокола, являющегося основным для интернет-сетей.

Обратите внимание! Различия между этими решениями кроются в уровнях назначения

И здесь можно разделить решения по нескольким веткам:

  • физические уровни. Предполагают, что соединение создаётся при помощи витой пары, оптических волокон;
  • ARP-уровень с драйверами устройств;
  • сетевой уровень со стандартными ICMP, IP;
  • транспортный уровень — UDP и TCP;
  • прикладной. Сюда входят стандартные протоколы сети Интернет типа NFS, DNS, FTP, HTTP.

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

Обратите внимание! Для функционирования Интернета используется протокол каждого уровня

О средствах настройки, проверки

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

  • IPv6;
  • IPv4.

Обратите внимание! iPv4 — вариант стандартной настройки для большинства ситуаций. IPv6 — новая версия протокола, которая до сих пор остаётся невостребованной

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

Общая характеристика протокола 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.

Оцените статью:
Оставить комментарий