Полный курс лекций 2009-го года (1130357), страница 87
Текст из файла (страница 87)
Группа TCPГруппа Tcp накапливает сведения о соединениях протокола TCP, количестве посланных иполученных сегментов, ведет статистику ошибок.В таблице 7-42 описаны простые переменные группы TCP. Группа TCP имеет одну таблицу - таблицуTCP-соединений, показанную в таблице 7-43. Она содержит по одной строке для каждого соединения.Каждая строка содержит пять переменных: состояние соединения, локальный IP-адрес, локальный номерпорта, удаленный IP-адрес и удаленный номер порта.Таблица 7-42. Простые переменные в группе TCPИмяТип данныхR/WОписаниеtcpRtoAlgorithmINTEGERАлгоритм, используемый для расчета величин тайм-аутов иповторных передач: 1 - нет, 2 - постоянный RTO, 3 - MIL-STD1778, 4 - алгоритм Van Jacobson.tcpRtoMinINTEGERМинимальное значение тайм-аута повторной передачи вмиллисекундах.tcpRtoMaxINTEGERМаксимальное значение тайм-аута повторной передачи вмиллисекундах.tcpMaxConnINTEGERМаксимальное количество TCP-соединений.
Значение -1означает, что эта величина определяется динамически.tcpActiveOpensCounterКоличество переходов от состояния CLOSED к состояниюSYN_SENT.tcpPassiveOpensCounterКоличество переходов от состояния LISTEN к состояниюSYN_RCVD.tcpAttemptFailsCounterКоличество переходов от состояния SYN_SENT или SYN_RCVD ксостоянию CLOSED плюс количество переходов от состоянияSYN_RCVD к состоянию LISTEN.tcpEstabResetsCounterКоличество переходов от состояния ESTABLISHED илиCLOSE_WAIT к состоянию CLOSED.tcpCurrEstabGaugeКоличество соединений, находящихся в настоящее время всостоянии ESTABLISHED или CLOSE_WAIT.tcpInSegsCounterПолное количество принятых сегментов.tcpOutSegsCounterПолное количество отправленных сегментов за исключениемтех, которые содержали только повторно передаваемые байты.tcpRetransSegsCounterПолное количество повторно переданных сегментов.tcpInErrsCounterПолное количество сегментов, принятых с ошибками (например,неверная контрольная сумма).tcpOutRstsCounterПолное количество сегментов, посланных с установленнымфлагом RST.Таблица 7-43.
Таблица TCP-соединений: tcpConnTableИмяТип данныхR/W·ОписаниеtcpConnState[1..12]Состояние соединения: 1 - CLOSED, 2 - LISTEN, 3 - SYN_SENT, 4- SYN_RCVD, 5 - ESTABLISHED, 6 - FIN_WAIT_1, 7 - FIN_WAIT_2,8 - CLOSE_WAIT, 9 - LAST_ACK, 10 - CLOSING, 11 - TIME_WAIT,12 - удаление TCB. Единственное значение, которое можетустановить менеджер, это значение 12 (немедленноепрекращение соединения).tcpConnLocalAddressIpAddressЛокальный IP адрес.
0.0.0.0 указывает на то, что слушающийпроцесс готов принять соединение с любого интерфейса.tcpConnLocalPort[0..65535]Локальный номер порта.tcpConnRemAddressIpAddressУдаленный IP-адрес.tcpConnRemPort[0..65535]Удаленный номер порта.Группа UDP накапливает информацию о количестве отправленных и полученных дейтаграмм, сколькополученных дейтаграмм невозможно доставить из-за неверно заданного адреса или по какой-либо другойпричине.Группа EGP используется маршрутизаторами, использующими EGP-протокол.
Эта грамма учитывает,сколько пакетов вышло во внешнюю сеть, сколько вошло, сколько было доставлено, а сколько отвергнуто.Группа Transmission зарезервирована для MIB-баз, которые предназначены для физических сред,имеющих свою специфику, например, Ethernet.Последняя группа предназначена для сбора данных о функционировании самого протокола SNMP.7.3.4.
Протокол SNMPSNMP-протокол определяет пять типов сообщений, которыми обмениваются станция управления иустройство. Все они показаны на рисунке 7-44.§get-request - получить значение одной или нескольких переменных.§get-next-request - получить одну или несколько переменных, следующих после указанной переменной.§set-request - установить значение одной или нескольких переменных.§get-response - выдать значение одной или нескольких переменных. Это сообщение возвращаетсяагентом станции управления в ответ на операторы get-request, get-next-request и set-request.§оператор trap - уведомить станцию управления, когда что-либо произошло с агентом.Первые три сообщения отправляются от станции управления к устройству, а последние два - отустройства к станции управления.
Так как четыре из пяти SNMP-сообщений реализуются простойпоследовательностью «запрос-ответ», в SNMP-протоколе используют UDP-протокол. Это означает, чтозапрос от станции управления может не дойти до устройства, а отклик от устройства – до станцииуправления. В этом случае будет задействован механизм тайм-аута и повторная передача.Рисунок 7-44. Пять операторов SNMPСтанция управления отправляет все три запроса на UDP-порт 161. Устройство устанавливаетловушки (программные прерывания trap) на UDP-порт 162.
Так как используются два разных порта, одна ита же система может выступать и как станция управления, и как устройство. На рисунке 7-45 показанформат пяти SNMP-сообщений, инкапсулированных в UDP-дейтаграмму.Рисунок 7-45. Формат пяти SNMP-сообщенийНа этом рисунке мы указали в байтах только размер IP- и UDP-заголовков. Значение поля «версия»равно 0. Это значение в действительности равно номеру версии, уменьшенному на 1.В таблице 7-46 показано значение поля «тип блока данных протокола» (PDU type).Таблица 7-46. Типы PDU-сообщений SNMPТипPDUИмя0get-request1get-next-request2set-request3get-response4trapПри взаимодействии между станцией управления и устройством используют пароль. Пароль - это 6символьная строка, которую передавали в SNMP v.1 в открытом виде.
В операторах get, get-next и setстанция управления устанавливает идентификатор запроса (request ID), который возвращаетсяустройством в сообщении get-response. Это повышает безопасность при взаимодействии. Это поле такжепозволяет станции управления выдать несколько запросов одному или нескольким устройствам, а затемотсортировать полученные отклики.Статус ошибки (error status) - это целое число, которое возвращается агентам и указывает наошибку. В таблице 7-47 показаны значения, имена и описания ошибок.Таблица 7-47.
Значения поля статуса ошибки SNMPСтатус ошибкиИмяОписание0noErrorВсе в порядке.1tooBigУстройство не может поместить отклик в одно SNMP-сообщение.2noSuchNameЗапрос указывает на несуществующую переменную.3badValueВ запросе на установку использовано недопустимое значение илисделана ошибка в синтаксисе.4readOnlyСтанция управления попыталась изменить переменную, котораяпомечена как «только для чтения».5genErrНеопознанная ошибка.Более подробно с протоколом SNMP можно познакомиться в книгах В.
Столингс «Компьютерныесистемы передачи данных»; Э.Тененбаум «Компьютерные сети»; M.T. Rose, K. Mccloghrie «How to use yournetwork using SNMP». Prentice Hall, 1995.7.4. Электронная почтаПоначалу возможности электронной почты сводились к передаче файлов с одним ограничением, чтопервая строка файла должна содержать адрес получателя. Со временем такой подход оказался оченьограниченным в силу следующих обстоятельств:1.Посылать одно и то же сообщение сразу нескольким получателям было не удобно.2.Сообщение не имело внутренней структуры, что усложняло его обработку на машине.3.Отправитель никогда не знал, получено сообщение или нет.4.Если, отправляясь в командировку, кто-то хотел перенаправить свои сообщения кому-то другому, этобыло не возможно.5.Интерфейс пользователя был неудобен. Он требовал от пользователя сначала работать в редакторефайлов, затем переходить в систему отправки файлов.6.Было невозможно отправить вперемешку и текст, и голос и видео.Исторически первыми системами были системы в архитектуре TCP/IP, описанные в RFC 821 и 822.
В1984 появилось решение Х.400 в рамках эталонной модели OSI/ISO. Десять лет спустя Х.400использовалось лишь в единичных организациях, почти везде использовалось решение Sendmail.7.4.1. Архитектура и сервисАрхитектура почтовой системы состоит из двух основных компонентов - агента пользователя и агентапередачи сообщений. Первый отвечает за интерфейс с пользователем, составление и отправку сообщений.Второй – за доставку сообщения от отправителя к получателю.Обычно почтовая система поддерживает пять базовых функций:§Композиция. Обеспечивает создание сообщений и ответов. Хотя для формирования тела сообщенияможет быть использован любой текстовый редактор, система обеспечивает заполнение многочисленныхполей заголовка сообщения.
Например, если формируется ответ, система автоматически выделит адрес изисходного сообщения и подставит его как адрес получателя.§Передача. Эта функция обеспечивает передачу сообщения от отправителя к получателю безвмешательства пользователей.§Отчет перед отправителем о доставке: было ли сообщение доставлено? Было ли отвергнуто? Было липотеряно? Для многих приложений эти отчеты крайне важны.§Показ сообщения является существенной функцией почтовой службы. Часто она должна выполнятьперекодировку, изменять формат и т.д.§Размещение - это последний этап, на котором определяют, что делать с сообщением: надо ли егоуничтожить после прочтения (или до), если сохранить, то где.
Поиск интересующего сообщения,перенаправление сообщения, повторное прочтение ранее полученного сообщения – все это относится кданной функции.Кроме этих обязательных функций, большинство почтовых систем имеют ряд более сложныхфункций. Например, если пользователь уехал, он может перенаправить сообщения, поступающие в егоотсутствие, куда-либо еще. Во многих системах пользователь может создавать так называемые почтовыеящики для поступающих сообщений, создавать лист рассылки, по которому одно и то же сообщение будетразослано всем его участникам, сортировать сообщения по определенным директориям в зависимости отих характеристик и многое другое.Важной функцией является сообщение с уведомлением.
В любом случае крайне полезно дляпользователя получать сообщения о состоянии его сообщения. Другой пример – копия отправленныхсообщений, приоритетность сообщений, секретность и т.д.Ключевым моментом всех современных почтовых систем является разделение почтового отправленияна конверт сообщения и собственно сообщение. Системой доставки используется конверт. Он содержитвсю необходимую информацию о сообщении: адрес назначения, приоритет, секретность, требование обуведомлении и т.д.Сообщение внутри конверта имеет заголовок и тело.
Заголовок содержит всю необходимуюинформацию о теле для агента пользователя. Тело предназначено исключительно для пользователя.Пример на рисунке 7-48.Рисунок 7-48. Конверты и сообщения: (а) Почтовое письмо; (b) Электронноеписьмо7.4.2. Агент пользователяАгент пользователя – обычно программа, имеющая множество команд для получения, составлениясообщения и ответа на сообщение, а также для работы с почтовым ящиком. Некоторые агенты используюткомандную строку, некоторые - графический интерфейс.7.4.2.1. Отправка почтыЧтобы послать сообщение, пользователь должен предоставить адрес назначения, само сообщение идругие параметры, например, приоритетность, секретность и т.п.