Icmp ошибки о недоступности хоста и сети
ICMP ошибка о недоступности хоста (host unreachable) отправляется маршрутизатором, когда он получает IP датаграмму, которую невозможно перенаправить. (На рисунке 6.10 мы показали формат ICMP сообщений о недоступности.) Мы сможем пронаблюдать это в нашей сети, если выключим SLIP канал с дозвоном на маршрутизаторе sun и попробуем отправить пакет через SLIP канал с любого другого хоста, указав sun как маршрутизатор по умолчанию.
Ранние реализации TCP/IP в BSD генерировали и ошибки о недоступности хоста, и ошибки о недоступности сети, в зависимости от того, принадлежал ли пункт назначения локальной подсети или нет. 4.4BSD генерирует только ошибку о недоступности хоста.
Обратимся снова к выводу команды netstat запущенной на маршрутизаторе sun, вывод показан в предыдущем разделе. Мы видим, что пункт таблицы маршрутизации, который соответствует SLIP каналу, добавляется, когда SLIP канал включается, и удаляется, когда SLIP канал выключается. Это означает, что когда SLIP канал отключен, маршрута по умолчанию на sun не существует. Однако мы не будем пытаться изменить все таблицы маршрутизации у хостов в нашей маленькой сети, оставив им возможность самим удалить свои маршруты по умолчанию. Вместо этого мы посчитаем ICMP сообщения о недоступности хоста, сгенерированные sun для любых пакетов, которые он не может перенаправить.
Мы можем увидеть это, запустив ping с svr4 на хост, находящийся на другом конце SLIP канала (в настоящее время этот хост выключен):
svr4 % ping gemini ICMP Host Unreachable from gateway sun (140.252.13.33) ICMP Host Unreachable from gateway sun (140.252.13.33) ^? символ прерывания
На рисунке 9.2 мы показали вывод команды tcpdump для этого примера. (Команда запущена на хосте bsdi).
1 0.0 svr4 > gemini: icmp: echo request 2 0.00 (0.00) sun > svr4: icmp: host gemini unreachable 3 0.99 (0.99) svr4 > gemini: icmp: echo request 4 0.99 (0.00) sun > svr4: icmp: host gemini unreachable
Рисунок 9.2 Сообщение ICMP о недоступности хоста в ответ на ping.
Когда маршрутизатор sun обнаруживает, что на хост gemini нет маршрута, он отвечает на эхо запрос сообщением о недоступности хоста.
Если мы включим SLIP канал, подключающий нас к Internet, и попробуем послать ping на несуществующий в Internet IP адрес, то рано или поздно получим сообщение об ошибке. Интересно посмотреть, как далеко уйдет пакет по Internet, перед тем как будет получена ошибка:
sun % ping 192.82.148.1 этот IP адрес не подключен к Internet PING 192.82.148.1: 56 data bytes ICMP Host Unreachable from gateway enss142.UT.westnet.net (192.31.39.21) for icmp from sun (140.252.1.29) to 192.82.148.1
Обратившись к рисунку 8.5, мы увидим, что пакет прошел через шесть маршрутизаторов, перед тем как было определено, что IP адрес не существует. Только когда он дошел до пределов NSFNET магистрали, была выявлена ошибка. Это произошло из-за того, что шесть маршрутизаторов, которые перенаправляли пакет, отправляли его на пункт назначения по умолчанию. И только когда пакет достиг NSFNET магистрали, маршрутизатор, имеющий полное представление о каждой сети, подключенной к Internet, смог определить ошибку. Это иллюстрирует тот факт, что большинство маршрутизаторов функционируют, не представляя себе полной топологии сетей.
[Ford, Rekhter, and Braun 1993] определяет домены маршрутизации верхнего уровня (top-level routing domain) как маршрутизаторы, поддерживающие и обрабатывающие информацию о большинстве узлов Internet и не использующие маршрутов по умолчанию. В Internet существует пять доменов маршрутизации верхнего уровня: NFSNET магистраль, Commercial Internet Exchange (CIX), NASA Science Internet (NSI), SprintLink и European IP Backbone (EBONE).
Перенаправлять или не перенаправлять
Мы уже несколько раз упоминали о том, что хост не сможет перенаправить IP датаграммы, если он специально не сконфигурирован, чтобы выступать в роли маршрутизатора. Как осуществляется подобная конфигурация?
Большинство Berkeley реализаций, имеют переменную ядра, названную ipforwarding (или похоже). (См. приложение Е.) Некоторые системы (BSD/386 и SVR4, например) перенаправляют датаграммы, если эта переменная установлена в ненулевое значение. В SunOS 4.1.x определено три значения для этой переменной: -1 обозначает, что перенаправление никогда не будет осуществляться и что никогда нельзя будет сменить значение этой переменной, 0 обозначает, что перенаправление не осуществляется, однако значение переменной устанавливается в 1, когда два или более интерфейсов активизированы, и 1 обозначает, что перенаправление осуществляется всегда. У Solaris 2.x также существует три значения, а именно 0 (перенаправление не осуществляется), 1 (перенаправление осуществляется всегда) и 2 (перенаправление осуществляется только тогда, когда активизированы два или более интерфейсов).
В более ранних реализациях 4.2BSD датаграммы перенаправляются по умолчанию. При этом, если система сконфигурирована неверно, возникает очень много проблем. Именно поэтому данная опция ядра должна быть всегда по умолчанию установлена в значение "без перенаправления" (never forward), пока системный администратор специально не включит перенаправление.
- Одноранговая сеть
- [Править] История
- [Править] Устройство одноранговой сети
- [Править] Частично децентрализованные (гибридные) сети
- [Править] Пиринговая файлообменная сеть
- [Править] Пиринговые сети распределённых вычислений
- [Править] Пиринговые финансовые сети
- Сетевая топология
- Шина (топология компьютерной сети)
- [Править] Работа в сети
- [Править] Сравнение с другими топологиями [править] Достоинства
- [Править] Недостатки
- [Править] Преимущества и недостатки шинной топологии
- [Править] Примеры
- Кольцо (топология компьютерной сети)
- Решётка (топология компьютерной сети)
- [Править] Сравнение с другими топологиями [править] Достоинства
- [Править] Недостатки
- [Править] См. Также
- Полносвязная топология
- [Править] Недостатки
- Cети типа домен
- Сети типа рабочие группы
- Сетевые компоненты
- Сетевые карты или адаптеры Сетевая плата
- [Править] Типы
- [Править] Параметры сетевого адаптера
- [Править] Функции и характеристики сетевых адаптеров
- [Править] Классификация сетевых адаптеров
- [Править] Первое поколение
- [Править] Второе поколение
- [Править] Третье поколение
- [Править] Четвёртое поколение
- [Править] Примечания
- [Править] Сайты производителей
- [Править] Ссылки
- 1. Функции и характеристики сетевых адаптеров
- 2. Классификация сетевых адаптеров
- Сетевая карта (сетевой адаптер)
- Мосты, повторители
- Сетевой концентратор
- [Править] Принцип работы
- [Править] Принцип работы для «чайников»
- [Править] Характеристики сетевых концентраторов
- Маршрутизаторы (свитчи) Что такое Свитч?
- Сетевой коммутатор
- [Править] Принцип работы коммутатора
- [Править] Режимы коммутации
- [Править] Симметричная и асимметричная коммутация
- [Править] Буфер памяти
- [Править] Возможности и разновидности коммутаторов
- Маршрутизатор
- Модель osi Сетевая модель osi
- [Править] Уровни модели osi
- [Править] Прикладной уровень
- [Править] Представительский уровень
- [Править] Сеансовый уровень
- [Править] Транспортный уровень
- [Править] Сетевой уровень
- [Править] Канальный уровень
- [Править] Физический уровень
- [Править] Соответствие модели osi и других моделей сетевого взаимодействия
- [Править] Семейство tcp/ip
- [Править] Семейство ipx/spx
- [Править] Критика
- Модель osi Общая характеристика модели osi
- Физический уровень
- Канальный уровень
- Функции канального уровня
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Представительный уровень
- Прикладной уровень
- Сетезависимые и сетенезависимые уровни
- Протокол tcp/ip
- [Править] Уровни стека tcp/ip
- [Править] Физический уровень
- [Править] Канальный уровень
- [Править] Сетевой уровень
- [Править] Транспортный уровень
- [Править] Прикладной уровень
- Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?
- Как посмотреть текущие соединения?
- Адресация в ip
- Бесклассовая адресация
- [Править] Диапазоны адресов
- [Править] Математическое обоснование
- [Править] Возможные маски
- [Править] Ссылки
- [Править] См. Также
- Классовая адресация
- [Править] Основные понятия
- Идентификаторы сетей и узлов
- Преобразование ip-адреса из двоичного формата в десятичный
- Упражнения
- Занятие2. Классы ip-адресов
- Изучив материал этого занятия, Вы сможете:
- Класс а
- Класс в
- Класс с
- Класс d
- Назначение идентификаторов сетей
- Назначение идентификаторов узлов
- Корректные идентификаторы узлов
- Методика назначения ip-адресов
- Упражнения
- Занятие4. Ip-адреса и маски подсетей
- Изучив материал этого занятия, Вы сможете:
- Маска подсети, задаваемая по умолчанию
- Определение адреса назначения пакета
- Упражнения
- Занятие5. Ip-адресация в ip версии 6.0
- Изучив материал этого занятия, Вы сможете:
- Классы ip-адресов
- Двоичная форма записи ip-адресов
- Особые ip-адреса
- Использование масок для ip-адресации
- Распределение ip-адресов
- Маршрутизация в ip
- Icmp ошибки о недоступности хоста и сети
- Icmp ошибки перенаправления
- Icmp сообщения поиска маршрутизатора (icmp Router Discovery Messages)