Меню

Какой протокол стека tcp ip используется для передачи сообщений об ошибках

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую. Чтобы обеспечить такую возможность, был разработан стек интернет-протоколов, известный как TCP/IP.

Разработка сетевой модели осуществлялась при содействии Министерства обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:

Сравнение моделей

Уровневая модель TCP/IP

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

Канальный уровень (link layer)

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

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

Межсетевой уровень (internet layer)

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

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

Именно на межсетевом уровне функционирует протокол IP, позволивший объединить разные сети в глобальную. Как и протокол TCP, он дал название модели, рассматриваемой в статье.

Маска подсети и IP-адреса

IPv4 и IPv6

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

Протокол IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Протокол имеет две действующие версии, первая из которых — IPv4 (IP version 4, версии 4) — была описана в 1981 году.


IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (2^32). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает класс сети, классов всего 5: A, B, C, D, E. Gри этом адреса сети D являются мультикастовыми, а сети E вообще не используются.


Рассмотрим, например, IPv4 адрес класса С 223.135.100.7. Первые три октета определяют класс и номер сети, а последний означает номер конечного устройства. Например, если необходимо отправить информацию с компьютера номер 7 с IPv4 адресом 223.135.100.7 на компьютер номер 10 в той же подсети, то адрес компьютера получателя будет следующий: 223.135.100.10.

В связи с быстрым ростом сети интернет остро вставала необходимость увеличения числа возможных IP-адресов. В 1995 году впервые был описан протокол IPv6 (IP version 6, версии 6), который использует 128-битные адреса и позволяет назначить уникальные адреса для 2^128 устройств.

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

2dab:ffff:0000:0000:01aa:00ff:dd72:2c4a.

Так как IPv6 адреса длинные, их разрешается сокращать по определенным правилам, которые также описываются RFC:

  • Для написания адреса используются строчные буквы латинского алфавита: a, b, c, d, e, f.
  • Ведущие нули допускается не указывать — например, в адресе выше :00ff: можно записать как :ff:.
  • Группы нулей, идущие подряд, тоже допустимо сокращать и заменять на двойное двоеточие. На примере выше это выглядит так: 2dab:аааа::01aa:00ff:dd72:2c4a. Допускается делать не больше одного подобного сокращения в адресе IPv6 на наибольшей последовательности нулей. Если одинаково длинных последовательностей несколько — на самой левой из них.

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

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

ICMP

ICMP в основном используется устройствами в сети для доставки сообщений об ошибках и операционной информации, сообщающей об успехе или ошибке при связи с другим устройством. Например, именно с использованием ICMP осуществляется передача отчетов о недоступности устройств в сети. Кроме того, ICMP используется при диагностике сети — к примеру, в эксплуатации утилит ping или traceroute.

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

Транспортный уровень (transport layer)

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

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

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

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

Протоколы транспортного уровня не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний, содержащим сведения о том, как приложения взаимодействуют между собой. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Протоколы прикладного уровня действуют для большинства приложений, они предоставляют услуги пользователю или обмениваются данными с «коллегами» с нижних уровней по уже установленным соединениям. Здесь для большинства приложений созданы свои протоколы. Например, браузеры используют HTTP для передачи гипертекста по сети, почтовые клиенты — SMTP для передачи почты, FTP-клиенты — протокол FTP для передачи файлов, службы DHCP — протокол назначения IP-адресов DHCP и так далее.

Сети в Selectel

Узнайте, как устроена сетевая архитектура крупного провайдера.

Узнать

Зачем нужен порт и что означает термин «сокет»

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

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

Кроме собственных протоколов, приложения на прикладном уровне зачастую имеют и фиксированный номер порта для обращения к сети. Администрация адресного пространства интернет (IANA), занимающаяся выделением диапазонов IP-адресов, отвечает еще за назначение сетевым приложениям портов.

Так почтовые приложения, которые общаются по SMTP-протоколу, используют порт 25, по протоколу POP3 — порт 110, браузеры при работе по HTTP — порт 80, FTP-клиенты — порт 21. Порт всегда записывается после IP и отделяется от него двоеточием, выглядит это, например, так: 192.168.1.1:80.

Что такое DNS и для чего используется эта служба

Чтобы не запоминать числовые адреса интернет-серверов была создана DNS — служба доменных имен. DNS всегда слушает на 53 порту и преобразует буквенные имена сетевых доменов в числовые IP-адреса и наоборот. Служба DNS позволяет не запоминать IP — компьютер самостоятельно посылает запрос «какой IP у selectel.ru?» на 53 порт DNS-сервера, полученного от поставщика услуг интернет.

DNS-сервер дает компьютеру ответ «IP для selectel.ru — XXX.XXX.XXX.XXX». Затем, компьютер устанавливает соединение с веб-сервером полученного IP, который слушает на порту 80 для HTTP-протокола и на порту 443 для HTTPS. В браузере порт не отображается в адресной строке, а используется по умолчанию, но, по сути, полный адрес сайта Selectel выглядит вот так: https://selectel.ru:443.

Декапсуляция и инкапсуляция

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

Инкапсуляция

Стек протоколов, снова канальный уровень

О канальном уровне модели TCP/IP мы рассказали меньше всего. Давайте вернемся еще раз к началу, чтобы рассмотреть инкапсуляцию протоколов и что значит «стек».

Большинству пользователей знаком протокол Ethernet. В сети, по стандарту Ethernet, устройства отправителя и адресата имеют определенный MAC-адрес — идентификатор «железа». MAC-адрес инкапсулируется в Ethernet вместе с типом передаваемых данных и самими данными. Фрагмент данных, составленных в соответствии с Ethernet, называется фреймом, или кадром (frame).

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

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

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

Point-to-Point протоколы

Протоколы модели TCP/IP

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

У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.

PPP и его старший аналог SLIP (протокол последовательной межсетевой связи) формально относятся к межсетевому уровню TCP/IP, но в силу особого принципа работы, иногда выделяются в отдельную категорию. Преимущество PPP в том, что для установки соединения не требуется сетевая инфраструктура, а необходимость маршрутизаторов отпадает. Эти факторы обуславливают специфику использования PPP протоколов.

Заключение

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

Сама модель остается неизменной, в то время как стандарты протоколов могут обновляться, что еще дальше упрощает работу с TCP/IP. Благодаря всем преимуществам стек TCP/IP получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

����� 9 ����������
��������: ������ � �����������
���������(ICMP)

  • 9.1 ��������
  • 9.2 ���������� ��������
    ����������� ���������
  • 9.3 ��������� �� ������
    ������ ����������� ������
  • 9.4 �������� ���������
    ICMP
  • 9.5 ������ ��������� ICMP
  • 9.6 ������������
    ������������ ���������� � ���
    ���������
  • 9.7 ������ ���������
    ������� ��� � ������ ���
  • 9.8 ��������� �
    �������������� ����������
  • 9.9 ���������� �������
    ���������� � ������������ ����
  • 9.10 ������ ����������
    ���������
  • 9.11 ������� ���������
    �������� �� ������
  • 9.12 �����������
    ����������� ��� �������
    ������� �����
  • 9.13 ��������� � ������
    ���������
  • 9.14 �������������
    ����� � ������ �������
    ��������
  • 9.15 ��������� �������
    � ������ ����������
  • 9.16 ��������� �����
    �������
  • 9.17 �����
  • ��� �����������
    ��������
  • ����������

9.1 ��������

�� ��� ������, ��� ����������
�������� ������������ ����������
�������� �������� ��� ������������
����������, � ��� �����������
������������ �� ����� � ����� ��
��� ���, ���� ��� �� ���������
�����, ������� ����� ��������
��������� �� � ��������� �����
����������. ���� ���� �� �����
���������������� ��� ���������
�����������, ��� ���� ����
��������� ��������� ������� ���
������, ����� ��� ������������
����, �������� �� ��� �����������
���������� �����������, ��� �����
�������� ���������������
���������, ��� ���������
����������� �������� ��� �������
��������� ��������. ��� �����
������������� ��������,
������������ ������� � ��� ���
�������� ����������� ���������� �
���������� �� �������. �� ������,
��� ����� ���������� ���� ��������,
����� �������� � ��������� ���
��������, � ��� ��� ���������� ���
��� �������� ������������
����������.

9.2 ���������� ��������
����������� ���������

� ������� ��� ������������
����������, ������� �� �������,
������ ���� �������� ��������� ���
������������� ��� ��������
����������� ����������, ��
����������� ���� �������� �
�������� ������������. ��� �������
������ ��������, ���� ���
������������� ��������� �
����������� �������������, �� ����
�� ���������� ������, ���������
���������� ��� �����. ������ �����
����� �������� � �����������, IP
�������� ��������� ��������
����������, ����� ������
���������� �������� ��� ���������
��������� �� ����, ����� ����������
������� ������� �����, ��� �����
������������� ����� ���
�������������, ��� �� �����
���������� ���������� �������.
������ �������� ����� ��������,
���������� ����� � ����������,
���������� �� �����������
�����������, ����������� � ���, ���
� ������ ����������� ����� �����
���������� �� ������� ������������
��� ��������� �� ����� �
������������� �������. � ���������,
�� ������� ������ �����������
���������, ����������� �� �����
�������, ������ �� �������� ������
��� �������� ���� �� ���������
������ ��� ���������. �������
���������� ������ �������. � �����
��������� IP ��� ������, ��� ����� ��
������ ����������� ���������
��������� ��� ������ � �����
�������.

����� ���� ����������� ������ �
��������� �������� �� ������� ���
������������� ���������� �
������������� �������� ������,
������������ �������� ��������
��������� ������������ ����������
� ��������� TCP/IP. ���� ��������,
��������� ��� ���������� ��������
����������� ���������(ICMP),
��������� ����������� ������ IP �
������ ���������� � ������
���������� IP.

��� � ���� ������ �������,
��������� ICMP ���������� ��
��������� � ���� ������
IP-����������. �������� �����������
��������� ICMP, ��� �� �����, ��������
�� ���������� ��������� ���
������������ �� ������ ����������,
� ����������� ����������� IP �� ����
������. �� ����, ����� ���������
��������� ICMP �� ������, ���
������������ ������ ������������
����������� ICMP. �������, ���� ICMP
���������, ��� ������ ���� �������
���������� ���������� �����
�������� ������ ��� ����������
����������, �� ������� �� ����
���������������� ������. ��������
�����:

���������� �������� �����������
��������� ��������� ������
�������� ����������� ��������� ���
��������� �� ������� �� ������
����� ��� ���; ICMP ������������
�������������� ����� �����������
������������ �����������
��������� ������ �����.

������������� ������������� ���
�������������� ������ �����������
�������� � �������� ������
�������� ���, ICMP �� ������������
������ ��� ������. ���� �����������
������������ �������������
��������� ��������� ICMP, �����
������ ����� ������� ��������� ICMP
�� ����� ������ ������. �������, ���
����� ������������ ICMP ��� ����� ��
������ ��� ������ ���. �������
������ �� ���������� ���
������������ ICMP ����������� � ���,
��� �� ������������ �������
��������, ������������ ��� ����
����������� � ��������������
���������.

9.3 ��������� �� ������
������ ����������� ������

������ ����������� ������, ICMP —
��� �������� ��������� �� �������.
�� ������������ ��� ������,
�������������� ������, ������
�������� �� ������ ���������������
���������. ���� ������������
��������� ���������� ����������
������� ������������� ICMP �
���������� �������� ���������
�������� � ����� �� ������, ICMP ��
������������� ��������� ��������,
������� ����� ����������� � �����
�� ��� ��������� ������. ������
������:

ICMP ������ �������� � ���������
������� ��������������� ���������;
�������� ��� ������ ������� ������
� ����������� �����������
����������� � ����������� ��������
�� ����������� ������.

������� ����� ������ ������� ��
��������������� ���������, ��
������ — ���. ��� ��� ICMP �������� ��
������� ��������������� ���������,
�� �� ����� ��������������, �����
������������� ������������� �����
�� �������. ��������, ����������,
��� ����������� ������� �� ����
����� ����� G1,G2,…,Gk. ���� Gk ��������
������������ ���������� �
��������� � �������� ��������
����������� �� ���� G�, �� Ge �����
���� �������� �� ������
��������������� ���������. �
���������, �������� �� �������� ��
��� �������� � �� ����� ���������
����������� ������� ���� ������.
����������, �������� �� ������ ����
����������, ����� ���� ������ ���
��������.

����� ������������ ICMP
��������������� � ��������������
���������� ? ����� ������ ����
��������, ���� ���������
������������ ���� ��������
����������� � ������������� �
���������� ������. �����������
�������� ����, ������� ����������
������ ��������������� ��������� �
��������� ����������; ��� ��
�������� ������� �������� ������
���� ����� ��������(�����
��������� �������, �����
������������ ����� ������
��������).

����� ����, ��� ��� ����� �����
��������� � ������ ���� �������
�������������, �� ����������
����������� ������������� � �����.
�������, ����� �����������
��������� ������� �����, ������
������, ����� ���� ��� ������ ��
�����. ���� ���� ������������
������, �� �� ����� ������ �����
������������� ������ ������������
��� �����������, � ������� �� �����
�������� �� �� ������. ������
�������� �������� ����������� ����
���� ���������� ICMP, ����� ��������
��������������� ��������� �
��������� ��������, �������� �� ��,
��� �������������� ��� �����
����������������� �
���������������� ����, �����
������������ � ��������� ������.

9.4 �������� ��������� ICMP

��������� ICMP ������� ���� �������
������������, ��� �������� ��
������� 9.1. ������ ��������� ICMP
���������� �� ��������� � ����
������ IP-�����������, ������� ����
���������� �� ������ ����������
���� � ���� ������ �����.
�����������, ������� ��������� ICMP
���������������� ����� ��� ��, ���
� �����������, ������� ����������
��� �������������; ��� ��� ��
������������ ��������������
��������� ��� ����������. �������,
���� ��������� �� ������� �����
���� �������� ��� �������. �����
����, � ��� ������������� ����
��������� �� ������� ����� �������
�������������� ������������.
���������� �������� ��� ��������
��������� ������, ����
IP-�����������, ������� ���������
ICMP, ������� ������. ��� ����������,
������������� ��� ����, �����
�������� �������� ���������
��������� �� �������, ��������� �
���� ������� ����������� ��
�������, ����������, ��� ���������
ICMP �� ������������ ��� ������,
����������� ��-�� ����������,
������� ��������� �� ������� ICMP.

                    --------------------------------------
                    |���������  |    ������  ICMP       |
                    | ICMP      |                       |
                    --------------------------------------
                    V                                   V
         -------------------------------------------------
         | ���������|    ������� ������ �����������     |
         |����������|                                   |
         -------------------------------------------------
         V                                              V
-----------------------------------------------------------
|���������|        ������� ������ �����                  |
|�����    |                                              |
-----------------------------------------------------------

������� 9.1 ��� ������
������������ ICMP. ��������� ICMP
��������������� � IP-�����������,
������� � ���� �������
��������������� � ����� ���
��������. ��� ������������� ICMP ����
��������� ����������� ��������
�������� 1.

����� �������, ��� �������� �� ��,
��� ��������� ICMP ��������������� �
����������, ��������� IP, ICMP ��
��������� ���������� �����
�������� ������ — �� ��������
����������� ������ IP. �������
������������� IP ���
��������������� ��������� ICMP
����������� � ���, ��� ��
������������ �������� ���������
���������� ����� ��� ����, �����
������� ������ ���������
����������. �������, ��� �� �����
���� ���������� ������ � �������
���������� ��������.

9.5 ������ ��������� ICMP

���� ������ ��������� ICMP �����
���� ����������� ������, ��� ���
���������� � ���� ���������� �����:
8-�������� �������������� ���� ���,
������� �������������� ���������,
8-�������� ���� ���, �������
������������ ����� ������
���������� � ���� ���������, �
16-�������� ����
�����������_�����(ICMP ����������
��� �� ����� ���������� ��������,
��� � IP, �� ����������� ����� ICMP
��������� ������ ��������� ICMP).
������ ����, ��������� ICMP,
���������� �� �������, ������
�������� ��������� � ������ 64 ����
������ �����������, ���������
������.

�������� ����������� �� ������
��������� �����������, ���������
������, �������� ������� ���������
���������� ����� ����� ����������,
����� ��������� � ����� ����������
��������� ������������ ��
��������� ���� �����������. ��� ��
������ �����, ��������� �����
�������� ������ � ������ TCP/IP
��������������� ����� �������, ���
����������� ����������
������������ � ������ 64 �����.

���� ��� ICMP ���������� �����
���������, � ����� ��� ������. ���
���� ��������:

���� ��� ��� ��������� ICMP
0 ����� �� ���
3 ���������� �����������
4 ���������� ���������
5 ��������������(���������
��������)
8 ������ ���
11 ��������� ����� ���
�����������
12 ������ ��������� �
�����������
13 ������ ��������� �������
14 ����� ��� ��������� �����
15 ������ ����������(��
���������)
16 ����� �� ������
����������(�� ���������)
17 ������ ����� ������
18 ����� �� ������ ����� ������

��������� ������ ���������
������ �� ���� ���������, �������
��� ���� ��������� ��������
������� ��������� � �� �����.

9.6 ������������
������������ ���������� � ���
���������

��������� TCP/IP ������������
��������, ���������� �������
��������������� ��� �������������
���������������� �������� � ����.
���� �� ����� ��������
������������ ������� �������
�������� ��������� ICMP ������ ��� �
����� ���. ��� ��� ���� ��������
��������� ������� ��� ����������
����� ����������. ����� ������,
���������� ������ ���, ����������
����� �� ��� � ���������� ���
��������������� �����������. ����
������ �������� ��������������
������� ������; ����� ��������
����� ������, ��������� � �������.
������ ��� � ��������� � ��� �����
����� �������������� ��� ��������
������������ ���������� � ���
����������� �������� �� �������.
��� ��� � ������ ���, � ����� �� ����
���������� � IP-������������,
�������� ����� ������
��������������� �
����������������� �������� ������
������������ �������. ��-������,
����������� ����������� IP ��
������ ��������� ���������
������������� �����������.
��-������, ������������� �����
����� ���������� � �����������
�������������� � ���������
�������������� �����������.
�-�������, ������ ����������
�������� (�� ������� ����, ���
������������ ����������) �
����������� ����������� ��� IP, ���
� ICMP ��������� ���� �������. �
�������, ������� ��������� � ������
�� ���� �������� ���� ���������.

�� ������ �������� �������,
������� ������������ �������� ���
������� ������� ��� ICMP, ����������
ping. ����������� ������ ����
��������� �������� ����� ��������
��� ICMP, ��������� ������ � ������
���������� � ������� ����������.
��� ��������� ������������
��������� ����� ���������� ������
� ��������� ������� �����
���������. ����� ������� ������
������ �������� ������ ��� ICMP �
���� ������.

9.7 ������ ���������
������� ��� � ������ ���

������� 9.2 �������� ������
��������� ������� ��� � ������ ��
������ ���.

0            8            16
------------------------------------------------------------
|���(8 ��� 0)| ���(0)      |   ����������� �����          |
------------------------------------------------------------
|    �������������         | ���������������� �����       |
------------------------------------------------------------
|         �������������� ������                           |
------------------------------------------------------------
|                   ......                                |
------------------------------------------------------------

������� 9.2 ������
��������� ������� ��� � ������ ��
����

����, ��������� ��������������
������ ����� ���������� ����� �
�������� ������, ������� ����
������� �����������. ����� �� ���
������ ���������� �� �� �����
������, ��� ���� �������� �� �
�������. ���� ������������� �
���������������� �����
������������ ������������ ���
�������� ������������ �������
��������. �������� ���� ���
����������, �������� �� ���������
��������(8) ��� �������(0).

9.8 ��������� �
�������������� ����������

����� ���� �� ����� ���������
IP-�����������, �� ��������
��������� «����������
�����������» �������
��������������� �����������,
��������� ������, ����������� ��
������� 9.3.

0            8            16
------------------------------------------------------------
|���(3)      | ���(0-5)    |   ����������� �����          |
------------------------------------------------------------
|    �� ������������(������ ���� ����� ����)              |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������    |
------------------------------------------------------------
|                   ......                                |
------------------------------------------------------------

������� 9.3 ������
��������� � ��������������
����������

���� ��� � ��������� �
�������������� ����������
�������� ����� �����, �������
��������� �������. ��������
��������� ��������:

�������� �����
0 ���� �����������
1 ��� ����������
2 �������� ����������
3 ���� ����������
4 ��������� ������������
5 ������ ��� �������������
���������
6 ���� ���������� ����������
7 ��� ���������� ����������
8 ��� ��������� ����������
9 �������������� � �����
���������� ���������������
���������
10 �������������� � ���
���������� ���������������
���������
11 ���� ����������� �� ������
������������
12 ��� ���������� ��-�� ������
������������

���� IP �������� ����������
���������� ��������, �����������
�� ������������ ������ ���. ������
���, ����� ������ ������ �����
���������� ������������� ���
�������� �����������, ����
�������� ��������� �
�������������� ���������� �������
��� ���������, � ����� ����������
�����������. ������ ��������������
���� ������ �������� ����������
������ �������������; ������
�������������� ��� — ���������
������ ��� ��������(�����������
�������� ������, ����� �����
���������� ����� ���������
��������, ��������� � ����� 16. ���
�������� �� ������ ���
������������� � ������� � �������
��������� ICMP � �������������� ���).
��� ��� ��������� ��������
�������� ������� �����������,
��������� ������, �� �������� �����
����� �����, ����� �����
����������.

���������� ����� ����
������������� ��-�� ����, ���
������������ ���� ��������
����������������, ��-�� ����, ���
����������� ������ ��������������
����� ����������, ��� ( � ������
�������) ��-�� ����, ��� � ����� ��
������� �������� � ���� ����������.
�������, ��� ���� ����� �������� ��
�������, ������� ��� ����������,
��� ����� �� ����� ��� ���� �������
��������. ��������, ���� ������
���������� ������������ � ����
Ethernet, �� ������� ������������ ��
������������� �������������
��������� �����������. �������,
���� ����� ���������� ��������
������ ���������� ���� ����� ����,
��� ��� ���������, �� ������� ���
���� ������� ���������� � ���, ���
������ �� ������������. ��������
�����:

���� ����� �������� ��������� �
�������������� ����������, ����
��� �� ����� ����������
������������� ��� ��������
�����������, �� ��� �������� ������
��������������.

����� ��������� � ��������������
����� � ��������� ������ ����,
����� �� ������, ��� ���������
����� �������� ������ ����������
���������� ����� ���������,
���������� ������. ����� �������
����� ��������� ��������� �������
��� �� �� ��������. ����
����������� �������� �����
������������� ��������� �
������������ ���������, �� ���
����� �������� � ���������
��������� �� ������ �������������
���������. ���� ����� �����
��������������� �����������, ��
���������� ��� «��
���������������», �� ����
�������� ��������� «���������
������������» ������� ���������.

9.9 ���������� �������
���������� � ������������ ����

��� ��� IP �������� ���������� ���
������������ ����������, �� �����
�� ����� ������������� ������ ���
���������������� ������� ��
��������� ����������. � ����������,
������� ����� ������� ����������
������, ��������, ����������
������������� ����(congestion). �����
��������, ��� ������������ ����
����� ��������� ��-�� ����
���������� ������ ������.
��-������, ����������������
��������� ����� ������������
������� �������, ��� ���� �����
���������� ���. ��������,
���������� ��������������,
������������ ���������� �������.
������������, ���������� ��, �����
������������� �������� � ��������
����� �� ��������� ����������
����(WAN), ���� ��� ��������������
����� ���� ����������� �
���������������� ��������� ����.
������������ ����� ��������� �
�����, �������������� � ����������
����, ��� ��� ����������� �����
��������� �������, ��� �� �����
�������. ��-������, ���� ��������
����� ����������� ������������
����� �������� ����������� �����
���� ����, ���� ���� �����
��������� �������������, ���� ��
���� �������� � ����������� � ��
�������� ��� ��������.

����� ����������� ��������� ��
���� ��� ��� �������, ��� ��
�������� �� ������������, ��
�������� ������ �� � ������� �
����� ������. ���� ��� ����������� —
��� ����� ���������� ���� ���
�������� ����������, �� �����
����������� ������ ��������. ����
�� ������� ���������� ���������, ��
�� � �������� ����� ��� ��� ����
������ ��� ������ ��� ������� �
�������� ����� ������� �����
����������� �����������. �����
������ ���������� ��������� �
���������� ��������� ��� ������ ��
��������� ������������.

��������� � ���������� ���������
������� �� ��������� ���������
�������� �������� ����������.
������ ������������� �����
�������� �� ������ ��������� �
���������� ��������� �� ������
��������� �����������. ����� �����
����� ������������ ����� �������
���������� ������ �� ������������.
��������� ��������� �� ����������
��������� � ��������� ��������� �
���������� ���������� ��������.
������ �������� ��������
������������ � ��������, �������
������� ���������� ��������� � ���
������, ����� �� ������� ��������
����������� ������� ��������, �� ��
����, ��� ��� ������������.

�� ���������� ��������� ICMP,
����������� ������, ��������
���������� ���������. ������ �����
���, ��������� ��������� �
���������� ��������� �� ���������
������, �, ������� ��������, �
������� �� �������� ����������� ��
� �� ��� ���, ���� � ���� ��
���������� ��������� ��������� �
���������� ���������; ����� ��
���������� ����������� �������� ��
��� ���, ���� �� ����� �� �������
��������� � ���������� ���������.

9.10 ������ ����������
���������

������ ������� ����� ICMP ���, ��� �
����������� �����, �
��������������� 32-�������� ����,
��������� � ���������� ���������
����� ����, ���������� �������
�����������. ������� 9.4
������������ ���� ������. ��� � �
������ ���������� �� ������� ICMP
���� �������� ����������� ��������
������� �����������, ���������
���� ������ ���������� ���������.

0            8            16                              31
------------------------------------------------------------
|���(4)      | ���(0)      |   ����������� �����           |
------------------------------------------------------------
|    �� ������������(������ ���� ����� ����)               |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������     |
------------------------------------------------------------
|                   ......                                 |
------------------------------------------------------------

������� 9.4 ������
��������� � ���������� ���������
ICMP. ������������� ����� ��������
���� ��������� � ����������
��������� ������ ���, ����� ���
������� �����������; �������
����������� ��������������
��������� �����������.

9.11 ������� ���������
�������� �� ������

������� ������������� ���������
������ �� �������� � �������
�������� ���������� �������. ���
�������������� �� � ������� �����
������������ ��� �������� �������,
� ������� �������������� ����
������� ������ � ��� ��������� ���
���������� ������. ��� ���������
��������� ���� �������
������������� � ��� ��� ����� �����
����� �������������. ���������
����� ���� ���������(��������,
����� �������� �����������
������������) ���
����������(��������, ����� �����
���� ����������� � ���������). ���
�� ������ �����, ����� ������������
������������ ����������� �
�������������, ����� �����������
��������� � ���� � ������������
������ ��������. ������� �����
�������������� ����� �������:

��������������, ��� ����� �����
���������� ��������; ��� ��������
��������, ���� ������� ���������� �
���������, �� ������������ ������
����� �������� �� ������.

����� ������ ��������������
����� ������� � ����� ��������
������������ ���������� �
������������� � ����� ������������
������� ���, � ���������
������������ ��� �����������
������� ���������� �
�������������, ����������� ���
�������������� (��������, �����
������ �����). ������� ��� ��������
��������, ���� �����������
����������, � ���������� �� ��, ���
����� ������� �������� ��� �������
�������������. ���� ����
������������, ��� ��� ����������
������������� �������, �� ��������
��� ��������� ICMP, ����������
«���������������»,
������������� ��������� �������� �
������� ������������� ���. ����
���� ����� ���������� ��������
����������� � �� ����������.
������������� �����
�������������� ICMP �������� ��
��������: ��� ��������� ��� �����
������� ����� ������ ������ ����� �
��������� ����. ���� ��������� ����
���������� ��������� ICMP �
�������������� ������ ���, �����
��� �������� �����������, ���
������� ���������� ������ �������.
������� ������������� ���
��������� ���������, �� �����
��������� ����������� �������� ���
���� ������������ ����������.

��������� � ��������������, ���
�� �����, �� ������ ��������
��������������� ���������� �
��������� ���������, ��� ��� ���
������������� ������ ���
�������������� ����� ������ � ��� �
����� ���������� ����. ������� 9.5
������������ ��� ��������.
�������� ������� ��������������,
��� �������� � ��������
����������� ���������� �. �����
���� �1 ����������� ����������
����������� ����� ���� �2 ������
����� �4(�� ���� �1 �� ������ ������
����� ������� ����). ����� ���� �5
��������� �����������, �� �� �����
������� ��������� ��������������
ICMP �1, ��� ��� �� �� ����� �����
����� �1. ����������� �����
���������� ��������, ���
���������������� ���������� �
��������� ����� �����������
������.

          |   --  |  --  |
     --   |--|�1|-|-|�2|-|  --  |        |
    | �|--|   --  |  --  |-|�3|-|    --  |
     --   |       |         --  |---|�5|-|   --
          |       |     --      |    --  |--| �|
          |       |----|�4|-----|        |   --
          |       |     --      |

������� 9.5 ��������� �
�������������� ICMP �� ��������
������������� ����� �������. � ����
������� ���� �5 �� ����� ���������
�1 ������������ ����� �������� ����
��� ���������� ����� � � �.

������ �����-���������� ���, ��� �
����������� �����, ������
��������� � ��������������
�������� 32-������� ���� ����������
����� ����� � ���� �������
�����������, ��� ��� �������� ��
������� 9.6

0            8            16                              31
------------------------------------------------------------
|���(5)      |���(�� 0 �� 3)|   ����������� �����          |
------------------------------------------------------------
|     ���������� ����� �����                               |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������     |
------------------------------------------------------------
|                    ......                                |
------------------------------------------------------------

������� 9.6 ������
��������� � �������������� ICMP

���� ���������� ����� �����
�������� ����� �����, �������
������ ������������ ��� ���
����������� ����������� �
����������, ���������� � ���������
�����������. ���� ����������
��������� �������� ��������� IP �
��������� 64 ���� �����������,
������� ������� � ��������� �����
���������. ������� ���, �����������
��������� � �������������� ICMP,
������ �������� ����� ����������
����������� �� ��������
�����������. ���� ��� � ��������� �
�������������� ICMP ����� ���������
���������, ��� ����������������
����� ����������, ��� ���� ��������
����� ��������� �����:

�������� ���� ����� ���������
0 �������������� ����������
��� ���� ����(��������)
1 �������������� ����������
��� ����� ���
2 �������������� ����������
��� ����� ���� ������� � ����
3 �������������� ����������
��� ����� ���� ������� � ���

���������. ��������, ���
������ ��������� IP ��������� ���
�������, ������������� ���
�������������

��� �������, ����� ��������
������� �������������� ICMP ������
�� ���, � �� �� ������ �����. �����
�� ������, ��� ����� ����������
������ ��������� ��� ������
����������� � �������������.

9.12 �����������
����������� ��� ������� �������
�����.

��� ��� ���������� �����
��������� ����� ��������� ������
��� ����������� ����������� ��
������ ��������� ������, ������ �
������� ������������� �����
�������� � ����� ������������� �
��������� ����� ����������, D. ����
������������� ����� �������� ��
���� ������, ������ �� �������
���������� ����������� � �������
���������� D ������� �����, ���
����� �������� �� �������� �����
������. ����� ��������� ������
��������� ���� �������������,
������ �� ��� ����������
����������� � ����������� � �
���������� ����� �� �����. ����
����������� ������ � ����
�������������, ��� �����
������������ �� ���� ����������.
��� ���� �������� �����, ��� ������
���������� �� ������������
������������ �� ��������� TCP/IP
������ ����������� ����� �������
����� �����, ������ ����������
����� �������. ���� ��������������
������� ������� ����� ������ ���,
����� �� ������������ �����������,
� ������� �����������, �����
������� ���������� �������.

���������� �� ����, ������ �� ����
����������� ��-�� ���������
�������� ������� ����� ��� ��-��
���������� ������� ��������
���������� �����������, ��
�������� ��������� ICMP «���������
�����» ��������� �����������,
��������� ������, ���������� ��
������� 9.7

0            8            16                              31
------------------------------------------------------------
|���(11)     |���(0 ��� 1)  |   ����������� �����          |
------------------------------------------------------------
|     �� ������������(������ ���� �����)                   |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������     |
------------------------------------------------------------
|                   ......                                 |
------------------------------------------------------------

������� 9.7 ������
��������� ICMP � ���������� �������.
���� �������� ��� ��������� ������
���, ����� ������� �����������
��-�� ��������� ���� ������� �����
� ��������� ����������� ��� ��-��
��������� ������� ������ ���
�������� ���������� �����������.

���� ��� ��������� �������
���������:

�������� ���� �����
0 ��������� �������� ��������
������� �����
1 ��������� ����� ��������
��������� ��� ������

������� ���������� ��������
������ ����� ���� ����������
�����������. ����� ���������
������ �������� �����������,
����������� ��� ��������� ������ �
������� ������� ��� ��������� ��
������� ���� ����������
�����������. �������� ���� 1
������������ ��� ����, �����
�������� ����������� � �����
������; ��� ������ ������
���������� ��������� ���������.

9.13 ��������� � ������
���������

����� ���� ��� ��� ������������ �
���������, ��������� �
������������, �� �������������� �
����� ��������� ��������� ��
������� ICMP( ��������, ������������
��������� �����������), �� ��������
��������� «������ ����������»
��������������� �����������. �����
�� ��������� ������ ����� ��������
����� ���� ��������������
���������� �����. ���������, ������
�������� �������� �� ������� 9.8,
���������� ������ � ��� ������,
���� ����������� ������ ����
������� ��-�� ���� ������.

0            8            16
------------------------------------------------------------
|���(12)     | ���(0 ��� 1) |   ����������� �����          |
------------------------------------------------------------
|���������   |  �� ������������(������ ���� ����� ����)    |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������     |
------------------------------------------------------------
|                   ......                                 |
------------------------------------------------------------

������� 9.8 ������
��������� ICMP ������ ����������.
����� ��������� ���������� ������
� ��� ������, ����� ��-�� ����
������ ����������� ���������.

��� ������������� ���������
����������� ���������� ����
��������� � ��������� ���������
��� ������������� ������ �
�����������, ���������� ������. ���
1 ������������ ��� ������, �����
��������� ����� �����������(
��������, ����� ����������� �
������� �����); ���� ��������� ��
������������ ��� ���� 1.

9.14 ������������� ����� �
������ ������� ��������

���� ������ � ��������� �����
�����������������, ������ ���
�������� ���������� ���� �� �����,
������ � ������ ������ ���� �������
� ������� �������. ������
������������ ���� ����� �������
������������� ��������������
������. ���� ���������� TCP/IP
�������� ��������� ����������,
������� ����� �������������� ���
������������� �����. ���� ��
���������� ���������� ����������
��������� ICMP ��� ���������
�������� ������� �� ������ ������.
������������� ������ ��������
��������� ICMP «������ ���������
�����» ������ ������, ������, ���
������ ������ ������ �� �������
�������� �������. �����������
������ ���������� «�����
��������� �����» ������,
�������� ������. ������� 9.9
���������� ������ ���������
������� � ������ ��������� �����.

0            8            16
------------------------------------------------------------
|���(13, 14) | ���(0)      |   ����������� �����           |
------------------------------------------------------------
|    �������������         |  ���������������� �����       |
------------------------------------------------------------
| ���������� ��������� ���� ������ 64 ���� �����������     |
------------------------------------------------------------
|            ��������� ����� �����������                   |
------------------------------------------------------------
|            ��������� ����� ������                        |
------------------------------------------------------------
|            ��������� ����� ��������                      |
------------------------------------------------------------

������� 9.9 ������
��������� ICMP ������� � ������
��������� �����

���� ��� ��������������
��������� ��� ������(13) ��� �����(14);
���� ������������� �
���������������� �����
������������ ���������� ��� �����
����� �������� � ���������.
���������� ���� �������������
�������, ��������� � �������������
����� ��������, �� ��������. ����
��������� ����� �����������
����������� ��������������
������������ ����� ���������
������, ���� ��������� ����� ������
����������� ����� ����� ������
�������, � ���� ��������� �����
�������� �����������
��������������� ����� ���������
������.

��� ���������� ��� ��� ����
��������� ����� ��� �����������
���������� ������� �������� �����
���� � ������������� ����� �����.
��� ��� ����� �������� ����
��������� ����� �����������, ���
����� ��������� ����� �����,
��������� ��� �������� ������� �
����������, ������������ ������ ��
���� � ����������� ������. ��� ���
����� �������� ��� ����� �������
������� �� ��������� ������, ��� �
����� ������ ������, ��� �����
��������� ����� �������� �� ����, �
�� ��� ������ — ������� ����� ������
� ���������� ������. �� ��������
������ ������ ����� ������� �����
�������� �� ����, ��� ������������
���������� ��������� ICMP �
��������� ������. �������, ���
��������� ������ ������ �������
�������� �� ���� ����� �������
����� ��������� � ��������� ��. ���
�� �����, ����� �������� �� ����
����� ����� ��������,
��������������� � ��������
���������, ����� ������ ��������,
���� �� �������� ������� �������.
����� ����, ��������, ��� ��� ��� IP
�������� ����������� �
����������������� ���������,
����������� ����� ���� ��������,
��������� ��� ���������� �� ��
�������. �������, ������� ���������
�� ����������� ���������������;
��������� ������� ��������������
������ ��� ������ ������.

9.15 ��������� ������� �
������ ����������

��������� ICMP ������� ���������� �
������ ����������( ��� 15 � 16)
��������� � ��������� �����
����������� � �� ������
��������������. ���
��������������� ��� �����������
��� ����� ���������� ������� ���
��������. ������ ��� �����������
������ ������������ ���������
RARP(����� 6), � BOOTP(����� 19).

9.16 ��������� �����
�������

����� 16 ���������� �������
��������� ��������, � ����� ������
�� ����������. � ���� ������ �����
��������, ��� ����� ��� ����������
��������� ��������, ��������� ����
� ���� �������������� ��� ��
IP-������ �������������� ����������
����. ��� ���������� ���������
�������� ��� ���� �����, ����� ����
�� 32-������� ����������� ������
������������� ���������� ����, �
����� — �������������� ���.
����������, ��������� ���
������������� ������, ������������
����� 32-������� ��������,
���������� ������ �������.

����� ������ ����� �������,
������������ � ��������� ����,
������ ����� ������� ���������
������� ����� ������ ����� �
�������� ����� ����� ������.
������, �������� ������, ����� ����
������� ��������� ��������, ����
��� ����� ����� �����, ��� �������
����������������� ���������, ����
�� ����� ���. ������� 9.10 ����������
������ ��������� ����� ������.

0            8            16
------------------------------------------------------------
|���(17, 18) | ���(0)      |   ����������� �����           |
------------------------------------------------------------
|    �������������         |  ���������������� �����       |
------------------------------------------------------------
|                    ����� ������                          |
------------------------------------------------------------

������� 9.10 ������
��������� ������� ����� ������ �
������ ����� ������. ������, ���
�������� ����������������� ������,
�� ����, ����� ���� ����� ��������
��.

���� ��� � ��������� ����� ������
���������, �������� �� ���������
��������(17) ��� �������(18). �����
�������� ����� ������ ������� ����
� ���� ����� ������. ��� �������,
���� ������������� �
���������������� ����� ���������
������ ������� ����� � ��������.

9.17 �����

������� �������������� �����
�������� �������� �������
��������� �� �����������������
�������� �� ����� ���
����������������� �������� ��
������ ���. ������ �����
������������ ������
�������������� � �������
����������� ������������ ��
���������� ��� ��� ��������� ��� ��
������� ��� ��� ������� ��� �����
���������� � ���������.

ICMP ������������ �����������
�������������� ����� ������� � ���;
�� �������� ����������� ������ IP.
ICMP �������� � ���� ��������� �
«���������� ���������»,
������������ �������� ��������,
��������� «��������������»,
��������� �� ��� ��������� ������
�������������, ���������
«�������/������ ���», �������
��� ����� ������������, �����
����������, ��������� ��
����������. ��������� ICMP
���������� � ���� ������
����������� IP � ����� ��� ����
������������� ����� � ������
���������: ���� ���� ��������� ICMP,
���� ���� � ���� ����������� �����
ICMP. ��� ��������� ���������� ������
��������� ����� ��������� � ���
�����.

��� ����������� ��������

��� Tanenbaum[1981], ��� � Stallings[1985]
������������� �����������
��������� �-����� � ��������� �� �
���������� �������� �����������.
������� �������� �������� �� ��,
��� �������� �����������
���������, � �����. Grange � Gien[1979], �
����� Driver, Hopewell, � Iaquinto[1979]
����������������� �� ��������
���������� �������, ��� �������
����������� ��������� ����������.
Gerla � Kleinrock[1980] ������������
���������� ��������� ����������
�������.

ICMP, ��������� ����� ��� ��������
TCP/IP, ���������� Postel[RFC 792]. Nagle[RFC 896]
������������� ���������
���������� ��������� � ����������,
��� ����� ������ ������������ ��
��� ���������� ���������� ����. Prue
� Postel[RFC 1016] ������������� �����
����� ����������, �������
���������� ����� ��� ����������
���������. Nagle[1987] ����������, ���
���������� ������ ��������
��������� � ����� � ��������
�����������. Mogul � Postel[RFC 950]
������������� ��������� ������� �
������ ����� �������. �������, Jain,
Ramakrishnan � Chui [1987] ����������, ���
����� � ������������ ���������
����� ����������������� ���
���������� ���������� ����.

����� �������� ���������
������������� ����� ������� � Mills[RFC
956, 957 � 958].

����������

9.1 ���������� ���������� �������
��������� ICMP � ������ ����
���������� � ����� ��������� ���� �
������� ���.

9.2 ����������, ������� �� ��
�������� ������ ����� ���� ���
������, ��� �������� ��������� ICMP �
���������� ���������.

9.3 ������������ ��������,
���������������� ���� �� ���������
��������� ICMP � ��������� ������.

9.4 ����������, �������� �� ����
������������ ������� ������� ping.
����� �� ������� �� ������ ?

9.5 �����������, ��� ������������
������� �������� ��������� ICMP �
���������� ������� ����������
����������. ����������� �� ���
���������� ������� traceroute, ��������
������ ������ ����� ���������� �
����������� ������������.

9.6 ���� �� ������������ �
���������, ���������� ���������
������� ping ��� ��� 128.10.2.1 ( ������ �
������)

9.7 ������ �� ���� ������
���������� ICMP ����� �������
��������� �� ��������� � �������
��������� ? ������ ?

9.8 ���������� Ethernet, ������� ����
��� � 12 ������, �������������� �
����. ����������, �����
����(������� ������������),
���������� IP-����� � ��������� ���,
�������� ��� ������� 24 ������.

9.9 �������� ������ ����������
��������� ICMP � ����������� ������
Jaina. ����� �� ��������� ����� ������
��� ���������� ���������� ���� ?
������ ?

9.10 �� ���������� ��������� ICMP,
����������� ������ �������������
��������, ��� ������ ��������
�������� � ����, ��� �����������
����������� ������������. ���
����� �������� ����� ���������
����� ���� �������� ?

9.11 ������ �� ��������� �� �������
ICMP ��������� ��������� �����,
������������, ����� ��� ����
������� ? ������ ?

����� | ���������� | ������


Ликбез по сетям :octocat:

TCP/IP

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

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

Уровни стека TCP/IP

Стек протоколов TCP/IP включает в себя четыре уровня

  • Прикладной уровень (Application Layer)
  • Транспортный уровень (Transport Layer)
  • Межсетевой уровень (Сетевой уровень) (Internet Layer)
  • Уровень доступа к сети (Network Access Layer)

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

Уровень Протоколы Описание
Application HTTP, FTP, SSH взаимодействие сети и пользователя — на данном уровне работает большинство сетевых приложений. Эти программы имеют свои собственные протоколы обмена информацией, например, интернет браузер для протокола HTTP, ftp-клиент для протокола FTP (передача файлов), почтовая программа для протокола SMTP (электронная почта), SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.
Transport TCP, UDP определяют, для какого именно приложения предназначены данные — протоколы транспортного уровня (Transport layer) могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные.
Network IP, ICMP, IC-MP определения пути передачи данных — межсетевой уровень (Internet layer) изначально разработан для передачи данных из одной сети в другую. На этом уровне работают маршрутизаторы, которые перенаправляют пакеты в нужную сеть путем расчета адреса сети по маске сети. С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны
Link ARP, Ethernet, Wi-Fi отвечает за доставку кадров между устройствами, подключенными к одному сетевому сегменту — канальный (физический) уровень (Link layer) описывает способ кодирования данных для передачи пакета данных на физическом уровне (то есть специальные последовательности бит, определяющих начало и конец пакета данных, а также обеспечивающие помехоустойчивость). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет. Кроме того, канальный уровень описывает среду передачи данных (будь то коаксиальный кабель, витая пара, оптическое волокно или радиоканал), физические характеристики такой среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).

Уровень Application

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


Уровень Network

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

Сетевой уровень отвечает на запросы обслуживания от
Транспортного уровня и направляет запросы обслуживания на
Канальный уровень. (от Transport на Link)

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

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

IP-адрес

Для того, чтобы общаться по сети, необходимо знать адрес того, с кем общаешься.
У каждого есть такой адрес, IP-адрес (Internet Protocol). Он занимает 4 байта. Обозначается IPv4.

Пример: IP-адрес spbau.ru194.85.238.98.

Для всех устройств количество различных IP-адресов не хватает.

Есть запрещенные для использования IP-адреса, каждый из них подходит под один из паттернов:

  • 192.169.*.*
  • 10.*.*.*
  • 172.*.*.*
  • 100.*.*.*

Для чего нужно было вводить запрещенные на использования IP-адреса, если их и так не всем хватает?

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

Они могу называться внутренними, внутрисетевыми, локальными или «серыми».

Английский вариант — private IP adress

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

Пакеты с разных устройств поступают на роутер, после чего адреса их отправителей подменяются на один общий.
Когда приходит ответ на запрос, адрес подменяется обратно и ответ приходит тому, кому надо.
Этот механизм называется NAT (Network Address Translation).

Передача информации осуществляется с помощью IP-пакетов,
заголовок каждого IP-пакета содержит IP-адреса получателя и отправителя пакета.
Каждый пакет обрабатывается маршрутизатором в соответствии с его таблицей маршрутизации.
Таблица, в свою очередь, содержит информацию, компьютеру с каким адресом направлять
пакеты с тем или иным диапазоном адресов. Например, все пакеты определённого диапазона
могут направляться другому маршрутизатору, который «отвечает» за этот сегмент.

Более формально — таблица маршрутизации обычно содержит:

Адрес Маска сети назначения Шлюз Интерфейс Метрика
адрес сети или узла назначения, либо указание, что маршрут является маршрутом по умолчанию (для IPv4-сетей маска /32 (255.255.255.255) позволяет указать единичный узел сети) обозначает адрес маршрутизатора в сети, на который необходимо отправить пакет, следующий до указанного адреса назначения интерфейс, через который доступен шлюз (в зависимости от системы, это может быть порядковый номер, GUID или символьное имя устройства; интерфейс может быть отличен от шлюза, если шлюз доступен через дополнительное сетевое устройство, например, сетевую карту) числовой показатель, задающий предпочтительность маршрута. Чем меньше число, тем более предпочтителен маршрут (интуитивно представляется как расстояние)

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

Пример таблицы NAT:

«Белый» IP-адрес «Серый» IP-адрес
209.165.200.226:1444 192.168.1.15:1444
209.165.200.226:1445 192.168.1.26:1444

Port

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

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

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

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

Если на хосте какой‑либо процесс постоянно использует один номер порта
(например, процесс программы, реализующей web-сервер, может использовать
порт 80 для приёма и передачи данных), говорят, что порт является «открытым».

Если процесс получил номер порта у ОС («открыл порт») и «держит его открытым»
для приёма и передачи данных, говорят, что процесс «прослушивает»
порт.


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

Наряду с 4-байтовым протоколом IPv4, есть протокол IPv6. В нем адрес занимает 16 бай-
тов, и таких адресов хватит на всех. Но этот протокол не поддерживается почти никакими
провайдерами.

Mask

У каждого устройства в сети есть еще и маска. Она также, как и IP-адрес, занимает 4 байта.
Всегда маска устроена следующим образом: сначала идет определенное число 1, а оставшееся
место занимают 0.

Маску можно записывать следующими способами:

  1. либо в десятичной системе счисления через 4 числа — 255.255.254.0
  2. либо приписывать к IP-адресу количество единиц — 194.85.248.10/24

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

Gateway

Common

Наряду с 4-байтовым протоколом IPv4, есть протокол IPv6. В нем адрес занимает 16 бай-
тов, и таких адресов хватит на всех. Но этот протокол не поддерживается почти никакими
провайдерами.

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

Когда запрос Алисы пришел на сервер ВК, тот формирует ответ и хочет его отправить
обратно Алисе. Для этого ему нужен её IP-адрес. Этот адрес был отправлен вместе с запросом.
Не забываем, что при передаче запроса, IP-адрес отправителя может меняться.

Таким образом, на уровне Network внешняя обертка содержит IP1 – адрес отправителя и
IP2 – адрес получателя.


Уровень Transport

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

  • TCP (IP идентификатор 6) — «гарантированный» транспортный механизм с
    предварительным установлением соединения
    , предоставляющий приложению надёжный
    поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий
    данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать
    нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие
    расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно
    в такой же последовательности. В этом его главное отличие от UDP.

  • UDP (IP идентификатор 17) протокол передачи датаграмм без установления соединения.
    Также его называют протоколом «ненадёжной» передачи, в смысле невозможности
    удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов.
    В приложениях, требующих гарантированной передачи данных, используется протокол TCP.
    UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры,
    где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в
    приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения
    занимает больше ресурсов, чем повторная отправка.


Уровень Link

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

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

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

Название Размер (байты) Описание
Преамбула 7 Последовательность бит, определяющее начало кадра
Начало кадра 1 Байт, с которого начинается кадр
MAC получателя 6 Адрес сетевой карты получателя
MAC отправителя 6 Адрес сетевой карты отправителя
…..
Данные 46 — 1500
Контрольная сумма кадра 4 Используется для проверки целостности данных

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


Как происходит отправка данных на всех уровнях стека протоколов TCP/IP?

ы


Корневой DNS-сервер — это сервер, который отвечает за корневую зону
(.ru, .com и т.д.). Всего в мире 13 корневых DNS-серверов. Как и остальные DNS-сервера,
он отвечает на соответствующие DNS-запросы (например, получение IP-адреса по имени хоста (доменному имени)).

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

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

Например, каждая машина (такая, как маршрутизатор), которая перенаправляет
IP-пакеты, уменьшает Time to live (TTL) поля заголовка IP на единицу,
если TTL достигает 0, ICMP-сообщение о превышении TTL отправляется на источник пакета.

Использование протокала ICMP:

  • ICMP-сообщения (тип 3) генерируются маршрутизатором при отсутствии маршрута к адресату.
  • Утилита Ping, служащая для проверки возможности доставки IP-пакетов.
  • ICMP-сообщения с типом 5 используются маршрутизаторами для обновления записей в таблице маршрутизации отправителя.

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

Определяет максимальное количество хопов (hop, то есть прыжок, участок
между маршрутизаторами), которые пакет может пройти.
Наличие этого параметра не позволяет пакету бесконечно ходить по сети.
Каждый маршрутизатор при маршрутизации должен уменьшать значение TTL на единицу,
но некоторые шлюзы можно настроить, чтобы игнорировать это.
Пакеты, не достигшие адресата, но время жизни которых стало равно нулю,
уничтожаются, а отправителю посылается сообщение ICMP Time Exceeded

Что такое TCP/IP?

TCP/IP расшифровывается как Transmission Control Protocol / Internet Protocol и представляет собой набор протоколов связи, используемых для соединения сетевых устройств в Интернете. TCP/IP также используется в качестве протокола связи в частной компьютерной сети (интранете или экстранете).

Весь набор (stack) протоколов TCP/IP — это не только два основных протокола: TCP и IP, но и другие, добавленные позже. Сначала, в ходе разработки по заказу Министерства обороны США, это были действительно только два протокола, но потом, в ходе приспсобления TCP/IP для мультимедийных услуг, к ним добавились и другие. Называлось все это по прежнему TCP/IP. Набор протоколов TCP/IP тауже выролняет роль абстракции между интернет-приложениями и аппаратной инфраструктурой маршрутизации и коммутации.

TCP/IP определяет, как данные передаются через сеть Интернет, обеспечивая сквозную связь (end-to-end communication), а также он определяет, как данные должны быть разбиты на пакеты, адресованы, переданы, маршрутизированы и получены в пункте назначения. TCP/IP работает автономно, хотя требует небольшого централизованного административного управления и предназначен для обеспечения надёжности сетей с возможностью автоматического восстановления после сбоя любого устройства в сети, или выхода из строя любой части сети.

Функции протоколов IP и TCP

Протокол TCP определяет, как приложения могут создавать каналы связи (links) в сети. Он также управляет тем, как сообщение разбивается на небольшие пакеты, прежде чем они будут переданы через Интернет и повторно собраны в правильном порядке по адресу назначения.

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

Маска подсети (subnet mask) сообщает компьютеру или другому сетевому устройству, какая часть IP-адреса используется для представления сети, а какая — для представления хостов или других устройста в сети.

Трансляция сетевых адресов NAT (Network Address Translation) помогает повысить безопасность и уменьшить количество внешних IP-адресов, необходимых организации.

Общие протоколы TCP/IP включают следующие:

  • Протокол передачи гипертекста (HTTP) управляет обменом данными между веб-сервером и веб-браузером.
  • Его разновидность HTTP Secure (https) обеспечивает безопасную связь между веб-сервером и веб-браузером.
  • Протокол передачи файлов FTP (File Transfer Protocol) обрабатывает передачу файлов между компьютерами.

Как работает TCP / IP?
TCP / IP использует модель взаимодействия «клиент-сервер», в которой пользователю или компьютеру клиента предоставляется некая услуга, например, отправка веб-страницы, компьютером сервера в сети.

Набор протоколов TCP/IP относиься к классу не имеющих состояния (stateless), что означает, что каждый клиентский запрос считается новым, поскольку он не связан с предыдущими запросами. Отсутствие состояния позволяет любые сетевые пути, чтобы их можно было использовать постоянно и для других запросов.

Однако транспортный уровень сети работает с сохранением состояния (stateful). Он передаёт сообщение и установленное им соединение не разрывается, пока все пакеты в сообщении не будут получены и собраны в нужном порядке месте назначения.

Модель TCP/IP немного отличается от семиуровневой сетевой модели взаимодействия открытых систем (OSI), разработанной позже. Эталонная модель OSI определяет, как приложения могут взаимодействовать по сети.

Почему так важен TCP/IP?
TCP/IP не является чей-то интеллектуальной собственностью и, как следствие, не контролируется какой-либо отдельной компанией или организацией. Таким образом, структура пакета IP может быть легко изменена. TCP/IP совместим со всеми операционными системами (ОС), поэтому может взаимодействовать с любой из них, также взаимодействие разных ОС разных компьютеров между собой. Пакеты IP также совместимы со всеми типами компьютерного оборудования и сетей.

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

4-х уровневая модель TCP / IP

Функциональность TCP / IP разделена на четыре уровня, каждый из которых включает определённые протоколы:

  • Уровень приложений предоставляет приложениям стандартизированный обмен данными. Его протоколы включают HTTP, FTP, POP3 (Post Office Protocol 3), SMTP (Simple Mail Transfer Protocol) и SNMP (Simple Network Management Protocol). На уровне приложения полезная нагрузка пакета (payload) — это фактические данные приложения.
  • Транспортный уровень отвечает за поддержание сквозной передачи данных в сети. TCP управляет обменом данными между хостами и обеспечивает управление потоком, мультиплексирование и надёжность. Транспортные протоколы включают TCP и протокол пользовательских дейтаграмм UDP (User Datagramm Protocol), который иногда используется вместо TCP для определённых целей.
  • Сетевой уровень, также называемый интернет-уровнем, работает с пакетами и соединяет независимые сети для транспортировки пакетов через границы сети. Протоколы сетевого уровня — это IP и ICMP (Internet Control Message Protocol), который используется для сообщений об ошибках.
  • Физический уровень, также известный как уровень сетевого интерфейса или уровень канала данных, состоит из протоколов, которые работают только на канале — сетевом компоненте, который соединяет узлы или хосты в сети. Протоколы этого нижнего уровня включают Ethernet для локальных сетей и протокол разрешения адресов ARP (Address Resolution Protocol).

Использование TCP/IP

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

Плюсы и минусы TCP/IP

Преимущества использования модели TCP / IP включают следующее:

  • помогает установить связь между разными типами компьютеров;
  • работает независимо от ОС;
  • поддерживает множество протоколов маршрутизации;
  • использует архитектуру клиент-сервер, которая отличается высокой масштабируемостью;
  • может работать автономно;
  • поддерживает несколько протоколов маршрутизации; а также
  • TCP/IP не создаёт ненужной нагрузки на сеть или компьютер.

К недостаткам TCP / IP можно отнести следующее:

  • сложен в настройке и управлении;
  • транспортный уровень не гарантирует доставку пакетов;
  • заменить протоколы в архитектуре TCP/IP непросто;
  • не разделяет чётко концепции сервисов, интерфейсов и протоколов, поэтому не подходит для описания новых технологий в новых сетях; а также
  • уязвим для атаки типа «отказ в обслуживании» DOS (Denial Of Service), в которой злоумышленник использует TCP/IP.

Чем отличаются TCP/IP и IP?

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

IP ограничен объёмом данных, которые он может отправить. Максимальный размер одного IP-пакета данных, который содержит как заголовок, так и данные, составляет от 21 до 65535 байтов. Это означает, что более длинные строки данных должны быть разбиты на несколько пакетов данных, которые должны быть отправлены независимо, а затем реорганизованы в правильный порядок после отправки.

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

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

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

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

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

Различия и сходства моделей TCP/IP и OSI

TCP/IP и OSI — наиболее широко используемые архитектуры (стеки) протоколов связи. Основное отличие состоит в том, что OSI — это концептуальная модель, которая практически не используется на практике. Скорее, он определяет, как приложения могут взаимодействовать по сети. TCP/IP, с другой стороны, широко используется для установления ссылок и сетевого взаимодействия.

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

TCP/IP и OSI — наиболее широко используемые архитектуры (стеки) протоколов связи

Модели TCP/IP и OSI имеют сходства и различия. Основное сходство заключается в том, как они построены, поскольку оба используют уровни. TCP/IP состоит всего из четырёх уровней, а модель OSI состоит из следующих семи уровней:

  • Уровень 7, прикладной уровень, позволяет пользователю — программному обеспечению или человеку — взаимодействовать с приложением или сетью, когда пользователь хочет читать сообщения, передавать файлы или участвовать в других действиях, связанных с сетью.
  • Уровень 6, уровень представления, переводит или форматирует данные для уровня приложения на основе семантики или синтаксиса, которые принимает приложение.
  • Уровень 5, уровень сеанса, настраивает, координирует и завершает разговоры между приложениями.
  • Уровень 4, транспортный уровень, обрабатывает передачу данных по сети и предоставляет механизмы проверки ошибок и управления потоками данных.
  • Уровень 3, сетевой уровень, перемещает данные в другие сети и через них.
  • Уровень 2, уровень канала данных, обрабатывает проблемы, возникающие в результате ошибок передачи битов.
  • Уровень 1, физический уровень, передаёт данные с помощью электрических, механических или процедурных интерфейсов.
  • Верхним уровнем как модели TCP/IP, так и модели OSI является прикладной уровень. Хотя этот уровень выполняет одни и те же задачи в каждой модели, эти задачи могут различаться в зависимости от данных, которые каждая получает.

Функции, выполняемые в каждой модели, также похожи, поскольку каждая из них использует для работы сетевой и транспортный уровни. Каждая из моделей TCP / IP и OSI в основном используется для передачи пакетов данных. Хотя они будут делать это разными способами и разными путями, они все равно доберутся до места назначения.

Сходства между моделью TC/IP и моделью OSI включают следующее:

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

Различия между моделью TCP/IP и моделью OSI заключаются в следующем:

  • TCP/IP использует только один уровень (приложение) для определения функций верхних уровней, тогда как OSI использует три уровня (приложение, представление и сеанс).
  • TCP/IP использует один уровень (физический) для определения функций нижних уровней, тогда как OSI использует два уровня (физический и канал передачи данных).
  • Размер заголовка TCP / IP составляет 20 байтов, а заголовок OSI — 5 байтов.
  • TCP/IP — это протокол, ориентированный на стандарт, тогда как OSI — это общая модель, основанная на функциях каждого уровня.
  • TCP/IP следует горизонтальному подходу, тогда как OSI придерживается вертикального подхода.
  • В TCP/IP сначала были разработаны протоколы, а затем была разработана модель. В OSI сначала была разработана модель, а затем протоколы на каждом уровне.
  • TCP/IP помогает установить соединение между различными типами компьютеров, тогда как OSI помогает стандартизировать маршрутизаторы, коммутаторы, материнские платы и другое оборудование.

История TCP/IP и связанные с этим особенности
Агентство перспективных исследовательских проектов Министерства обороны США DARPA (Defense Advanced Research Projects Agency), исследовательское подразделение Министерства обороны США, создало модель TCP/IP в 1970-х годах для использования в ARPANET, глобальной сети, которая предшествовала Интернету.

Такое, военное предназначение протокола TCP/IP заложило основы как его преимуществ, так и его недостатков.

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

Дело в том, что основным пунктом техзадания, которое Минобороны США выдало DARPA, был такой, что сеть на базе этого протокола должна продолжать работать вне зависимости от того, какая часть сети внезапно окажется повреждённой или вышедшей из строя, например, в результате боевых действий.

Это предопределило, во первых, разбивку информации на пакеты и передачу их в виде пакетов.

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

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

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

Добавим, что TCP/IP изначально был разработан для ОС Unix и был встроен во все последующие ОС.

Модель TCP / IP и связанные с ней протоколы в настоящее время поддерживаются Инженерной группой Интернета IETF (Internet Engineering Task Force).

Большинство из нас знает TCP/IP как «клей», связующий Internet. Но не многие способны дать убедительное описание того, что этот протокол представляет собой и как работает. Итак, что же такое TCP/IP в действительности?

TCP/IP — это средство для обмена информацией между компьютерами, объединенными в сеть. Не имеет значения, составляют ли они часть одной и той же сети или подключены к отдельным сетям. Не играет роли и то, что один из них может быть компьютером Cray, а другой Macintosh. TCP/IP — это не зависящий от платформы стандарт, который перекидывает мосты через пропасть, лежащую между разнородными компьютерами, операционными системами и сетями. Это протокол, который глобально управляет Internet, и в значительной мере благодаря сети TCP/IP завоевал свою популярность.

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

  • Основы TCP/IP
  • Архитектура TCP/IP
  • Краткое заключение

TCP/IP — это аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Протокол Internet). В терминологии вычислительных сетей протокол — это заранее согласованный стандарт, который позволяет двум компьютерам обмениваться данными. Фактически TCP/IP не один протокол, а несколько. Именно поэтому вы часто слышите, как его называют набором, или комплектом протоколов, среди которых TCP и IP — два основных.

Программное обеспечение для TCP/IP, на вашем компьютере, представляет собой специфичную для данной платформы реализацию TCP, IP и других членов семейства TCP/IP. Обычно в нем также имеются такие высокоуровневые прикладные программы, как FTP (File Transfer Protocol, Протокол передачи файлов), которые дают возможность через командную строку управлять обменом файлами по Сети.

TCP/IP — зародился в результате исследований, профинансированных Управлением перспективных научно-исследовательских разработок (Advanced Research Project Agency, ARPA) правительства США в 1970-х годах. Этот протокол был разработан с тем, чтобы вычислительные сети исследовательских центров во всем мире могли быть объединены в форме виртуальной «сети сетей» (internetwork). Первоначальная Internet была создана в результате преобразования существующего конгломерата вычислительных сетей, носивших название ARPAnet, с помощью TCP/IP.

Причина, по которой TCP/IP столь важен сегодня, заключается в том, что он позволяет самостоятельным сетям подключаться к Internet или объединяться для создания частных интрасетей. Вычислительные сети, составляющие интрасеть, физически подключаются через устройства, называемые маршрутизаторами или IP-маршрутизаторами. Маршрутизатор — это компьютер, который передает пакеты данных из одной сети в другую. В интрасети, работающей на основе TCP/IP, информация передается в виде дискретных блоков, называемых IP-пакетами (IP packets) или IP-дейтаграммами (IP datagrams). Благодаря программному обеспечению TCP/IP все компьютеры, подключенные к вычислительной сети, становятся «близкими родственниками». По существу оно скрывает маршрутизаторы и базовую архитектуру сетей и делает так, что все это выглядит как одна большая сеть. Точно так же, как подключения к сети Ethernet распознаются по 48-разрядным идентификаторам Ethernet, подключения к интрасети идентифицируются 32-разрядными IP-адресами, которые мы выражаем в форме десятичных чисел, разделенных точками (например, 128.10.2.3). Взяв IP-адрес удаленного компьютера, компьютер в интрасети или в Internet может отправить данные на него, как будто они составляют часть одной и той же физической сети.

TCP/IP дает решение проблемы данными между двумя компьютерами, подключенными к одной и той же интрасети, но принадлежащими различным физическим сетям. Решение состоит из нескольких частей, причем каждый член семейства протоколов TCP/IP вносит свою лепту в общее дело. IP — самый фундаментальный протокол из комплекта TCP/IP — передает IP-дейтаграммы по интрасети и выполняет важную функцию, называемую маршрутизацией, по сути дела это выбор маршрута, по которому дейтаграмма будет следовать из пункта А в пункт B, и использование маршрутизаторов для «прыжков» между сетями.

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

Другой важный член комплекта TCP/IP — User Datagram Protocol (UDP, протокол пользовательских дейтаграмм), который похож на TCP, но более примитивен. TCP — «надежный» протокол, потому что он обеспечивает проверку на наличие ошибок и обмен подтверждающими сообщениями чтобы данные достигали своего места назначения заведомо без искажений. UDP — «ненадежный» протокол, ибо не гарантирует, что дейтаграммы будут приходить в том порядке, в котором были посланы, и даже того, что они придут вообще. Если надежность — желательное условие, для его реализации потребуется программное обеспечение. Но UDP по-прежнему занимает свое место в мире TCP/IP, и испльзуется во многих программах. Прикладная программа SNMP (Simple Network Management Protocol, простой протокол управления сетями), реализуемый во многих воплощениях TCP/IP, — это один из примеров программ UDP.

Другие TCP/IP протоколы играют менее заметные, но в равной степени важные роли в работе сетей TCP/IP. Например, протокол определения адресов (Address Resolution Protocol, ARP) ппреобразует IP-адреса в физические сетевые адреса, такие, как идентификаторы Ethernet. Родственный протокол — протокол обратного преобразования адресов (Reverse Address Resolution Protocol, RARP) — выполняет обеспечивает обратное действие, преобразуя физические сетевые адреса в IP-адреса. Протокол управления сообщениями Internet (Internet Control Message Protocol, ICMP) представляет собой протокол сопровождения, который использует IP для обмена управляющей информацией и контроля над ошибками, относящимися к передаче пакетов IP. Например, если маршрутизатор не может передать IP-дейтаграмму, он использует ICMP, с тем чтобы информировать отправителя, что возникла проблема. Краткое описание некоторых других протоколов, которые «прячутся под зонтиком» TCP/IP, приведено во врезке.

Краткое описание протоколов семейства TCP/IP с расшифровкой аббревиатур
ARP (Address Resolution Protocol, протокол определения адресов): конвертирует 32-разрядные IP-адреса в физические адреса вычислительной сети, например, в 48-разрядные адреса Ethernet.

FTP (File Transfer Protocol, протокол передачи файлов): позволяет передавать файлы с одного компьютера на другой с использованием TCP-соединений. В родственном ему, но менее распространенном протоколе передачи файлов — Trivial File Transfer Protocol (TFTP) — для пересылки файлов применяется UDP, а не TCP.

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

IGMP (Internet Group Management Protocol, протокол управления группами Internet): позволяет IP-дейтаграммам распространяться в циркулярном режиме (multicast) среди компьютеров, которые принадлежат к соответствующим группам.

IP (Internet Protocol, протокол Internet): низкоуровневый протокол, который направляет пакеты данных по отдельным сетям, связанным вместе с помощью маршрутизаторов для формирования Internet или интрасети. Данные «путешествуют» в форме пакетов, называемых IP-дейтаграммами.

RARP (Reverse Address Resolution Protocol, протокол обратного преобразования адресов): преобразует физические сетевые адреса в IP-адреса.

SMTP (Simple Mail Transfer Protocol, простой протокол обмена электронной почтой): определяет формат сообщений, которые SMTP-клиент, работающий на одном компьютере, может использовать для пересылки электронной почты на SMTP-сервер, запущенный на другом компьютере.

TCP (Transmission Control Protocol, протокол управления передачей): протокол ориентирован на работу с подключениями и передает данные в виде потоков байтов. Данные пересылаются пакетами — TCP-сегментами, — которые состоят из заголовков TCP и данных. TCP — «надежный» протокол, потому что в нем используются контрольные суммы для проверки целостности данных и отправка подтверждений, чтобы гарантировать, что переданные данные приняты без искажений.

UDP (User Datagram Protocol, протокол пользовательских дейтаграмм): протокол, не зависящий от подключений, который передает данные пакетами, называемыми UDP-дейтаграммами. UDP — «ненадежный» протокол, поскольку отправитель не получает информацию, показывающую, была ли в действительности принята дейтаграмма.

Проектировщики вычислительных сетей часто используют семиуровневую модель ISO/OSI (International Standards Organization/Open Systems Interconnect, Международная организация по стандартизации/ Взаимодействие открытых систем), которая описывает архитектуру сетей. Каждый уровень в этой модели соответствует одному уровню функциональных возможностей сети. В самом основании располагается физический уровень, представляющий физическую среду, по которой «путешествуют» данные, — другими словами, кабельную систему вычислительной сети. Над ним имеется канальный уровень, или уровень звена данных, функционирование которого обеспечивается сетевыми интерфейсными платами. На самом верху размещается уровень прикладных программ, где работают программы, использующие служебные функции сетей.

На рисунке показано, как TCP/IP согласуется с моделью ISO/OSI. Этот рисунок также иллюстрирует уровневое строение TCP/IP и показывает взаимосвязи между основными протоколами. При переносе блока данных из сетевой прикладной программы в плату сетевого адаптера он последовательно проходит через ряд модулей TCP/IP. При этом на каждом шаге он доукомплектовывается информацией, необходимой для эквивалентного модуля TCP/IP на другом конце цепочки. К тому моменту, когда данные попадают в сетевую плату, они представляют собой стандартный кадр Ethernet, если предположить, что сеть основана именно на этом интерфейсе. Программное обеспечение TCP/IP на приемном конце воссоздает исходные данные для принимающей программы путем захвата кадра Ethernet и прохождения его в обратном порядке по набору модулей TCP/IP. (Один из наилучших способов разобраться во внутреннем устройстве TCP/IP стоит в использовании программы-«шпиона», чтобы найти внутри кадров, «пролетающих» по сети, информацию, добавленную различными модулями TCP/IP.)

Уровни сетей и протоколы TCP/IP

ISO/OSI                             TCP/IP
    _____________________________      __________________________
   | Уровень прикладных программ |    |                          |
   |_____________________________|    |  _________    _________  |
    _____________________________     | |Сетевая  |  |Сетевая  | | Уровень
   |    Уровень представления    |    | |программа|  |программа| | прикладных
   |_____________________________|    | |_________|  |_________| | программ
    _____________________________     |                          |
   |       Уровень сеанса        |    |                          |
   |_____________________________|    |__________________________|
                                            |             |
    _____________________________      _____|_____________|______
   |    Транспортный уровень     |    |    TCP           UDP     | Транспортный
   |_____________________________|    |_____|_____________|______| уровень
                                            |             |
    _____________________________      _____|_____________|______
   |       Сетевой уровень       |    |     |             |      | Сетевой
   |_____________________________|    |      ----> IP <---       | уровень
                                      |__________________________|
                                               _________
    _____________________________      _______| Сетевая |________
   |    Уровень звена данных     |    | ARP<->| плата   |<->RARP | Уровень
   |_____________________________|    |_______|_________|________| звена
                                                   |               данных
    _____________________________                  |
   |    Физический уровень       |    _____________|______________ Физический
   |_____________________________|      Кабельные соединения сети  уровень

В левой части этой диаграммы показаны уровни модели ISO/OSI. Правая часть диаграммы иллюстрирует корреляцию TCP/IP с этой моделью.

Для иллюстрации роли, которую TCP/IP играет в вычислительных сетях в реальном мире, рассмотрим, что происходит, когда Web-браузер использует HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) для извлечения страницы HTML-данных из Web-сервера, подключенного к Internet. Для формирования виртуального подключения к серверу браузер использует абстракцию программного обеспечения высокого уровня, называемую гнездом (socket). А чтобы извлечь страницу Web, он посылает на сервер команду GET HTTP, записывая ее в гнездо. Программное обеспечение гнезда, в свою очередь, применяет TCP для пересылки битов и байтов, составляющих команду GET на Web-сервер. TCP сегментирует данные и передает отдельные сегменты модулю IP, который пересылает сегменты в дейтаграммах на Web-сервер.

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

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

О TCP/IP можно было бы рассказать много больше, но есть три ключевых момента:

* TCP/IP — это набор протоколов, которые позволяют физическим сетям объединяться вместе для образования Internet. TCP/IP соединяет индивидуальные сети для образования виртуальной вычислительной сети, в которой отдельные главные компьютеры идентифицируются не физическими адресами сетей, а IP-адресами.
* В TCP/IP используется многоуровневая архитектура, которая четко описывает, за что отвечает каждый протокол. TCP и UDP обеспечивают высокоуровневые служебные функции передачи данных для сетевых программ, и оба опираются на IP при передаче пакетов данных. IP отвечает за маршрутизацию пакетов до их пункта назначения.
* Данные, перемещающиеся между двумя прикладными программами, работающими на главных компьютерах Internet, «путешествуют» вверх и вниз по стекам TCP/IP на этих компьютерах. Информация, добавленная модулями TCP/IP на стороне отправителя, «разрезается» соответствующими TCP/IP-модулями на принимающем конце и используется для воссоздания исходных данных.

Официальная документация по Internet

RFC (Request for Comments) — официальная документация по Internet, можно найти по адресу http://www.rfc-editor.org/ или http://www.ietf.org/rfc.html .

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

Адресация в сети Internet.

Типы адресов.

Типы адресов:

  1. Физический (MAC-адрес)

  2. Сетевой (IP-адрес)

  3. Символьный (DNS-имя)

Компьютер в сети TCP/IP может иметь адреса трех уровней (но не менее двух):

  • Локальный адрес компьютера. Для узлов, входящих в локальные сети — это МАС-адрес сетевого адаптера. Эти адреса назначаются производителями оборудования и являются уникальными адресами.

  • IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов.

  • Символьный идентификатор-имя (DNS), например, www.kstu.ru.

IP-адреса

IPv4 — адрес является уникальным 32-битным идентификатором IP-интерфейса в Интернет.

IPv6 — адрес является уникальным 128-битным идентификатором IP-интерфейса в Интернет, иногда называют Internet-2, адресного пространства IPv4 уже стало не хватать, поэтому постепенно вводят новый стандарт.

IP-адреса принято записывать разбивкой всего адреса по октетам (8), каждый октет записывается в виде десятичного числа, числа разделяются точками. Например, адрес

10100000010100010000010110000011
записывается как

10100000.01010001.00000101.10000011 = 160.81.5.131

1-5

Перевод адреса из двоичной системы в десятичную

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

160.81.5.131 — IP-адрес

160.81.5. — номер сети

131 — номер хоста

Базовые протоколы (IP, TCP, UDP)

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

TCP/IP — собирательное название для набора (стека) сетевых протоколов разных уровней, используемых в Интернет. Особенности TCP/IP:

  • Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;

  • Независимость от физической среды передачи;

  • Система уникальной адресации;

  • Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.

1-2

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

Стек протоколов TCP/IP делится на 4 уровня:

  • Прикладной,

  • Транспортный,

  • Межсетевой,

  • Физический и канальный.

Позже была принята 7-ми уровневая модель ISO.

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

1-3

Пример инкапсуляции пакетов в стеке TCP/IP

Физический и канальный уровень.

Стек TCP/IP не подразумевает использования каких-либо определенных протоколов уровня доступа к среде передачи и физических сред передачи данных. От уровня доступа к среде передачи требуется наличие интерфейса с модулем IP, обеспечивающего передачу IP-пакетов. Также требуется обеспечить преобразование IP-адреса узла сети, на который передается IP-пакет, в MAC-адрес. Часто в качестве уровня доступа к среде передачи могут выступать целые протокольные стеки, тогда говорят об IP поверх ATM, IP поверх IPX, IP поверх X.25 и т.п.

Межсетевой уровень и протокол IP.

Основу этого уровня составляет IP-протокол.

IP (Internet Protocol) – интернет протокол.

Первый стандарт IPv4 определен в RFC-760 (DoD standard Internet Protocol J. Postel Jan-01-1980)

Последняя версия IPv4 — RFC-791 (Internet Protocol J. Postel Sep-01-1981).

Первый стандарт IPv6 определен в RFC-1883 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1995)

Последняя версия IPv6 — RFC-2460 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1998).

Основные задачи:

  • Адресация

  • Маршрутизация

  • Фрагментация датаграмм

  • Передача данных

Протокол IP доставляет блоки данных от одного IP-адреса к другому.

Программа, реализующая функции того или иного протокола, часто называется модулем, например, “IP-модуль”, “модуль TCP”.

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

  • Если IP-пакет адресован данному компьютеру, то данные из него передаются на обработку модулю вышестоящего уровня (какому конкретно — указано в заголовке IP-пакета).

  • Если же адрес назначения IP-пакета — чужой, то модуль IP может принять два решения: первое — уничтожить IP-пакет, второе — отправить его дальше к месту назначения, определив маршрут следования — так поступают маршрутизаторы.

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

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

1-6

Структура дейтограммы IP. Слова по 32 бита.

Версия — версия протокола IP (например, 4 или 6)

Длина заг. — длина заголовка IP-пакета.

Тип сервиса (TOS — type of service) — Тип сервиса (подробнее рассмотрен в лекции 8).

TOS играет важную роль в маршрутизации пакетов. Интернет не гарантирует запрашиваемый TOS, но многие маршрутизаторы учитывают эти запросы при выборе маршрута (протоколы OSPF и IGRP).

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

Время жизни (TTL — time to live) — каждый маршрутизатор уменьшает его на 1, что бы пакеты не блуждали вечно.

Протокол — Идентификатор протокола верхнего уровня указывает, какому протоколу верхнего уровня принадлежит пакет (например: TCP, UDP).

Коды некоторые протоколов RFC-1700 (1994)

Код Протокол Описание
0 Зарезервировано
1 ICMP Протокол контрольных сообщений
2 IGMP Групповой протокол управления
4 IP IP-поверх-IP (туннели)
6 TCP Протокол управления передачей
8 EGP Протокол внешней маршрутизации
9 IGP Протокол внутренней маршрутизации
17 UDP Протокол дейтограмм пользователя
35 IDRP Междоменный протокол маршрутизации
36 XTP Xpress транспортный протокол
46 RSVP Протокол резервирования ресурсов канала
88 IGRP внутренний протокол маршрутизации
89 OSPFIGP внутренний протокол маршрутизации
97 ETHERIP Ethernet-поверх-IP
101-254 не определены
255 зарезервировано

Маршрутизация.

Протокол IP является маршрутизируемый, для его маршрутизации нужна маршрутная информация.

Маршрутная информация, может быть:

  • Статической (маршрутные таблицы прописываются вручную)

  • Динамической (маршрутную информацию распространяют специальные протоколы)

Протоколы динамической маршрутизации:

  • RIP (Routing Information Protocol) — протокол передачи маршрутной информации, маршрутизаторы динамически создают маршрутные таблицы.

  • OSPF (Open Shortest Path First) — протокол «Открой кротчайший путь первым», является внутренним протоколом маршрутизации.

  • IGP (Interior Gateway Protocols) — внутренние протоколы маршрутизации, распространяет маршрутную информацию внутри одной автономной системе.

  • EGP (Exterior Gateway Protocols) — внешние протоколы маршрутизации, распространяет маршрутную информацию между автономными системами.

  • BGP (Border Gateway Protocol) — протокол граничных маршрутизаторов.

Протокол ICMP

ICMP (Internet Control Message Protocol) — расширение протокола IP, позволяет передавать сообщения об ошибке или проверочные сообщения.

Другие служебные IP-протоколы

IGMP (Internet Group Management Protocol) — позволяет организовать многоадресную рассылку средствами IP.

RSVP (Resource Reservation Protocol) — протокол резервирования ресурсов.

ARP (Address Resolution Protocol) — протокол преобразования IP-адреса и адреса канального уровня.

Транспортный уровень

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

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

На транспортном уровне работают два основных протокола: UDP и TCP.

Протокол надежной доставки сообщений TCP

TCP (Transfer Control Protocol) – протокол контроля передачи, протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений.

Первая и последняя версия TCP — RFC-793 (Transmission Control Protocol J. Postel Sep-01-1981).

Основные особенности:

  • Устанавливается соединение.

  • Данные передаются сегментами. Модуль TCP нарезает большие сообщения (файлы) на пакеты, каждый из которых передается отдельно, на приемнике наоборот файлы собираются. Для этого нужен порядковый номер (Sequence Number — SN) пакета.

  • Посылает запрос на следующий пакет, указывая его номер в поле «Номер подтверждения» (AS). Тем самым, подтверждая получение предыдущего пакета.

  • Делает проверку целостности данных, если пакет битый посылает повторный запрос.

1-8

Структура дейтограммы TCP. Слова по 32 бита.

Длина заголовка — задается словами по 32бита.

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

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

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

URG — флаг срочности, включает поле «Указатель срочности», если =0 то поле игнорируется.

ACK — флаг подтверждение, включает поле «Номер подтверждения, если =0 то поле игнорируется.

PSH — флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.

RST — флаг прерывания соединения, используется для отказа в соединении

SYN — флаг синхронизация порядковых номеров, используется при установлении соединения.

FIN — флаг окончание передачи со стороны отправителя

Протокол UDP 

UDP (Universal Datagram Protocol) универсальный протокол передачи данных, более облегченный транспортный протокол, чем TCP.

Первая и последняя версия UDP — RFC-768 (User Datagram Protocol J. Postel Aug-28-1980).

Основные отличия от TCP:

  • Отсутствует соединение между модулями UDP.

  • Не разбивает сообщение для передачи

  • При потере пакета запрос для повторной передачи не посылается

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

1-7

Структура дейтограммы UDP. Слова по 32 бита.

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

Протокол реального времени RTP

RTP (Real Time Protocol) — транспортный протокол для приложений реального времени.

RTCP (Real Time Control Protocol) — транспортный протокол обратной связи для приложения RTP..

Назначение портов

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

Порты могут принимать значение от 0-65535 (два байта 2^16).

Номера портам присваиваются таким образом: имеются стандартные номера (например, номер 21 закреплен за сервисом FTP, 23 — за telnet, 80 — за HTTP), а менее известные приложения пользуются произвольно выбранными локальными номерами (как правило, больше>1024), некоторые из них также зарезервированы.

Некоторые заданные порты RFC-1700 (1994)

43%

Порт Служба Описание
0 Зарезервировано
13 Daytime Синхронизация времени
20 ftp-data Канал передачи данных для FTP
21 ftp Передача файлов
23 telnet Сетевой терминал
25 SMTP Передача почты
37 time Синхронизация времени
43 Whois Служба Whois
53 DNS Доменные имена
67 bootps BOOTP и DHCP — сервер
68 bootps BOOTP и DHCP — клиент
69 tftp Упрощенная передача почты
80 HTTP Передача гипертекста
109 POP2 Получение почты
110 POP3 Получение почты
119 NNTP Конференции
123 NTP Синхронизация времени
137 netbios-ns NETBIOS — имена
138 netbios-dgm NETBIOS Datagram Service
139 netbios-ssn NETBIOS Session Service
143 imap2 Получение почты
161 SNMP Протокол управления
210 z39.50 Библиотечный протокол
213 IPX IPX — протокол
220 imap3 Получение почты
443 HTTPs HTTP с шифрованием
520 RIP Динамическая маршрутизация
Диапазон 1024-65535
1024 Зарезервировано
6000-6063 X11 Графический сетевой терминал

Программа Ping

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

Программа TraceRoute позволяет проверить маршрут до удаленного хоста.

Программа nmap — позволяет сканировать порты. 

Работу порта, также можно проверить с помощью telnet.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Какой программой читать ошибки
  • Какой программой проверить телефон на ошибки