Nets2010 (1131259), страница 60
Текст из файла (страница 60)
Группа Transmission зарезервирована для MIB-баз, которые предназначены для физических сред, имеющих свою специфику, например, Ethernet.
Последняя группа предназначена для сбора данных о функционировании самого протокола SNMP.
Протокол SNMP.
SNMP-протокол определяет пять типов сообщений, которыми обмениваются станция управления и устройство.
-
get-request - получить значение одной или нескольких переменных.
-
get-next-request - получить одну или несколько переменных, следующих после указанной переменной.
-
set-request - установить значение одной или нескольких переменных.
-
get-response - выдать значение одной или нескольких переменных. Это сообщение возвращается агентом станции управления в ответ на операторы get-request, get-next-request и set-request.
-
оператор trap - уведомить станцию управления, когда что-либо произошло с агентом.
Первые три сообщения отправляются от станции управления к устройству, а последние два - от устройства к станции управления. Так как четыре из пяти SNMP-сообщений реализуются простой последовательностью «запрос-ответ», в SNMP-протоколе используют UDP-протокол. Это означает, что запрос от станции управления может не дойти до устройства, а отклик от устройства – до станции управления. В этом случае будет задействован механизм тайм-аута и повторная передача.
Станция управления отправляет все три запроса на 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 | Имя |
0 | get-request |
1 | get-next-request |
2 | set-request |
3 | get-response |
4 | trap |
При взаимодействии между станцией управления и устройством используют пароль. Пароль - это 6-символьная строка, которую передавали в SNMP v.1 в открытом виде. В операторах get, get-next и set станция управления устанавливает идентификатор запроса (request ID), который возвращается устройством в сообщении get-response. Это повышает безопасность при взаимодействии. Это поле также позволяет станции управления выдать несколько запросов одному или нескольким устройствам, а затем отсортировать полученные отклики.
Статус ошибки (error status) - это целое число, которое возвращается агентам и указывает на ошибку. В таблице 7-47 показаны значения, имена и описания ошибок.
Таблица 7-47. Значения поля статуса ошибки SNMP
Статус ошибки | Имя | Описание |
0 | noError | Все в порядке. |
1 | tooBig | Устройство не может поместить отклик в одно SNMP-сообщение. |
2 | noSuchName | Запрос указывает на несуществующую переменную. |
3 | badValue | В запросе на установку использовано недопустимое значение или сделана ошибка в синтаксисе. |
4 | readOnly | Станция управления попыталась изменить переменную, которая помечена как «только для чтения». |
5 | genErr | Неопознанная ошибка. |
68. Всемирная паутина (WWW): протокол HTTP, язык HTML.
Протокол работы во Всемирной паутине - HTTP
HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста) представляет собой протокол прикладного уровня. HTTP обеспечивает высокопроизводительный механизм тиражирования информации мультимедийных систем независимо от типа представления данных. Протокол может быть использован для решения различных задач, например, для работы с серверами имен или управления распределенными информационными системами.
Всемирная паутина (World Wide Web, или просто Web), состоит из компьютеров, которые предоставляют доступ к хранящейся на них информации в графической форме. Способность хранить мультимедийную информацию, такую как видео, аудио, изображения, делает Web уникальным средством распространения информации. Доступ к информации в Web обеспечивает специальный клиент, который называют браузер. Web-сервер представляет собой компьютер, на котором работает определенное программное обеспечение, предоставляющее возможность пользователям за абонентскими машинами в Интернете, на которых работает браузер, искать, выбирать и пользоваться web-ресурсами (что это такое, мы обсудим ниже).
Идея создать сеть из документов, связанных гиперссылками и расположенных на разных машинах, была сформулирована Тимом Бернес-Ли в 1989 году. CERN способствовал развитию Web, со временем превратив ее из локального в глобальное общемировое приложение.
Первый раз Web начали использовать в январе 1992 года в Женеве, где исследователи могли получить данные с узла CERN. Бернес-Ли предложил хранить документы на компьютерах, которые он назвал веб-серверами.
С 1990 года протокол HTTP используется в Интернете в качестве одного из основных протоколов прикладного уровня.
7.6.1. Web-сервисы
Протокол HTTP позволяет получать доступ к ресурсам и сервисам web-серверов. Для унификации доступа к многофункциональным ресурсам web-серверы поддерживают комплекс интерфейсов, позволяющих структурировать уровни и методы работы с различными сетевыми ресурсами. По сути, каждый из интерфейсов представляет собой объект (в программистском смысле этого слова) со своими методами и своей структурой. Согласованное взаимодействие этих объектов и составляет все разнообразие мира Web.
URI (Uniform Resource Identifier, унифицированный идентификатор ресурса), URL (Uniform Resource Locator, унифицированный указатель ресурса), URN (Uniform Resource Name, унифицированное имя ресурса) - разные названия одного и того же сервиса, который предназначен для идентификации типов, методов работы и места расположения ресурса, доступного в Web через Интернет. Этот сервис состоит из трех частей:
-
Схема. Идентифицирует тип сервиса, через который можно получить доступ к ресурсу, например FTP- или web-сервер.
-
Адрес. Идентифицирует Интернет-адрес абонентской машины, на которой располагается ресурс, например, cmc.cs.msu.su
-
Имя или путь доступа. Идентифицирует полный путь к ресурсу на выбранном хосте, который мы хотим использовать для доступа к ресурсу, например, /curr/cn/mac.html
Например, файл "mac.html", расположенный на веб-сервере факультета ВМиК, представляет собой ресурс с идентификатором: http://cmc.cs.msu.su/curr/cn/mac.html. Это означает, что будет использоваться тип доступа через протокол HTTP, схема доступа отделена двоеточием «:» и указывает на использование протокола HTTP, следующие две косые черты отделяют последующий адрес сервера cmc.cs.msu.su; выгружаемый файл с именем /curr/cn/mac.html - путь к запрашиваемому файлу.
Другими словами, URL, URI и URN - это средства для согласованной идентификации ресурсов в сети Интернет.
URI ресурса может содержать не только имя ресурса, но и параметры, необходимые для его работы. Имя ресурса отделено от строки параметров символом «?». Строка параметров состоит из лексем, разделяемых символом "&". Каждая такая лексема состоит из имени параметра и его значения, разделенных символом «=». Символы, не входящие в набор символов ASCII, заменяются знаком «%» и шестнадцатеричным значением этого символа. Для указанного ресурса вся строка параметров является одним строковым параметром, поэтому тип, очередность или уникальность имен отдельных параметров строки не существенны.
7.6.1.1. HyperText Markup Language (HTML)
HTML - это язык описания содержащейся в узлах Интернета информации. HTML-файл представляет собой обычный ASCII-текст, содержащий специальные коды, которые обозначают присоединенную к файлу графику, видео-, аудиоинформацию или исполняемые коды среды просмотра информации - веб-браузера - Java Script, Java Classes. Вся эта информация хранится в файлах на веб-сервере. Когда веб-браузер получает доступ к этому файлу, он сначала интерпретирует закодированную в HTML-файле информацию, а затем предоставляет для пользователя всю информацию в графическом или текстовом виде веб-страниц.
HyperText в HTML - основная концепция размещения информации в Web. HyperText или hyperlinks (гиперссылки), содержит связи (URL) внутри текстового документа, которые позволяют пользователю быстро переходить от одной части документа к другой или к другому документу.
Web реализует концепцию файлов с гиперссылками и использует ее на другом уровне, установив гиперссылку между веб-страницами и веб-узлами. Щелкнув мышью на одном из объектов гиперссылки на одной веб-странице, пользователь может не только передвигаться внутри одного веб-узла между его страницами, но и перемещаться на другие узлы с ресурсами, расположенные в другом месте и, вероятно, использующие другие методы. Это открывает возможности навигации по Интернету, несуществовавшей до появления веб-серверов.
HTML - стандарт, не зависящий от платформы, потому что он не содержит каких-либо параметров, специфицирующих ту или иную платформу. Например, параметры могут определять размер используемого шрифта, но не содержат указаний на то, какой шрифт использовать. Выбрать нужный шрифт предоставляется браузеру на основе тех, которые имеются на данном компьютере.
Управляющими конструкциями языка являются теги. Теги представляют собой ключевые слова, заключенные в угловые скобки. Ключевые слова - это обычные слова английского языка, обозначающие ту или иную команду, которая должна быть применена к тексту, обрамленному тегами.
7.6.1.2. Common Gateway Interface (CGI)
CGI - это стандарт расширения функциональности Интернета, позволяющий веб-серверам выполнять программы, аргументами работы которых может управлять пользователь. Веб-серверы позволяют запрашивать статические HTML-страницы и просматривать их с помощью браузера. CGI расширяет возможности пользователя и позволяет ему выполнять программы, ассоциированные с данной веб-страницей, а также получать динамически информацию из веб-сервера.
CGI-интерфейс в основном служит как шлюз между веб-сервером и внешними исполняемыми программами. Он получает запрос от пользователя, передает его внешней программе и затем возвращает результаты пользователю через динамически построенную веб-страницу. При этом построенные страницы могут коренным образом отличаться друг от друга, если они построены в зависимости от переданных пользователем параметров.
Чаще всего CGI используется для выборки информации из баз данных. Пользователь вводит запрос на веб-странице, веб-сервер его читает, передает соответствующему приложению или запускает процесс для его обработки, получает результат запроса и показывает его пользователю.
Механизм CGI полностью не зависит от платформы и может передавать данные между любыми веб-серверами, поддерживающими механизм CGI. Поскольку CGI основан на исполняемых файлах, нет ограничений на тип программы, которая будет исполняться в CGI. Программа может быть написана на любом из языков программирования, позволяющем создавать исполняемые модули, - С/С++, FORTRAN, Pascal, Visual Basic или PowerBuilder. CGI-программа также может быть написана с использованием командных языков операционных систем, таких как Perl или Shell.
7.6.2. Принципы построения HTTP-соединения
Протокол HTTP построен по модели «запрос-ответ». Иными словами, клиент устанавливает соединение с сервером и отправляет запрос. В нем указан тип запроса, URL (URI, URN), версия протокола HTTP (поскольку формат запроса может меняться от версии к версии) и содержание запроса: информация клиента (параметры) и, возможно, сопровождающая информация или тело сообщения. Сервер HTTP отвечает строкой статуса обработки запроса, которая содержит: версию поддерживаемого протокола, код обработки запроса или код ошибки и возвращаемую по запросу информацию. Информация тела сообщения как клиента, так и сервера должна быть представлена в MIME-формате (см. раздел 7.5).
HTTP-соединение инициируется браузером пользователя. Оно состоит из запроса к ресурсу определенного сервера. В простейшем случае соединение представляет собой поток данных между клиентом - инициатором соединения и сервером (рисунок 7-60).