Какой проводкой исправить ошибку прошлых лет

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

Сообщения об ошибках «пункт назначения недоступен»

Изначально ICMP требовался для того, чтобы маршрутизатор мог сообщить о проблемах при доставке пакета. Если маршрутизатор не в состоянии направить пакет по нужному пути, он генерирует сообщение об ошибке типа 3 и посылает его компьютеру-источнику. Поскольку генерация такого рода сообщений была основной задачей ICMP, сообщения «пункт назначения недоступен» имеют наибольшее количество вариантов. Шестнадцать (0—15) кодов ошибок сообщения «пункт назначения недоступен» приведены в табл. 3.6.

Таблица 3.6

Сообщения об ошибках ICMP типа пункт назначения недоступен

Код

Описание

0

Сеть недоступна (network unreacnable)

1

Компьютер недоступен (host unreachable)

2

Протокол недоступен (protocol unreachable)

3

Порт недоступен (port unreachable)

4

Фрагментация необходима, но запрещена (fragmentation needed and DF set)

5

Маршрутизация на заказ не удалась (source route failed)

6

Сеть назначения неизвестна (destination network unknown)

7

Компьютер назначения неизвестен (destination host unknown)

8

Компьютер-источник изолирован (устарело) (source host isolated)

9

Доступ в сеть назначения запрещен (destination network administratively prohibited)

10

Доступ в компьютер назначения запрещен (destination host administratively prohibited)

11

Для этого типа службы сеть недоступна (network unreachable ,for type-of-service, TOS)

12

Для этого типа службы компьютер недоступен (host unreachable for type-of-service, TOS)

13

Связь запрещена из-за фильтрации (communication administratively prohibited by filtering)

14

He соблюдается приоритет хоста (host precedence violation)

15

Снижение приоритета (precedence cutoff in effect)

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

Формат сообщения подобен общему формату, изображенному на рис. 3.12. Тип сообщения в поле типа равен трем, а поле кода (Code) соответствует коду ошибки от 0 до 15. Кроме того, в ICMP-сообщении содержится заголовок IР-датаграммы, вызвавшей его появление, и первые 64 бита (восемь байт) ее данных.

32 бита

Позиции битов

0                   7

8                   15

16                                              31

Тип (3)

Код (0-15)

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

Не используется (заполняется нулями)

IP-заголовок, включая опции и первые 64 бита данных их первоначальной датаграммы

Рис. 3.13. Формат ICMP-сообщения «пункт назначения недоступен»

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

Сообщения об ошибках перенаправления

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

Компьютеры обновляют свои таблицы, основываясь на информации от маршрутизаторов и сообщения о перенаправлении ICMP — один из способов решать эту задачу.

Предположим, что ваш компьютер посылает датаграмму на компьютер коллеги, расположенный, как показано на рис. 3.14, в другой физической сети. Чтобы послать датаграмму, необходимо обратиться к маршрутизатору. Предположим, что датаграмма посылается маршрутизатору номер 2. Исследовав свою таблицу, маршрутизатор обнаружит, что компьютер коллеги находится на расстоянии одного «прыжка» от маршрутизатора номер 1 и что именно ему следует послать датаграмму. В результате датаграмма отправляется к маршрутизатору номер 1.

Кроме того, маршрутизатор номер 2 знает (из содержимого датаграммы и собственной таблицы), что ваш компьютер подсоединен к маршрутизатору номер 1 напрямую, а следовательно, датаграмму можно слать сразу ему — это будет оптимальный маршрут. Как только маршрутизатор определит, что существует лучший маршрут, он отправит ICMP-сообщение о перенаправлении компьютеру-источнику датаграммы. На рис. 3.15 показан формат сообщения о перенаправлении.

32 бита

Позиции битов

0                    7

8                     15

16                                          31

Тип (5)

Код (0-3)

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

IP-адрес маршрутизатора

IP-заголовок, включая опции и первые 64 бита данных их первоначальной датаграммы

Рис.

3.15. ICMP-сообщение о перенаправлении (тип 5)

Компьютер-передатчик выясняет, что следующие датаграммы лучше слать маршрутизатору, IP-адрес которого содержится в ICMP-сообщении. Другими словами, получив ICMP-сообщение о перенаправлении, ICMP-модуль компьютера должен исследовать содержимое заголовка IP-датаграммы (в теле сообщения) и IP-адрес маршрутизатора (второе 32-битное слово в заголовке сообщения). IP-заголовок даст адрес, по которому датаграммы шли неверным маршрутом, а IP-адрес маршрутизатора — тот маршрутизатор, который нужно использовать следующим. Эта информация может потребоваться для обновления таблицы маршрутизации сетевого компьютера. В табл. 3.7 приведены четыре кода сообщений о перенаправлении (тип 5). В примере на рис. 3.14 маршрутизатор пошлет сообщение типа 5 с кодом 1 (перенаправление для хоста).

Таблица 3.7

ICMP-сообщения об ошибках перенаправления (тип 5)

Код

Описание

0

Перенаправление для сети

1

Перенаправление для хоста (сетевого компьютера)

2

Перенаправление для сети по типу сетевой службы (TOS)

3

Перенаправление для хоста по типу сетевой службы (TOS)

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

Ошибки типа «лимит времени исчерпан»

Как известно, ошибки в таблицах маршрутизации могут привести к зацикливанию пакета между двумя маршрутизаторами. Это может случиться, когда каждый из них считает, что соседний маршрутизатор — наилучшее место для передачи пакета по назначению. Заголовок IP-датаграммы содержит специальное поле «время существования» (Time-to-Live, TTL), в котором время существования датаграммы ограничивается. Каждый маршрутизатор на пути пакета уменьшает время его существования. Время существования также уменьшается каждую секунду, которую пакет проводит во входной или выходной очереди маршрутизатора.

Как только время существования в поле TTL IP-датаграммы сравняется с нулем, сетевые программы уничтожат пакет и вышлют ICMP-сообщение «лимит времени исчерпан» (тип 11) компьютеру-источнику пакета. Формат ICMP-сообщения «лимит времени исчерпан» такой же, как у сообщения «пункт назначения недоступен», но поле Туре равно 11 вместо 3. Сообщения «лимит времени исчерпан» бывают двух видов, как показано в табл. 3.8. Код 0 устанавливается в случае, если датаграмма исчерпала время существования во время пересылки (например, из-за описанного выше зацикливания). Код 1 устанавливается, если произошел сброс таймера сборки фрагментов датаграммы до того, как все фрагменты прибыли.

Таблица 3.8

ICMP-сообщения об ошибках «лимит времени исчерпан» (тип 11)

Код

Описание

0

Поле время существования (TTL) сравнялось с нулем во время передачи датаграммы

1

Таймер сборки фрагментов истек

Когда компьютер-получатель принимает датаграмму с установленным флагом «фрагмент-продолжение», запускается таймер сборки фрагментов. Все фрагменты обязаны появиться до того, как этот таймер истечет. Если таймер истек, а датаграмма все еще не собрана, она уничтожается. В этом случае генерируется ICMP-сообщение типа 11 с кодом 1.

Ошибки «неверный параметр»

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

Таблица 3.9

ICMP-сообщение об ошибке «неверный параметр» (тип 12)

Код

Описание

0

Неверный IP-заголовок

1

Необходимая опция отсутствует

Сообщение с кодом 1 генерируется, если датаграмма не содержит всех необходимых для нормальной работы TCP/IP атрибутов (опций). Предположим, вы разработали криптозащищенный протокол для работы с приложениями государственной важности. Если программа-клиент попытается передать запрос к серверу и не приложит специального секретного ключа к датаграмме, сервер ответит сообщением об ошибке типа «необходимая опция отсутствует». Сообщение типа «неверный IP-заголовок» генерируется во всех остальных случаях, когда источник ошибки невозможно распознать. На рис. 3.16 приведен формат сообщения ICMP «неверный параметр». Поле указателя (pointer) идентифицирует тот байт датаграммы, который привел к возникновению ICMP-сообщения. Для сообщений с кодом 1 («необходимая опция отсутствует») поле указателя равно нулю.

32 бита

Позиции битов

0                 7

8                    15

16                                        31

Тип (12)

Код (0-1)

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

Указатель

Не используется (заполняется нулями)

IP-заголовок, включая опции и первые 64 бита данных их первоначальной датаграммы

Рис. 3.16. Формат ICMP -сообщения «неверный параметр» (тип 12)

Сообщение об ошибке «столкновение данных»

Механизм контроля потока данных гарантирует, что передатчик не будет передавать быстрее, чем приемник в состоянии принять и обработать. Другими словами, гарантируется, что входной буфер приемника не переполнится. Протокол TCP обеспечивает механизм управления потоком в качестве одной из сетевых служб. К сожалению, управление потоком возможно лишь тогда, когда протокол ориентирован на соединение. Поскольку IP не ориентирован на соединение, он не умеет управлять потоком данных. Поскольку маршрутизаторы работают на уровне IP, в их входных очередях может создаваться аналог транспортной пробки в часы пик в результате слишком большого количества вновь приходящих IP-пакетов. Если маршрутизатор не успевает обработать все приходящие пакеты, то «лишние» пакеты уничтожаются, а компьютеру-источнику пакета направляется ICMP-сообщение об ошибке «столкновение данных» (тип 4). Сообщение «столкновение данных» указывает компьютеру на необходимость снизить скорость передачи. На самом деле, механизм сообщений «столкновение данных» является некоторым подобием управления потоком данных на уровне IP. Для каждого уничтоженного в результате столкновения пакета, маршрутизатор высылает ICMP-сообщение. Как только компьютер получает его, он тут же снижает скорость передачи.

Если маршрутизатор продолжает передавать ICMP-сообщения «столкновение данных», компьютер продолжает снижать скорость передачи. Как только ICMP-сообщения перестают появляться, компьютер вновь начинает увеличивать скорость. И так до тех пор, пока не будет достигнута оптимальная скорость. Формат сообщения

ICMP «столкновение данных» тот же, что и у сообщения «пункт назначения недоступен», только поле типа имеет значение 4. Сообщение «столкновение данных» бывает только единственного вида, то есть поле кода у него всегда имеет значение 0 — других кодов не бывает.

Что такое существенная ошибка в бухгалтерском учете?

Основной нормативный акт, регулирующий порядок исправления ошибок в учете — ПБУ 22/2010 «Исправление ошибок в бухгалтерском учете и отчетности» (утверждено приказом Минфина от 28.10.2010 № 63н). Согласно ПБУ ошибкой не может быть неточность в учете или отчетности, возникшая из-за появления сведений уже после внесения в учет факта хозяйственной деятельности.

ПБУ 22/2010 делит ошибки в учете на существенные и несущественные. Существенная ошибка — та, которая сама по себе или в совокупности с другими ошибками за отчетный период способна повлиять на экономические решения пользователей, принимаемых на основе бухотчетности за этот отчетный период.

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

Чиновники в некоторых нормативных актах рекомендовали установить уровень существенности равным 5% от показателя статьи отчетности или суммарного размера актива или обязательства (п. 1 приказа Минфина от 11.05.2010 № 41н, п. 88 приказа Минфина от 28.12.2001 № 119н, в настоящее время эти приказы утратили силу). Мы предлагаем установить одновременно и абсолютный, и относительный показатель определения существенной ошибки. Абсолютный показатель фирма может установить в произвольном размере.

Пример формулировки для учетной политики:

Ошибка признается существенной, если сумма искажений превышает … тыс. руб. или величина ошибки составляет 5% от общего размера актива (обязательства), значения показателя бухгалтерской отчетности.

О том, чем нужно руководствоваться при составлении бухгалтерской учетной политики, читайте в материале «ПБУ 1/2008 «Учетная политика организации» (нюансы)».

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

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

Исправление ошибок в бухгалтерской документации

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

Существуют следующие способы исправления в первичке и регистрах:

  • Корректурный — используется в бумажных документах; неправильные сведения зачеркивают так, чтобы можно было прочесть первоначальную информацию, и рядом делают верную запись. Исправление должно быть заверено Ф. И. О. и подписью ответственного лица, датой и печатью компании (п. 7 ст. 9 закона «О бухгалтерском учете» от 06.12.2011 № 402-ФЗ).

ВНИМАНИЕ! Есть ряд документов, исправления в которых недопустимы. К ним относятся кассовые и банковские документы.

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

О том, как составить такую справку, читайте в статье «Бухгалтерская справка об исправлении ошибки – образец».

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

Порядок исправлений зависит от существенности ошибки и периода выявления:

  • Ошибки 2022 года, выявленные до конца 2022 года, исправляем в том месяце, в котором они были выявлены.
  • Несущественную ошибку, допущенную в 2021 году, но выявленную в 2022-м, уже после утверждения отчетности за 2021 год, исправляем записями по соответствующим счетам бухучета в том месяце 2022 года, в котором ошибку выявили; прибыль или убыток, полученные в результате исправления ошибки, относим на счет 91.
  • Ошибка 2022 года, которую обнаружили в 2023 году, но до даты подписания бухотчетности за 2022 год, исправляем путем внесения записи в операции бухучета за декабрь 2022 года. Аналогично исправляются и существенные ошибки в учете, которые были обнаружены после подписания отчетности за 2022 год, но до даты ее предоставления госоргану или собственникам (акционерам).
  • Если ошибка 2022 года существенная, а отчетность за 2022 год уже подписана и предоставлена собственникам (акционерам) и госорганам, но не утверждена, исправляем ее учетными записями, которые будут датированы декабрем 2022 года. При этом в новом варианте бухотчетности нужно указать, что эта отчетность заменяет первоначально предоставленную и указать основания для замены.

ВНИМАНИЕ! Новую отчетность нужно обязательно представить всем адресатам, кому представлялась предыдущая неисправленная отчетность.

  • Существенная ошибка за 2022 год выявлена после утверждения бухотчетности за 2022 год — исправляем записями по счетам бухучета уже в 2023 году. В проводках будет задействован счет 84.

Пример:

Бухгалтер ООО «Перспектива» в мае 2023 года обнаружил, что не отразил в операциях за 2022 год арендную плату в размере 100 000 руб. Это существенная ошибка согласно учетной политике ООО «Перспектива», к тому же она выявлена после утверждения отчетности за 2022 год. Бухгалтер сделает проводку:

Дт 84 Кт 76 на сумму 100 000 руб. — выявлен ошибочно не отраженный расход за 2022 год.

Кроме того, ООО «Перспектива» должно сдать уточненку по налогу на прибыль за 2022 год.

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

О том, какую отчетность сдают компании, ведущие учет упрощенным способом, читайте в материале «Упрощенная бухгалтерская финансовая отчетность — КНД 0710096».

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

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

В соответствии с письмом Минфина от 22.01.2016 № 07-01-09/2235 организация имеет право самостоятельно разработать алгоритм исправления ошибок в учете и отчетности на основании действующего законодательства. Выбранный порядок рекомендуем закрепить в учетной политике.

Исправление ошибок в налоговом учете

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

Согласно ст. 314 НК РФ исправлять ошибки в налоговых регистрах нужно корректурным способом: должна быть подпись лица, исправившего регистр, дата и обоснование исправления.

Порядок исправления ошибок в налоговом учете подробно расписан в ст. 54 НК РФ.

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

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

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

Если на конец года имеет место спор с ИФНС и велика вероятность доначислений налогов (штрафных санкций), то в бухотчетности надо признать оценочное обязательство. Подробнее об этом – в материале «Налоговый спор = оценочное обязательство».

В том случае, когда компания переплатила налог из-за собственной ошибки, она может подать уточненку или же не исправлять ошибку (например, сумма переплаты незначительная). Еще один вариант, которым может воспользоваться фирма, — уменьшить налоговую базу в периоде обнаружения ошибки на величину завышения налоговой базы в предыдущем периоде. Так можно сделать при расчете транспортного налога, НДПИ, УСН и налога на прибыль.

ВНИМАНИЕ! Таким способом нельзя воспользоваться при выявлении ошибок по расчету НДС, поскольку исправлять завышенный НДС можно только путем сдачи уточненки за период совершения ошибки.

Если фирма работала в убыток и выявила ошибку в прошлом периоде, которая увеличит убыток, то эти расходы включать в расчет налога за нынешний период нельзя. Компании следует подать уточненку с новыми суммами расходов и убытка (письмо Минфина от 23.04.2010 № 03-02-07/1-188).

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

Штрафы за ошибки в учете

Ошибки в бухгалтерском учете и при составлении отчетности чреваты для компании штрафом. Причем с 10.04.2016 размеры штрафов за неправильное ведение учета выросли — со вступлением в силу закона от 30.03.2016 № 77-ФЗ.

Ст. 15.11 КоАП в новой редакции содержит следующий перечень нарушений и наказаний за них:

Новая редакция ст. 15.11 КоАП

Старая редакция (действует по нарушениям, совершенным до 10.04.2016)

Искажения в учете, которые привели к занижению налогов и сборов на 10% и больше

Искажения в учете, которые привели к занижению налогов и сборов на 10% и больше

Искажения любой статьи бухотчетности на 10% и больше

Искажения любой статьи бухотчетности на 10% и больше

Фиксация мнимого, притворного объекта бухучета или не совершившегося события

Ведение счетов бухучета вне регистров

Составление бухотчетности не на основе сведений из регистров бухучета

Отсутствие первички, регистров учета или аудиторского заключения

Штраф за нарушение, выявленное впервые: от 5 000 до 10 000 руб.

Штраф за нарушение, выявленное впервые: от 2 000 до 3 000 руб.

Штраф за повторное нарушение: от 10 000 до 20 000 руб. или дисквалификация ответственного должностного лица на срок до 2 лет

Оштрафовать могут в течение 2 лет с момента нарушения

Оштрафовать могут в течение 1 года с момента нарушения

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

Итоги

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

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

Основы 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. При этом адреса сети 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 и так далее.

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

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

Приложения прикладного уровня, общаются также с предыдущим, транспортным, но они видят его протоколы как «черные ящики». Для приема-передачи информации они могут работать, например, с 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 получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

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

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

Протокол
ICMP
выполняет следующие основные функции:

  • обмен
    тестовыми сообщениями для выяснения
    наличия и активности уз­лов сети;

  • анализ
    достижимости узлов и сброс пакетов,
    направленных к недостижи­мым узлам;

  • изменение
    маршрутов (Redirect);

  • уничтожение
    пакетов с истекшим временем жизни
    (Time-To-Live);

  • синхронизация
    времени в узлах сети;

  • управление
    трафиком (регулирование частоты отправки
    пакетов).

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

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

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

Правило
1:

потеря пакета с ICMP-сообщением
никогда не генерирует ново­го
ICMP-сообщения.

Правило
2:

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

Правило
3
:
при повреждении фрагментированной
дейтаграммы, 1СМР-со- общение отправляют
только после первого поврежденного
фрагмента (так как источник все равно
повторит передачу всей дейтаграммы
целиком).

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

Несмотря
на то, что сообщения ICMP
инкапсулируются и посылаются, ис­пользуя
IP,
ICMP
не считают протоколом более высокого
уровня — он является

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

Формат
ICMP-пакетов.
Хотя каждое сообщение ICMP
имеет свой соб­ственный формат, все
они начинаются с трех одинаковых полей:
8-битового целочисленного поля «Тип»,
идентифицирующего сообщение, 8-битового
поля «Код», обеспечивающего более точную
информацию о типе сообщения, и 16­битового
поля «Контрольная сумма» (рис. 5.30). Помимо
того, сообщения ICMP,
сообщающие об ошибках, всегда включают
заголовок и первые 64 бит данных
дейтаграммы, вызвавшей ошибку. Это
необходимо для того, чтобы узел-от­правитель
смог более точно проанализировать
причину ошибки, так как все протоколы
прикладного уровня стека TCP/IP содержат
наиболее важную ин­формацию для
анализа в первых 64 бит своих сообщений.

Сетевые
программы распознают ICMP-сообщения
по двум признакам: зна­чению поля
«Тип» и значению поля «Код». Контрольная
сумма вычисляется не только для
ICMP-заголовка,
но и для всего сообщения.

Таблица
5.12.

Типы сообщений ICMP

Тип

сообщения

ICMP

Описание

0

Ответ
на эхо (Echo
Reply)

3

Узел
назначения недостижим (Destination
Unreachable)

4

Подавление
источника (Source
Quench)

5

Перенаправление
маршрута (Redirect)

8

Запрос
эха (Echo
Request)

9

Информация
о маршрутизаторах (Router
Advertisement)

10

Регистрация
маршрутизатора (Router
Solicitation)

И

Лимит
времени для дейтаграммы превышен
(Time
Exceeded for a Data- gramm)

12

Проблема
с
параметром
пакета
(Parameter Problem on a Datagramm)

13

Запрос
метки времени (Timestamp
Request)

14

Ответ
для метки времени (Timestamp
Reply)

15

Запрос
информации (не действует)

16

Ответ
на запрос информации (не действует)

17

Запрос
маски
адреса
(Address Mask Request)

18

Ответ
на запрос маски адреса (Address
Mask
Reply)

Типы
сообщений ICMP
представлены в табл. 5.12. Рассмотрим
каждое из этих сообщений и его формат
подробнее.

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

Во
многих системах команда, которую
пользователи вызывают для посыл­ки
запроса эха ICMP,
называется ping.
Усложненные версии этой программы
посылают серии запросов эха ICMP,
принимают ответы и выдают статистику
о потерях дейтаграмм. Они позволяют
пользователю указывать длину посы­лаемых
данных и интервалы времени между
запросами. Менее сложные вер­сии
просто посылают запрос эха ICMP
и ждут ответа.

Формат
сообщения запроса эха и ответа эха.

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

Рис.
5.30 иллюстрирует формат сообщений запроса
эха и ответа на запрос эха. Поле
«Необязательные данные» имеет переменную
длину и содержит дан­ные, которые надо
вернуть отправителю. Ответ на эхо всегда
возвращает те же самые данные, что были
получены им в запросе. Поля «Идентификатор»
и «Последовательный номер» отправитель
использует для проверки соответствия
ответов запросам. Значение поля «Тип»
определяет, является ли сообщение
запросом (8) или ответом (0).

Сообщения
о недостижимости назначения.

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

Таблица
5.13.

Коды сообщений о недостижимости

Код

сообщения

Пояснения

0

Сеть
недостижима

1

Компьютер
недостижим

2

Протокол
недостижим

3

Порт
недостижим

4

Необходима
фрагментация

5

Ошибка
при маршрутизации источника

6

Сеть
назначения неизвестна

7

Компьютер
назначения неизвестен

8

Компьютер
источника изолирован

9

Взаимодействие
с сетью назначения административно
запрещено

10

То
же с компьютером назначения

И

Сеть
недостижима из-за класса обслуживания

12

Компьютер
недостижим из-за класса обслуживания

Хотя
протокол ЕР является механизмом
ненадежной доставки, дейтаграм­мы не
уничтожаются просто так. Всякий раз,
когда ошибка мешает маршрути­затору
произвести маршрутизацию или доставку
дейтаграммы, маршрутиза­тор посылает
сообщение о недостижимости назначения
его источнику, а затем уничтожает
дейтаграмму. Ошибки недостижимости
сети обычно являются следствием ошибок
маршрутизации; ошибки недостижимости
компьютера — следствие ошибок при
доставке.

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

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

Управление
потоком дейтаграмм и переполнение сети.
Так как IP-
протокол не устанавливает соединения,
то маршрутизаторы не могут резерви­ровать
память или коммуникационные ресурсы
до получения дейтаграмм. В результате,
трафик может вызвать перегрузку
маршрутизаторов, ситуацию, на­зываемую
переполнением сети (congestion).
Переполнение сети происходит по двум
совершенно разным причинам. Во-первых,
высокоскоростной компью­тер может
генерировать трафик быстрее, чем сеть
может передавать его. На­пример,
представим суперкомпьютер, генерирующий
межсетевой трафик. Дей­таграммам,
посылаемым им, может потребоваться
передача, в конечном счете, по медленной
глобальной сети (WAN),
хотя сам суперкомпьютер может быть
присоединен к высокоскоростной LAN.
Переполнение будет возникать в
мар­шрутизаторе, присоединенном к
глобальной сети, так как дейтаграммы
будут прибывать быстрее, чем их можно
послать. Во-вторых, если большому числу
компьютеров одновременно нужно посылать
дейтаграммы через один марш­рутизатор,
этот маршрутизатор может оказаться
переполненным, хотя ни один источник в
отдельности не вызывает эту проблему.

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

Сообщение
о подавлении источника требует от
источника уменьшить ско­рость передачи
дейтаграмм. Обычно переполненные
маршрутизаторы посы­лают по одному
сообщению о подавлении источника на
каждую удаляемую дейтаграмму или
используют более сложные технологии
выхода из переполне­ния. Формат
подавления источника представлен на
рис. S.32.
Помимо обыч­ных полей ICMP
«Тип», «Код» и «Контрольная сумма» и
неиспользуемого 32-битового поля,
сообщения о подавлении источника имеют
поле, содержащее

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

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

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

При
изменении топологии сети таблицы
маршрутизации в маршрутизаторе или
компьютере могут стать некорректными.
Изменение может быть времен­ным
(например, нужно заменить неисправное
оборудование) или постоянным (например,
когда в межсетевое взаимодействие
включается новая сеть). Мар­шрутизаторы
периодически обмениваются информацией
о маршрутизации, чтобы отслеживать
изменения в сети и своевременно менять
маршруты. Для корректировки поведения
компьютеров маршрутизатор может
использовать сообщение протокола ICMP,
называемое «перенаправлением» (Redirect),
зап­рашивающее изменение маршрута в
таблице маршрутизации компьютера.

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

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

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

Поле
«Межсетевой адрес маршрутизатора»
содержит IP-адрес
маршрути­затора, который должен
использовать компьютер при отправлении
дейтаграм­мы к назначению, указанному
в заголовке дейтаграммы. Поле «Префикс
дей­таграммы» содержит заголовок IP
и следующие 8 байт дейтаграммы, которая
привела к появлению этого сообщения.
Поэтому компьютер, принимающий сообщение
о перенаправлении ICMP,
должен выделить адрес назначения
дей­таграммы из префикса дейтаграммы.
Поле «Код» в сообщении о перенаправ­лении
ICMP
более конкретно указывает, как
интерпретировать адрес назначе­ния,
при этом значения имеют следующий смысл:
0 — перенаправление дейтаграмм для этой
сети (устарело), 1 — перенаправление
дейтаграмм для этого компьютера, 2 —
перенаправление дейтаграмм для этого
типа сервиса и сети, 3 — перенаправление
дейтаграмм для этого типа сервиса и
компьютера. Напомним, что каждый заголовок
IP
указывает тип сервиса, используемого
при маршрутизации. Как правило,
маршрутизаторы посылают запросы
пере­назначения ICMP
только на компьютеры, а не на другие
маршрутизаторы.

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

Запросы
«Информация
о маршрутизаторах»
(типы
9 и
10).

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

Существует
2 типа сообщений маршрутизаторов:

  • 9
    — информация о маршрутизации;

  • 10-регистрация
    маршрутизатора.

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

Формат
сообщения «Информация о маршрутизации»
(тип 9) описан в RFC
1256 (рис. 5.34).

В
одном ICMP-сообщении
может содержаться описание нескольких
адре­сов, количество которых указано
в поле «Количество адресов». Поле «Размер
адреса» задает длину адреса в 32-битовых
словах. В настоящее время «Длина поля
адреса» всегда равна 2.

Поле
«Время существования» задает интервал
времени, в течение которо­го информация
еще не устарела. Как правило, это 1800 с.

Поле
«Приоритет» указывает, какой из адресов
следует использовать пер­вым и более
интенсивно. Как правило, чем больше
значение поля, тем выше приоритет.
Маршрутизаторы передают информационные
сообщения широко­вещательно через
случайные интервалы времени. Обычно
через 450…600 с. Поле «Время существования»
можно использовать для уведомления,
что дан­ный маршрутизатор выключается.
При этом содержимое данного поля
уста­навливается равным 0.

Формат
сообщения «Регистрация» (тип 10) представлен
на рис. 5.35.

Запрос
«Регистрация» передается 3 раза с
интервалом 3 с при запуске мар­шрутизатора
и продолжает (при необходимости)
передаваться, пока маршру­тизатор не
получит информационного сообщения с
нужной маршрутной инфор­мацией.

Обнаружение
циклических или слишком длинных путей.

Как было от­мечено выше для защиты
Интернета от перегрузок каждая дейтаграмма
име­ет счетчик времени жизни TTL
(Time-To-Live).
Маршрутизатор декременти­рует счетчик
времени жизни всякий раз, когда он
обрабатывает дейтаграмму, и удаляет
ее, когда счетчик становится нулевым.

Независимо
от того, удалил ли маршрутизатор
дейтаграмму из-за обнуле­ния счетчика
времени жизни или из-за превышения
времени ожидания фраг­ментов
дейтаграммы, он посылает сообщение ICMP
«Лимит времени для дейта­граммы
превышен» источнику дейтаграммы
определенного формата (рис. 5.36).

Поле
«Код» объясняет причину сообщения: 0 —
превышено значение счет­чика времени
жизни; 1 — превышено время ожидания
фрагмента при сборке.

Сообщения
о других ситуациях.

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

Синхронизация
часов и оценка времени передачи.

Стек протоколов TCP/IP включает несколько
протоколов, которые могут использоваться
для синхрони­зации часов. В сети для
этого используется несколько технологий.
Одна из про­стейших технологий
реализуется сообщениями ICMP
для получения значения времени от другой
машины. Запрашивающая машина посылает
сообщение ICMP
«Запрос метки времени» другой машине,
ожидая, что вторая машина вернет ей
текущее значение времени. Принимающая
машина возвращает «От­вет для метки
времени» машине, выдавшей запрос. Рис.
5.38 иллюстрирует формат сообщений запроса
и ответа временной метки. Поле «Тип»
идентифи­цирует сообщение как запрос
(13) или ответ (14); поля «Идентификатор»
и «Пос­ледовательный номер» используют
источник для связи между ответами и
зап­росами. Оставшиеся поля специфицируют
времена, указанные в миллисекундах
после полуночи, по Гринвичу. Поле
«Временная метка отправителя» заполняет

первоначальный
отправитель перед передачей пакета,
поле «Временная метка приема» заполняется
сразу после приема запроса, а поле
«Временная метка передачи» — непосредственно
перед отправкой ответа.

Компьютеры
используют эти три поля временных меток
для определения ожидаемого времени
передачи между ними и синхронизации
своих часов. Так как ответ включает поле
«Временная метка отправителя», компьютер
может вычислить общее время, требуемое
для передачи запроса к назначению,
фор­мирования ответа на него и
возвращения ответа. Так как ответ
содержит как время прихода запроса на
удаленную машину, так и время выдачи
ответа, ком­пьютер может вычислить
время передачи по сети, а на его основе
— разницу между своими и удаленными
часами. На практике бывает трудно точно
оце­нить время передачи по сети, так
как ГР является технологией с
негарантиро­ванной доставкой,
дейтаграммы могут бьггь потеряны,
задержаны или достав­лены не по
порядку, что ограничивает полезность
сообщений ICMP
о временных метках.

Сообщения
запроса и ответа информации. Сообщения
ICMP
запроса информации и ответа информации
(тип 15 и 16) в настоящее время устарели и
их использовать не рекомендуется. Они
предназначались для обнаружения
компьютерами своих IP-адресов
при загрузке. Сейчас для определения
адреса используют протоколы RARP
и ВООТР.

Получение
маски подсети.

Для применения адресации подсетей
компью­теру надо знать, какие биты их
32-битного IP-адреса
соответствуют физичес­кой сети, а
какие — адресу компьютера. Информация,
требуемая для интерпре­тации адреса,
представляет собой 32-битовую величину,
называемую маской подсети. Чтобы узнать
маску подсети, используемую в локальной
сети, маши­на может послать сообщение
запроса маски адреса маршрутизатору и
полу­чить ответ маски адреса. Машина,
формирующая запрос, может либо послать
сообщение напрямую, если она знает адрес
маршрутизатора, либо послать
ши­роковещательное сообщение, если
не знает его. Рис. 5.39 иллюстрирует фор­мат
сообщений маски адреса. Поле «Тип» в
сообщении маски адреса указыва­ет,
является ли сообщение запросом (17) или
ответом (18). Ответ содержит маску адреса
подсети в поле «Маска адреса». Как
правило, поля «Идентифи­катор» и
«Последовательный номер» позволяют
машине связать ответ с зап­росом.

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

Протокол ICMP.

ICMP (Internet Control Message Protocol) — протокол управляющих сообщений.

Вы их получаете постоянно, а иногда и отправляете, например:

  • Если адрес не доступен, вы получаете сообщение ICMP.

  • Если порт не доступен, вы получаете сообщение ICMP.

  • Если вы пользуетесь командой ping, вы получаете сообщение ICMP.

  • и т.д.

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

Поле protocol = 1 (в заголовке IP).

Первый стандарт ICMP определен в RFC0777 (Internet Control Message Protocol J. Postel Apr-01-1981)

Последняя версия — RFC0792 (Internet Control Message Protocol J. Postel Sep-01-1981)..

Последняя версия ICMPv6 для IPv6 — RFC2463 (Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification A. Conta, S. Deering December 1998)

Сообщения делятся на два типа:

  • Парные (вопрос/ответ)

  • Непарные (например: посылаете запрос к HTTP-серверу, но сервер не доступен, и последний маршрутизатор (или сервер) отправляет ICMP-сообщение (Destination Unreachable) вам)

Заголовок сообщения ICMP.

ss

Структура заголовка сообщения ICMP. Слова по 32 бита.

Типы сообщений протокола ICMP

Тип Сообщение Назначение
0 Echo Reply Ответ ICMP — эхо (ping)
3 Destination Unreachable Цель не достижима
4 Source Quench Переполнение очереди источника
5 Redirect Перенаправление маршрута
8 Echo Request Запрос ICMP — эхо (ping)
9 Объявление маршрутизатора
10 Запрос маршрутизатора
11 Time Exceeded Время жизни истекло
12 Parameter Problem Неверный параметр
13 Timestamp Request Запрос метки времени
14 Timestamp Reply Ответ метки времени
15 Information Request Запрос информации
16 Information Reply Ответ информации
17 Address Mask Request Запрос маски адреса
18 Address Mask Reply Ответ маски адреса

Сообщение Destination Unreachable

Непарное сообщение, формируется, если цель недостижима.

11-2

Структура сообщения ICMP — Destination Unreachable

«Заголовок и первые 64 бита исходной дейтограммы» отправляются для диагностики причины ошибки.

Диагностические коды сообщений Destination Unreachable

Код Тип кода Значение
0 Network Unreachable Сеть назначения недостижима
1 Host Unreachable Хост назначения не достижим
2 Protocol Unreachable Протокол недостижим
3 Port Unreachable Порт недостижим
4 Fragmentation Need & DF set Необходима фрагментация, однако она запрещена
5 Source Route Failed Исходный маршрут вышел из строя
6 Destination Network Unknown Сеть назначения неизвестна
7 Destination Host Unknown Хост назначения неизвестен
8 Source Host Isolated Источник изолирован
9 Communication with destination
Network Administratively Prohibited
Взаимодействие с сетью назначения запрещено
10 Communication with destination
Host Administratively Prohibited
Взаимодействие с узлом назначения запрещено
11 Network Unreachable for type of service Сеть назначения недоступна для запрошенного типа сервиса
12 Host Unreachable for type of service Хост назначения недоступен для запрошенного типа сервиса
13 Связь административно запрещена с помощью фильтра
14 Нарушение старшинства ЭВМ
15 Дискриминация по старшинству

Из таблицы видно, что коды 2 и 3 формируются сервером назначения.

Сообщение Time Exceeded

Непарное сообщение, формируется, если время жизни истекло.

11-3

Структура сообщения ICMP — Time Exceeded

Диагностические коды сообщений Time Exceeded

Код Значение
0 Время жизни = 0
1 Таймер дефрагментации установился в 0
до полной сборки принятого сообщения

Сообщение Parameter Problem

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

11-4

Структура сообщения ICMP — Parameter Problem

Диагностические коды сообщений Parameter Problem

Код Значение
0 Если возникла проблема с интерпретацией какого то поля
(используется поле «номер байта с ошибкой в исходном сообщении»)
1 Если возникла проблема с несоответствием какого то запрашиваемого параметра, с установленными требованиями

Сообщение Source Quench

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

11-5

Структура сообщения ICMP — Source Quench

Сообщение Redirect

Непарное сообщение, формируется, если изменен маршрут для пакета.

11-7

Случай, когда маршрутизатор перенаправляет пакеты по другому маршруту (маршрут 2).

И предлагает в сообщении ICMP изменить шлюз по умолчанию

11-6

Структура сообщения ICMP — Redirect

Диагностические коды сообщений Redirect

Код Тип кода Значение
0 Redirect Datagram for networks Изменение маршрута для сети
1 Redirect Datagram for host Изменение маршрута для хоста
2 Redirect Datagram for the Type of service and networks Изменение маршрута для типа сервиса или сети
3 Redirect Datagram for the Type of service and host Изменение маршрута для типа сервиса или хоста

Сообщение Echo Request/Echo Reply

Парное сообщение. Любой узел, получивший Echo Request, должен ответить Echo Reply отправителю.

Echo Request сообщения формирует программа ping.

11-8

Структура сообщения ICMP — Echo Request/Echo Reply

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

Атаки с помощью Echo Request/Echo Reply

Можно осуществить DoS-атаку (Denial of Service — подавление услуги).

Цель: загрузить сервер так, чтобы он не мог отвечать.

Нужно послать как можно больше ответов Echo Reply на жертву.

Для этого можно задействовать чужие сети.

Алгоритм:

  1. Указываем адрес источника — адрес жертвы (194.85.241.1)

  2. Указываем адрес получателя — адрес типа Directed Broadcast (195.208.44.255), на этот адрес должны ответить все узлы сети 195.208.44.0/24

  3. Посылаем сообщение Echo Request.

  4. 253 машины посылают ответ на жертву (194.85.241.1)

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

  6. Жертва будет перегружена.

11-9

Атаки с помощью Echo Request/Echo Reply

Меры предотвращения таких атак:

  • Запретить прием и распространение сообщений типа Directed Broadcast.

  • Уничтожать сфальсифицированные пакеты, сопоставляя IP источника с маршрутной таблицей и номером интерфейса, с которого получен пакет.

  • Запретить трафик ICMP (ping, traceroute и т.д., работать не будут).

Принцип работы traceroute

traceroute отправляет на несуществующий порт удаленного узла последовательность UDP-дейтаграмм, .

Номер используемого порта по умолчанию 33434.

Алгоритм работы:

  • Посылаются дейтограммы с TTL=1 (время жизни пакета)

  • Первый же маршрутизатор уменьшает TTL на 1, т.е. TTL=0 и пакет уничтожается, а отправителю посылается ICMP сообщение Time Exceeded.

  • Посылаются дейтограммы с TTL=2 (время жизни пакета)

  • Первый же маршрутизатор уменьшает TTL на 1, т.е. TTL=1 и пакет проходит дальше.

  • Второй маршрутизатор уменьшает TTL на 1, т.е. TTL=1 и пакет уничтожается, а отправителю посылается ICMP сообщение Time Exceeded.

  • И т.д.

  • Попадая на получателя, пакет уничтожается, т.к. получатель не знает, что с ним делать (порт не существует), и отправителю посылается ICMP сообщение Destination Unreachable.

11-10

Пример работы traceroute

 

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Какой ошибкой считается неправильный перенос слова
  • Какой ошибку совершает водитель въезжающий во двор
  • Какой ошибкой является тавтология
  • Какой ошибкой считается пропуск слова
  • Какой ошибкой считается неправильный падеж

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: