it_vse (519823), страница 11
Текст из файла (страница 11)
Протокол UDPболее быстр, чем протокол TCP, однако менее надежен. Данные передаются без установления виртуальногоканала, в предположении, что принимающая сторона ждет данные. Программа должна сама позаботиться оразбитии передаваемых данных на пакеты, протокол не содержит средств подтверждения факта доставкисообщения и средств коррекции ошибок - все эти задачи должна решать программа.При рассмотрении протоколов транспортного уровня необходимо остановиться на понятии "порт" и"сокет". Порт в протоколах транспортного уровня – это не физически существующий порт ввода-вывода(как, например, последовательный порт COM1), а "виртуальный" порт, который программно изолируетданные передаваемые по одному порту, от данных передаваемых по другому порту.
Порты нумеруются от 0до 65535. Существуют общеизвестные порты (well known ports), каждый из которых традиционно связан стем или иным видом сетевого приложения. Например, стандартным портом для Web-сервера является порт80. Большинство общеизвестных портов имеют номера меньше 1024. Это связано с тем, что в ОС Unixпорты с номерами меньше 1024 доступны только приложениям с привилегиями суперпользователя root(администратор), поэтому пользователь без этих привилегий не сможет запустить собственный Web-сервер,который подменит на 80 порту настоящий Web-сервер. Порты TCP и порты UDP не зависят друг от друга.Порт 80 TCP может быть занят одним сетевым приложением, а 80 порт UDP – другим приложением.Сокет (socket) – это описатель сетевого соединения между двумя сетевыми приложениями, котороевключает в себя:- IP-адрес и номер порта локальной машины.- IP-адрес и номер порта удаленной машины.Сокет однозначно описывает сетевое соединение.
У двух различных соединений хотя бы один изприведенных выше параметров должен отличаться. Например к 80 порту сервера могут одновременноподключиться два приложения, работающие с различных портов на клиентской машине.3. Протоколы прикладного уровня HTTP, FTP, SMTP, IMAP, POP3, TELNET.В соответствии с архитектурой клиент-сервер, программа делится на две части (одна работает на сервере,вторая – на компьютере пользователя), функционирующие как единое целое.
Протоколы прикладногоуровня описывают взаимодействие клиентской и серверной частью программы. Выделяют следующиенаиболее известные прикладные протоколы:Составитель: Ляхевич А.Г., 2000 - 2002 год1.2.3.4.HTTP (Hyper Text Transfer Protocol )- протокол передачи гипертекста, работает на 80 порту. Используется в WWW для передачи гипертекстовых HTML страниц. При работе по этому протоколу, каждыйэлемент HTML – страницы загружается отдельно, причем соединение между загрузками прерывается иникакой информации о соединении не сохраняется.
Это сделано для того, чтобы пользователя Webстраниц каждый получал "по чуть-чуть, в порядке общей очереди". В противном случае могла бысоздаться ситуация, когда один человек качает страницу с большим количеством рисунков высокогоразрешения, а все остальные ждут пока он это закончит.FTP (File Transfer Protocol.) – протокол передачи файлов, работает на 20 и 21 порту. Предназначен длякопирование файлов между компьютерами. Полностью занимает канал, пока не будет получен файл,сохраняет информацию о соединении. При сбое возможна докачка с того места, где произошел сбой.SMTP, IMAP-4, POP3 – почтовые протоколы (электронная почта).
SMTP - 25 порт, IMAP-4 – 143 порт,POP3 – 110 порт. Отличие: SMTP – протокол расчитанный на доставку почты до конкретногополучателя, POP3 и IMAP-4 – протоколы взаимодействия пользователя со своим почтовым ящиком насервере. При использовании SMTP предполагается, что почтовый адрес указывает на компьютерконечного получателя, и на этом компьютере запущена специальная программа, которая принимает иобрабатывает почту. Однако чаще всего бывает, что почта не доставляется на компьютер каждогоотдельного пользователя, а обрабатывается централизованно, на отдельном почтовом сервере. В такомслучае, каждый пользователь имеет на почтовом сервере свой почтовый ящик.
Почта доставляется досервера по протоколу SMTP (конечный получатель – сервер) и помещается в почтовые ящики пользователей. Затем пользователи подключаются к своим почтовым ящикам по протоколу POP3 или IMAP-4 изабирают почту. Протокол POP3 требует полностью скачать себе всю почту, а затем разбираться: нужнаона вам была или нет. Причем, чаще всего, администратор запрещает хранить копии скачанной почтына сервере (или ограничивает время хранения копий), поэтому, например, скачав почту из почтовогоящика на институтский компьютер, вы полностью очистите свой почтовый ящик и, зайдя на почтовыйящик с домашнего компьютера, увидите сообщение "Писем нет". Протокол IMAP-4 позволяет просматривать на сервере заголовки писем (указывается статус письма: новое, отвеченное и т.п.) и скачивать ссервера только необходимые письма или даже часть некоторого письма.
Также можно на стороне сервера проводить поиск по сообщениям, создавать иерархию каталоговдля хранения полученных писем(копии скачанных писем остаются на сервере, пока вы их не удалите). Фактически IMAP4 дублируетфункции почтовых программ пользователя (например, Microsoft Outlook), однако существенной разницей здесь являеется то, что если Micrsoft Outlook работает на компьютере пользователя, то командыпротокола IMAP-4 выполняются на сервере, а значит каталоги с письмами хранятся в одном месте (насервере), что очень удобно если вы часто подключаетесь к серверу с разных компьютеров и не хотите накаждом компьютере иметь полную копию всех писем.Резюмируя вышесказанное можно привести наиболее распространенный вариант работы с почтойдля обычного пользователя: отправка почты – по протоколу SMTP (на почтовый сервер получателя),получение почты – по протоколу POP3 или IMAP-4 (скачивание почты из почтового ящика на своемпочтовом сервере).TELNET – используется для подключения и управления удаленным компьютером, работает на 23 порту.После подключения каждый символ, введенный на локальной машине, обрабатывается так, как если быон был введен на удаленной машине.
Либо может использоваться командный режим – управлениеудаленной машиной при помощи специальных команд. Фактически TELNET – это протокол эмуляциитерминала: при помощи TELNET можно подключиться, например, на 25 порт и вручную набрать всенеобходимые поля заголовка письма, изменив адрес отправителя (обычно эти поля заполняютсяавтоматически специальными почтовыми программами) и отправить само письмо. Или, например,подключиться на 80 порт и "поиграть" роль Web-браузера Internet Explorer.4. Система доменных имен DNS.Доменное имя – это имя компьютера, вида www.sait.com. Адресация в Internet происходит по IP-адресам,однако для человека гораздо удобнее доменные имена.Существует также термин URL-адрес (Universal Resource Locator), т.е.
запись видаhttp://www.sait.com, или в полном варианте http://www.sait.com:80/katalog/index.html#glava1.Доменное имя являеется частью URL-адреса (схема_передачи:// доменное_имя : порт / имя файла#внутреняя_ссылка).Встает проблема: как поставить в соответствие IP-адрес и доменное имя. Вести на каждом компьютере базуданных, содержащую все доменные имена Internet, невозможно, поэтому применяется служба доменныхимен DNS (Domain Name Service). Алгоритм ее функционирования таков:1. Пользователь в окне Web-браузера вводит http://www.microsoft.com2. На первый DNS сервер IP-адрес которого известен (устанавливается в настройке Windows вручную илиавтоматически провайдером, при подключении к нему) компьютером пользователя направляется запросна установление IP-адреса по доменному имени.Составитель: Ляхевич А.Г., 2000 - 2002 год3.Если в базе данных сервера имеется соответствующая запись доменное имя – IP адрес, то ответ в видеIP-адреса возвращается компьютеру пользователю.
Если в базе данных информация отсутствует, тозапрос передается на DNS – сервер более высокого уровня (его IP известен серверу), который скореевсего тоже не знает ответ, но зато знает какой DNS сервер более низкого уровня отвечает за даннуюзону доменных имен, и перенаправит запрос ему. Тот ответит, и запрос по цепочке вернется ккомпьютеру пользователя. Такая схема наиболее распространена, однако возможна и другая схема. Еслив базе данных сервера отсутствует запрашиваемая запись доменное имя – IP адрес, то компьютерупользователя будет возвращен IP-адрес DNS-сервера более высокого уровня, и компьютер пользователядолжен впоследствии сам выполнять запросы к последующим DNS-серверам.Нет однозначного соответствия между IP–адресом и доменным именем.
Компьютер, имеющий один и тотже IP-адрес, может иметь доменное имя www.minsk.by www.usa.com nowhere.ru и т.д. Для этого достаточно купить доменное имя, т.е. заплатить за регистрацию соответствующего IP-адреса в базе данных DNS –серверов, отвечающих за соответсвующие зоны имен. При этом сам компьютер может физически находиться хоть в Китае, или вообще, весь сайт может реально находиться на сервере, предоставляющем бесплатноеразмещение web-страниц (web-хостинг), в каталоге www.halyava.fi /pub/web/sait/5873, но вы купилидоменное имя www.kruto.by и теперь пользователи могут попасть на ваш сайт, используя это имя.За каждую зону имен отвечает минимум два DNS-сервера.
Записи базы данных DNS-серверахранятся в файле зоны, в формате, определяемом стандартом RFC-1035. Существует несколько типовзаписей для хранения раз личных данных. Рассмотрим эти записи подробнее.Запись типа SOA.SOA (Start of Authority) - начало зоны. Первая запись в базе данных зоны. Пример:exmpl.ru. IN SOA ns.exmpl.ru. hostmaster.ns.exmpl.ru. (1997120802108003600360000086400 )Полеexmpl.ru.SOAns.exmpl.ru.hostmaster.ns.exmpl.ru.1997120802108003600360000086400ТаблицаРасшифровка полей записи SOAЗначениеПолностью уточненное имя зоны.