Тайм-ауты и повторные передачи TCP


Таймауты и повторные передачи TCP


Введение
Введение TCP - это надежный транспортный уровень. Один из способов обеспечения надежности заключается в том, что удаленный участник обмена подтверждает полученные данные. Однако, сегменты данных,...
Простой пример использования таймаутов и повторных передач
Простой пример использования тайм-аутов и повторных передач Во-первых, давайте рассмотрим стратегию повторных передач, которая используется TCP. Мы установим соединение, отправим какие-нибудь данн...
Простой пример таймаута и повторной передачи TCP
Рисунок 21.1 Простой пример тайм-аута и повторной передачи TCP.Строки 1, 2 и 3 соответствуют обычному установлению TCP соединения. Строка 4 это передача "hello, world" (12 символов плюс...
Определение времени возврата
Определение времени возврата Основой тайм-аутов и повторных передач TCP является расчет времени возврата (RTT - round-trip time), соответствующего данному соединению. Мы ожидаем, что оно может изм...
Алгоритм Карна
Алгоритм Карна В процессе повторной передачи пакета могут возникнуть проблемы. Скажем, пакет передан, тайм-аут отработан, RTO экспотенциально увеличен, как показано в разделе "Простой пример...
Пример RTT
Пример RTT В этой главе мы рассмотрим примеры, которые проиллюстрируют детали разных реализаций TCP тайм-аутов и повторных передач, медленный старт и предотвращение переполнения. С помощью програм...
Обмен пакетами и расчет RTT
Рисунок 21.2 Обмен пакетами и расчет RTT.Также обратите внимание на то, что на этом рисунке мы пронумеровали сегменты 1-13 и 15 в том порядке, в котором они были отправлены или приняты хостом slip...
Определение времени возврата
Определение времени возврата Три большие фигурные скобки, находящиеся с левой стороны временной диаграммы, указывают на то, какие сегменты были использованы при расчете RTT. Не для всех сегментов...
Расчет RTT и тики часов
Рисунок 21.3 Расчет RTT и тики часов.Вверху мы показали тики часов, каждые 500 миллисекунд. Внизу - моменты времени, полученные из вывода команды tcpdump, и то, когда таймер соединения включался и...
Рассчитанные RTT и RTO TCP для этого примера
Рисунок 21.4 Рассчитанные RTT и RTO TCP для этого примера.Первые три точки, которые соответствующие измеренным RTT, соответствуют трем RTT, которые мы показали на рисунке 21.2. Пропуски в значения...
Расчет оценочных функций RTT
Расчет оценочных функций RTT Давайте посмотрим, как устанавливаются и обновляются оценочные функции RTT (хэшированный RTT и хэшированное среднее отклонение), и как рассчитывается тайм-аут для кажд...
Таймаут и повторная передача исходного SYN
Рисунок 21.5 Тайм-аут и повторная передача исходного SYN.Когда тайм-аут возникает позже, через 5,802 секунды, текущий RTO рассчитывается следующим образомRTO = A + 4D = 0 + 4 x 3 = 12 секундЗатем...
Медленный старт
Медленный старт Мы описали алгоритм медленного старта в разделе "Медленный старт" главы 20, а также видели его в действии на рисунке 21.2. Первоначально по соединению отправляется только...
Пример переполнения
Пример переполнения Давайте теперь рассмотрим передачу сегментов данных. На рисунке 21.6 показана зависимость стартового номера последовательности сегмента от времени, когда сегмент был отправлен....
Отправка 32768 байт данных от slip на vangogh
Рисунок 21.6 Отправка 32768 байт данных от slip на vangogh.На рисунке 21.6 мы сразу видим три повторные передачи в моменты времени 10, 14 и 21. Во всех трех случаях только один сегмент передается...
Обмен пакетами в процессе повторной передачи в районе 10секундной метки
Рисунок 21.7 Обмен пакетами в процессе повторной передачи в районе 10-секундной метки.Мы удалили все объявления окна, за исключением сегмента 72, который мы обсудим ниже. slip всегда объявляет окн...
Алгоритм предотвращения переполнения
Алгоритм предотвращения переполнения Медленный старт, который мы описали в разделе "Медленный старт" главы 20, это способ первоначально установить поток данных по соединению. Однако, в э...
Медленный старт и предотвращение переполнения
Рисунок 21.8 Медленный старт и предотвращение переполнения.На этом рисунке мы предположили, что переполнение возникает, когда cwnd имеет значение равное 32 сегментам. ssthresh устанавливается в 16...
Быстрая повторная передача и алгоритм быстрого восстановления
Быстрая повторная передача и алгоритм быстрого восстановления В тексте не приводится достаточно жесткого разграничения между алгоритмом быстрой повторной передачи и быстрого восстановления. Это дв...
Пример переполнения (продолжение)
Пример переполнения (продолжение) Просматривая соединение с использованием tcpdump и отладочной опции сокетов (которую мы описали в разделе "Пример RTT"), мы можем увидеть значения cwnd...
Пример предотвращения переполнения
Рисунок 21.9 Пример предотвращения переполнения.что равно 885 (с использованием целочисленной арифметики). Когда прибывает следующий ACK 1025, мы рассчитаемcwnd ¬ 885 + (256 x 256)/885 + 256/8что...
Аналогичен рисунку 21 9 и показывает
Рисунок 21.10 аналогичен рисунку 21.9 и показывает значения cwnd и ssthresh. Номера сегментов в первой колонке соответствуют рисунку 21.7....
Значения cwnd и номера отправляемых последовательностей при передаче данных
Рисунок 21.10 Значения cwnd и номера отправляемых последовательностей, при передаче данных.Номер сегмента(рисунок 21.7)ДействиеПеременнаяОтправленоПолученоКомментарийcwndssthresh58ACK 6657подтверж...
Пример предотвращения переполнения (продолжение)
Рисунок 21.11 Пример предотвращения переполнения (продолжение).Значения cwnd увеличиваются постоянно, от последнего значения на рисунке 21.9 для сегмента 12 (1089), до первого значения на рисунке...
Показатели на маршрут
Показатели на маршрут Более новые реализации TCP хранят большинство из показателей, которые мы описали в этой главе в записях таблицы маршрутизации. Предположим, что TCP соединение закрыто, при эт...
ICMP ошибки
ICMP ошибки Давайте посмотрим, как TCP обрабатывает ICMP ошибки, которые возвращаются по соединению. В основном TCP обрабатывает следующие ICMP ошибки: подавление источника, хост недоступен и сеть...
Пример
Пример Мы можем посмотреть, как ICMP ошибка о недоступности хоста обрабатывается на нашем SLIP канале, когда он погашен в середине соединения. Мы установили соединение с хоста slip на хост aix. (Н...
Обработка TCP полученной ICMP ошибки о недоступности хоста
Рисунок 21.12 Обработка TCP полученной ICMP ошибки о недоступности хоста....
Пересборка пакетов
Пересборка пакетов Когда TCP отрабатывает тайм-ауты и осуществляет повторные передачи, он не должен повторно передавать идентичные сегменты (если исходно было 10 пакетов по одному байту, то при по...
Пересборка пакетов TCP
Рисунок 21.13 Пересборка пакетов TCP.В строках 1 и 2 показана первая строка ("hello there"), которая отправлена и подтверждена. Затем мы отсоединяем Ethernet кабель и печатаем "line...
Краткие выводы
Краткие выводы В этой главе детально рассматривается стратегия TCP тайм-аутов и повторных передач. Наш первый пример был посвящен потерянному SYN, с помощью которого устанавливаются соединения, и...
Упражнения
УпражненияНа рисунке 21.5 первый тайм-аут был рассчитан как 6 секунд, а следующий как 12 секунд. Если ACK для первоначального SYN не прибыл после того, как истечет 12-секундный тайм-аут, какова бу...
Введение
Введение Мы видели, что TCP получатель осуществляет управление потоком данных, указывая количество данных, которые он хочет получить от отправителя: размер окна. Что происходит, когда размер окна...
Пример
Пример Чтобы посмотреть, как работает устойчивый таймер, мы запустим принимающий процесс, который ожидает прихода запроса на соединение от клиента, принимает запрос на соединение, а затем на долго...
Пример устойчивого таймера при пробах окна нулевого размера
Рисунок 22.1 Пример устойчивого таймера при пробах окна нулевого размера. В сегментах 1-13 осуществляется обычная передача данных от клиента к серверу, при этом заполняется окно размером 9216 байт...
Синдром "глупого" окна
Синдром "глупого" окна При использовании окон в схемах управления потоком данных (таких как используется в TCP) могут возникнуть условия известные как синдром "глупого" окна (S...
Пример
Пример Сейчас мы подробно рассмотрим, как можно избежать синдрома глупого окна и как работает устойчивый таймер. Мы воспользуемся программой sock с отправляющего хоста, sun, который сделает в сеть...
Временная диаграмма показывающая как получатель предотвращает появление синдрома глупого окна
Рисунок 22.2 Временная диаграмма, показывающая, как получатель предотвращает появление синдрома глупого окна.ВремяНомер сегментаДействиеБуфер приемника(рисунок 22.2)Отправляющий TCPПринимающий TCP...
Как получатель избавляется от синдрома глупого окна
Рисунок 22.3 Как получатель избавляется от синдрома глупого окна.В первой колонке на рисунке 22.3 приводится относительный момент времени соответствующий каждому действию. Величины времени с тремя...
Краткие выводы
Краткие выводы Устойчивый таймер TCP устанавливается одним концом соединения, когда у него есть данные, которые необходимо отправить, однако отправка была остановлена, потому что другой конец соед...
Введение
Введение Большинство новичков в TCP/IP, как правило, бывают очень удивлены, когда узнают, что по свободному TCP соединению не передаются данные. А это именно так, то есть если ни один из процессов...
Описание
Описание В этом описании мы будем называть конец, на котором включается опция "оставайся в живых", сервером, а другой конец - клиентом. Ничто не запрещает клиенту установить эту опцию, о...
Примеры "оставайся в живых"
Примеры "оставайся в живых" Сейчас мы просмотрим сценарии 2, 3 и 4 из предыдущего раздела, чтобы рассмотреть обмен пакетами при использовании опции "оставайся в живых"....
Удаленный конец вышел из строя
Удаленный конец вышел из строя Давайте посмотрим, что произойдет, когда хост сервера вышел из строя и не перезагрузился. Чтобы имитировать эту ситуацию, мы поступим следующим образом:Установим сое...
Пакеты "оставайся в живых" которые определяют что хост вышел из строя
Рисунок 23.1 Пакеты "оставайся в живых", которые определяют, что хост вышел из строя.В строках 1, 2 и 3 отправляется строка "hello, world" от клиента к серверу и обратно. Перва...
Удаленный конец вышел из строя и перезагрузился
Удаленный конец вышел из строя и перезагрузился В этом примере мы увидим, что произойдет, если сервер выйдет из строя и перезагрузится. Первоначальный сценарий такой же как и раньше, однако после...
Пример "оставайся в живых" когда удаленный хост вышел из строя и перезагрузился
Рисунок 23.2 Пример "оставайся в живых", когда удаленный хост вышел из строя и перезагрузился.Мы установили соединение и послали 9 байт данных от клиента к серверу (строки 1-3). Два часа...
Удаленный конец недоступен
Удаленный конец недоступен В этом примере сервер не выходит из строя, однако он недоступен в течение 10-минутного периода, когда отправляются пробы "оставайся в живых". Вполне возможно,...
Пример "оставайся в живых" когда удаленный конец недоступен
Рисунок 23.3 Пример "оставайся в живых", когда удаленный конец недоступен.Мы начинаем этот пример так же, как и предыдущий: в строках 1-3 убеждаемся, что соединение функционирует. На пер...
Краткие выводы
Краткие выводы Как мы говорили ранее, характеристика "оставайся в живых" довольно спорная. Эксперты, работающие с протоколами, продолжают дебаты по поводу того, принадлежит ли она трансп...
Упражнения
УпражненияПриведите список достоинств характеристики "оставайся в живых".Приведите список недостатков характеристики "оставайся в живых". Назад Компания | Услуги | Для клиентов...
Введение
Введение TCP функционирует уже в течение многих лет и по SLIP каналам со скоростью 1200 бит в секунду и по Ethernet. В 80-х и начале 90-х годов Ethernet был основным типом канального уровня для TC...
Определение транспортного MTU
Определение транспортного MTU В разделе "Транспортный MTU" главы 2 мы описали концепцию транспортного MTU (path MTU). Это минимальный MTU в любой из сетей, по которым проходит маршрут ме...
Пример
Пример Увидеть, как происходит определение транспортного MTU, можно в том случае, когда промежуточный маршрутизатор имеет MTU меньше чем MTU интерфейсов конечных точек. На рисунке 24.1 показана то...
Топология для примера транспортного MTU
Рисунок 24.1 Топология для примера транспортного MTU.Мы установим соединение с хоста solaris (который поддерживает механизм определения транспортного MTU) на хост slip. Установки идентичны тем, ко...
Вывод команды tcpdump для определения транспортного MTU
Рисунок 24.2 Вывод команды tcpdump для определения транспортного MTU.В строке 4 генерируется ICMP ошибка, и мы видим, что маршрутизатор bsdi генерирует новую ICMP ошибку, содержащую MTU исходящего...
Большие пакеты или маленькие?
Большие пакеты или маленькие? Народная мудрость гласит, что лучше использовать большие пакеты [Mogul 1993, Sec.15.2.8], потому что отправка меньшего количества больших пакетов "дешевле",...
Отправка двух пакетов размером 4096 байт через четыре маршрутизатора
Рисунок 24.3 Отправка двух пакетов размером 4096 байт через четыре маршрутизатора.Основная проблема заключается в том, что маршрутизаторы это устройства, которые работают по принципу "сохрани...
Отправка 16 пакетов размером 512 байт через четыре маршрутизатора
Рисунок 24.4 Отправка 16 пакетов размером 512 байт через четыре маршрутизатора.Это передача займет больше отрезков времени, однако каждый отрезок короче, так как отправляются пакеты меньшего разме...
Каналы с повышенной пропускной способностью (Long Fat Pipes)
Каналы с повышенной пропускной способностью (Long Fat Pipes) В разделе "Пропускная способность для неинтерактивных данных" главы 20 мы сказали, что емкость соединения можно рассчитать сл...
Емкость канала для различных сетей
Рисунок 24.5 Емкость канала для различных сетей.Мы показали емкость канала в байтах, потому что именно так эта величина обычно рассчитывается на каждом конце соединения для определения размеров бу...
Гигабитные сети
Гигабитные сети Положение вещей меняется, когда скорости в сетях достигают гигабитов. [Partridge 1994] описывает гигабитные сети более подробно. Здесь мы рассмотрим различие между задержкой (латен...
Отправка файла размером 1 Мбайт по сетям с 30миллисекундной латенсией
Рисунок 24.6 Отправка файла размером 1 Мбайт по сетям с 30-миллисекундной латенсией.На рисунке 24.6 показано состояние обеих сетей через 30 миллисекунд. В обеих сетях первый бит данных достиг удал...
Опция масштабирования окна
Опция масштабирования окна Опция масштабирования окна увеличивает определение окна TCP с 16 до 32 бит. Вместо того чтобы изменять TCP заголовок, для того чтобы поместить в него окно большего разме...
Пример
Пример Если мы инициируем соединение с использованием программы sock с хоста 4.4BSD vangogh.cs.berkeley.edu, то можем увидеть, как TCP рассчитывает коэффициент масштабирования окна. Приведенный ни...
Пример опции масштабирования окна
Рисунок 24.7 Пример опции масштабирования окна.В строке 1 vangogh объявляет окно размером 65535 и указывает опцию масштабирования окна со сдвиговым счетчиком равным 1. Это объявленное окно имеет м...
Опция временной марки
Опция временной марки Опция временной марки (timestamp) позволяет отправителю поместить значение временной марки в каждый сегмент. Получатель возвращает это значение в подтверждении, что позволяет...
PAWS защита от перехода номеров последовательности через ноль
PAWS: защита от перехода номеров последовательности через ноль Представим TCP соединение, использующее опцию масштабирования окна, с максимально возможным окном, 1 гигабайт (230). (Самое большое о...
Передача 6 гигабайт в шести 1гигабайтных окнах
Рисунок 24.8 Передача 6 гигабайт в шести 1-гигабайтных окнах.32-битный номер последовательности перешел через ноль между моментами времени D и E. Мы предположили, что один сегмент потерялся в моме...
T/TCP расширение TCP для транзакций
T/TCP: расширение TCP для транзакций TCP предоставляет транспортный сервис виртуальных каналов (virtual-circuit). Существуют три определенные фазы в жизни соединения: установление соединения, пере...
Производительность TCP
Производительность TCP Цифры, которые публиковались в середине 80-х годов, показывали пропускную способность TCP по Ethernet где-то в районе 100000-200000 байт в секунду. (В разделе 17.5 [Stevens...
Размеры полей для Ethernet при расчете максимальной теоретически возможной пропускной способности
Рисунок 24.9 Размеры полей для Ethernet при расчете максимальной теоретически возможной пропускной способности.Мы должны сделать расчет для всех составляющих: преамбула, байты заполнения, которые...
Краткие выводы
Краткие выводы В этой главе рассмотрено пять новых характеристик TCP: определение транспортного MTU, опция масштабирования окна, опция временной марки, защита от перехода через 0 номера последоват...
Упражнения
УпражненияЧто означает, если система отправляет первоначальный сегмент SYN с коэффициентом масштабирования окна равным 0?Если хост bsdi на рисунке 24.7 поддерживает опцию масштабирования окна, как...
Глава 25 SNMP протокол управления
Глава 25 SNMP: протокол управления сетью Введение Так как количество сетей растет, сети разнообразным образом объединяются (маршрутизаторы различных поставщиков, хосты со встроенными функциями мар...
Пять операторов SNMP
Рисунок 25.1 Пять операторов SNMP.Менеджер отправляет эти три запроса на UDP порт 161. Агент отправляет ловушки (trap) на UDP порт 162. Так как используются два разных порта, одна система может вы...
Формат пяти SNMP сообщений
Рисунок 25.2 Формат пяти SNMP сообщений.На этом рисунке мы указали в байтах только размер IP и UDP заголовков. Это объясняется тем, что для SNMP сообщений используется кодирование - называемое ASN...
Типы PDU сообщений SNMP
Рисунок 25.3 Типы PDU сообщений SNMP. Сообщество (community) это строка символов, в которой содержится пароль в открытом виде. Пароль используется при общении между менеджером и агентом. Обычное з...
Значения статуса ошибки SNMP
Рисунок 25.4 Значения статуса ошибки SNMP.Если возникла ошибка, индекс ошибки (error index) это целое смещение, указывающее на то, в какой переменной произошла ошибка. Это значение устанавливается...
Структура управляющей информации
Структура управляющей информации SNMP использует небольшое количество различных типов данных. В этой главе мы рассмотрим эти типы, однако не будем рассматривать то, как эти данные в действительнос...
Таблица listener UDP (udpTable) которая представлена как двумерный массив SNMP
Рисунок 25.5 Таблица listener UDP (udpTable), которая представлена как двумерный массив SNMP.Количество строк в этой таблице не определяется SNMP, однако мы увидим, что менеджер, используя операто...
Идентификаторы объектов
Идентификаторы объектов Идентификатор объекта это тип данных, указывающий на полномочно названный объект. Под словом "полномочно" мы подразумеваем, что эти идентификаторы не назначаются...
Идентификаторы объектов в информационной базе управления
Рисунок 25.6 Идентификаторы объектов в информационной базе управления.Помимо идентификаторов объектов mib, приведенных на рисунке 25.6, мы также привели еще один iso.org.dod.internet.private.enter...
Введение в Информационную Базу Управления (MIB)
Введение в Информационную Базу Управления (MIB) Информационная база управления (MIB - Management Information Base) это информационная база данных, которая обслуживается агентом, а менеджер может з...
Древовидная структура таблицы IP адресов
Рисунок 25.7 Древовидная структура таблицы IP адресов.Как мы говорили ранее, группа UDP содержит четыре переменные, и одну таблицу из двух переменных. На рисунке 25.8 приведены четыре переменные.И...
Переменные в группе udp
Рисунок 25.8 Переменные в группе udp. Мы будем использовать этот формат при описании всех переменных MIB в этой главе. Колонка, помеченная как "R/W", пуста, если переменная предназначена...
Переменные в udpTable
Рисунок 25.9 Переменные в udpTable.Каждый раз, когда мы описываем переменные в SNMP таблице, первая строка рисунка содержит значение "index", используемое для обращения к каждой строке т...
Диаграммы зависимостей
Диаграммы зависимостей Здесь приводится взаимосвязь между первыми тремя счетчиками, описанными на рисунке 25.8. Диаграммы зависимостей [Case and Partridge 1989] иллюстрируют взаимосвязь между разл...
Диаграмма зависимостей для группы UDP
Рисунок 25.10 Диаграмма зависимостей для группы UDP.Эта диаграмма показывает, что количество UDP датаграмм, доставленных приложению (udpInDatagrams), можно получить как количество UDP датаграмм, д...
Примеры идентификации
Примеры идентификации Каждая переменная в MIB должна быть идентифицирована, когда SNMP обращается к ней, чтобы получить или установить ее значение. Во-первых, обращение осуществляется только к лис...
Простые переменные
Простые переменные На то, что эта переменная простая, указывает ".0", добавленный к идентификатору объекта переменной. Например, к счетчику udpInDatagrams показанному на рисунке 25.8, c...
Таблицы
Таблицы Рассмотрим идентификацию пунктов таблицы более подробно. Давайте вернемся к таблице слушающего процесса UDP (рисунок 25.7). Для каждой таблицы в MIB указан один или несколько индексов. Для...
Простая таблица слушающего процесса UDP
Рисунок 25.11 Простая таблица слушающего процесса UDP.Из таблицы видно, что система готова принимать UDP датаграммы с любого интерфейса для портов 67 (BOOTP сервер), 161 (SNMP) и 520 (RIP). К трем...
Лексикографический порядок
Лексикографический порядок Порядок в MIB основан на расположении идентификаторов объектов. Все записи в MIB таблице расположены в лексикографическом порядке в соответствии с их идентификаторами об...
Пример идентификации строк в таблице слушающего процесса UDP
Рисунок 25.12 Пример идентификации строк в таблице слушающего процесса UDP.КолонкаИдентификатор объекта (в лексикографическом порядке)Сокращенное имяЗначение11.3.6.1.2.1.7.5.1.1.0.0.0.0.671.3.6.1....
Лексикографический порядок таблицы слушающего процесса UDP
Рисунок 25.13 Лексикографический порядок таблицы слушающего процесса UDP. Так переменная udpLocalAddress всегда появляется перед появлением в этой же таблице следующей переменной (udpLocalPort), э...
Таблица слушающего процесса UDP показанная в порядке колонкаряд
Рисунок 25.14 Таблица слушающего процесса UDP, показанная в порядке колонка-ряд.Мы еще увидим этот порядок колонка-строка, когда будем использовать оператор get-next в следующем разделе....
Простые примеры
Простые примеры В этой главе мы покажем некоторые простые примеры того, как можно получить значения переменных от SNMP агента. Программное обеспечение, используемое для опроса агента, называется s...
Простые переменные
Простые переменные Мы запрашиваем маршрутизатор на предмет двух простых переменных из UDP группы:sun % snmpi -a gateway -c secretsnmpi> get udpInDatagrams.0 udpNoPorts.0udpInDatagrams.0=616168...
Вывод tcpdump для простого запроса SNMP
Рисунок 25.15 Вывод tcpdump для простого запроса SNMP. Запрос о двух переменных посылается в одной UDP датаграмме, отклик также прибывает в одной UDP датаграмме. Мы показали переменные в виде соот...
Оператор getnext
Оператор get-next Функционирование оператора get-next основано на лексикографическом порядке MIB. Мы начнем следующий пример с запроса следующего идентификатора объекта после udp (не указывая объе...
Доступ к таблице
Доступ к таблице Мы можем убедиться в том, что таблица имеет организацию колонка-строка, воспользовавшись программой, которая отправляет запросы, для того чтобы пройти через таблицу слушающего про...
Информационная база управления (продолжение)
Информационная база управления (продолжение) А сейчас мы вернемся к описанию MIB. Опишем следующие группы: system (идентификация системы), if (интерфейсы), at (трансляция адресов), ip, icmp и tcp....
Группа system
Группа system Группа system довольно проста; она состоит из семи простых переменных (таблиц в этой группе нет). На рисунке 25.16 приведены их имена, типы данных и описания.ИмяТип данныхR/WОписание...
Простые переменные группы system
Рисунок 25.16 Простые переменные группы system.Мы можем отправить запрос маршрутизатору netb, для того чтобы получить некоторые из этих переменных:sun % snmpi -a netb -c secretsnmpi> get sysDes...
Группа interface
Группа interface Только одна простая переменная определена для этой группы: количество интерфейсов в системе. Рисунок 25.17.ИмяТип данныхR/WОписаниеifNumberINTEGERКоличество сетевых интерфейсов в...
Простая переменная в группе if
Рисунок 25.17 Простая переменная в группе if.В этой группе также определена таблица, состоящая из 22 строк. Каждая строка в таблице определяет характеристики каждого интерфейса, как показано на ри...
Переменные в таблице интерфейсов ifTable
Рисунок 25.18 Переменные в таблице интерфейсов: ifTable.Мы можем запросить хост sun на предмет некоторых из этих переменных для всех его интерфейсов. Мы ожидаем увидеть три интерфейса (см. главу 3...
Группа at
Группа at Группа трансляции адресов поддерживается во всех системах, однако ее ценность значительно уменьшилась, после того как стала использоваться MIB-II. С использованием MIB-II, каждая группа...
Таблица трансляции адресов atTable
Рисунок 25.19 Таблица трансляции адресов: atTable.sun % snmpi -a kinetics -c secret dump atatIfIndex.1.1.140.252.1.4=1atIfIndex.1.1.140.252.1.22=1atIfIndex.1.1.140.252.1.183=1atIfIndex.2.1.140.252...
Пример таблицы at (ARP кэш)
Рисунок 25.20 Пример таблицы at (ARP кэш).Физические адреса AppleTalk с номером интерфейса - 2 имеют 32-битные значения, а не 48-битные, как у привычных Ethernet адресов. Также обратите внимание н...
Группа ip
Группа ip Группа ip определяет большое количество переменных и три таблицы. На рисунке 25.21 приведены простые переменные.ИмяТип данныхR/WОписаниеipForwarding[1..2]· 1 означает, что система перена...
Простые переменные группы ip
Рисунок 25.21 Простые переменные группы ip.Первая таблица в группе ip это таблица IP адресов. Она содержит по одной строке для каждого IP адреса в системе. Каждая строка содержит пять переменных,...
Таблица IP адресов ipAddrTable
Рисунок 25.22 Таблица IP адресов: ipAddrTable.Мы можем запросить хост sun, чтобы получить таблицу IP адресов:sun % snmpi -a sun dump ipAddrTableipAdEntAddr.127.0.0.1=127.0.0.1ipAdEntAddr.140.252.1...
Таблица IP маршрутизации ipRouteTable
Рисунок 25.23 Таблица IP маршрутизации: ipRouteTable. DestIfIndexNextHopTypeProtoMask0.0.0.02140.252.1.183непрямой (4)другой (1)0.0.0.0127.0.0.13127.0.0.1прямой (3)другой (1)255.255.255.255140.252...
Таблица IP маршрутизации маршрутизатора sun
Рисунок 25.24 Таблица IP маршрутизации маршрутизатора sun.Для сравнения здесь приводится таблица маршрутизации IP в формате вывода команды netstat (см. главу 9, раздел "Принципы маршрутизации...
Таблица трансляции IP адресов ipNetToMediaTable
Рисунок 25.25 Таблица трансляции IP адресов: ipNetToMediaTable.Здесь мы приводим ARP кэш системы sun:sun % arp -asvr4 (140.252.13.34) at 0:0:c0:c2:9b:26bsdi (140.252.13.35) at 0:0:c0:6f:2d:40и соо...
Группа icmp
Группа icmp Группа icmp состоит из четырех общих счетчиков (общее количество входящих и исходящих ICMP сообщений и количество входящих и исходящих ICMP сообщений с ошибками) и 22-х счетчиков для р...
Группа tcp
Группа tcp На рисунке 25.27 описаны простые переменные группы tcp. Многие из них соответствуют состояниям TCP, которые показаны на рисунке 18.12.ИмяТип данныхR/WОписаниеicmpInMsgsCounterПолное кол...
Простые переменные группы icmp
Рисунок 25.26 Простые переменные группы icmp.Мы можем запросить некоторые из этих переменных для системы sun:sun % snmpi -a sunsnmpi> get tcpRtoAlgorithm.0 tcpRtoMin.0 tcpRtoMax.0 tcpMaxConn.0t...
Простые переменные в группе tcp
Рисунок 25.27 Простые переменные в группе tcp. индекс = <tcpConnLocalAddress>.<tcpConnLocalPort>.<tcpConnRemAddress>.<tcpConnRemPort>ИмяТип данныхR/WОписаниеtcpConnState[1....
Таблица TCP соединений tcpConnTable
Рисунок 25.28 Таблица TCP соединений: tcpConnTable. Давайте посмотрим эту таблицу на системе sun. Мы показали только часть таблицы, так как очень много серверов (в данном случае слушающие процессы...
Дополнительные примеры
Дополнительные примеры Сейчас мы вернемся к некоторым проблемам, которые были рассмотрены раньше в этой книге, и попробуем использовать SNMP, для того чтобы понять, что все-таки произошло....
MTU интерфейса
MTU интерфейса Вернемся к нашему эксперименту, описанному в разделе "ICMP ошибки о недоступности" главы 11, в котором мы пытались определить MTU SLIP канала от netb к sun. Сейчас мы може...
Таблицы маршрутизации
Таблицы маршрутизации Давайте обратимся к нашему обсуждению сортировки адресов, которая осуществляется DNS, приведенному в разделе "Простой пример" главы 14. Мы показали, как первый IP а...
Топология систем которые используются в примере
Рисунок 25.29 Топология систем, которые используются в примере.Обратитесь к рисунку 4.6, где мы объясняли, как маршрутизатор netb использует уполномоченного агента ARP, для того чтобы создалось вп...
Ловушки (Traps)
Ловушки (Traps) Все примеры, которые мы рассмотрели в этой главе, иллюстрируют передачу информации от менеджера к агенту. Однако у агента существует способ сообщить менеджеру о возникновении каког...
Типы ловушек
Рисунок 25.30 Типы ловушек.Мы можем увидеть некоторые ловушки с помощью tcpdump. Стартуем SNMP агента на системе sun и посмотрим, как он генерирует ловушку coldStart. (Агент знает о необходимости...
Вывод команды tcpdump соответствующий генерации ловушек SNMP агентом
Рисунок 25.31 Вывод команды tcpdump, соответствующий генерации ловушек SNMP агентом.Во-первых, необходимо обратить внимание на то, что обе UDP датаграммы, отправленные от SNMP агента (порт 161, пе...
ASN 1 и BER
ASN.1 и BER Формальная спецификация SNMP использует абстрактную форму записи (ASN.1 - Abstract Syntax Notation 1), и кодирование бит в SNMP сообщениях (рисунок 25.2) на основе основных правил коди...
SNMP версии 2 (SNMP Version 2)
SNMP версии 2 (SNMP Version 2) В течение 1993 года было опубликовано 11 RFC, которые определяли новые стандарты SNMP. Первый из них, RFC 1441 [Case et al. 1993], является введением в SNMP версии 2...
Краткие выводы
Краткие выводы SNMP это простой протокол, основанный на запросах и откликах, предназначенный для обмена между SNMP менеджером и SNMP агентом. Информационная база данных управления (MIB) определяет...
Глава 26 Telnet и Rlogin удаленный
Глава 26 Telnet и Rlogin: удаленный терминал Введение Приложения, позволяющие осуществить заход удаленным терминалом, очень популярны в Internet. Отпадает необходимость иметь аппаратный терминал к...
Описание работы Telnet клиентсервер
Рисунок 26.2 Сравнение размеров исходных текстов Telnet/Rlogin/клиент/сервер.Надо отметить, что из-за появления новых опций, реализация Telnet постоянно растет, тогда как Rlogin остается простым и...
Запуск приложения
Запуск приложения Rlogin использует одно TCP соединение между клиентом и сервером. После того как TCP соединение установлено, между клиентом и сервером осуществляется следующая последовательность...
Управление потоком
Управление потоком По умолчанию управление потоком обычно осуществляет Rlogin клиент. Клиент распознает ASCII символы STOP и START (Control-S и Control-Q), которые вводятся пользователем, и остана...
Функционирование Rlogin соединения в случае если сервер поддерживает обмен STOP/START
Рисунок 26.3 Функционирование Rlogin соединения в случае, если сервер поддерживает обмен STOP/START.Для интерактивных пользователей подобная задержка отклика на ввод символа Control-S нежелательна...
Прерывание от клиента
Прерывание от клиента Проблема, напоминающая управление потоком данных, возникает, когда пользователь вводит символ прерывания (обычно DELETE или Control-C), чтобы прекратить процесс, запущенный н...
Изменения размера окна
Изменения размера окна Если существует возможность поделить дисплей на окна, мы можем динамически менять размер окна, в процессе работы приложения. Некоторые приложения (обычно те, которые манипул...
Команды от сервера к клиенту
Команды от сервера к клиенту Давайте кратко рассмотрим четыре команды, которые сервер Rlogin может отправить клиенту по TCP соединению. Проблема заключается в том, что используется одно TCP соедин...
Команды Rlogin передаваемые от сервера клиенту
Рисунок 26.4 Команды Rlogin, передаваемые от сервера клиенту.Одна из причин, по которой описанные выше команды посылаются с использованием режима срочности TCP, заключается в том, что первая коман...
Команды от клиента к серверу
Команды от клиента к серверу В настоящее время определена только одна команда, передаваемая от клиента к серверу: это отправка серверу текущего размера окна. Изменение размера окна не отправляется...
Способы прекращения работы клиента
Способы прекращения работы клиента Обычно, все, что вводит пользователь Rlogin, отправляется на сервер. Однако иногда возникает необходимость пообщаться непосредственно с программой клиента Rlogin...
Примеры Rlogin
Примеры Rlogin Мы рассмотрим два примера: первый показывает протокол клиент-сервер в начале Rlogin сессии, а второй показывает, что произойдет при вводе клавиши прерывания, для того чтобы останови...
Исходный протокол клиентсервер
Исходный протокол клиент-сервер На рисунке 26.5 показана временная диаграмма для Rlogin соединения от хоста bsdi к серверу svr4. (Мы удалили все связанное с установлением TCP соединения, объявлени...
Временная диаграмма Rlogin соединения
Рисунок 26.5 Временная диаграмма Rlogin соединения....
Кнопка прерывания клиента
Кнопка прерывания клиента Давайте рассмотрим еще один пример, в котором TCP использует режим срочности, когда поток данных остановлен с помощью символа прерывания. В этом примере сведены вместе не...
Поток данных от сервера к клиенту в примере Rlogin
Рисунок 26.6 Поток данных от сервера к клиенту в примере Rlogin.Затемненная часть отправляющего буфера это неиспользуемая часть буфера размером в 4096 байт. На рисунке 26.7 приведена временная диа...
Пример Rlogin когда клиент останавливает вывод и затем прерывает работу программы на сервере
Рисунок 26.7 Пример Rlogin, когда клиент останавливает вывод и затем прерывает работу программы на сервере.Как только Rlogin клиент получает уведомление о срочности от своего TCP, он начинает счит...
Протокол Telnet
Протокол Telnet Telnet был разработан, для того чтобы работать между хостами работающими под управлениием любых операционных систем, а также с любыми терминалами. Его спецификация, приведенная в R...








Начало