Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Izuch_comp_i__progr

.pdf
Скачиваний:
40
Добавлен:
14.04.2015
Размер:
7.45 Mб
Скачать

-91 -

кслужбе осуществляется, как правило, через сеть. Часто термин «сервер»

применяется к сетевому узлу, на котором запущена одна либо несколько сетевых служб. Клиент – это приложение, посылающее запросы службе,

предоставляемой сервером. Клиентом также может именоваться сетевой узел,

на котором выполняются приложения-клиенты.

Приложение-сервер выполняется непрерывно в ожидании запроса клиента, «привязываясь» при этом к некоторому порту (как минимум, к одному).

Приложение-клиент, например Web-броузер, получив запроса пользователя,

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

Основные службы Интернет

Доменная система имен

Интернет представляет собой конгломерат сотен тысяч взаимосвязанных гетерогенных сетей и компьютеров (узлов), взаимодействие которых основано на адресации IP-пакетов с помощью IP-адресов. IP-адрес обычно представляется в точечно-десятичной нотации, например 62.117.89.190. К

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

Следовательно, необходим иной механизм идентификации сетевых узлов более

«гуманным» способом. Для этого в больших сетях, в том числе в Интернет,

вместо IP-адресов используются символьные указатели на сетевые ресурсы – доменные имена, например, www.iana.org. Естественно, человеку запомнить понятное доменное имя проще, чем «бессмысленный» IP-адрес (192.0.34.162).

Для преобразования IP-адресов в доменные имена используется Служба Доменных Имен (Domain Name System или DNS).

-92 -

Вранние годы существования Internet (ARPANET) преобразование имен

машин в IP-адреса поддерживалось Сетевым Информационным Центром Министерства обороны США (DOD NIC - Network Information Center) с

помощью единственного файла (hosts.txt). Периодически системные администраторы должны были копировать этот файл из NIC в каждую машину,

подсоединенную к их сетям. По мере роста и изменения состава сети, а также из-за необходимости все более частого внесения изменений в файл hosts.txt,

стало ясно, что централизованная схема оказывается неработоспособной и должно быть найдено альтернативное решение.

Первая реализация Системы Доменных Имен (DNS) называлась JEEVES,

автором которой является Paul Mockapetris. Более поздней реализацией была

BIND (Berkeley Internet Name Domain), являющаяся на сегодняшний день наиболее популярной реализацией DNS. Результаты разработки DNS были опубликованы в 1983 году в RFC 882 и 883, а окончательно система DNS была сформулирована в RFC 1034 и 1035 в 1987 году.

Служба DNS обеспечивает автоматизированную службу доменных имен в

IP-адреса. DNS является всемирной распределенной базой данных, имена и адреса узлов Интернета хранятся на множестве серверов по всему миру.

Отдельные части базы данных DNS, называемые «зонами», размещены на разных серверах имен. Работа системы DNS построена на технологии клиент-

сервер. Программы, реализующие серверную часть DNS, называются серверами имен (name servers), Клиенты DNS – разрешающими программами,

резолверами (resolvers). Адекватная производительность службы достигается с помощью использования механизмов копирования и кэширования. Запросы и ответы DNS обычно пересылаются с использованием протокола транспортоного уровня UDP, однако при перемещении зон и при других ответственных процедурах обслуживания службы может быть использован протокол TCP. Серверы имен обычно прослушивают порт UDP-53.

- 93 -

Каждый узел в Интернет имен имеет собственное доменное имя, состоящее из меток и разделителей. В качестве разделителей меток используется символ точки ("."). Максимальная длина метки может составлять 63 байта.

Максимальная длина доменного имени (сумма всех меток и разделителей)

равна 255 байтам. Полное доменное имя каждого узла в дереве - это последовательность меток в пути от этого узла до корня.

Пространство доменных имен имеет иерархическую структуру и содержит множество вложенных доменов. Непосредственно ниже корня этой иерархии находится набор доменов верхнего уровня (Top Level Domains – TLD), которые первоначально представляли организационную иерархию:

.arpa: для самой DARPA (Department of Defense Advanced Research Projects Agency)

.com: для коммерческих организаций

.edu: для учебных заведений

.gov: для невоенных правительственных учреждений США

.mil: для военных учреждений США

.net: для организаций прямо привлеченных для обеспечения и поддержки

ARPANET и ее служб

.org: для других организаций

По мере экспансии Internet за пределы США, были добавлены дополнительные домены верхнего уровня, соответствующие отдельным странам (иерархия по географическому признаку), например, au, ca, us, uk, se, ru. Эти доменные имена кодов стран обычно выбираются из двухбуквенных кодов, зарегистрированных в стандарте ISO 3166:1988 Codes for the Representation of Names of Countries. Ниже доменов верхнего уровня, имена конструируются иерархически путем определения поддоменов, под-поддоменов и т.д., в принципе до любой требуемой глубины, пока конечное имя идентифицирует каждый отдельный узел Интернет.

- 94 -

Протокол передачи файлов и служба FTP

Служба FTP (File Transfer Protocol) и одноименный ей протокол создан для копирования файлов между узлами сети. Они были разработаны для клиента пересылки файлов операционной системы Berkley UNIX (BSD) и далее перенесены на различные многопользовательские сетевые операционные системы. Протокол FTP определен в RFC 959. Основные функции службы позволяют пользователю копировать файлы между системами, просматривать списки каталогов, выполнять файловые операции, подобные переименованию,

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

Доступ к общедоступным файлам через анонимную регистрацию.

Доступ к личным файлам, разрешенный только авторизованному пользователю.

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

которое собственно и используется для передачи данных. Таким образом, в

пересылке файлов по протоколу FTP участвуют два TCP-соединения,

образующих два специальных канала обмена. FTP-сервер, запущенный на удаленной машине, предоставляющей FTP-сервис, ожидает подключения клиентов на 21 TCP порту.

Большое распространение в Интернет имеют «анонимные» FTP-серверы,

предоставляющие свои ресурсы всем желающим. При входе на такой сервер в

- 95 -

качестве имени пользователя следует указать anonymous, а вместо пароля сообщить свой адрес электронной почты.

Служба электронной почты

В 1971 году Рэй Томлинсон (Ray Tomlinson) разработал почтовую программу для пересылки сообщений по распределенной сети. К марту 1972

года программа была модернизирована для использования в сети ARPANET.

Именно с этого времени электронной почты стал использоваться символ @ – “эт коммерческий” или “собака”, “собачка”. А дело все в том, что на телетайпном аппарате “модель 33”, который был в распоряжении Рэя Томлинсона, эта клавиша использовалась для пунктуации и обозначения английского предлога at (на). Таким образом, электронный адрес вида

<имя_пользователя>@<имя_домена> обозначает “пользователь с таким-то именем на таком-то домене”.

в Июле 1972 года была написана первая программу с удобным интерфейсом,

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

проведенное специалистами Агентства передовых исследовательских проектов

ARPA (Advanced Research Projects Agency) показало, что 75% всего трафика сети ARPANET приходится на электронную почту.

12 апреля 1979 года – день рождения «смайлика». Именно в этот день Кевин Маккензи (Kevin MacKenzie), один из апологетов «эмоциональных» компьютеров, обратился в Message Services Group с письмом, в котором

- 96 -

предлагалось включать в «сухие» компьютерные тексты некоторые символы,

обозначающие эмоции. Например, сочетание «:-)». Несмотря на завязавшуюся дискуссию среди приверженцев и противников нововведения, «эмоциональные смайлики» вскоре стали очень популярны среди пользователей.

1994 год. Электронная почта впервые была использована для рассылки рекламных объявлений. Позднее такие материалы, «засоряющие» почтовые ящики пользователей ненужной информацией, получили название «спам».

Аббревиатура SPAM (СПАМ) расшифровывается как Spiced Ham, то есть

«перченая ветчина». Это словосочетание стало нарицательным после того, как американская компания Hormel Foods в конце 80-х годов провела мощнейшую по тем временам кампанию по сбыту больших объемов консервированного мяса не первой свежести.

1998 год, декабрь. Инженер-программист Лин Хай (Lin Hai) и физик Уонг Юкай (Wang Youcai) осуждены за распространение «виртуальных» листовок по электронной почте среди более 250 тыс. других китайских диссидентов и зарубежных сторонников демократических реформ в стране. Им было предъявлено обвинение в подстрекательстве к свержению государственного строя.

Ранним утром 4 мая 2000 года по сетям электронной почты начал свое путешествие вирус «I Love You». Он оказался родом с Филиппин и распространялся через четыре взломанных адреса электронной почты. По оценкам экспертов этот вирус причинил ущерб на сумму не менее 7 млрд долларов, а в США, например, каждая 15-я компания так или иначе пострадала от этого вируса. Как ни странно, но столь массовое «размножение» вируса еще раз подтвердило тот факт, что электронная почта стала привычным сетевым инструментом и отнюдь не собирается сдавать своих позиций даже с появлением новых средств сетевого общения.

- 97 -

Система взаимодействия узлов в электронной почте

Основную роль в системе электронной почты играют программы трех типов:

транспортные агенты (MTA - Mail Transport Agent),

агенты доставки (MDA - Mail Delivery Agent),

пользовательские агенты (MUA - Mail User Agent).

Рис. 3.3 Взаимодействие узлов в электронной почте Транспортный агент работает, как правило, на почтовом сервере. Он играет

роль маршрутизатора почтовых сообщений и выполняет такие функции как:

1. анализ и преобразование адресов и заголовков почтовых сообщений, в

том числе:

1.разбор списков рассылки, пседонимов, переадресации

(форвардинг),

2.преобразование адресов в формат другой почтовой системы, если

MTA функционирует как шлюз между двумя почтовыми системами

(например, между Internet Mail и Sprint Mail),

3.преобразование имени почтового домена отправителя (маскарад),

4.установка служебных заголовков в сообщении, отражающих его маршрут и процесс обработки;

2.опрос DNS на предмет имени и адреса почтового сервера адресата сообщения;

-98 -

3.определение агента доставки для каждого сообщения и передача

сообщения выбранному агенту доставки;

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

5.возврат сообщений, которые по каким-либо причинам невозможно доставить по назначению.

Агент доставки производит доставку сообщения каким-либо специфическим способом. Существует несколько стандартных типов агентов доставки:

local - письмо направлено на почтовый ящик, находящийся на этом же компьютере; доставка производится, например, добавлением содержимого сообщения в определенный файл (в Unix это файл

/var/mail/почтовый_ящик).

SMTP - письмо направлено на почтовый ящик в другом почтовом домене; доставка производится путем соединения с транспортным агентом на удаленном сервере с помощью протокола SMTP.

prog - письмо должно быть обработано какой-либо программой;

доставка производится вызовом этой программы, на вход которой подается содержимое письма.

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

Пользовательский агент является оболочкой пользователя для работы с электронной почтой, его функции:

получение сообщений с почтового сервера;

презентация, хранение, удаление и каталогизирование почтовых сообщений;

-99 -

создание нового сообщения и передача его транспортному агенту

для дальнейшей обработки и доставки.

Структура email-сообщения

Базовая структура сообщения электронной почты определена в RFC-822.

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

From: "Sidorov" <sidorov@vvu.ru>

Если длина данных превышает одну строку, то последующие строки,

относящиеся к этому же заголовку, начинаются с табуляции:

Received: from u2.farm.idt.net (root@u2.farm.idt.net

[169.132.8.11]) by m.vvsu.ru (8.9.1/8.9.1) with ESMTP id MAA00238

for <sidorov@vvsu.ru>; Wed, 5 Jan 2000 12:02:28 +1000 (VVO)

Тело сообщения обычно содержит текст. Изначально электронная почта предназначалась для пересылки только текстовых сообщений. Для пересылки двоичного содержимого двоичные данные специальным образом кодируются и сообщение снабжается дополнительными заголовками и служебной информацией в соответствии со спецификацией MIME.

При пересылке сообщения по протоколу SMTP говорят о третьей части сообщения - конверте. Конверт - это адреса отправителя и получателя

(получателей), передаваемые как аргументы команд "MAIL FROM" (от кого) "RCPT TO" (кому) во время отправки почты по протоколу SMTP. Например,

если письмо отправлено нескольким получателям в разные почтовые домены

(petrov@a.ru, ivanov@b.ru, sidorov@c.ru, sidorenko@c.ru), то отправляющий

MTA размножит это письмо и "разложит" его в 3 конверта, по одному конверту на домен. Таким образом, конверт содержит информацию, необходимую для доставки сообщения через сеть; заголовки - информацию для транспортного и пользовательского агентов и самого пользователя.

- 100 -

Заголовки почтового сообщения

From: ivanov@a.ru

отправитель; адрес также может иметь форму "Ivan Ivanov" <ivanov@a.ru>.

Reply-To: real_ivanov@a.ru

адрес, на который следует отправлять ответ на письмо. Если этот заголовок отсутствует, ответ отправляется на адрес, указанный в заголовке "From:".

To: sidorov@vvsu.ru, "Petr Petrov" <petrov@vvsu.ru>

основной получатель (получатели).

Сс: "Jonh Smith" <john@smith.a.com>, <sidorenko@c.ru>

дополнительный получатель (получатели), если необходимы. При доставке письма для адресов в заголовках "To:" и "Cc:" выполняются одинаковые действия; различия между "To:" и "Cc:" в техническом плане нет.

Bcc: "Fox Mulder" <mulder@fbi.gov>

получатель (получатели), невидимый для остальных получателей, если требуется. То есть те, кто перечислен в "To:" и "Cc:", не будут знать, что копия письма отправлена Малдеру.

Subject: Happy New Year!

тема письма (может отсутствовать); транспортными агентами и агентами доставки не интерпертируется; может интерпертироваться пользовательским агентом в целях фильтрации и сортировки.

Date: Sat, 15 Jan 2000 17:25:32 +1000

время отправки письма.

Message-ID: <3.0.6.32.20000104175623.007badf0@mail.a.ru>

уникальный идентификатор сообщения, генерируемый MTA-отправителем;

для восприятия человеком не предназначен.

Received: ...

заголовок "Received:" добавляется каждым транспортным агентом, через которого проходит сообщение, содержит информацию кем, от кого, когда и каким образом получено сообщение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]