- •Оглавление
- •От авторов
- •1. Основы сетей передачи данных
- •1. Эволюция компьютерных сетей
- •Два корня компьютерных сетей
- •Первые компьютерные сети
- •Конвергенция сетей
- •2. Общие принципы построения сетей
- •Простейшая сеть из двух компьютеров
- •Сетевое программное обеспечение
- •Физическая передача данных по линиям связи
- •Проблемы связи нескольких компьютеров
- •Обобщенная задача коммутации
- •Выводы
- •Вопросы и задания
- •3. Коммутация каналов и пакетов
- •Коммутация каналов
- •Коммутация пакетов
- •Выводы
- •Вопросы и задания
- •4. Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Модель OSI
- •Стандартизация сетей
- •Информационные и транспортные услуги
- •Выводы
- •Вопросы и задания
- •5. Примеры сетей
- •Обобщенная структура телекоммуникационной сети
- •Корпоративные сети
- •Интернет
- •Выводы
- •Вопросы и задания
- •6. Сетевые характеристики
- •Типы характеристик
- •Производительность
- •Надежность
- •Характеристики сети поставщика услуг
- •Выводы
- •Вопросы и задания
- •7. Методы обеспечения качества обслуживания
- •Обзор методов обеспечения качества обслуживания
- •Анализ очередей
- •Техника управления очередями
- •Механизмы кондиционирования трафика
- •Обратная связь
- •Резервирование ресурсов
- •Инжиниринг трафика
- •Работа в недогруженном режиме
- •Выводы
- •Вопросы и задания
- •2. Технологии физического уровня
- •8. Линии связи
- •Классификация линий связи
- •Типы кабелей
- •Выводы
- •Вопросы и задания
- •9. Кодирование и мультиплексирование данных
- •Модуляция
- •Дискретизация аналоговых сигналов
- •Методы кодирования
- •Мультиплексирование и коммутация
- •Выводы
- •Вопросы и задания
- •10. Беспроводная передача данных
- •Беспроводная среда передачи
- •Беспроводные системы
- •Технология широкополосного сигнала
- •Выводы
- •Вопросы и задания
- •11. Первичные сети
- •Сети PDH
- •Сети SONET/SDH
- •Сети DWDM
- •Сети OTN
- •Выводы
- •Вопросы и задания
- •3. Локальные вычислительные сети
- •Общая характеристика протоколов локальных сетей на разделяемой среде
- •Ethernet со скоростью 10 Мбит/с на разделяемой среде
- •Технологии Token Ring и FDDI
- •Беспроводные локальные сети IEEE 802.11
- •Выводы
- •Вопросы и задания
- •13. Коммутируемые сети Ethernet
- •Мост как предшественник и функциональный аналог коммутатора
- •Коммутаторы
- •Скоростные версии Ethernet
- •Архитектура коммутаторов
- •Выводы
- •Вопросы и задания
- •14. Интеллектуальные функции коммутаторов
- •Алгоритм покрывающего дерева
- •Агрегирование линий связи в локальных сетях
- •Фильтрация трафика
- •Виртуальные локальные сети
- •Ограничения коммутаторов
- •Выводы
- •Вопросы и задания
- •4. Сети TCP/IP
- •15. Адресация в стеке протоколов TCP/IP
- •Стек протоколов TCP/IP
- •Формат IP-адреса
- •Система DNS
- •Протокол DHCP
- •Выводы
- •Вопросы и задания
- •16. Протокол межсетевого взаимодействия
- •Схема IP-маршрутизации
- •Маршрутизация с использованием масок
- •Фрагментация IP-пакетов
- •Выводы
- •Вопросы и задания
- •17. Базовые протоколы TCP/IP
- •Протоколы транспортного уровня TCP и UDP
- •Общие свойства и классификация протоколов маршрутизации
- •Протокол RIP
- •Протокол OSPF
- •Маршрутизация в неоднородных сетях
- •Протокол BGP
- •Протокол ICMP
- •Выводы
- •Вопросы и задания
- •Фильтрация
- •Стандарты QoS в IP-сетях
- •Трансляция сетевых адресов
- •Групповое вещание
- •IPv6 как развитие стека TCP/IP
- •Маршрутизаторы
- •Выводы
- •Вопросы и задания
- •5. Технологии глобальных сетей
- •19. Транспортные услуги и технологии глобальных сетей
- •Базовые понятия
- •Технология Frame Relay
- •Технология ATM
- •Виртуальные частные сети
- •IP в глобальных сетях
- •Выводы
- •Вопросы и задания
- •20. Технология MPLS
- •Базовые принципы и механизмы MPLS
- •Протокол LDP
- •Мониторинг состояния путей LSP
- •Инжиниринг трафика в MPLS
- •Отказоустойчивость путей MPLS
- •Выводы
- •Вопросы и задания
- •21. Ethernet операторского класса
- •Обзор версий Ethernet операторского класса
- •Технология EoMPLS
- •Ethernet поверх Ethernet
- •Выводы
- •Вопросы и задания
- •22. Удаленный доступ
- •Схемы удаленного доступа
- •Коммутируемый аналоговый доступ
- •Коммутируемый доступ через сеть ISDN
- •Технология ADSL
- •Беспроводной доступ
- •Выводы
- •Вопросы и задания
- •23. Сетевые службы
- •Электронная почта
- •Веб-служба
- •IP-телефония
- •Протокол передачи файлов
- •Выводы
- •Вопросы и задания
- •24. Сетевая безопасность
- •Типы и примеры атак
- •Шифрование
- •Антивирусная защита
- •Сетевые экраны
- •Прокси-серверы
- •Протоколы защищенного канала. IPsec
- •Сети VPN на основе шифрования
- •Выводы
- •Вопросы и задания
- •Ответы на вопросы
- •Алфавитный указатель
588 |
Глава 17. Базовые протоколы TCP/IP |
С появлением автономных систем появляется третий, верхний, уровень маршрутизации — теперь сначала маршрут определяется как последовательность автономных систем, за тем —как последовательность сетей и только потом ведет к конечному узлу.
Выбор маршрута между автономными системами осуществляют внешние шлюзы, ис пользующие особый тип протокола маршрутизации, так называемый внешний шлюзовой протокол (Exterior Gateway Protocol, EGP). В настоящее время для работы в такой роли сообщество Интернета утвердило стандартный пограничный шлюзовой протокол версии 4 (Border Gateway Protocol, BGPv4). В качестве адреса следующего маршрутизатора в про токоле BGPv4 указывается адрес точки входа в соседнюю автономную систему.
За маршрут внутри автономной системы отвечают внутренние шлюзовые протоколы
(Interior Gateway Protocol, IGP). К числу IGP относятся знакомые нам протоколы RIP, OSPF и IS-IS. В случае транзитной автономной системы эти протоколы указывают точ ную последовательность маршрутизаторов от точки входа в автономную систему до точки выхода из нее.
ПРИМЕЧАНИЕ--------------------------------------------------------------------------------------------------
Внутри каждой автономной системы может применяться любой из существующих протоколов маршрутизации, в то время как между автономными системами всегда применяется один и тот же протокол, являющийся своеобразным языком «эсперанто», на котором автономные системы обща ются между собой.
Концепция автономных систем скрывает от администраторов магистрали Интернета про блемы маршрутизации пакетов на более низком уровне —уровне сетей. Для администрато ра магистрали неважно, какие протоколы маршрутизации применяются внутри автоном ных систем, для него существует единственный протокол маршрутизации —BGPv4.
Протокол BGP
Пограничный (внешний) шлюзовой протокол (Border Gateway Protocol, BGP) версии 4 является сегодня основным протоколом обмена маршрутной информацией между авто номными системами Интернета. Протокол BGP пришел на смену протоколу EGP1, ис пользовавшемуся в тот начальный период, когда Интернет имел единственную магистраль. Эта магистраль являлась центральной автономной системой, к которой присоединялись в соответствии с древовидной топологией все остальные автономные системы. Так как между автономными системами при такой структуре петли исключались, протокол EGP не предпринимал никаких мер для того, чтобы исключить зацикливание маршрутов.
BGPv4успешно работаетпри любойтопологий свйаей междуавтономнымиеиотейамй*чтоС0* ответствуетоовремешомусщ т нт Интернета,
Поясним основные принципы работы BGP на примере (рис. 17.21).
1EGP в данном случае является названием конкретного протокола маршрутизации. Напомним, что аббревиатура EGP служит также названием класса внешних шлюзовых протоколов, используемых для маршрутизации между автономными системами, что вносит некоторую путаницу.
Протокол BGP |
589 |
В каждой из трех автономных систем (AS 1021, AS 363 и AS 520) имеется несколько марш рутизаторов, исполняющих роль внешних шлюзов. На каждом из них работает протокол BGP, с помощью которого они общаются между собой.
Маршрутизатор взаимодействует с другими маршрутизаторами по протоколу BGP только в том случае, если администратор явно указывает при конфигурировании, что эти марш рутизаторы являются его соседями. Например, маршрутизатор EG1 в рассматриваемом примере будет взаимодействовать по протоколу BGP с маршрутизатором EG2 не потому, что эти маршрутизаторы соединены двухточечным каналом, а потому, что при конфигу рировании маршрутизатора EG1 в качестве соседа ему был указан маршрутизатор EG2 (с адресом 194.200.30.2). Аналогично, при конфигурировании маршрутизатора EG2 его соседом был назначен маршрутизатор EG1 (с адресом 194.200.30.1).
Такой способ взаимодействия удобен в ситуации, когда маршрутизаторы, обмениваю щиеся маршрутной информацией, принадлежат разным поставщикам услуг (ISP). Адми нистратор ISP может решать, с какими автономными системами он будет обмениваться трафиком, а с какими нет, задавая список соседей для своих внешних шлюзов. Протоколы RIP и QSPF, разработанные для применения внутри автономной системы, обмениваются маршрутной информацией со всеми маршрутизаторами, находящимися в пределах их непосредственной досягаемости (по локальной сети или через двухточечный канал). Это означает, что информация обо всех сетях появляется в таблице маршрутизации каждого маршрутизатора, так что каждая сеть оказывается достижимой для каждой. В корпоратив ной сети это нормальная ситуация, а в сетях ISP нет, поэтому протокол BGP и исполняет здесь особую роль.
Дляустановления сеанса с указанными соседями BGP-маршрутизаторы используют про токолTCP (порт 179). При установлении BGP-сеанса могут применяться разнообразные способы аутентификации маршрутизаторов, повышающие безопасность работы автоном ных систем.
590 |
Глава 17. Базовые протоколы TCP/IP |
Основным сообщением протокола BGP является сообщение UPDATE (обновить), с по мощью которого маршрутизатор сообщает маршрутизатору соседней автономной системы о достижимости сетей, относящихся к его собственной автономной системе. Само название этого сообщения говорит о том, что это —триггерное объявление, которое посылается соседу только тогда, когда в автономной системе что-нибудь резко меняется: появляются новые сети или новые пути к сетям либо же, напротив, исчезают существовавшие сети или пути.
В одном сообщении UPDATE можно объявить об одном новом маршруте или аннулиро вать несколько маршрутов, переставших существовать. Под маршрутом в BGP понимает ся последовательность автономных систем, которую нужно пройти на пути к указанной в адресе сети. Более формально информация о маршруте (BGP Route) к сети (Network/ Mask_length) выглядит так:
BGP Route = AS_Path; NextHop; Network/Mask length;
Здесь AS_P&th —набор номеров автономных систем, NextHop —ІР-адрес маршрутизато ра, через который нужно передавать пакеты в сеть Network/Mask_length. Например, если маршрутизатор EG1 хочет объявить маршрутизатору EG2 о том, что в AS 1021 появилась новая сеть 202.100.5.0/24, то он формирует такое сообщение:
AS 1021; 194.200.30.1; 202.100.5.0/24,
после чего передает его маршрутизатору EG2 автономной системы AS 363 (с которым у него, конечно, должен быть установлен BGP-сеанс).
Маршрутизатор EG2, получив сообщение UPDATE, запоминает в своей таблице маршру тизации информацию о сети 202.100.5.0/24 вместе с адресом следующего маршрутизатора 194.200.30.1 и отметкой о том, что эта информация была получена по протоколу BGP. Маршрутизатор EG2 обменивается маршрутной информацией с внутренними шлюзами системы AS 363 по какому-либо протоколу группы IGP, например OSPF. Если у EG2 уста новлен режим перераспределения маршрутов BGP в маршруты OSPF, то все внутренние шлюзы AS 363 узнают о существовании сети 202.100.5.0/24 с помощью объявления OSPF, которое будет внешним. В качестве адреса следующего маршрутизатора маршрутизатор EG2 начнет теперь объявлять адрес собственного внутреннего интерфейса, например 192.17.100.2.
Однако для распространения сообщения о сети 202.100.5.0/24 в другие автономные систе мы, например в AS 520, протокол OSPF использоваться не может. Маршрутизатор EG3, связанный с маршрутизатором EG4 автономной системы 520, должен пользоваться про токолом BGP, генерируя сообщение UPDATE нужного формата. Для решения этой задачи он не может задействовать информацию о сети 202.100.5.0/24, полученную от протокола OSPF через один из своих внутренних интерфейсов, так как она имеет другой формат и не содержит, например, сведений о номере автономной системы, в которой находится эта сеть.
Проблема решается за счет того, что маршрутизаторы EG2 и EG3 также устанавливают между собой BGP-сеанс, хотя они и принадлежат одной и той же автономной системе. Такая реализация протокола BGP называется внутренней (Interior BGP, iBGP), в отличие от основной, внешней (Exterior BGP, eBGP). В результате маршрутизатор EG3 получает нужную информацию от маршрутизатора EG2 и передает ее внешнему соседу —марш
Протокол ICMP |
591 |
рутизатору EG4. При формировании нового сообщения UPDATE маршрутизатор EG3 трансформирует сообщение, полученное от маршрутизатора EG2, добавляя в список авто номных систем собственную автономную систему AS 520, а полученный адрес следующего маршрутизатора заменяет адресом собственного интерфейса:
AS 363, AS 1021; 132.15.64.3; 202.100.5.0/24.
Номера автономных систем позволяют исключать зацикливание сообщений UPDATE. Например, когда маршрутизатор EG5 передаст сообщение о сети 202.100.5.0/24 маршру тизатору EG6, то последний не будет его использовать, так как оно будет иметь вид:
AS 520, AS 363, AS 1021; 201.14.110.3; 202.100.5.0/24.
Так как в списке автономных систем уже есть номер собственной автономной системы, очевидно, что сообщение зациклилось.
Протокол BGP используется сегодня не только для обмена маршрутной информацией между автономными системами, но и внутри них.
Протокол ICMP
сообщений (Internet Control Message Protocol, ICMP) (RFC 792) Я8ЛЙЄТСЙ вспомогательным протоколом» йолользующимся длядиагностики и Мони
торинга СеТИ. ' |
• * г . |
. |
. |
. |
Можно представить ряд ситуаций, когда протокол IP не может доставить пакет адресату, например истекает время жизни пакета, в таблице маршрутизации отсутствует маршрут к заданному в пакете адресу назначения, пакет не проходит проверку по контрольной сумме, шлюз не имеет достаточно места в своем буфере для передачи какого-либо пакета и т. д., и т. п.
Как мы не раз отмечали, протокол IP доставляет данные, руководствуясь принципом «по возможности», то есть не предпринимает мер для гарантированной передачи данных адресату Это свойство «необязательности» протокола IP компенсируется протоколами более высоких уровней стека TCP/IP, например TCP на транспортном уровне и в какой-то степени DNS на прикладном уровне. Они берут на себя обязанности по обеспечению на дежности, применяя такие известные приемы, как нумерация сообщений, подтверждение доставки, повторная посылка данных.
Протокол ICMP также служит дополнением, компенсирующим ненадежность протоко ла IP, но несколько другого рода. Он не предназначен для исправления возникших при передаче пакета проблем: если пакет потерян, ICMP не может послать его заново. Задача ICMP другая —он является средством оповещения отправителя о «несчастных случаях», произошедших с его пакетами. Пусть, например, протокол IP, работающий на каком-либо маршрутизаторе, обнаружил, что пакет для дальнейшей передачи по маршруту необходимо фрагментировать, но в пакете установлен признак DF (не фрагментировать). Протокол IP, обнаруживший, что он не может передать IP-пакет далее по сети, прежде чем отбросить пакет, должен отправить диагностическое ІСМР-сообщение конечному узлу-источнику.
592 |
Глава 17. Базовые протоколы TCP/IP |
Для передачи по сети ІСМР-сообщение инкапсулируется в поле данных ІР-пакета. ІРадрес узла-источника определяется из заголовка пакета, вызвавшего инцидент.
Сообщение, прибывшее в узел-источник, может быть обработано там либо ядром опера ционной системы, либо протоколами транспортного и прикладного уровней, либо при ложениями, либо просто проигнорированы. Важно, что обработка ІСМР-сообщений не входит в обязанности протоколов IP и ICMP
Заметим, что некоторые из пакетов могут исчезнуть в сети, не вызвав при этом никаких оповещений. В частности, протокол ICMP не предусматривает передачу сообщений о про блемах, возникающих при обработке IP-пакетов, несущих ICMP-сообщения об ошибках. Такое решение было принято разработчиками протокола, чтобы не порождать «штормы» в сетях, когда количество сообщений об ошибках лавинообразно возрастает.
Особенностью протокола ICMP является функциональное разнообразие решаемых задач, а следовательно, и связанных с этим сообщений. Все типы сообщений имеют один и тот же формат (рис. 17.22), однако интерпретация полей существенно зависит от того, к какому типу относится сообщение.
< —1 байт^-> |
1 байт-* <--------- 2 байта---------- ► |
||
Тип |
Код |
Контрольная |
|
сумма |
|||
|
|
||
Зависит от типа |
Зависит от типа |
||
и кода сообщения |
и кода сообщения |
||
, ■- ) |
|
|
|
Зависит от типа икодасообщений |
|||
. |
, V_ .. , |
V у': |
Рис. 17.22. Формат ЮМР-сообщения
Заголовок ІСМР-сообщения состоит из 8 байт:
□тип (1 байт) —числовой идентификатор типа сообщения;
□код (1 байт) —числовой идентификатор, более тонко дифференцирующий тип ошибки;
□контрольная сумма (2 байта) —подсчитывается для всего ІСМР-сообщения.
Содержимое оставшихся четырех байтов взаголовке и поледанныхзависит от значений полей типа и кода.
На рис. 17.23 показана таблица основных типов ІСМР-сообщений. Эти сообщения можно разделить на две группы (помеченные на рисунке условными символами):
□сообщения об ошибках-,
□сообщения запрос-ответ.
Сообщения типа запрос-ответ связаны в пары: эхо-запрос —эхо-ответ, запрос маски - ответ маски, запрос времени —ответ времени. Отправитель сообщения-запроса всегда рассчитывает на получение соответствующего сообщения-ответа.
Протокол ICMP |
593 |
Таблица кодов причин ошибок 3
Таблица типов ІСМР-сообщений
Значение в поле «Тип»
11
12
13
14
17
18
|
|
КОД |
Причина |
|
Тип сообщения |
|
0 |
|
Сеть недостижима |
|
1 |
|
Узел недостижим |
|
|
|
|
||
Эхо-ответ |
/А/ |
2 |
|
Протокол недостижим |
3 |
|
Порт недостижим |
||
Узел назначения недостижим |
/ |
4 |
|
Ошибка фрагментации |
5 |
|
Ошибка в маршруте источника |
||
-----------------------L |
|
|||
Подавление источника |
V |
6 |
|
Сеть назначения не известна |
Перенаправление маршрута |
У |
7 |
|
Узел назначения не известен |
8 |
|
Узел-источник изолирован |
||
Эхо-запрос |
V ? / |
9 |
Административный запрет |
|
|
|
|||
Истечение времени диаграммы |
V |
|
|
|
Проблема с параметрами пакета |
V |
|
? |
сообщение-запрос |
|
С Г> сообщение-ответ |
|||
Запрос отметки времени |
, ?N |
|
||
|
V |
сообщение-ошибка |
||
Ответ отметки времени |
ЧхУ |
|
|
|
Запрос маски |
, ? N |
|
|
|
Ответ маски |
|
|
|
|
Рис. 17.23. Типы и коды ІСМР-сообщений
Сообщения, относящиеся к группе сообщений об ошибках, конкретизируются уточняющим кодом. На рисунке показан фрагмент таблицы кодов для сообщения об ошибке недостижи мости узла назначения, имеющей тип 3. Из таблицы мы видим, что это сообщение может быть вызвано различными причинами, такими как неверный адрес сети или узла (код О или 1), отсутствием на конечном узле-адресате необходимого протокола прикладного уровня(код 2 —«протокол недостижим») или открытого порта UDP/TCP (код 3 —«порт недостижим»). Узел (или сеть) назначения может быть также недостижим по причине временной неработоспособности аппаратуры или из-за того, что маршрутизатор не имеет данных о пути к сети назначения. Всего таблица содержит 15 кодов. Аналогичные таблицы кодов существуют и для других типов сообщений об ошибках.
Утилита traceroute
Вкачестве примера рассмотрим использование сообщений об ошибках в популярной утилите мониторинга сети traceroute.
Когда маршрутизатор не может передать или доставить ІР-пакет, он отсылает узлу, отпра вившему этот пакет, сообщение о недостижимости узла назначения. Формат этого сообще ния показан на рис. 17.24. В поле типа помещается значение 3, а в поле кода —значение издиапазона 0-15, уточняющее причину, по которой пакет не был доставлен. Следующие за полем контрольной суммы четыре байта заголовка не используются и заполняются , нулями.
594 |
|
Глава 17. Базовые протоколы TCP/ |
|
< —1 байт - ►Ц 1 байт >\< |
*\ |
О. |
|
|
|
||
Тип = 3 |
Код = -15 |
Контрольная |
|
сумма |
|
||
|
|
|
Не используется
Поледанных
Заголовок + В первыхбайтполяданных, вызвавшегоошибку1Р-паквта
ЇЇ' ,'.
Рис. 17.24. Формат ICMP-сообщения об ошибке недостижимости узла назначения
Помимо причины ошибки, указанной в заголовке (в полях типа и кода), дополнитель: диагностическая информация передается в поле данных ІСМР-сообщения. Именно т помещается заголовок IP и первые 8 байт данных того IP-пакета, который вызвал оши< Эта информация позволяет узлу-отправителю еще точнее диагностировать причину ош ки. Это возможно, так как все протоколы стека TCP/IP, использующие для передачи св сообщений IP-пакеты, помещают наиболее важную для анализа информацию в пер 8 байт своих сообщений. В частности, ими вполне могут оказаться первые 8 байт заголс TCP или UDP, в которых содержится информация (номер порта), идентифицирую! приложение, пославшее потерянный пакет. Следовательно, при разработке приложе можно предусмотреть встроенные средства реакции на сообщения о недоставлені пакетах.
ІСМР-сообщения об ошибках лежат в основе работы популярной утилиты traceroute Unix, имеющей в Windows название tracert. Эта утилита позволяет проследить маршру удаленного хоста, определить среднее время оборота (RTT), IP-адрес и в некоторых сл; ях доменное имя каждого промежуточного маршрутизатора. Такая информация помо найти маршрутизатор, на котором обрывается путь пакета к удаленному хосту.
Утилита traceroute осуществляет трассировку маршрута, посылая серию обычных пакетов в конечную точку изучаемого маршрута. Идея метода состоит в следующем. Зн. ние времени жизни (TTL) первого отправляемого пакета устанавливается равным 1. К< протокол IP первого маршрутизатора принимает этот пакет, то он в соответствии со св> алгоритмом уменьшает значение TTL на 1 и получает 0. Маршрутизатор отбрасывает ні с нулевым временем жизни и возвращает узлу-источнику ІСМР-сообщение об оши истечения времени дейтаграммы (значение поля типа равно 11) вместе с заголовкол и первыми 8 байтами потерянного пакета.
Получив ІСМР-сообщение о причине недоставки пакета, утилита traceroute запомиї адрес первого маршрутизатора (который извлекает из заголовка IP -пакета, несуии ІСМР-сообщение).
Затем traceroute посылает следующий IP -пакет, но теперь со значением TTL, равных Этот пакет благополучно проходит первый маршрутизатор, но «умирает» на втором, о1 немедленно отправляется аналогичное ІСМР-сообщение об ошибке истечения времі дейтаграммы. Утилита traceroute запоминает адрес второго маршрутизатора и т. д. Та
Протокол ICMP |
595 |
действия выполняются с каждым маршрутизатором вдоль маршрута вплоть до узла на значения или неисправного маршрутизатора. Мы рассматриваем работу утилиты traceroute весьмасхематично, но и этого достаточно, чтобы оценить изящество идеи, лежащей в осно веее работы. Остальные ІСМР-сообщения об ошибках имеют такой же формат и отлича ютсядруг от друга только значениями полей типа и кода.
Далее приведена копия экранной формы, выведенной утилитой tracert (Windows) при трассировке хоста ds.jnternic.net [198.49.45.29]:
1 |
311 |
ms2 9 0 |
ms |
2 6 1 |
|
ms 1 4 4 . 2 0 6 . 1 9 2 . 1 0 0 |
|
|
|
|
|||||||
2 |
281 |
ms3 0 0 |
ms |
2 7 1 |
|
ms 1 9 4 . 8 5 . 7 3 . 5 |
|
|
|
|
|||||||
3 2 0 2 3 ms 2 9 0 ms 3 1 1 ms m o s c o w - m 9 - 2 - S 5 . r e l c o m . e u . n e t |
[ 1 9 3 . 1 2 4 . 2 5 4 . 3 7 ] |
||||||||||||||||
4 |
290 |
ms2 6 1 |
ms |
2 8 0 |
|
ms M S K - M 9 - 1 3 . R e l c o m . E U . n e t [ 1 9 3 . 1 2 5 . 1 5 . 1 3 ] |
|||||||||||
5 |
270 |
ms2 8 1 |
ms |
2 9 0 |
|
ms M S K . R A I L - l - A T M 0 - 1 5 5 M b . R e l c o m . E U . n e t |
[ 1 9 3 . 1 2 4 . 2 5 4 . 8 2 ] |
||||||||||
6 |
300 |
ms3 1 1 |
ms |
2 9 0 |
|
ms S P B - R A S C 0 M - l - E 3 - l - 3 4 M b . R e l c o m . E U . n e t |
[ 1 9 3 . 1 2 4 . 2 5 4 . 7 8 ] |
||||||||||
7 |
311 |
ms |
3 0 0 |
ms |
|
3 0 0 |
|
ms |
H s s i l l - 0 . G W 1 . S T K 2 . A L T E R . N E T |
[ 1 4 6 . 1 8 8 . 3 3 . 1 2 5 ] |
|||||||
8 |
311 |
ms |
3 3 0 |
ms |
|
2 9 1 |
|
ms |
4 2 1 . A T M 6 - 0 - 0 . C R 2 . S T K 2 . A l t e r . N e t |
[ 1 4 6 . 1 8 8 . 5 . 7 3 ] |
|||||||
9 |
360 |
ms |
>331 |
ms |
3 3 0 |
|
ms |
2 1 9 . H s s i 4 - 0 . C R 2 . L N D 1 . A 1 t e r . N e t |
[ 1 4 6 . 1 8 8 . 2 . 2 1 3 ] |
||||||||
10 |
351 |
|
ms3 3 0 |
|
ms |
3 3 1 |
ms |
4 1 2 . A t m 5 - 0 . B R l . L N D l . A l t e r . n e t |
[ 1 4 6 . 1 8 8 . 3 . 2 0 5 ] |
||||||||
11 |
4 20 |
|
ms4 6 1 |
|
ms |
4 2 0 |
ms |
1 6 7 . A T M 8 - 0 - 0 . C R 1 . A T L 1 . A l t e r . N e t |
[ 1 3 7 . 3 9 . 6 9 . 1 8 2 ] |
||||||||
12 |
461 |
|
ms4 4 1 |
|
ms |
4 4 0 |
ms |
3 1 1 . A T M 1 2 - 0 - 0 . B R I . A T L 1 . A 1 t e r . N e t |
[ 1 3 7 . 3 9 . 2 1 . 7 3 ] |
||||||||
13 |
451 |
|
ms4 1 0 |
|
ms |
4 3 1 |
ms |
a t l a n t a l - b r l . b b n p l a n e t . n e t |
[ 4 . 0 . 2 . 1 4 1 ] |
||||||||
14 |
4 2 0 |
|
ms4 1 1 |
|
ms |
4 1 0 |
ms |
v i e n n a l - b r 2 . b b n p l a n e t . n e t |
[ 4 . 0 . 3-. 1 5 4 ] |
||||||||
15 |
411 |
ms |
|
4 3 0 |
ms |
|
2 5 1 4 |
ms |
v i e n n a l - n b r 3 . b b n p l a n e t . n e t |
[ 4 . 0 . 3 . 1 5 0 ] |
|||||||
16 |
4 3 0 |
|
ms4 2 1 |
|
ms |
4 4 1 |
ms |
v i e n n a l - n b r 2 . b b n p l a n e t . n e t |
[ 4 . 0 . 5 . 4 5 ] |
||||||||
17 |
431 |
|
ms4 5 1 |
|
ms |
4 2 0 |
ms |
c a m |
b r i d g e l - b r l . b b n p l a n e t . n e t |
[ 4 . 0 . 5 . 4 2 ] |
|||||||
18 4 50 ms 4 6 1 ms 4 4 1 |
M С c a m b r i d g e l - c r l 4 . b b n p l a n e t . n e t |
[ 4 . 0 . 3 . 9 4 ] |
|||||||||||||||
19 |
451 |
M |
С |
4 6 1 |
M |
|
С |
4 6 0 |
M |
С |
a t t b c s t o l l . b b n p l a n e t . n e t |
[ 2 0 6 . 3 4 . 9 9 . 3 8 ] |
|||||
20 |
501 |
M |
С |
4 6 0 |
M |
|
С |
4 8 1 |
M |
С |
s h u t d o w n . d s . i n t e r n i c . n e t |
[ 1 9 8 . 4 9 . 4 5 . 2 9 ] |
Последовательность строк соответствует последовательности маршрутизаторов, образую щих маршрут к заданному узлу. Первое число в строке —число хопов до соответствующего маршрутизатора. Утилита traceroute тестирует каждый маршрутизатор трижды, поэтому следующие три числа в строке —это значения RTT, вычисленные путем посылки трех па кетов, время жизни которых истекло на этом маршрутизаторе. Если ответ от какого-либо маршрутизатора не приходит за заданное время, то вместо времени на экране печатается звездочка (*).
Далее идут IP-адрес и доменное имя (если оно имеется) маршрутизатора. Видно, что поч ти все интерфейсы маршрутизаторов поставщиков услуг Интернета зарегистрированы вслужбе DNS, а первые два, относящиеся к локальным маршрутизаторам, —нет.
Еще раз подчеркнем, что время, указанное в каждой строке, это не время прохождения пакетов между двумя соседними маршрутизаторами, а время, за которое пакет проделы вает путь от источника до соответствующего маршрутизатора и обратно. Так как ситуация в Интернете с загрузкой маршрутизаторов постоянно меняется, то время достижимости маршрутизаторов не всегда нарастает монотонно, а может изменяться достаточно произ вольным образом.
596 |
Глава 17. Базовые протоколы TCP/IP |
Утилита ping
А сейчас давайте рассмотрим представителей другой группы ІСМР-сообщений —эхо- запросы и эхо-ответы и поговорим об использовании этих сообщений в известной утилите ping.
Эхо-запрос и эхо-ответ, в совокупности называемые эхо-протоколом, представляют со бой очень простое средство мониторинга сети. Компьютер или маршрутизатор посылает по составной сети ІСМР-сообщение эхо-запроса, указывая в нем IP-адрес узла, достижи мость которого нужно проверить. Узел, получивший эхо-запрос, формирует и отправляет эхо-ответ отправителю запроса. Так как эхо-запрос и эхо-ответ передаются по сети внутри IP-пакетов, то их успешная доставка означает нормальное функционирование всей транс портной системы составной сети.
Формат эхо-запроса и эхо-ответа показан на рис. 17.25. Поле типа для эхо-ответа рав но 0, для эхо-запроса —8; поле кода всегда равно 0 и для запроса, и для ответа. В бай тах 5 и 6 заголовка содержится идентификатор запроса, в байтах 7 и 8 —порядковый номер. В поле данных эхо-запроса может быть помещена произвольная информация, которая в соответствии с данным протоколом должна быть скопирована в доле данных эхо-ответа.
1байт^-^r<—1 байт-> < ----------2 байта-----------► |
о. |
||
Тип * 0/8 |
Код *0 |
Контрольная |
і |
|
|
сумма |
|
Идентификатор |
Порядковый |
|
|
запроса |
номер |
я |
|
|
|
|
Поледанных
Рис. 17.25. Формат ІСМР-сообщений типа эхо-запрос и эхо-ответ
Поля идентификатора запроса и порядкового номера используются одинаковым о разом всеми сообщениями типа запрос-ответ. Посылая запрос, приложение помеща
вэти два поля информацию, которая предназначена для последующего встраивания
всоответствующий ответ. Сообщение-ответ копирует значения этих полей в свои по того же назначения. Когда ответ возвращается в пункт отправки сообщения-запроса, на основании идентификатора он может «найти и опознать» приложение, пославшее прос. А порядковый номер используется приложением, чтобы связать полученный ОТ) с соответствующим запросом (учитывая, что одно приложение может выдать несколі однотипных запросов).
Утилита ping обычно посылает серию эхо-запросов к тестируемому узлу и предоставл пользователю статистику об утерянных эхо-ответах и среднем времени реакции сет* запросы. Утилита ping выводит на экран сообщения следующего вида обо всех поступ ших ответах: