Для транспортировки сегментов протокол TCP использует протокол IP. Перед отправкой протокол TCP помещает сегменты в оболочку IP-пакета.
Задача протокола TCP заключается в передаче данных между любыми прикладными процессами, выполняющимися на компьютерах в сети. На каждом компьютере может выполняться одновременно несколько процессов. Для того чтобы доставить сообщение определенному процессу, необходимо каким-то образом идентифицировать его среди других. Идентификатором процесса служит номера порта. Номер порта и IP-адрес компьютера однозначно определяют процесс, работающий в сети. Набор этих параметров называется сокет.
За некоторыми процессами номера портов закреплены. Например, порт 21 закреплен за службой удаленного доступа к файлам FTP, порт 23 – за службой удаленного управления TELNET.
Для организации надежной передачи данных предусматривается установление логического соединения между прикладными процессами, которое определяется парой сокетов взаимодействующих процессов. В процессе соединения осуществляется подтверждение правильности приема сообщений и при необходимости выполняется повторная передача.
Человеку крайне неудобно использовать числовые IP-адреса, поэтому логичным представляется создание механизма, позволяющего ставить в соответствие IP-адресам символьные имена. В сети Интернет для этой цели используется система доменных имен (DNS), которая имеет иерархическую структуру. Младшая часть доменного имени соответствует конечному узлу сети. Составные части отделяются друг от друга точкой. Например, mail.econ.pu.ua. У одного узла может быть несколько имен.
Совокупность имен, у которых несколько старших частей доменного имени совпадают, называется доменом. Например, имена mail.econ.pu.ua и www.econ.pu.ua принадлежат домену econ.pu.ua.
Самым главным является корневой домен. Далее следуют домены первого, второго и третьего уровней. Корневой домен управляется InterNIC. Домены первого уровня назначаются для каждой страны, при этом принято использовать трехбуквенные и двухбуквенные аббревиатуры. Так, например, для Украины домен первого уровня ua, для России - ru, для США - us. Кроме того, несколько имен доменов первого уровня закреплено для различных типов организаций:
· com – коммерческие организации (например, ibm.com);
· edu – образовательные организации (например, spb.edu);
· gov – правительственные организации (например, loc.gov);
· org – некоммерческие организации (например, w3.org);
· net – организации, поддерживающие сети (например, ripn.net);
Для каждого имени домена создается свой DNS-сервер, который хранит базу данных соответствий IP-адресов и доменных имен, расположенных в данном домене, а также содержит ссылки на DNS-серверы доменов нижнего уровня. Таким образом, для того чтобы получить адрес компьютера по его доменному имени, приложению достаточно обратиться к DNS-серверу корневого домена, а тот, в свою очередь, перешлет запрос DNS-серверу домена нижнего уровня. Благодаря такой организации системы доменных имен нагрузка по разрешению имен равномерно распределяется среди DNS-серверов.
Интернет — это, прежде всего, глобальная компьютерная сеть. Существует большое количество разнообразных услуг (сервисов), которыми мы пользуемся, работая в Сети.
Электронная почта
Система электронной почты позволяет доставить сообщение на любой компьютер, включенный в сеть Интернет. Сообщение может содержать текст или файл практически любого формата – графику, музыку и т.д.
Все пользователи электронной почты имеют уникальные адреса. Адрес пользователя зарегистрирован в определенном домене Интернета. С каждым доменом связан почтовый сервер, управляющий адресами пользователей.
Пользователь набирает текст письма в специальной программе - почтовом клиенте, позволяющем создавать и редактировать новые письма, обрабатывать пришедшие, хранить и систематизировать переписку и т.п. Почтовый клиент помещает письмо в «почтовый ящик» пользователя, расположенный на почтовом сервере. Сервер, в свою очередь, передает письмо на почтовый сервер адресата.
В Интернете принята система адресов электронной почты, которая базируется на доменном адресе машины, подключенной к сети. Адрес пользователя состоит из двух частей, разделенных символом «@», например, Jones@Registry.org. Здесь Jones – это имя пользователя, а Registry.org – адрес – доменное имя почтового сервера.
Почтовое сообщение состоит из трех частей:
· конверта;
· заголовка;
· тела сообщения.
Пользователь видит только заголовок и тело сообщения. Конверт используется программами доставки.
Заголовок всегда находится перед телом сообщения и отделен от него пустой строкой. RFC-822 регламентирует содержание заголовка сообщения: заголовок состоит из полей; поля состоят из имени поля и содержания поля; имя поля отделено от содержания символом двоеточия «:». Минимально необходимыми являются поля Date, From, cc или То, например:
Date: 26 Aug 05 1429 EOT
From: Jones@Registry.org
или
Date: 26 Aug 05 1429 EOT
From: Jones@Registry.org
To: Smith@Registry.org
Поле Date определяет дату отправки сообщения, поле From - отправителя, а поля сс и То - получателя или нескольких получателей.
Часто заголовок содержит дополнительные поля:
Date: 26 Aug 05 1429 EOT
From: George Jones
Sender: Secy@SHOST
To: Smith@Registry.org
Message -ID: <4231.629.XYzi - What@Registry.org>
В данном случае поле Sender указывает, что George Jones не является автором сообщения. Он только переслал сообщение, которое получил из Secy@SHOST. Поле Message - ID содержит уникальный идентификатор сообщения и используется программами доставки почты. Следующее сообщение демонстрирует все возможные поля заголовка:
Date: 27 Aug 05 0932
From: Ken Davis
Subject: Re: The Syntax in the RFC
Sender: KSecy@Other - host
Reply to: Sam. Irving@Reg.Organization
To: George Jones
cc: Important folks: Tom Softwood , "Sam Irving"@0ther - Host;
Standard Distribution: /main/davis/people/standard@0ther - Host
Comment: Sam is away on bisiness.
In reply to: George's message
X special action: This is a sample of user - defined field - names. Message - ID:
<4331.629.XYzi - What@0ther - Host
Поле Subject определяет тему сообщения, Reply to - пользователя, которому отвечают, Comment - комментарий, In reply to - показывает, что сообщение относится к типу «В ответ на Ваше сообщение, отвечающее на сообщение, отвечающее …», X special action - поле, определенное пользователем, которое не определено в стандарте.
Формат сообщения постоянно дополняется и совершенствуется. Так в RFC-1327 введены дополнительные поля для совместимости с почтой Х.400. Кроме того, следует обратить внимание на поля некоторых, довольно часто встречающихся заголовков, которые не регламентированы в RFC-822. Так, первое предложение заголовка, которое начинается со слова From, содержит UUCP - путь сообщения, по которому можно определить, через какие машины сообщение «пробиралось». Поле Received содержит транзитные адреса почтовых серверов с датой и временем прохождения сообщения. Вся эта информация полезна при разборе трудностей с доставкой почты.
Возможности электронной почты не ограничиваются только пересылкой корреспонденции. По почте можно получить доступ ко многим ресурсам Интернета, которые используют почтовых роботов, отвечающих на запросы пользователей. Поэтому имеет смысл более детально изучить программное обеспечение, поддерживающее электронную почту.
Стандарт MIME (или, в нотации Интернета, RFC-1341) предназначен для описания тела почтового сообщения Интернета. Предшественником MIME является Стандарт почтового сообщения ARPA (RFC-822), который был разработан для обмена текстовыми сообщениями. RFC-822 не дает возможностей включить в тело сообщения графику, аудио, видео и другие типы информации, а также текстовую информацию, которую нельзя реализовать 7-битовой кодировкой ASCII. Ограничения RFC-822 становятся еще более очевидными, когда речь заходит об обмене сообщениями в разных почтовых системах.
MIME ориентирован на описание в заголовке письма структуры тела почтового сообщения и возможности составления письма из информационных единиц различных типов. В стандарте зарезервировано несколько способов представления разнородной информации. Для этого используются специальные поля заголовка почтового сообщения:
· поле версии MIME, используемое для идентификации сообщения, подготовленного в новом стандарте;
· поле описания типа информации в теле сообщения, позволяющее обеспечить правильную интерпретацию данных;
· поле типа кодировки информации в теле сообщения, указывающее на тип процедуры декодирования;
· два дополнительных поля, зарезервированных для более детального описания тела сообщения.
Стандарт MIME разработан как расширяемая спецификация, в которой подразумевается, что число типов данных будет расти по мере развития форм представления данных. При этом следует учитывать, что анархия типов (безграничное их увеличение) тоже недопустима. Каждый новый тип в обязательном порядке должен быть зарегистрирован в IANA (Internet Assigned Numbers Authority). Остановимся подробнее на форме и назначении полей, определяемых стандартом.
Поле версии MIME (MIME - Version) указывается в заголовке почтового сообщения и позволяет программе рассылки почты определить, что сообщение подготовлено в стандарте MIME. Формат поля выглядит так: