Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по КС для ТО.doc
Скачиваний:
78
Добавлен:
09.09.2019
Размер:
1.06 Mб
Скачать

Протоколы udp, icmp, ftp, smtp

Протокол UDP

Протокол UDP (User Datagram Protocol - протокол пользовательских дейтаграмм) является одним из двух основных протоколов, расположенных непосредственно над IP. Он предоставляет прикладным процессам транспортные услуги, которые не многим отличаются от услуг, предоставляемых протоколом IP. Протокол UDP обеспечивает ненадежную доставку дейтаграмм и не поддерживает соединений из конца в конец. К заголовку IP-пакета он добавляет два поля, одно из которых, поле "порт", обеспечивает мультиплексирование информации между разными прикладными процессами, а другое поле - "контрольная сумма" - позволяет поддерживать целостность данных.

Порты

Взаимодействие между прикладными процессами и модулем UDP осуществляется через UDP-порты. Порты нумеруются начиная с нуля. Прикладной процесс, предоставляющий некоторые услуги другим прикладным процессам (сервер), ожидает поступления сообщений в порт, специально выделенный для этих услуг. Сообщения должны содержать запросы на предоставление услуг. Они отправляются процессами-клиентами.

Например, сервер SNMP всегда ожидает поступлений сообщений в порт 161. Если клиент SNMP желает получить услугу, он посылает запрос в UDP-порт 161 на машину, где работает сервер. В каждом узле может быть только один сервер SNMP, так как существует только один UDP-порт 161. Данный номер порта является общеизвестным, то есть фиксированным номером, официально выделенным для услуг SNMP. Общеизвестные номера определяются стандартами Internet.

Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 5 записей в UDP-порт, то процесс-получатель должен будет сделать 5 чтений. Размер каждого записанного сообщения будет совпадать с размером каждого прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно и не делит одно сообщение на части.

Контрольное суммирование

Когда модуль UDP получает дейтаграмму от модуля IP, он проверяет контрольную сумму, содержащуюся в ее заголовке. Если контрольная сумма равна нулю, то это означает, что отправитель дейтаграммы ее не подсчитывал, и, следовательно, ее нужно игнорировать. Если два модуля UDP взаимодействуют только через одну сеть Ethernet, то от контрольного суммирования можно отказаться, так как средства Ethernet обеспечивают достаточную степень надежности обнаружения ошибок передачи. Это снижает накладные расходы, связанные с работой UDP. Однако, рекомендуется всегда выполнять контрольное суммирование, так как возможно в какой-то момент изменения в таблице маршрутов приведут к тому, что дейтаграммы будут посылаться через менее надежную среду.

Если контрольная сумма правильная (или равна нулю), то проверяется порт назначения, указанный в заголовке дейтаграммы. Если к этому порту подключен прикладной процесс, то прикладное сообщение, содержащееся в дейтаграмме, становится в очередь для прочтения. В остальных случаях дейтаграмма отбрасывается. Если дейтаграммы поступают быстрее, чем их успевает обрабатывать прикладной процесс, то при переполнении очереди сообщений поступающие дейтаграммы отбрасываются модулем UDP.

Протокол ICMP

Шлюз или хост-компьютер, получающий данные, обменивается информацией с хост-компьютером, отправляющим эти данные. Для этого используется протокол контрольных сообщений Internet (ICMP), использующий основные свойства протокола Internet (IP), как если бы ICMP являлся протоколом более высокого уровня. Однако фактически ICMP является составной частью протокола Internet и должен являться составной частью каждого модуля IP.

Сообщения ICMP должны отправляться в некоторых затруднительных ситуациях. Например, когда дейтаграмма не может достичь своего адресата, когда шлюз не имеет достаточно места в своем буфере для передачи какой-либо дейтаграммы, или когда шлюз приказывает хост-компьютеру отправлять информацию по более короткому маршруту.

Протокол Internet не создан для того, чтобы обеспечивать абсолютную надежность передачи информации. Целью же данных контрольных сообщений является обеспечение обратной связи, оповещение отправителя данных о проблемах, возникающих в коммуникационном оборудовании. Их целью не является придание надежности протоколу IP. Протокол не дает гарантий, что дейтаграмма достигает своего адресата или что контрольное сообщение будет возвращено компьютеру, отправившему данные. Некоторые из дейтаграмм могут исчезнуть в сети, не вызвав при этом ни каких оповещений.

Сообщения ICMP протокола оповещают об ошибках, возникающих при обработке дейтаграмм. Чтобы проблемы с передачей сообщений не вызывали появление новых сообщений, чтобы это не привело к лавинообразному росту количества сообщений, циркулирующих в сети, сообщается, что нельзя посылать сообщения о сообщениях. И что ICMP сообщения можно посылать только о проблемах, возникающих при обработке нулевого фрагмента в сегментированной дейтаграмме (нулевой фрагмент имеет нуль в поле смещения фрагмента).

Форматы сообщений

ICMP сообщения посылаются с помощью стандартного IP заголовка. Первый октет в поле данных дейтаграммы - это поле типа ICMP сообщения. Значение этого поля определяет формат всех остальных данных в дейтаграмме. Любое поле, которое помечено "unused", зарегистрировано для последующих разработок и должно при отправлении содержать нули. Однако получатель, не должен использовать значения этих полей (за исключением процедуры вычисления контрольной суммы).

Протокол FTP

FTP (File Transfer Protocol, или «Протокол передачи данных») - один из старейших протоколов в Internet и входит в его стандарты. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы.

FTP предназначен для решения задач разделения доступа к файлам на удаленных хостах, прямого или косвенного использования ресурсов удаленных компьютеров, обеспечения независимости клиента от файловых систем удаленных хостов, эффективной и надежной передачи данных.

Обмен данными в FTP происходит по TCP-каналу. Обмен построен на технологии «клиент-сервер». FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации (т.е. при присоединении к серверу FTP-пользователь должен будет ввести свой идентификатор и пароль). Однако пароль, и идентификатор пользователя будут переданы от клиента на сервер открытым текстом.

Основу передачи данных FTP составляет механизм установления соединения между соответствующими портами и выбора параметров передачи, FTP работает на 21 порту. Протокол FTP требует, чтобы управляющее соединение было открыто, пока по каналу обмена данными идет передача. Сессия FTP считается закрытой только после закрытия управляющего соединения.

Как правило, сервер FTP ответственен за открытие и закрытие канала передачи данных.

FTP-архивы являются одними из основных информационных ресурсов Internet. Фактически, это распределенный депозитарий текстов, программ, фотографий и прочей информации, хранящейся в виде файлов на различных компьютерах во всем мире.

Информация в FTP-архивах разделена, в основном, на три категории:

1) Защищенная информация, режим доступа к которой определяется ее владельцами и разрешается по специальному соглашению с потребителем. К этому виду ресурсов относятся коммерческие архивы (к примеру, коммерческие версии программ в архивах ftp.microsoft.com), закрытые национальные и международные некоммерческие ресурсы (например, работы по международным проектам CES или IAEA), частная некоммерческая информация со специальными режимами доступа (например, частные благотворительные фонды).

2) Информационные ресурсы ограниченного использования, к которым относятся, например, программы класса shareware. В данный класс могут входить ресурсы ограниченного времени использования или ограниченного времени действия.

3) Свободно распространяемые информационные ресурсы или freeware, если речь идет о программном обеспечении. К этим ресурсам относится все, что можно свободно получить по сети без специальной регистрации. Это может быть документация, программы или что-либо еще. Следует отметить, что свободно распространяемое программное обеспечение не имеет сертификата качества, но его разработчики открыты для обмена опытом.

Технология FTP была предназначена для обмена большими объемами информации между машинами с различной архитектурой.

Протокол SMTP

Взаимодействие клиентского и серверного программного обеспечения по протоколу SMTP основано на принципе "запрос-ответ" и требует установления сеанса между клиентом и сервером. Запросы клиента содержат команды, указывающие на действия, которые сервер должен выполнить. В ответах сервера содержатся коды возврата – специальные числа, уведомляющие о результате обработки поступившей команды. Вся информация передается в текстовом виде.

Процесс взаимодействия клиента и сервера состоит из трех этапов:

1. Установление сеанса. На этапе установления сеанса клиент сообщает серверу о себе, а также осуществляется проверка корректности адреса отправителя.

2. Передача сообщений. Этот этап подразумевает выполнения следующих действий: проверку корректности каждого адреса из списка получателей и собственно передачу сообщений. Протоколом предполагается, что при получении почты SMTP-сервер берет на себя ответственность за дальнейшую доставку почты либо непосредственно в почтовый ящик получателя, либо путем пересылки ее другим SMTP-серверам. В последнем случае этот SMTP-сервер выступает в качестве клиента по отношению к другим серверам.

Следует отметить, что в процессе доставки может быть задействовано большое количество SMTP-серверов. В этом случае часть серверов будут выполнять промежуточную маршрутизацию (relaying) сообщений, т.е. принимать сообщения от одних SMTP-серверов и пересылать другим.

В ряде случаев сервер может отказаться от доставки почты (например, если промежуточная маршрутизация сообщений на сервере запрещена). Тогда он обязан уведомить об этом клиента, оставив на нем ответственность за судьбу сообщения.

Следует отметить, что протокол SMTP предоставляет возможность пересылки в рамках одного сеанса нескольких сообщений одному или более адресатам.

3. Завершение сеанса. После окончания пересылки сообщений клиент передает серверу команду завершения сеанса.