Прикладные протоколы

1. Основные протоколы Интернет: TCP/ IP, прикладные протоколы

Интернет (Internet) – это глобальная информационная система, которая:

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

Несмотря на то что в сети Интернет используется большое число других протоколов , сеть Интернет часто называют TCP/IP-СЕТЬЮ, так как протоколы передачи данных TCP и IP, безусловно, являются важнейшими.

1.1. Стек протоколов TCP/IP

Transmission Control Protocol/Internet Protocol (TCP/IP) - это набор протоколов передачи данных. Часто эти протоколы, по причине их тесной связи, именуются вместе - TCP/IP. TCP - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.

Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.

Стек был разработан по инициативе Министерства обороны США (Department of Defence, DoD) более 20 лет назад для связи экспериментальной сети ARPAnet с другими сателлитными сетями как набор общих протоколов для разнородной вычислительной среды.

Большой вклад в развитие стека TCP/IP внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека. На этом же стеке работает всемирная информационная сеть Internet, чье подразделение Internet Engineering Task Force (IETF) вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC.

TCP/IP - это семейство сетевых протоколов, ориентированных на совместную работу. В состав семейства входит несколько компонентов:

  • IP (Internet Protocol - межсетевой протокол) - обеспечивает транспортировку пакетов данных с одного компьютера на другой;
  • ICMP (Internet Control Message Protocol - протокол управляющих сообщений в сети Internet) - отвечает за различные виды низкоуровневой поддержки протокола IP, включая сообщения об ошибках, вспомогательные маршрутизирующие запросы и подтверждения о получении сообщений;
  • ARP (Address Resolution Protocol - протокол преобразования адресов) - выполняет трансляцию IP-адресов в аппаратные MAC-адреса;
  • UDP (User Datagram Protocol - протокол передачи дейтаграмм пользователя) и TCP (Transmission Control Protocol - протокол управления передачей) - обеспечивают доставку данных конкретным приложениям на указанном компьютере. Протокол UDP реализует передачу отдельных сообщений без подтверждения доставки, тогда как TCP гарантирует надёжный полнодуплексный канал связи между процессами на двух разных компьютерах с возможностью управления потоком и контроля ошибок.

Лидирующая роль стека TCP/IP объясняется следующими его свойствами:

  • Это наиболее завершенный стандартный и в то же время популярный стек сетевых протоколов, имеющий многолетнюю историю.
  • Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.
  • Это метод получения доступа к сети Internet.
  • Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.
  • Все современные операционные системы поддерживают стек TCP/IP.
  • Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов.
  • Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.

1.2. Структура стека TCP/IP. Краткая характеристика протоколов

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

Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.

Структура протоколов TCP/IP приведена на рисунке 1. Протоколы TCP/IP делятся на 4 уровня:

Верхний уровень (уровень I)- Прикладной

Прикладной уровень стека TCP/IP соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. Он объединяет сервисы, предоставляемые системой пользовательским приложениям. За долгие годы применения в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. К ним относятся такие распространенные протоколы, как протокол передачи файлов (File Transfer Protocol, FTP), протокол эмуляции терминала telnet, простой протокол передачи почты (Simple Mail Transfer Protocol, SMTP), протокол передачи гипертекста (Hypertext Transfer Protocol, HTTP) и многие другие. Протоколы прикладного уровня развертываются на хостах.

Следующий уровень (уровень II) - Транспортный

Этот уровень называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процессами.

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

Следующий уровень (уровень III) - Сетевой

Сетевой уровень, называемый также уровнем Интернета, является стержнем всей архитектуры TCP/IP. Это уровень межсетевого взаимодействия, который занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных сетей, линий специальной связи и т. п.

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

На сетевом уровне в семействе протоколов TCP/IP предусмотрено два обширных класса служб, которые используются во всех приложениях.

  • Служба доставки пакетов, не требующая установки соединения;
  • Надёжная потоковая транспортная служба.

Основное различие состоит в том, что службы, в которых устанавливается надёжное соединение, сохраняют информацию о состоянии и таким образом отслеживают информацию о передаваемых пакетах. В службах же, не требующих надёжного соединения, пакеты передаются независимо друг от друга.
Данные передаются по сети в форме пакетов, имеющих максимальный размер, определяемый ограничениями канального уровня. Каждый пакет состоит из заголовка и полезного содержимого (сообщения). Заголовок включает сведения о том, откуда прибыл пакет и куда он направляется. Заголовок, кроме того, может содержать контрольную сумму, информацию, характерную для конкретного протокола, и другие инструкции, касающиеся обработки пакета. Полезное содержимое – это данные, подлежащие пересылке.
Имя базового блока передачи данных зависит от уровня протокола. На канальном уровне это кадр или фрейм, в протоколе IP – пакет, а в протоколе TCP – сегмент. Когда пакет передаётся вниз по стеку протоколов, готовясь к отправке, каждый протокол добавляет в него свой собственный заголовок. Законченный пакет одного протокола становится полезным содержимым пакета, генерируемого следующим протоколом.

Работа протокола с установлением соединения включает в себя три основные фазы:

  • Установление соединения;
  • Обмен данными;
  • Разрыв соединения.

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом - источником пакета. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.

Самый нижний (уровень IV) - Уровень сетевых интерфейсов

У нижнего уровня стека TCP/IP задача существенно проще - он отвечает только за организацию взаимодействия с подсетями разных
технологий, входящими в составную сеть. Соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов X.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции пакетов IP в ее кадры.

TCP/IP рассматривает любую подсеть, входящую в составную сеть, как средство транспортировки пакетов между двумя соседними
маршрутизаторами. Задачу организации интерфейса между технологией TCP/IP и любой другой технологией
промежуточной сети упрощенно можно свести к двум задачам:

  • Упаковка (инкапсуляция) IP-пакета в единицу передаваемых данных промежуточной сети;
  • Преобразование сетевых адресов в адреса технологии данной промежуточной сети.

1.3. Прикладные протоколы

За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие.

Протокол пересылки файлов FTP

До появления службы WWW сетевая файловая служба на основе протокола FTP (File Transfer Protocol - протокол передачи файлов), описанная в спецификации RFC 959, долгое время была самой популярной службой доступа к удаленным данным в Интернете и
корпоративных IP-сетях. FTP-серверы и FTP-клиенты имеются практически в каждой ОС, кроме того, для доступа ко все еще популярным FTP-архивам используются FTP-клиенты, встроенные в браузеры.

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

Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. Для доступа к публичным каталогам FTP-архивов Internet парольная аутентификация не требуется, и ее обходят за счет использования для такого доступа предопределенного имени пользователя Anonymous.

В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.

Протокол Telnet

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

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

Протокол SNMP

Simple Network Management Protocol используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Internet, которые традиционно часто называют также шлюзами. С ростом популярности протокол SNMP стали применять и для управления любым коммуникационным оборудованием - концентраторами, мостами, сетевыми адаптерами и т.д. и т.п. Проблема управления в протоколе SNMP разделяется на две задачи:

  • Первая задача связана с передачей информации. Протоколы передачи управляющей информации определяют процедуру взаимодействия SNMP-агента, работающего в управляемом оборудовании, и SNMP-монитора, работающего на компьютере администратора, который часто называют также консолью управления. Протоколы передачи определяют форматы сообщений, которыми обмениваются агенты и монитор.
  • Вторая задача связана с контролируемыми переменными, характеризующими состояние управляемого устройства. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в устройствах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.

Протокол

9P (или протокол файловой системы Plan 9 или Styx) - сетевой протокол, разработанный для распределённой операционной системы Plan 9 для организации соединения компонентов операционной системы Plan 9. Ключевыми объектами системы Plan 9 являются файлы - ими представлены окна, сетевые соединения, процессы, и почти всё, что доступно в операционной системе Plan 9. В отличие от NFS, 9P поддерживает кэширование и обслуживание синтетических файлов (например /proc для представления процессов).
Исправленная версия 9P для 4 редакции Plan 9, которая была значительно улучшена, получила имя 9P2000. В последней версии операционной системы Inferno также используется 9P2000, который носит название Styx, но технически он всегда являлся вариантом реализации 9P.
Другая версия 9P, 9p2000.u, была переработана для лучшей поддержки окружения Unix. Серверная реализация 9P для Unix, u9fs, включена в дистрибутив Plan 9. Драйвер клиента для Linux является частью проекта v9fs. Протокол 9P и его производные реализации находят применение во встраиваемых системах, как, к примеру, Styx в проекте Brick.

Протокол BitTorrent

BitTórrent (букв. англ. «битовый поток») - пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.
Файлы передаются частями, каждый torrent-клиент, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных.
Протокол был создан Брэмом Коэном, написавшим первый torrent-клиент «BitTorrent» на языке Python 4 апреля 2001 года. Запуск первой версии состоялся 2 июля 2001 года.
Существует множество других программ-клиентов для обмена файлами по протоколу BitTorrent.

Протокол BOOTP

BOOTP (от англ. bootstrap protocol) - сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951 .
BOOTP позволяет бездисковым рабочим станциям получать IP-адрес прежде, чем будет загружена полноценная операционная система. Исторически это использовалось для Unix-подобных бездисковых станций, которые в том числе могли получать информацию о местоположении загрузочного диска посредством этого протокола. А также большими корпорациями для установки предварительно настроенного программного обеспечения (например, операционной системы) на новоприобретённые компьютеры.
Изначально предполагалось использование дискет для установки предварительного сетевого соединения, но позже поддержка протокола появилась в BIOS некоторых сетевых карт и во многих современных материнских платах.
DHCP (Dynamic Host Configuration Protocol) - протокол, основанный на BOOTP, предоставляющий некоторые дополнительные возможности и являющийся более сложным. Многие DHCP-серверы поддерживают и BOOTP.
Инкапсуляция происходит следующим образом: BOOTP->UDP->IP->…

Протокол DNS

DNS (англ. Domain Name System - система доменных имён) - компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения - другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года, в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.

Протокол HTTP

HTTP (англ. HyperText Transfer Protocol - «протокол передачи гипертекста») - протокол прикладного уровня передачи данных (изначально - в виде гипертекстовых документов). Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46 %, из которых почти половина - это передача потокового видео и звука.
HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (В частности для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
HTTP - протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

Протокол NFS

Network File System (NFS) - протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057 , RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094 , RFC 1813 , RFC 3530 и RFC 5661 .
NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время используется наиболее зрелая версия NFS v.4 (RFC 3010 ,RFC 3530), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC GSS) и списков контроля доступа (как POSIX, так и Windows-типов).
NFS предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера. В отличие от FTP, протокол NFS осуществляет доступ только к тем частям файла, к которым обратился процесс, и основное достоинство его в том, что он делает этот доступ прозрачным. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с NFS файлом, без каких либо модификаций самой программы.
NFS клиенты получают доступ к файлам на NFS сервере путем отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов - а именно, NFS клиент может быть пользовательским процессом, который осуществляет конкретные RPC вызовы на сервер, который так же может быть пользовательским процессом.
Важной частью последней версии стандарта NFS (v4.1) стала спецификация pNFS, нацеленная на обеспечение распараллеленной реализации общего доступа к файлам, увеличивающая скорость передачи данных пропорционально размерам и степени параллелизма системы.

Протокол POP, POP3

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению.
POP и IMAP (Internet Message Access Protocol) - наиболее распространенные Интернет-протоколы для извлечения почты. Практически все современные клиенты и сервера электронной почты поддерживают оба стандарта. Протокол POP был разработан в нескольких версиях, нынешним стандартом является третья версия (POP3). Большинство поставщиков услуг электронной почты (такие как Hotmail, Gmail и Yahoo! Mail) также поддерживают IMAP и POP3. Предыдущие версии протокола (POP, POP2) устарели.
Альтернативным протоколом для сбора сообщений с почтового сервера является IMAP.

Протокол SMPT

SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.
SMTP впервые был описан в RFC 821 (1982 год); последнее обновление в RFC 5321 (2008) включает масштабируемое расширение - ESMTP (англ. Extended SMTP). В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты с использованием порта TCP 25.
В то время, как электронные почтовые серверы и другие агенты пересылки сообщений используют SMTP для отправки и получения почтовых сообщений, работающие на пользовательском уровне клиентские почтовые приложения обычно используют SMTP только для отправки сообщений на почтовый сервер для ретрансляции. Для получения сообщений клиентские приложения обычно используют либо POP (англ. Post Office Protocol - протокол почтового отделения), либо IMAP (англ. Internet Message Access Protocol), либо патентованные системы (такие как Microsoft Exchange и Lotus Notes/Domino) для доступа к учетной записи своего почтового ящика на сервере.

Протокол X.400

X.400 - протокол, представляет собой набор рекомендаций по построению системы передачи электронных сообщений, не зависящей от используемых на сервере и клиенте операционных систем и аппаратных средств. Рекомендации X.400 являются результатом деятельности международного комитета по средствам телекоммуникаций (CCITT во французской транскрипции или ITU в английской), созданного при Организации Объединённых Наций.
Рекомендации X.400 охватывают все аспекты построения среды управления сообщениями: терминологию, компоненты и схемы их взаимодействия, протоколы управления и передачи, форматы сообщений и правила их преобразования. В рекомендациях X.400 наиболее полно отражается накопленный в индустрии компьютеров и телекоммуникаций опыт создания и применения информационных систем. В настоящее время существуют три редакции рекомендаций:
рекомендации 1984 года, известные также как «Красная книга» (Red Book);
рекомендации 1988 года, известные также как «Голубая книга» (Blue Book);
рекомендации 1992 года, известные также как «Белая книга» (White Book).
Более поздние рекомендации описывают дополнительные протоколы и форматы передачи данных, корректируют неточности и/или изменяют трактовку более ранних. Исправления и дополнения к указанным спецификациям выпускаются ежегодно, однако существующие системы в подавляющем большинстве поддерживают рекомендации 1984 и/или 1988 годов. Эти спецификации не являются свободно доступными и распространяются за довольно высокую плату.
Рекомендации X.400 опираются на семиуровневую модель и семейство протоколов OSI международной организации по стандартам (ISO). Согласно этой модели, каждый из уровней использует сервисы только находящегося непосредственно под ним и предоставляет сервисы только находящемуся непосредственно над ним уровню. Это обеспечивает системам, построенным на основе такой модели, высокую степень независимости от среды передачи данных. Поскольку рекомендации X.400 определяют набор спецификаций для самого верхнего уровня (Application), отвечающие этим рекомендациям приложения должны свободно взаимодействовать друг с другом, вне зависимости от применяемых операционных систем, аппаратуры и сетевых протоколов.
Для разделения входящего потока данных между приложениями на каждом из уровней, транспортом (Transport), сеанса (Session) и представлений (Presentation), используется механизм так называемых точек доступа (access point). Каждая точка доступа имеет уникальный идентификатор, или селектор (selector), который может быть либо символьной строкой, либо последовательностью шестнадцатеричных цифр. Длина селектора транспортного уровня - 32 символа (64 цифры), уровня сеансов - 16 символов (32 цифры) и уровня представлений - 8 символов (16 цифр). Чтобы два приложения в сети могли взаимодействовать, каждое из них должно знать набор селекторов другого.
Протокол X.400 используется в тех случаях, когда требуется высокая надёжность, например, в банковских информационных системах. Из-за высокой сложности стандартов, практические реализации X.400 весьма дорогостоящи и не получили большого распространения.
Устаревшие версии Microsoft Exchange Server поддерживали X.400 и использовали его в качестве своего проприетарного внутреннего формата. Позднее поддержка X.400 была удалена из продукта.

Протокол X.500

X.500 - серия стандартов ITU-T (1993 г.) для службы распределенного каталога сети. Каталоги X.500 предоставляют централизованную информацию обо всех именованных объектах сети (ресурсах, приложениях и пользователях) (рекомендации MKKTT для каталогов). Изначально стандарт X.500 планировался для использования именований узлов, адресов и почтовых ящиков, предусмотренных стандартом X.400.
Каталоги, как правило, содержат статические и редко изменяемые элементы, так как каталоги изначально оптимизированы для очень быстрого отклика на запросы поиска и чтения данных.
Каталоги полностью структурированы. Каждый элемент данных имеет имя, которое, одновременно определяет положение элемента в иерархии каталога. Каждый атрибут элемента, как правило, может иметь несколько значений и это является нормальным поведением, в отличие от обычных баз данных.
Каталоги являются очень специфическими системами хранения данных. Их удобно использовать для иерархически скомпонованных объектов. Каталоги могут быть реплицированы между несколькими серверами, для удобного доступа и распределения нагрузки. Текстовая информация очень хорошо подходит для каталогов, так как легко поддается поиску, но данные могут быть представлены и в любой другой форме.
Очень удобно использовать каталоги для управления пользовательскими аккаунтами, машинами, схемами доступа, приложениями и многим другим, поскольку механизмы управления чаще всего только считывают данные из центрального храни

Протокол SPDY

SPDY (читается как «speedy», «спиди») - протокол прикладного уровня для передачи веб-контента. Протокол разработан корпорацией Google. По замыслу разработчиков, данный протокол позиционируется как замена некоторых частей протокола HTTP - таких, как управление соединениями и форматы передачи данных.
Основной задачей SPDY является снижение времени загрузки веб-страниц и их элементов. Это достигается за счет расстановки приоритетов и мультиплексирования передачи нескольких файлов таким образом, чтобы требовалось только одно соединение для каждого клиента.
Документация по проекту уже доступна, было проведено первое лабораторное тестирование. Тесты проходили таким образом: создатели сымитировали сеть и загрузили по SPDY-протоколу 25 крупнейших мировых сайтов. Статистика говорит о том, что в ряде случаев веб-страницы загружались на 55 % быстрее, чем при использовании HTTP-протокола. В документации также сказано, что время загрузки страниц стало меньше на 36 %.

1.4. Адресация в сети Интернет

Адреcация в сети Интернет организована очень просто. Каждой точке подключения любого устройства (интерфейсу) к сети TCP/IP (Интернет), присваивается уникальный номер, который называют IP-адресом. Он нужен для того, чтобы маршрутизаторы могли определять, куда направлять каждый конкретный пакет информации, передаваемый по сети.

IP-адрес

Для программно-аппаратных устройств IP-адрес - это просто целое число, для хранения которого выделяется ровно 4 байта памяти. То есть число в диапазоне от 0 до 4294967295. Человеку запоминать такие громоздкие числа сложно. Поэтому для наглядности IP-адрес записывается в виде последовательности четырех чисел, разделенных точками, в диапазоне от 0.0.0.0 до 255.255.255.255. Каждое из этих четырех чисел соответствует значению отдельно каждого байта из тех четырех, в котором хранится все число. Такой способ нумерации позволяет иметь в сети более четырех миллиардов компьютеров.

Отдельным компьютерам или локальной сети, которые впервые подключаются к сети Интернет, специальная организация, занимающейся администрированием доменных имен, присваивает IP – адреса.

"Белые" и "серые" IP-адреса

Общее количество возможных IP-адресов ограничено. Во времена создания сети Интернет и разработки основных протоколов ее работы никто и подумать не мог, что более чем 4 миллиарда допустимых адресов могут быть использованы. Но с развитием сети Интернет этого количества уже давно не хватает. Поэтому предпринимаются различные меры для экономии IP-адресов.

Одним из способов экономии является разделение всего пула адресов на так называемые приватные «серые» и реальные «белые» IP-адреса.

В Интернет-сообществе существует договоренность, что часть адресов разрешено использовать только для устройств, работающих в локальных IP-сетях, не имеющих выхода в глобальную сеть Интернет. Эти IP-адреса принято называть приватными или «серыми».

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

Динамические и статические IP-адреса

Еще один способ экономии IP-адресов, используемый в основном провайдерами, – применение динамически выделяемых IP-адресов.

В идеальном случае каждое устройство в сети должно иметь постоянный (статический) IP-адрес. Но закреплять за устройствами, которые подключаются к сети только время от времени, статические IP-адреса слишком расточительно. Большинству пользователей совершенно безразлично, какой именно IP-адрес им будет выделен, поэтому провайдеры обычно раздают динамические IP-адреса.

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

IP-сети и маски подсетей

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

Количество IP-адресов в любой подсети всегда должно быть кратно степени числа 2. То есть – 4, 8, 16, 32 и т.д. Других размеров подсетей быть не может. Причем, первым адресом подсети должен быть такой адрес, последнее (из четырех) чисел которого должно делиться без остатка на размер сети.

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

Для сокращения и упрощения описания подсетей, существует понятие «маска подсети» . Маска указывает на размер подсети и может быть описана двумя вариантами записи – коротким и длинным.

Например, описать подсеть, размером в 4 адреса, начинающейся с адреса 80.255.147.32 с помощью маски можно следующими вариантами:

Короткий – 80.255.147.32/30
Длинный – сеть 80.255.147.32, маска 255.255.255.252

2. Режимы работы и способы подключения к Интернет

2.1. Режимы работы в Интернет

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

В Internet можно работать в нескольких режимах. Подавляющее большинство популярных служб Internet работают в режиме on-line (режим постоянного подключения к сети).

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

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

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

2.2. Способы подключения к Интернет

Существуют следующие способы подключения к сети Интернет.

  • Подключение через Dial-Up модем.
  • Подключение через ADSL модем.
  • Подключение через мобильный телефон.
  • Подключение через кабельное телевидение.
  • Подключение через выделенный канал.
  • Радиоинтернет - подключение с помощью специальной антенны.
  • Подключение через CDMA или GSM модем.
  • Спутниковый интернет - подключение через спутник.

Подключение через Dial-Up модем

Это самый старый, но всё ещё широко используемый способ подключения. Модемное (dial-up) подключение сейчас используется только там, где есть операторы абонентской телефонной связи, предоставляющие услуги dial-up подключения, и нет других способов подключения.

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

Для подключения этим способом необходимо наличие dial-up модема и стационарного телефона.
У этого способа подключения плюсы такие: это сама возможность подключения к интернету, низкая стоимость модема, простота настройки и установки. А вот минусов гораздо больше:

  • низкая скорость передачи данных: у современных модемных подключений максимальная теоретическая скорость составляет 56 кбит/сек, хотя на практике скорость редко превышает 40-45 кбит/сек, а в подавляющем большинстве случаев держится на уровне не более 30 кбит/сек. Такие факторы, как шум в телефонной линии и качество самого модема играют большую роль в значении скоростей связи. В некоторых случаях в особенно шумной линии скорость может падать до 15 кбит/сек и менее, к примеру в гостиничном номере, где телефонная линия имеет много ответвлений. У телефонного соединения через модем обычно высокое время задержки, которое доходит до 400 миллисекунд или более;
  • если Вы подключились к интернету, то к вам уже никто не дозвонится - телефон будет занят;
  • платить надо как за интернет, так и за телефон;
  • скачать большие файлы практически невозможно из-за низкого качества передачи данных, да и дорого.

Подключение через ADSL модем.

Это более современный способ подключения к интернету.
ADSL (Asymmetric Digital Subscriber Line) - разновидность xDSL абонентского высокоскоростного доступа, обеспечивающий доступ к сети Интернет по уже существующей телефонной абонентской линии и не требует дополнительной организации линии связи.
Таким образом передача данных по ADSL технологии производится по тому же кабелю, на котором работает Ваш телефон и при этом, Ваш телефон остается свободным. В помещении абонента устанавливается ADSL модем, который подключается параллельно Вашему телефонному аппарату (требуется применение специального частотного разделителя - Splitter).

Параметры доступа в сеть Интернет при подключении по ADSL (качество, скорость) определяются техническими характеристиками конкретной абонентской телефонной линии, соединяющей пользователя с АТС.

Минус этого способа подключения - это высокая стоимость подключения. Зато плюсов больше -

  • Высокая скорость получения информации, значительно превосходящая аналоговые модемы, ISDN, HDSL, SDSL;
  • Телефонная линия при работе в сети Интернет остаётся свободной;
  • Постоянное IP соединение (для доступа в Интернет нет необходимости набирать телефонный номер и ждать установки соединения);
  • Высокая стабильность скорости. В отличие от кабельных модемов каждый абонент имеет свою гарантированную полосу пропускания и не разделяет ее с кем-либо;
  • Надежная связь 24 часа в сутки;
  • Безопасность передаваемых данных. Телефонная линия, на которой работает ADSL модем, используется только одним абонентом и подключена только к нему.

Подключение через мобильный телефон.

В связи с быстрым развитием сотовой связи, почти у каждого человека имеется сотовый телефон, поэтому именно этот способ подключения становится всё более популярным. Для подключения этим способом к интернету необходимо наличие мобильного телефона с поддержкой GPRS или EDG протоколов (любой современный, не старше 2х-3х лет, мобильный телефон поддерживает эти протоколы) и средства связи с компьютером - USB кабель, Bluetooth, инфракрасный порт.

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

Подключение через кабельное телевидение.

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

Качество и скорость передачи данных на высокам уровне, цены на услуги не высокие. Правда сам модем немного дороговат, но некоторые операторы предалгают модемы в аренду с последующим выкупом.

Подключение через выделенный канал.

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

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

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

Радиоинтернет - подключение с помощью специальной антенны.

Такой вид подключения используется в том случае, если провайдер по каким-либо причинам не может протянуть кабель в желаемое место использования интернета, но может предоставить беспроводную точку доступа. Точка доступа должна находиться в пределах прямой видимости, на расстоянии не более 5км от желаемого места использования интернета.

Если все условия выполнены, можно устанавливать специальную антенну, точно так же как бы ставили телевизионную (на крыше, столбе, дереве…) и направить рупор антенны непосредственно на точку доступа. Сама антенна подключается кабелем к радиокарте на компьютере.

Качество и скорость передачи данных приемлемые, правда, могут зависеть от погодных условий.

Подключение через CDMA или GSM модем.

Приемущество такого способа подключения - мобильность и независимость от мобильного телефона. Любой CDMA или GSM оператор предоставляет услуги интернета, у него же Вы сможете купить модем. Характеристики скорости и качества передачи данных такие же как и при подключении через мобильный телефон.

Спутниковый интернет - подключение через спутник.

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

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

Спутниковый интернет может быть односторонним (работает только на прием) и двухсторонним (прием и отправка). Преимущества спутникового подключения к Интернету – в первую очередь это очень низкая стоимость трафика. Стоимость комплекта оборудования и подключения в настоящее время доступна практически для всех и составляет приблизительно 200-300 долларов США (имеется ввиду одностороннее подключение). Скорость передачи данных значительно варьируется в зависимости от провайдера и тарифного плана, выбранного пользователем. Провайдеры спутникового Интернета предлагают очень широкий выбор тарифных планов, в том числе и безлимитных. Очень приятным бонусом является также возможность бесплатного приема спутникового телевидения.

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

Для подключение спутникового интернета необходимо такое оборудование:
- спутниковая антенна;
- спутниковый модем;
- конвертор для преобразования сигнала.

В следующей таблице представлена сравнительная характеристика различных видов доступа с точки зрения преимуществ и недостатков для пользователя.

Таблица 1. Сравнение различных видов доступа к Интернету.

Вид доступа Преимущества Недостатки Пользователь
Модемное соединение Широко доступен, не требует серьезных вложений средств Низкая скорость и надежность соединений, недоступность телефонной связи Тот, кому не требуется передавать большие объемы данных, либо Интернет нужен достаточно редко. Начинающий пользователь.
ADSL Высокая скорость, невысокая стоимость трафика Достаточно высокая стоимость подключения, хотя в целом технология практически лишена недостатков Относительная дороговизна данного соединения.
Спутниковый доступ Высокая скорость загрузки информации, дополнительные услуги (цифровое телевидение), независимость от наземных линий связи, возможность свободного выбора провайдера Достаточно высокая (порядка $300) стоимость подключения, необходимость наличия канала исходящей связи (модемное соединение и т.д.), сравнительно длительное время ответа сервера Пользователь, не имеющий возможности пользоваться ADSL -подключениями, выделенными линиями, подключениями к домашним сетям и т.д., но желающий увеличить скорость загрузки данных из Интернета.
Домашняя или городская локальная сеть с доступом к выделенной линии Средняя скорость, невысокая стоимость При наличии большого количества абонентов скорость падает, зависимость от оборудования провайдера, которое, в случае с домашними сетями, может поддерживаться "на общественных началах", то есть возможны длительные простои Этот способ весьма привлекателен для тех, кто помимо работы в Интернете хочет пользоваться местными информационными ресурсами. Например – скачивать (за одну лишь абонентскую плату, обычно небольшую) большие объемы информации, играть в сетевые игры
Выделенная линия Высокая скорость и надежность, невысокая стоимость трафика Высокая стоимость подключения и обслуживания Решение для профессионалов, которым жизненно необходим надежный высокоскоростной доступ в Интернет (хотя здесь с выделенными линиями конкурирует ADSL)
Мобильный интернет Выход в Интернет доступен всегда и везде Высокая стоимость трафика Как правило, пользователи мобильного Интернета не передают очень больших объемов информации, то есть он обходится им не слишком дорого. Поэтому мобильный Интернет подходит всем, у кого возникает необходимость работать с ресурсами Интернета в "походных" условиях. Так же GPRS -подключение может стать неплохим резервным каналом на случай проблем с основным каналом Интернет-связи

3. Трафик и скорость передачи информации

Трафик (от англ. traffic - уличное движение) - это любая информация, пересылаемая через шлюзы и коммутационные узлы интернет-провайдера с использованием протоколов TCP/IP.

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

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

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

  • Калькулятор трафика: http://radio-tochka.com/content/howto/bandwidth

Услуги доступа в Интернет по выделенному каналу

Услуги для осуществления доступа в сеть Интернет на основе протоколов TCP/IP посредством выделенного канала (каналов) сети передачи данных и приема/передачи трафика абонента в/из интернет или локальную сеть.

Тариф без ограничения трафика (безлимитный)

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

Тариф без ограничения скорости передачи данных

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

Биллинговая система

Системы, вычисляющие стоимость услуг связи для каждого клиента и хранящие информацию обо всех тарифах и прочих стоимостных характеристиках, которые используются телекоммуникационными операторами для выставления счетов абонентам и взаиморасчетов с другими поставщиками услуг, носят название биллинговых, а цикл выполняемых операций сокращенно именуется биллингом.
Одной из основных целей любого сайта является погоня за трафиком. Часто нам важно лишь количество, мы считаем, что 1000 посетителей всегда лучше, чем 500 и тем более 200. При этом мы можем тратить большие средства на получения трафика, не думая о том, окупает ли он себя
Существует огромное количество источников трафика, каждый из которых даёт более или менее качественный трафик. Что подразумевается под качеством? Первым делом, конечно, то, насколько этот трафик целевой. Посетитель должен понимать при переходе на сайт, зачем он туда переходит, что он на нём найдёт, какая тема его интересует. Если он этого не знает, то вероятность того, что он останется на сайте, что тот его заинтересует, ровняется случайности. Если же знает, то он, скорее всего, останется на сайте. Тут многое зависит и от сайта, его контента. Сложность в том, что даже если сайт соответствует тематике, интересующей посетителя, он может не соответствовать интересующей его теме. Подстроиться под посетителей на 100% невозможно, поэтому мало какой трафик можно назвать абсолютно качественным, однако различия между источниками всё же есть.

Некоторые виды трафика:

  • Поисковый трафик

Данный вид трафика не зря считается наиболее качественным. Посудите сами. Посетитель вбивает запрос в поисковую строку, по которому выдаётся много сайтов. Если этот запрос высокочастотный, например, «строительство», то пользователя, скорее всего, интересуют сайты, целиком посвящённые данной тематике, а не какие-то конкретные вопросы.По данному запросу он легко найдёт много хороших сайтов, многие из них, скорее всего, удовлетворят его нуждам. Теперь рассмотрим другую ситуацию: пользователь вбил в поисковую строку низкочастотный запрос, по которому так же нашлось много сайтов, где отражается именно этот вопрос. Если сайты качественные, что должно быть по определению, то и контент по запросу качественный, посетитель доволен. Ко всему прочему, поисковый трафик предоставляет ещё и по большей части новых посетителей, что выгоднее с точки зрения заработка. Ошибиться сильно сложно, как минимум тематика сайта с интересами посетителя совпадёт. Напоследок: поисковый трафик самый большой, получить его в больших количествах легче, чем любой другой.

  • Рекламный трафик

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

  • Ссылочный трафик

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

  • Прямой трафик

Прямой трафик – это посетители, который попали на сайт путём ввода в адресную строку браузера адрес сайта. Высокий процент такого трафика говорит о немалой известности сайта. Судить о его качестве просто: такие посетители, скорее всего, уже знают о содержимом сайта, его качестве, о самом сайте, поэтому вероятность «отказа» не велика. Проблема в том, что как то специально повлиять на рост такого трафика сложно, он растёт сам по мере увеличения общего трафика.

Зачем вообще нужен качественный трафик? Цели у всех разные. Он позволяет увеличить доходность от заработка (в основном на рекламе), так как от качества трафика зависит, например, цена клика в контекстной рекламе. Целевые посетители помогают развитию сайта, активны на форумах и в комментариях, «правильно» ведут себя на сайте, оказывая огромное влияние на поведенческие факторы и, как следствие, на позиции сайта в выдаче, тем самым стимулируя появление нового, ещё большего качественного трафика.

Видов трафика существует огромное множество и говорить о них не представляет надобности. На примере этих можно легко провести параллель к другим, оценив их самостоятельно.

Скорость передачи информации

Одна из часто встречающихся причин взаимонепонимания между провайдерами и их клиентами - путаница между битами и байтами.
Как известно, сети передачи данных предназначены для передачи информации.
Информация - особая сущность и измеряется она специфическими единицами.
Так как сеть передачи данных предназначена для передачи информации прежде всего между компьютерами, поэтому и методы ее измерения ориентированы прежде всего на компьютер. А так как все компьютеры используют для своей работы так называемую "двоичную" систему исчисления (а не "десятичную", которой обычно пользуются люди), то и измерение объемов информации тоже ориентировано на двоичную систему.
В информатике существует понятие бит - это минимальный объем информации и он может иметь имеет два состояния: да - нет, истина - ложь, единица - ноль и т.д. Компьютер обычно работает не с отдельными битами а с их группами. Группа, содержащая 8 бит, называется - байт. Поэтому объем информации обычно измеряется в количествах бит или байт. Чтобы избежать путаницы при сокращении наименований, далее обозначаться маленькой русской буквой "б" или маленькой латинской "b" - "бит", а большими буквами "Б" или "B" - "байт".
В десятичном исчислении для сокращения "количества нулей" при записи больших чисел принято использовать приставки "кило", "мега", "гига" (или сокращенно "к", "м", "г",) и т.д., которые соответственно означают тысячу (1000), миллион (1000000) и миллиард (1000000000).
В двоичной системе есть нечто подобное - "Кило", "Мега", "Гига" (или сокращенно "К", "М", "Г",) и т.д.
Для того, чтобы не путать десятичные "кило, мега, гига, …" с двоичными, двоичные - обычно пишутся с большой буквы.
1 Кб (Килобит) равен не тысяче бит, а 1024.
Почему именно 1024, а не 1000? Если записать число 1000 (десятичное) в двоичном виде, получится – 1111101000. Маловато нулей для сокращения записи. А вот число 1024 (десятичное) в двоичном виде - 10000000000 10 нулей можно сократить. Соответственно 1 Мб будет равен 1024 Кб, 1 Гб равен 1024 Мб и т.д.
Точно также и с байтами - 1 КБ равен 1024 Б и т.д.
Скоростью передачи информации - количество информации, выраженное в битах или байтах, переданное в единицу времени. Скоростью передачи информации может измеряется в битах в секунду - б/с, Килобитах в секунду - Кб/с или Мегабитах в секунду - Мб/с. Или в байтах в секунду - Б/с, Килобайтах в секунду - КБ/с и т.д., соответственно. Другое, очень схожее понятие, которое часто путают со скоростью передачи информации - пропускная способность канала. Измеряется она в тех же единица, что и скорость, но если скорость передачи информации показывает - как быстро передается информация от источника к получателю безотносительно к тому как и по каким каналам эта информация передается, то пропускная способность канала показывает как много информации можно передать по конкретному каналу передачи данных в единицу времени. Т.е. пропускная способность - это максимально возможная скорость передачи данных для конкретного канала.
В сетях передачи данных по одному каналу может одновременно передаваться информация от многих источников ко многим получателям и, в зависимости от целого ряда факторов, скорость передачи информации для каждой конкретной пары источник-получатель может быть разной, а вот пропускная способность для каждого канала величина, как правило, постоянная.
Сумма всех скоростей передачи информации по конкретному каналу не может быть больше чем пропускная способность этого канала.
Ни один провайдер не может гарантировать клиенту наперед заданную скорость передачи информации от/до любого источника информации с сети. Провайдер может гарантировать клиенту только пропускную способность канала. Хотя в договорах и прайсах большинства провайдеров указано, что клиенту предоставляется такая-то скорость доступа к сети, но на самом деле, это не скорость, а пропускная способность канала.
Провайдер может гарантировать пропускную способность только тех каналов, которые ему принадлежат. Как правило это канал от клиента до провайдерского канала доступа в глобальный Интернет, от клиента до центрального узла провайдера, на котором находятся его внутренние информационные ресурсы, или от одной точки подключения клиента до другой. Также, в какой-то мере провайдер отвечает за пропускную способность его магистральных каналов до других провайдеров сети.

От чего зависит скорость передачи информации

Предположим, что Вы, как клиент, измерили скорость передачи информации от себя (в Красноярске) до сервера. Для чего "закачали" с сервера файл большого размера и засекли время его "перекачки". Затем поделили объем файла на время и получили скорость.
Только вот наверняка Вы получите скорость меньшее, чем Ваша заявленная "скорость доступа" (пропускная способность). И Ваш провайдер в этом может быть абсолютно не виноват.

Причины понижения скорости:

  • Перегруженность какого-то канала связи между Вами и сервером. А каналов там может быть много: от Вас до Вашего провайдера, от провайдера до его UpLink"а ("вышестоящего" провайдера), от UpLink"а Вашего провайдера до UpLink"а провайдера, к которому подключен тот самый сервер (причем в этом месте может быть довольно длинная цепочка каналов, принадлежащих разным провайдерам, в том числе даже зарубежным), а также между сервером и провайдером к которому он подключен. Мало того, пропускная способность каждого из этих каналов может быть разная, а "суммарная" пропускная способность всего канала будет не более, чем пропускная способность самого "медленного" из всех "подканалов".
  • Большая загруженность самого сервера (он просто медленно "отдавал" вам информацию), или ограничения на скорость "отдачи" данных, установленные владельцем сервера.
  • Низкая производительность Вашего сетевого оборудования или большая загрузка Вашего компьютера другими задачами, когда Вы проводили измерения.

Кроме того, Вы в этом случае измерили "чистую" скорость передачи информации, без всяких накладных расходов. А их тоже не мало: служебная информация в заголовке каждого IP-пакета, команды соединения и установки процесса передачи информации, повторные посылки утерянных пакетов и т.д. В среднем, эти накладные расходы составляют около 10-15%.
Причем, чем больше заказанная Вами у провайдера "скорость доступа", тем больше она может расходиться с измеренной таким образом скоростью передачи информации. Поскольку для того, чтобы просто сгенерировать информационный поток со скоростью более 5 - 10 Мб/с, нужны серьезные вычислительные мощности.

  • Также немаловажное влияние на скорость играет физическое состояние самой линии и наличие различных радио-магнитных помех.

Способы измерения скорости

Почему-то многие клиенты считают, что каждый провайдер пытается обмануть клиента, как бы дать ему "скорость доступа" поменьше, чем он заказал.
Это не так. Любой серьезный провайдер (кроме мелких жуликов) старается обеспечить гарантированную пропускную способность максимально точно и не только потому, что любой клиент может ее достаточно точно измерить и выставить провайдеру претензию.
Как же измерить пропускную способность канала связи с провайдером?
Сейчас среди клиентов модно мерить "скорость доступа" с помощью различных сайтов типа speedtest.net. Однако с помощью этих сайтов можно измерить только скорость передачи данных от Вас до этого сайт, а никак не пропускную способность Вашего канала.
Как говорилось выше это, во-первых, "две большие разницы", во-вторых, точность такого измерения "оставляет желать лучшего" (по причинам, изложенным в предыдущем разделе), в третьих, показать они могут только "нижнюю границу" пропускной споособности, т.е. что пропускная способность "не меньше" той, какую вы намерили Наиболее надежный способ измерения истинной пропускной способности Вашего канала состоит в следующем.
Прежде всего Вам необходимо иметь какую-нибудь программу, которая умеет подсчитывать объем передаваемой/получаемой информации прямо на интерфейсе Вашего компьютера - типа TMeter, DUMeter и т.д.. (В сети Интернет их много, можно свободно скачать как платные, так и бесплатные версии).
После запуска такой программы Вам нужно любым способом "загрузить" максимально возможно свой канал, например запустить "закачку" одновременно нескольких достаточно больших файлов с разных FTP-серверов (причем, чем больше - тем лучше). Вот тогда Вы сможете точно определить именно пропускную способность своего канала до провайдера, потому что больше, чем Вам разрешил провайдер, до Вашего компьютера информации не дойдет.

Задержка

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

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

4. Понятие доменного имени, операции по регистрации

Доменное имя - это имя, служащее для идентификации областей - единиц административной автономии в сети Интернет - в составе вышестоящей по иерархии такой области. Каждая из таких областей называется доме́ном. Общее пространство имён Интернета функционирует благодаря DNS - системе доменных имён. Доменные имена дают возможность адресации интернет-узлов и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты, других служб) в удобной для человека форме.

Полное доменное имя состоит из непосредственного имени домена и далее имён всех доменов, в которые он входит, разделённых точками. Например, полное имя "ru.wikipedia.org" обозначает домен третьего уровня "ru", который входит в домен второго уровня "wikipedia", который входит в домен верхнего уровня "org", который входит в безымянный корневой домен " ". В обыденной речи под доменным именем нередко понимают именно полное доменное имя.

FQDN (сокр. от англ. Fully Qualified Domain Name - «полностью определённое имя домена», иногда сокращается до «полное доменное имя» или «полное имя домена») - имя домена, не имеющее неоднозначностей в определении. Включает в себя имена всех родительских доменов иерархии DNS.

В DNS и, что особенно существенно, в файлах зоны (англ.), FQDN завершаются точкой (например, "example.com."), то есть включают корневое доменное имя " ", которое является безымянным.

Различие между FQDN и доменным именем появляется при именовании доменов второго, третьего (и т. д.) уровня. Для получения FQDN требуется обязательно указать в имени домены более высокого уровня (например, "sample" является доменным именем, однако его полное доменное имя (FQDN) выглядит как доменное имя пятого уровня - "sample.gtw-02.office4.example.com".), где:

"sample " 5-й уровень;
" gtw-02 " 4-й уровень;
" office4 " 3-й уровень;
" example " 2-й уровень;
" com " 1-й (верхний) уровень;
" " 0-й (корневой) уровень

В DNS-записях доменов (для перенаправления, почтовых серверов и т. д.) всегда используются FQDN. Обычно в практике сложилось написание полного доменного имени за исключением постановки последней точки перед корневым доменом, например, "sample.gtw-02.office4.example.com".

Доме́нная зона - совокупность доменных имён определённого уровня, входящих в конкретный домен. Например, зона wikipedia.org включает все доменные имена третьего уровня в этом домене. Термин «доменная зона» в основном применяется в технической сфере, при настройке DNS-серверов (поддержание зоны, делегирование зоны, трансфер зоны).

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

Регистрация доменного имени

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

Для использования домена, необходимо указать для него в интерфейсе регистратора (делегировать) dns сервера (хостинг).

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

Во-первых, имя должно быть кратким, ёмким и запоминаемым. Оно должно напрямую ассоциироваться с бизнесом и, что немаловажно, допускать как можно меньше ошибок при запоминании и вводе.

Если в имени содержится много слов, то его будет сложно запомнить и ввести без ошибок. Потенциальные клиенты не тратят своё время на тщетные попытки правильного ввода. Таким образом, сайт, имеющий слишком длинное имя, способен погубить бизнес его владельца.

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

Услугу регистрации предоставляют хостинг-провайдеры. Полученные при регистрации логин и пароль, должны оставаться строго конфиденциальными. Оформление происходит на имя владельца и его электронную почту. Некоторые провайдеры предлагают регистрацию домена бесплатно при условии участия в определённой акции.

После того, как процедура регистрации домена завершена и оплачена, домен становится собственностью владельца. Для того, чтобы связать домен и сайт, нужно, чтобы сервер, обрабатывающий запрос, ссылaлся на IP сeрвера сайта. Сервер хостинга необходимо узнать на сайте, где зарегистрирован домен. Адреса на нём указываются в вeб-интeрфейсе.

Регистрация домена обычно даётся на один год. Если она не будет продлена, доменом может воспользоваться другой владелец.

5. Выбор провайдера услуг Интернет

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

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

  • Просмотр сайтов, а также работа с документами, чтение электронной почты, отправка и получение писем потребуют 8 Мбит/с, при этом трафик можно выбирать и лимитированный.
  • Предполагаемое активное общение с помощью таких программ как, например Skype, развлечение онлайн-играми, скачивание небольших по объему файлов потребует уже безлимитного интернета трафика на скорости не менее 25 Мбит/с
  • Если интернет предполагается использовать для просмотра фильмов онлайн, активного скачивания информации, сетевых онлайн игр, то 40 Мбит/с будет вполне хватать.

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

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

Критерии оценки Интернет-провайдера:

  • Стоимость услуг Интернет-провайдера – один из стандартных критериев выбора. Ориентируясь исключительно на сумму оплаты, не забывайте о других немаловажных моментах. В погоне за дешевизной человек получает «медленный» Интернет, постоянные проблемы со связью и полное отсутствие техподдержки.
  • Скорость передачи данных – еще один способ заморочить голову клиенту. Предложениями типа «1 Гбит/с почти бесплатно» сейчас часто заманивают неопытных нечестные провайдеры. На деле же все куда плачевнее. Обещанная скорость чаще всего оказывается «общей», «на всех».

Действительно, подобную скорость соединения будет иметь человек, если он окажется единственным находящимся в данный момент «на связи». Представить себе такую ситуацию сложно, не так ли? Чем больше пользователей находится в Сети, тем медленнее для каждого из них скорость. И если солидные компании, оказывающие услуги подключения к Интернету, увеличивают пропускную способность своей сети, то клиенты нечестных провайдеров вынуждены «наслаждаться» медленным соединением. Поэтому в договоре обязательно должна указываться гарантированная скорость для клиента.

  • Тарифные планы. Предлагаемый провайдером список тарифных планов должен быть достаточно широк, чтобы удовлетворить потребности каждого клиента. Важно обдумать, какой тарифный план будет выгодным для вас и по цене, и по содержанию услуги.
  • Доступность услуги. Полдня вы работаете в Сети нормально, а полдня Интернет «пропадает»? Так быть не должно! Провайдер должен гарантировать определенное количество времени, в течение которого клиент будет иметь доступ к Сети. Любые проблемы с доступом к Интернету, виновником которых является провайдер, должны быть устранены им как можно быстрее и на бесплатной основе. Клиент должен иметь право продлить срок услуги на то количество времени, в течение которого Интернет отсутствовал, либо потребовать возмещения материального ущерба. Все это также должно быть прописано в договоре.
  • Техподдержка. Ни один провайдер не застрахует своих клиентов от проблем, связанных с доступом к сети. Однако солидный провайдер должен гарантировать их незамедлительное устранение. Если возникшая проблема не устранена через день, неделю, месяц – есть ли смысл продолжать пользоваться услугами такого Интернет-провайдера?
  • Тип подключения к сети Интернет – немаловажный фактор, на который обязательно нужно обратить внимание. Стандартный телефонный Интернет заменяется современными типами подключения. Самым удобным на данный момент считается выделенная оптоволоконная линия – этот тип подключения гарантирует относительно высокую скорость передачи данных, простоту подключения, отсутствие лишнего оборудования (модема).

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

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


9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

P.S. Возможно, со временем список дополнится.


Как вы помните из прошлой статьи (если не читали, то в содержании есть ссылка на нее), модель OSI в нынешнее время служит только в качестве обучения ролям каждого уровня. Работают же сети по стеку протоколов TCP/IP. Хоть TCP/IP состоит из 4 уровней, он вполне реализует все функциональные возможности, реализуемые в модели OSI. Ниже на картинке приведены сравнения уровней и их ролей.

Начинаем разговор про протоколы верхнего уровня. Я не просто так назвал тему «Протоколы верхнего уровня», а не «Протоколы верхних уровней». Так как разбираем мы этот уровень по стеку TCP/IP, то у нас он «один за трех».

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

Итак, протоколы прикладного уровня обеспечивают взаимодействие между человеком и сетью. Этих протоколов огромное количество, и выполняют они совершенно различные роли. Я приведу примеры часто используемых протоколов в сети и покажу, как они работают на практике: HTTP, DNS, DHCP, SMTP и POP3, Telnet, SSH, FTP, TFTP.

I) Протокол HTTP (англ. HyperText Transport Protocol). Протокол передачи данных, используемый обычно для получения информации с веб-сайтов. С каждым годом этот протокол становится все популярнее, и возможностей для его применения становится все больше. Использует он «клиент-серверную» модель. То есть существуют клиенты, которые формируют и отправляют запрос. И серверы, которые слушают запросы и, соответственно, на них отвечают.

В качестве клиентов выступают известные многим веб-браузеры: Internet Explorer, Mozilla Firefox, Google Chrome и т.д. А в качестве серверного ПО используют:Apache, IIS, nginx и т.д.

Для того, чтобы разобраться глубже в протоколе HTTP, взглянем на HTTP запрос от клиента к серверу.


Нас интересуют только самая верхняя и самая нижняя строчки.

В первой строчке используется такое понятие, как GET . Это, по сути, ключ запроса. Так как после GET стоит символ "/", то это означает, что запрашивается главная или корневая страница по URL (англ. Uniform Resource Locator) пути.

URL - это некий идентификатор какого-либо ресурса в сети.

Так же в этой строчке присутствует такая запись, как HTTP/1.1 . Это версия протокола. Довольно популярная версия. Выпустили ее в 1999 году, и до сих пор она служит верой и правдой. Хоть недавно был анонс версии 2.0, версия 1.1 занимает пока лидирующее положение.

Теперь о нижней строчке. Здесь указывается адрес сервера или имя, на котором располагается нужный ресурс. Давайте посмотрим, как это работает на практике. Я буду использовать свою любимую программу Cisco Packet Tracer 6.2 (в дальнейшем CPT). Она проста в освоении и для демонстрации описанного идеально подходит. Могу сказать с уверенностью, что для подготовки к CCNA R&S, ее хватает вполне. Но только для нее.

Открываем программу и добавим туда компьютер с сервером (находятся они на вкладке «End Devices»), как на картинке ниже


Соединяем компьютер с сервером перекрестным кабелем (англ. crossover cable). В CPT он находится на вкладке «Connections», обозначается пунктиром и называется «Copper Cross-Over».

Теперь займемся настройкой компьютера и веб-сервера.


1) Отрываем вкладки «Desktop» на рабочем компьютере и сервере, далее переходим в окно «IP Configuration». Откроются окна, как на рисунке выше. Это окна конфигурации узлов в сети.

2) Укажем IP-адреса в строки, указанные цифрой 2. Как помним из предыдущей статьи, IP-адреса нужны для идентификации узлов в сети. Подробнее мы разберем эту тему позже. Сейчас главное понимать, для чего нужен IP-адрес. Я специально выбрал сеть, начинающуюся с «192.168», так как она встречается чаще всего в домашних сетях.

3) В поля, указанные цифрой 3, вводится маска подсети. Она нужна для того, чтобы узлу было понятно, в одной подсети он находится с другим узлом или нет. Но об этом позже.
Остальные значения оставим пустыми.

Теперь требуется включить сервис HTTP на сервере.


1) Переходим на вкладку «Services».
2) Выбираем слева сервис HTTP.
3) Открывается окно настройки сервиса и файловый менеджер. Если у кого есть навыки по работе c HTML, то можете здесь создать страницу. Но у нас уже есть готовый шаблон, и мы им воспользуемся. Не забываем включить службу HTTP и HTTPS.

Раз уже зашла речь о HTTPS (HyperText Transfer Protocol Secure), то скажу про него пару слов. Это, по сути, расширение протокола HTTP, которое поддерживает криптографические протоколы и передает информацию не в открытом виде, а в зашифрованном. В CPT очень поверхностно показана его работа, но для понимания вполне достаточно. Вспоминаем и запоминаем: HTTP использует 80 порт, а HTTPS 443 порт. Вообще номеров портов очень много, и все запомнить тяжело, но часто встречающиеся лучше запомнить.

Теперь самое интересное. Нам надо перевести CPT из режима «Realtime» в режим «Simulation». Отличие их в том, что в режиме «Realtime» сеть ведет себя так, как она повела бы себя в реальной жизни и в реальном времени. Режим «Simulation» позволяет нам наблюдать за поведением сети в разные временные интервалы, а также проследить за каждым пакетом, раскрыть его и посмотреть, что он в себе несет. Переключаем среду, как показано на рисунке ниже.


Здесь открывается «Simulation Panel», в которой несколько опций. Есть фильтр, в котором можно указать протоколы, которые вы хотите отслеживать, скорость перемещения пакета и навигационная панель, где можно наблюдать за сетью вручную, нажатием «Capture/Forward» или автоматически, при помощи кнопки «Auto Capture/Play».

Оставляем все, как есть, и открываем компьютер.


Переходим на вкладку «Desktop» и открываем «WEB Browser». Перед нами открывается окно веб-браузера. В строке URL пишем адрес нашего веб-сервера, нажимаем кнопку «Go» и наблюдаем следующую картину.


Появились первые посылаемые данные на схеме и в окне «Simulation Panel». Это сегменты TCP, которые создадут сессию между компьютером и сервером. Сейчас нам это не интересно, и мы об этом поговорим в следующей статье. Поэтому я пропущу их до момента, когда будут созданы HTTP. Делать я это буду при помощи кнопки «Capture/Forward».


И вот после установления соединения, компьютер формирует первые HTTP данные. В дальнейшем я буду называть их PDU, чтобы вы привыкали к данным терминам.

1) Смотрим на схему и видим, что появилось 2 конверта. Это и есть наши данные. Нас интересует фиолетовый конверт. Это и есть созданный PDU.

2) Теперь смотрим на «Simulation Panel» и видим, что в таблице появилась запись с типом HTTP. Эти данные нас интересуют. Также рядом с записью показан цвет, которым окрашены эти данные на схеме.

3) Кликаем по HTTP (фиолетовый конверт), и перед нами открывается окно данных. Тут кратко показаны все нужные сведения по каждому уровню модели OSI. Можно кликнуть по любому уровню и получить информацию о том, что происходит на нем.

Если вам интересно полностью раскрыть данные и рассмотреть подробно, из каких полей они состоят и что в них происходит, есть вкладка «Outbound PDU Details». Давайте перейдем на нее и посмотрим, как выглядят HTTP данные.


На этой вкладке будут выводиться данные на всех уровнях. Нам пока надо посмотреть на HTTP. Они находятся в самом низу, поэтому тянем бегунок вниз. Выглядят они так же, как я и описывал их раньше.

Теперь нам интересен этап, когда веб-сервер получит запрос и начнет предпринимать какие-то действия. Давайте нажмем на «Capture/Forward» и посмотрим, чем веб-сервер ответит. И вот, на рисунке ниже видим, что он отправил компьютеру какие-то данные. Давайте посмотрим, как они выглядят.


1) Я случайно пережал кнопку и он уже начал формировать TCP на закрытие сессии. Ничего страшного. Находим PDU, адресованные от веб-сервера к клиенту. Как видим, он сразу показывает нам на схеме момент времени, в который я кликнул. Выбираем нужный конверт.

2) Здесь уже видим другую картину. Сверху указывается версия HTTP, код «200 OK», означающий, что отправляется запрашиваемая страница, а не сообщение об ошибке. Далее указывается длина контента, тип файла, а также с какого сервера отправляется. И в самой нижней строке указывается, что передаются какие-то данные. После того, как данные дойдут до компьютера, можно наблюдать, что веб-браузер компьютера открыл страницу.


Вот так работает протокол HTTP. Давайте рассмотрим его расширенную версию HTTPS. Как мы помним, эта версия поддерживает шифрование и не передает данные в открытом виде. В самом начале, мы включили сервис HTTP и HTTPS. Поэтому все готово, и можно запрашивать страницу. Отличие запроса в том, что перед адресом страницы вместо HTTP, пишем HTTPS.


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

Для тех, кто хочет самостоятельно поковырять и посмотреть, как это работает, могут скачать данную лабу .

Мы поговорили про HTTP, и теперь время разобрать протокол DNS. Данный протокол тесно связан с предыдущим протоколом, и скоро вы поймете почему.

II) DNS (Domain Name System) . Система доменных имен. Если говорить в целом, то она хранит информацию о доменах. Например, какому IP адресу соответствует определенное имя. Приведу пример: когда вы открываете свой любимый сайт, то обращаетесь к нему по имени. Но в поля Source Address и Destination Address, которые работают на сетевом уровне (это тема следующей статьи, но я немного забегу вперед), нельзя вставить имя. Там обязательно должен присутствовать именно IP адрес. Вот DNS как раз этим и занимается. Она сообщает, какой IP адрес у запрошенного имени. Вы, к примеру, обращаетесь на google.ru. Ваш компьютер понятия не имеет, кто и что это. Он спрашивает у DNS-сервера: Кто такой google.ru? И сервер отвечает, что google.ru - это 74.125.232.239 (это один из его адресов). И уже после этого, компьютер отправляет запрос на 74.125.232.239. Для пользователя все останется по-прежнему, и в адресной строке он также будет видеть google.ru.

Как обычно, покажу это на картинке


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

Например имя: ru.wikipedia.org. Cамым старшим будет доменное имя «org», а младшим - «ru». Но часто бывают случаи, когда DNS-сервер не может нам рассказать о каком-то доменном имени, и тогда он обращается к старшему DNS-серверу, который отвечает за доменные имена более высокого уровня. Не буду изобретать велосипед и приведу картинку из википедии. Там эта работа проиллюстрирована хорошо.


Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org»? Однако сервер DNS может ничего не знать не только о запрошенном имени, но даже обо всём домене wikipedia.org. В этом случае сервер обращается к корневому серверу - например, 198.41.0.4. Этот сервер сообщает - «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ - IP-адрес, который и передаётся клиенту - браузеру.

Открываю CPT и показываю, как это работает. Эта и следующие лабораторные работы буду основываться на предыдущей. Поэтому адресация будет такой же.


Здесь добавлен еще один сервер, который будет выполнять роль DNS-сервера и коммутатор. Когда в сети появляются 3 и более устройств, то для их соединения используют коммутатор.

Займемся настройкой DNS-сервера. Зайдем в «IP Configuration» и пропишем IP адрес с маской.

Теперь зайдем в сервисы и настроим DNS службу.


1) В окне «Name» запишем имя, которое хотим привязать к IP адресу. (я написал имя своего будущего сайта, над которым идет работа).
2) В окне «Address», соответственно, IP-адрес, который будет работать в связке с выше написанным именем. (здесь укажем тот же адрес, что и в лабораторной по HTTP - 192.168.1.2).
3) Нажимаем кнопку «Add», чтобы добавить эту запись.
4) Не забываем включить саму службу!

Если все выполнили верно, то картина должна быть такой.


Теперь надо в настройках сервера и компьютера указать адрес DNS-сервера.


Настройка DNS-сервера и узлов закончена, и самое время проверить, как это дело работает. Переключаем среду в режим симуляции и попробуем с компьютера зайти на сайт по имени «cisadmin.ru».


И видим, что создаются 2 конверта. Первый - это DNS, а второй - ARP. О ARP мы толком не говорили, так как это тема следующей статьи. Но раз он показал себя, то вкратце расскажу, для чего он. Как мы помним, для обмена между узлами недостаточно IP адреса, так как еще используются MAC-адреса, работающие на канальном уровне. Мы указали компьютеру IP адрес DNS-сервера. Но он не знает, какой у узла с IP-адресом 192.168.1.3 MAC-адрес. Он формирует ARP сообщение и выбрасывает его в сеть. Данный кадр (данные на канальном уровне называются - кадры) является широковещательным, то есть его получат все участники, находящиеся в одной локальной сети (правильно сказать все участники в одном широковещательном домене, но пока мы это не затрагивали, и я не буду грузить вас этим термином). И тот, у кого этот адрес, отправит обратное сообщение и сообщит свой MAC-адрес. Все остальные участники отбросят этот кадр. Смотрим рисунки.


Вот кадр пришел на коммутатор, и теперь его задача разослать этот кадр на все порты, кроме того, откуда он пришел.


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


И как видим, был создан ARP-ответ. Давайте немного разберем его.

1) MAC-адреса. В Source MAC он записывает свой MAC-адрес, а в Destination MAC (Target MAC) адрес компьютера.
2) В Source IP свой IP адрес, а в Target IP адрес ПК.

Я думаю, здесь все понятно. Если непонятно, то спрашивайте. В следующей статье я более подробно о нем расскажу.

Я нажимаю на «Capture/Forward» и смотрю, что будет дальше происходить.


И вижу, что компьютер успешно получил ARP от сервера. Теперь он знает MAC-адрес DNS-сервера, а значит, и как с ним связаться. И сразу решает узнать у него, кто такой «cisadmin.ru». Мы можем открыть эти данные и посмотреть, что он там решил отправить. Открываем «Outbound PDU Details» и спускаемся в самый низ. Видим, что в верхнем поле «NAME» он записал запрашиваемое имя. Жмем кнопку «Capture/Forward» и cмотрим.


DNS-сервер получает DNS-запрос. Он лезет в свою таблицу и видит, что такая запись у него присутствует, и формирует ответ. Открываем и видим, что изменилось поле LENGTH и равняется 4. То есть 4 байта. Столько занимает IP адрес. И, соответственно, записывает сам IP-адрес - 192.168.1.2. Это и есть адрес веб-сервера. Двигаюсь дальше.


Видим, что компьютер получил сообщение от DNS-сервера, о чем свидетельствует галочка на коричневом конверте. И теперь он знает IP адрес веб-сервера. Сразу же он пытается установить TCP сессию, но возникает проблема. Он не знает MAC-адрес веб-сервера и запускает аналогичный ARP запрос, чтобы узнать. Смотрим.


И тут аналогично предыдущему. DNS-сервер понял, что сообщение не для него, и отбрасывает. А веб-сервер узнает свой IP адрес и формирует ARP ответ.


Дошел до компьютера ARP ответ. Теперь он знает MAC-адрес веб-сервера и пытается установить TCP сессию. Отправляет он TCP сегмент на 80-й порт. Раз уж протокол TCP снова дал о себе знать, и в следующих протоколах он тоже будет фигурировать, то вкратце объясню зачем он нужен. Как вы помните из первой статьи, я говорил, что он устанавливает соединение. Так вот теперь каждый блок данных, который будет отправлен от сервера компьютеру, будет промаркирован. Это нужно для того, чтобы клиент понимал, все ли данные он получил или какие-то потерялись. И, если какие-то данные потерялись, он сможет запросить их повторно. Потеря блока данных сайта может привести к тому, что сайт перекосит, и он отобразится криво. Но сейчас главное понимать, что TCP располагается на транспортном уровне и работает с портами. Я специально открыл окно, где это написано, чтобы вы постепенно привыкали к этим полям.

Посмотрим, чем ответит компьютеру веб-сервер.


Веб-сервер отправляет компьютеру ответное сообщение, и устанавливается сессия. И, когда все готово, компьютер формирует HTTP и отсылает его веб-серверу. Давайте посмотрим, что изменилось. А изменилась у нас самая последняя строчка. Если раньше там был записан IP адрес веб-сервера, то теперь там красуется доменное имя «cisadmin.ru». Но не забывайте, что доменное имя тут записано только в данных прикладного уровня. IP-адрес никуда не делся. Он располагается на сетевом уровне. Поэтому давайте сразу покажу IP пакет, где представлены эти адреса.


И как видите, IP адреса на месте.

Соответственно видим, что все прекрасно работает, и сайт открывается по доменному имени.
И напоследок упомяну об одной очень важной утилите под названием nslookup . Она позволяет обратиться к DNS-серверу и узнать у него информацию о имени или IP-адресе. В CPT эта команда присутствует, и я предлагаю взглянуть на нее.

Кликаем по компьютеру на схеме и на вкладке «Desktop» выбираем «Command Prompt». Это имитация командной строки.


Открывается у нас окошко, подобное cmd в ОС Windows. Можно ввести знак "?" и нажать ENTER. Она покажет список всех доступных команд. Нам нужна команда nslookup. Введем ее и нажмем ENTER.


Открывается сама утилита, о чем свидетельствует знак птички слева. Показывается нам адрес DNS-сервера и его имя. Так как имени нету, то он дублирует туда строку с IP-адресом.

Ну и самое время вписать туда доменное имя и узнать, что он выдаст в ответ.


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

Есть еще один файл в каждой ОС, который тесно связан с DNS. Название у него «hosts». Стандартное расположение его в Windows системах «windows\system32\drivers\etc\hosts». А в *nix подобных системах: "/etc/hosts". Делает он то же самое, что и DNS-сервера. И контролируется этот файл администратором компьютера. И самое важное: он имеет приоритет перед DNS-сервером. И, если у вас в файле написано, что сайту сайт соответствует IP адрес, который на самом деле соответствует google.ru, то, соответственно, открывать он будет google, а не habrahabr. Этим часто пользуются злоумышленники, когда вносят исправления в этот файл. Приведу скрин этого файла со своего компьютера.


Вот так он выглядит. Можете открыть его у себя и поймете, что он точно такой же.

Вот такая интересная служба и протокол. Также как и с HTTP, приведу ссылку на скачивание данной лабы.

III) DHCP (Dynamic Host Configuration Protocol). Протокол динамической настройки узла. Он позволяет узлам динамически получать IP адреса и другие параметры для корректной работы в сети (основной шлюз, маску подсети, адреса DNS-серверов). От себя скажу, что этот протокол спасает жизнь многим сисадминам по всему миру. Согласитесь, что ходить и вручную прописывать IP параметры каждому узлу, не самое приятное занятие.

При помощи DHCP можно обеспечить полный контроль над IP адресами: создавать отдельные пулы для каждой подсети, выдавать адреса в аренду, резервировать адреса и многое другое.

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

Давайте посмотрим, как он работает на практике.


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

Настроим сервер.


Присваиваем свободный адрес и маску. Перейдем к роли DHCP.


1) Выбираем службу DHCP, и тут уже создан стандартный пул. Его удалить нельзя. Только изменить. Можете сами создать несколько пулов и вытворять с ними, что угодно, вплоть до удаления. Но стандартный всегда останется. Нам дополнительные пулы не нужны, поэтому переделаем под себя стандартный.

2) Здесь можно добавить адрес шлюза, адрес DNS-сервера. Мы пока не касались вопроса шлюза, поэтому пока не будем его трогать. DNS-сервер у нас есть, и его можно указать. Ну и старт адресов оставим, как есть.

3) Не забываем включить сервер!

Переключаем среду в режим симуляции и посмотрим, как компьютер получит адрес.


Соответственно переходим в настройки конфигурации и переключаем на DHCP.


Видим, что создался DHCP-запрос. Давайте пройдемся по каждому его уроню и поверхностно посмотрим, что внутри.

1) Протокол канального уровня (Ethernet). В «Source MAC» записывается адрес компьютера. А в «Destination MAC» записан широковещательный адрес (то есть всем).

2) Протокол сетевого уровня (IP). В «Source IP» записывается адрес «0.0.0.0». Этот адрес вставляется, когда у запрашиваемого нет адреса. А в «Destination IP» вставляется широковещательный адрес «255.255.255.255».


Посмотрим на поле UDP. Здесь используются порты 67 и 68. Это UDP порты, зарезервированные для DHCP.
Теперь смотрим на поле DHCP. Здесь все по нулям, и только в поле «CLIENT HARDWARE ADDRESS» записан MAC-адрес компьютера.

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


И видим, что все кроме DHCP-сервера отбросили данные.

Дальше работу протокола расскажу на словах, потому что очень много пакетов и кадров будет сформировано, перед тем как DHCP-сервер выдаст адрес. Как только он получит запрос, он начинает искать свободный адрес в базе. Как только адрес найден, начинается следующий этап - это проверка адреса. Ведь, как мы помним, адрес можно назначить и вручную, в обход DHCP-сервера. Такое часто происходит, и даже в корпоративной среде находятся умники, которые вручную вписывают адрес. Для этого DHCP-сервер перед выдачей этого адреса, отправляет ICMP сообщение или ping.

Мы пока не говорили и об этом. Поэтому заранее скажу, что утилита ping позволяет проверить доступность узла по IP-адресу. И, если на ping DHCP-серверу кто-то ответит, то значит адрес занят и всю процедуру он будет повторять, но с другим IP-адресом. Но это тоже не самое толковое решение. Сами понимаете, что если компьютер со статически назначенным адресом будет выключен, то он не ответит на ping DHCP-сервера, и, соответственно, DHCP решит, что адрес не занят и присвоит его какому-то узлу. Но, как только компьютер включится, появится 2 компьютера с одинаковыми IP-адресами. И тут могут начаться дикие чудеса. Современные системы уже научились правильно реагировать на это, но все же не стоит этого допускать и важно следить за этим. Я пропущу в CPT все эти данные, иначе получится диафильм из однообразных картинок. Я прикреплю эту лабу ниже, и вы сможете сами в этом убедиться. Приведу только конечный итог, который сформирует DHCP-сервер.


И видим, что в поле "«YOUR» CLIENT ADDRESS" добавился адрес 192.168.1.1. Это адрес, который DHCP-сервер предлагает компьютеру. В поле «SERVER ADDRESS» DHCP-сервер добавляет свой адрес, чтобы компьютер знал, кто предлагает ему адрес. В поле «CLIENT HARDWARE ADDRESS» добавляется MAC-адрес компьютера (то есть того, кто запросил). И в самом низу представлена опция «DHCP Domain Name Server Option». Сюда записывается адрес DNS-сервера, который мы указали в настройках сервиса DHCP.

Посмотрим, как компьютер получит адрес.


И наблюдаем сообщение «DHCP Request Successful». Что означает, что данные успешно получены, о чем свидетельствуют заполненные поля ниже.

Вот так работает протокол DHCP. Как обещал, ссылка для скачивания.

IV) POP3 (англ. Post Office Protocol Version 3). Протокол почтового отделения версии 3. Протокол, который используют клиенты для получения почтовых писем с сервера. Версии 1-ая и 2-ая устарели и в нынешнее время не используются. Работает он по принципу «загрузи и удали». Что это значит? Это значит, что клиент заходит на сервер и смотрит, есть ли для него письмо. И если оно присутствует, он загружает его к себе и ставит отметку об удалении на сервере. Хорошо это или плохо, вопрос спорный. Кто-то утверждает, что это хорошо, так как сервер не бывает перегружен ненужными письмами. Я считаю иначе. Во-первых современная инфраструктура позволяет хранить большой объем писем, а во-вторых часто случается, что пользователь удаляет или теряет важное письмо, и найти его потом становится трудно. Хотя, стоит упомянуть, что некоторые клиенты можно настроить так, чтобы они не удаляли письма с сервера. Однако при стандартных настройках они удаляют письма с сервера. Поэтому будьте внимательнее. Порт, который он прослушивает - 110. Довольно известный номер порта, поэтому возьмите себе на заметку. Так же как и у протокола HTTP, у него есть расширенная версия - POP3S. При помощи дополнительного криптографического протокола, как SSL, шифруется содержимое, и письма передаются в защищенном виде. POP3S использует 995 порт. Мы обязательно рассмотрим протокол POP3 на практике, после того, как узнаем про протокол SMTP.

Стоит упомянуть про аналог POP3. Это протокол IMAP (англ. Internet Message Access Protocol). Протокол доступа к электронной почте. Он более умный и посложнее, чем POP3. Но главное их различие в том, что клиент, заходя на сервер, не удаляет почту, а копирует ее. Таким образом, у клиента отображается копия почтового ящика, который хранится на почтовом сервере. И если клиент у себя удаляет какое-либо письмо, то оно удаляется только у него. На сервере оригинал остается целым. Слушает он 143 порт. Рассмотреть IMAP подробно в CPT не получится, так как полноценно он там не реализован.

V) SMTP (англ. Simple Mail Transfer Protocol). Простой протокол передачи почты. Используется он, как вы поняли, для передачи почты на почтовый сервер. Вот почему мы изучаем POP3 и SMTP параллельно. Использует он 25 порт. Это тоже важно помнить.

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

Думаю, с теоретической точки зрения все понятно. Давайте перейдем к практике и посмотрим, как это работает.

Открою я прошлую лабораторную работу по DHCP и слегка ее модернизирую.


Убрал я HTTP-сервер и вместо него добавил компьютер рабочего, и назвал WORKER-PC. Присвою ему IP-адрес, который был у HTTP-сервера. То есть 192.168.1.2. Старый компьютер переименовал в DIRECTOR-PC. DNS-сервер я оставил. Он нам в этой лабе еще понадобится. Сервер DHCP переименовал в Mail-Server. И давайте его настроим.


Адрес я не менял, и он остался от прошлой лабы. Пускай таким и остается. Переходим в службы и находим «EMAIL».


1) В поле «Domain Name» надо записать имя домена. Это то, что будет писаться после знака "@". Обязательное требование. Любая почта записывается в таком формате - логин@домен. И нажимаем кнопку «Set». Я ее уже нажал, поэтому она не активна, но если внести изменения в поле ввода доменного имени, то она снова станет активной.

2) И создадим пользователей. В поле «User» запишем первого пользователя. Это будет «Director». И зададим пароль «123». И нажимаем на знак "+", чтобы добавить его в базу. Аналогично создадим второго пользователя. Это будет «Worker» с таким же паролем «123».

Создание пользователей закончено, и наблюдаем следующую картину.


1) Видим в базе список созданных пользователей. Их можно удалять, добавлять и менять пароли при помощи кнопок справа.
2) Не забываем включить службы POP3 и SMTP. Они по умолчанию включены, но проверка лишней не будет.

На этом настройка на стороне сервера заканчивается, и теперь перейдем к настройке на стороне клиентов. Начнем с компьютера директора. Открываем вкладку «Desktop» и выбираем Email.


После этого сразу откроется окно настройки.


1) В поле «Your Name» пишем любое имя. Я напишу Director.
2) В поле «Email Address» пишем почтовый ящик. Для директора - это [email protected].
3) В поля «Incoming Mail Server» и «Outgoing Mail Server» записываем адрес почтового сервера (192.168.1.4)
4) В поле «User Name» пишем сам логин. То есть Director и соответственно пароль 123.
Нажимаем кнопку «Save», и перед нами открывается почтовый клиент. CPT назвал его почтовым обозревателем.

Аналогичная настройка будет на компьютере рабочего. Привожу скрин.

Теперь самое время посмотреть, как работает почта. Давайте сначала посмотрим, как она работает в режиме реального времени, а после разберем подробнее в режиме симуляции.

Открываем почтовый клиент на компьютере директора и создадим письмо.


Жмем на кнопу «Compose», и перед нами открывается привычное окно.


Здесь все как обычно. Пишем кому отправляем, тему письма, сам текст письма и нажимаем кнопку «Send».


Видим следующее сообщение о том, что отправка завершена успешно. Замечательно! Теперь посмотрим, как письмо будет доставлено рабочему.

Открываем почтовый клиент на компьютере рабочего.


И видим, что письма нету. А все потому, что клиент в CPT не поддерживает автоматическое обновление и приходится это делать вручную. Нажимаем кнопку «Receive».


Видим появившееся письмо и сообщение об успешном получении. Откроем письмо и посмотрим, не побилось ли.


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


Отправляю письмо и перехожу к компьютеру директора. И, соответственно, жму кнопку «Receive», чтобы обновить почту.


Появилось письмо, а ниже и сообщение об успешном получении.

Открываем письмо, чтобы до конца удостовериться.


Письмо дошло, а значит все работает.

Давайте разберем поподробнее. Переключим среду в режим симуляции и отправим письмо. Не буду я создавать что-то новое, а просто отвечу на выше полученное письмо.


Как я говорил ранее, все почтовые протоколы работают с TCP. А это значит, что перед тем, как начнет работать почтовый протокол, а в данном случае протокол SMTP, должно установиться предварительное соединение между компьютером и сервером. Это мы сейчас и наблюдаем.

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


1) Появился долгожданный SMTP, о чем свидетельствует запись в панели симуляции, и откроем их. Обратим внимания на TCP-порты, чтобы удостовериться, что это он. И видим, что в «Destination Port» стоит 25 номер. А в «Source Port» записан динамически придуманный порт, чтобы сервер мог идентифицировать клиента. Все правильно.

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


Сервер, получив данные от компьютера, формирует ответное сообщение. Обратите внимание на изменения. Номера, которые присутствовали ранее, поменялись местами, а именно «Source Port» и «Destination Port». Теперь источником является сервер, а назначением - компьютер. Это сообщение о доставке письма серверу.

После этого работа протокола SMTP закончена, и компьютер может начать закрывать TCP-сессию. Чем он и займется.

Теперь когда письмо отправлено, и мы знаем, что оно лежит на сервере, попробуем получить это письмо. Открываем компьютер рабочего и жмем кнопку «Receive».


Как и с SMTP, в POP3 тоже создается TCP-сессия. Посмотрим на номера портов. В «Destination Port» стоит 110 номер порта. Это и есть стандартный номер порта для протокола POP 3. В «Source Port» стоит порт 1028.


Вот он появился и наблюдаем, что в поле POP3 такая же картина, что и в SMTP, т.е. все то, что и так было понятно.


Мы знаем, что оно там есть и наблюдаем, как сервер формирует ответное сообщение. И также как с SMTP, он меняет местами порты отправления и назначения. На прикладном уровне запакованы какие-то POP3 данные. Это и есть само письмо.

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


И как только данные получены, о чем здесь свидетельствует галочка на фиолетовом пакете, письмо сразу же высвечивается в клиенте. Дальше, как и в SMTP, будет закрытие TCP-сессии.

Привожу ссылку на скачивание этой лабы.

И еще, что я хотел бы показать в дополнение к почтовым протоколам - это роль DNS-сервера. Вы видели, что при совершении какого-либо действия в почтовом клиенте, он внизу нам писал IP-адрес сервера. Но есть возможность указывать не IP-адрес, а доменное имя. Давайте посмотрим, как это сделать.

Ну и самое логичное, что приходит в голову - это то, что у нас есть почтовый сервер с адресом 192.168.1.4. И с этим адресом у нас будет работать доменное имя. Соответственно заходим на DNS-сервер и сопоставим этому адресу имя.

Настройка на стороне DNS-сервера закончена, и осталось изменить 2 строчки в почтовых клиентах компьютеров. Открываем клиент на компьютере директора.


И нажимаем на кнопку «Configure Mail».

Открывается окно, которое мы видели на этапе начальной конфигурации клиента.


Здесь надо поменять строки «Incoming Mail Server» и «Outgoing Mail Server». Вместо IP-адреса записываем доменное имя и нажимаем кнопку «Save».

То же самое проделываем и на компьютере рабочего. Не буду давать лишних подробностей, просто приведу скрин.

Сразу попробуем написать письмо директору и отправить.


И после нажатия кнопки «Send», наблюдаем следующее.


Внизу появляется сообщение о том, что он спросил у DNS-сервера адрес, и тот ему выдал IP-адрес почтового сервера. Отправка прошла успешно.

Теперь зайдем на компьютер директора и нажмем на кнопку «Receive».


Получаем письмо, а надпись ниже свидетельствует об успешной доставке. Вот еще один пример использования DNS-сервера в сети.

Разобрали мы почтовые протоколы. И переходим к разбору следующего протокола.

VI) Telnet (от англ. terminal network). Если переводить дословно, то это сетевой терминал. Основы этого протокола были заложены давным давно, и до сих пор он не теряет своей актуальности. Применяется он для отображения текстового интерфейса, а также для управления ОС. Очень полезный протокол, и каждый сетевой инженер обязан уметь работать с ним. Объясню почему. Каждое сетевое устройство, интерфейс которого представляет собой командную строку, настраивается либо при помощи специального консольного кабеля, либо через виртуальные терминалы, в который и входит протокол Telnet. И, если консольный кабель требует нахождения специалиста рядом с настраиваемым оборудованием, то настройка при помощи виртуальных терминалов, а в данном случае Telnet, не ограничивает специалиста в расстоянии. Можно находиться в другой комнате, здании, городе и все равно иметь возможность доступа к оборудованию. Я считаю это огромным плюсом. Из минусов данного протокола отмечу, что он фактически не защищенный и все передается в открытом виде. Использует он 23 порт. А самые популярные дистрибутивы, которые работают с этим протоколом - это Putty, Kitty, XShell и т.д. Я думаю закрепим его работу на практике.

Использовать Telnet мы будем для доступа к коммутатору Cisco 2960. Он, как и все Cisco устройства, использует разработанную компанией Cisco операционную систему IOS. А интерфейс командной строки называется CLI (Command Line Interface). Давайте для начала настроим коммутатор. Повесим на него IP-адрес, так как без него мы не сможем попасть на коммутатор и разрешим доступ по Telnet. Я не буду приводить скриншоты, так как там нет графики. Просто дам список вводимых команд и поясню для чего они.

Switch>enable - переход в привилегированный режим. Отсюда доступно большинство команд.

Switch#configure terminal - переход в режим глобальной конфигурации. В этом режиме возможен ввод
команд, позволяющих конфигурировать общие характеристики системы. Из режима глобальной конфигурации можно перейти во множество режимов конфигурации, специфических для
конкретного протокола или функции.

Switch(config)#username admin secret cisco - создаем пользователя с именем admin и паролем cisco.

Switch(config)#interface vlan 1 - переходим в виртуальный интерфейс и повесим на него IP-адрес. Здесь прелесть заключается в том, что не важно, на каком именно из 24-х портов он будет висеть. Нам главное, чтобы просто с какого-либо порта был доступ до него.

Switch(config-if)#ip address 192.168.1.254 255.255.255.0 - присваиваем последний адрес 192.168.1.254 с маской 255.255.255.0

Switch(config-if)#no shutdown - по умолчанию интерфейс выключен, поэтому включаем его. В IOS 90% команд отменяются или выключаются путем приписывания перед командой «no».

Switch(config)#line vty 0 15 - переходим в настройки виртуальных линий, где как раз живет Telnet. От 0 до 15 означает, что применяем это для всех линий. Всего можно установить на нем до 16 одновременных соединений.

Switch(config-line)#transport input all - и разрешаем соединение для всех протоколов. Я специально настроил для всех протоколов, так как чуть позже будет рассматриваться другой протокол и лезть сюда ради одной команды не считаю разумным.

Switch(config-line)#login local - указываем, что учетная запись локальная, и он будет проверять ее с той, что мы создали.

Switch#copy running-config startup-config - обязательно сохраняем конфигурацию. Иначе после перезагрузки коммутатора все сбросится.

Итак коммутатор настроен. Давайте подключимся к нему c рабочего компьютера. Открываем командную строку. Мы ее открывали, когда рассматривали nslookup. И пишем следующее.


То есть команда telnet и адрес, куда подсоединиться.

Если все верно, то открывается следующее окно с запросом логина и пароля.


Соответственно пишем логин:admin и пароль:cisco (мы создавали его на коммутаторе).

И он сразу пускает нас на коммутатор. Для проверки проверим доступность компьютера директора, при помощи команды ping.


Ping успешен. Надеюсь, понятно, что проверка доступности осуществляется не с компьютера рабочего, а с коммутатора. Компьютер здесь является управляющим устройством и все. Рассматривать его в режиме симуляции я не буду. Он работает точно так же, как и почтовые протоколы, то есть создается TCP-сессия, и, после установления соединения, начинает работать Telnet. Как только он отрабатывает, он начинает разрывать соединение. Тут все просто. Привожу ссылку на скачивание.

Давайте теперь разберем протокол SSH.

VII) SSH (англ. Secure Shell). В переводе с английского - безопасная оболочка. Как и Telnet позволяет управлять ОС. Отличие его в том, что он шифрует весь трафик и передаваемые пароли. Шифруется при помощи алгоритма Диффи-Хеллмана . Кому интересно почитайте. Практически все современные ОС системы умеют работать с этим протоколом. Если у вас стоит выбор, какой протокол применять, то используйте SSH. Сначала немного помучаетесь в настройке, и многое будет непонятно, но со временем в голове уляжется. Главное запомните сейчас, что самое главное отличие SSH от Telnet - это то, что SSH шифрует трафик, а Telnet нет. Я думаю пора перейти к практике и посмотреть, как это работает. Подключаться и управлять мы будем тем же коммутатором. Давайте попробуем подключиться по SSH с компьютера директора к коммутатору.


Здесь синтаксис команды немного другой, нежели при подключении по Telnet. Пишем ssh с ключом l, после набираем логин (у нас это admin) и адрес, куда подключаемся (192.168.1.254). Завершаем это дело клавишей ENTER. Выдается сообщение, что соединение было закрыто внешним хостом. То есть коммутатор закрыл соединение. Все потому, что не были созданы ключи, которые работают с шифрованием. Зайду на коммутатор и настрою его для корректной работы по SSH.

Switch(config)#hostname SW1 - меняем имя коммутатора. С этим стандартным именем нельзя прописать домен, который нужен для генерации ключей.

SW1(config)#ip domain-name cisadmin.ru - прописываем домен.

SW1(config)#crypto key generate rsa - генерируем RSA ключи.

The name for the keys will be: SW1.cisadmin.ru
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.

How many bits in the modulus : 1024 - Указываем размер ключа. По умолчанию предлагается 512, но я введу 1024.
% Generating 1024 bit RSA keys, keys will be non-exportable...
Выходит сообщение о удачной генерации ключей.

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


И уже выдается другое сообщение, с запросом на ввод пароля. Вводим пароль «cisco» и оказываемся на коммутаторе.

Осталось проверить работу. Я воспользуюсь командой ping и проверю доступность рабочего компьютера.


И убедился, что все прекрасно работает. Привожу ссылку , чтобы убедились и вы.

А я перехожу к следующему протоколу.

VIII) FTP (англ. File Transfer Protocol). Протокол передачи файлов. Думаю из названия протокола ясно, что он передает файлы. Очень древний протокол, вышедший в начале 70-х годов. Появился он еще до HTTP и стека TCP/IP. Как работал раньше, так и сейчас работает по «клиент-сервер» модели. То есть, присутствует инициатор соединения и тот, кто его слушает. Есть несколько модификаций, которые поддерживают шифрование, туннелирование и так далее. Раньше с этим протоколом работали разные консольные утилиты, у которых не было графики и работали они, при помощи ввода определенных команд. В нынешнее время присутствуют и графические программы. Самой популярной и простой является Filezilla. В CPT реализован только консольный метод.

Переходим к практике. За основу я возьму предыдущую лабораторку и почтовый сервер заменю FTP-сервером.


В принципе схема аналогична предыдущей.

Откроем FTP-сервер и перейдем в сервис FTP.


По умолчанию служба включена, но лучше проверить.

1) Цифрой 1 я отметил учетку, которая по умолчанию была здесь создана. Это стандартная учетная запись с логином «cisco» и таким же паролем. В правой колонке видим «Permission» - это права доступа. И видим, что данная учетка имеет все права. В тестовой среде нам как раз это и надо, но, работая в компании, всегда следите за правами каждой учетки.

2) Цифрой 2 отмечено хранилище FTP. Здесь в основном прошивки для цисковских устройств.

Сервис настроен и раз все так прекрасно, попробуем с ним поработать. Но для начала создам текстовый файл на компьютере директора, который потом выкачаю на FTP-сервер.

Открываю компьютер директора и выбираю «Text Editor». Это аналог блокнота в ОС Windows.


Напишу туда текст и сохраню его.

Теперь попробуем залить этот файл на FTP-сервер. Открываем командную строку и пишем


То есть, как помним ранее, в начале пишется используемый протокол, а потом следует адрес. Далее, после соединения, спрашивается логин (вводим cisco) и пароль (тоже cisco). И после аутентификации попадаем на сам FTP-сервер. Список доступных команд можно проверить командой "?".

Чтобы что-то залить, используется команда «put», а скачать команда «get». Заливаем наш файл.


Ввел я команду «put» и название файла, которое хочу скопировать. И показывает он нам сообщение, что все скопировано. Файл весит 20 байтов, а скорость передачи 487 байтов в секунду. Далее ввел команду «dir», чтобы проверить содержимое сервера. И засветился на нем файл message.txt под 17 номером.

Осталось дело за малым. Это скачать файл на компьютер рабочего. Открываю я WORKER-PC и захожу в командную строку.


Выполняю я практически те же действия, что и ранее. За исключением команды «get», а не «put». Видим, что файл скачен. Еще я ввел команду «dir», чтобы показать, что при скачивании файла, оригинал не удаляется. Скачивается его копия.

И раз он скачал файл, то он должен появиться на компьютере. Открываю «Text Editor» и нажимаю File->Open.



Вижу, что файл действительно присутствует и пробую его открыть.


Файл пришел целым. Весь текст присутствует.

Не буду повторно засорять вам голову, как это работает. Потому что работает оно точно так же, как и почтовые протоколы, Telnet, SSH и так далее. То есть создается TCP-сессия, и начинается передача/скачивание файла. Приведу только структуру его.


В TCP обращаем внимание на номер порта. Это 21 порт (стандартный порт FTP). И в поле данных FTP обозначено, что это какие-то двоичные данные.

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

И последний протокол, который остался - это TFTP.

IX) TFTP (англ. Trivial File Transfer Protocol). Простой протокол передачи файлов. Придумали его в 80-х годах. Хоть FTP был достаточно популярным, не все его функции были нужны для решения простых задач. И был придуман его простой аналог. Он работает по UDP, то есть не требует установления соединения. Также он не требует аутентификации и авторизации. Достаточно знать его IP-адрес и самому его иметь. Это конечно не безопасно, так как адрес можно подделать. Но когда нужен простой протокол и не требуется авторизация, выбор падает на него. Очень плотно с ним работает цисковское оборудование, для копирования образа или скачивания на flash-память.

Ничто не учит лучше, чем практика. Поэтому переходим к ней. Чудесным образом я обнаружил, что компьютеры в CPT не умеют работать с TFTP. Хорошо, что с цисковского оборудования не выпилили эту функцию. Поэтому будем учиться на нашем любимом коммутаторе. Схема остается такой же. Просто на FTP-сервере я включу сервис TFTP.


Вот так он выглядит. В базе куча разных прошивок для многих устройств.

Перейдем к коммутатору.

SW1#dir - команда вывода содержимого файловой системы
Directory of flash:/


9 -rw- 1168 config.text

64016384 bytes total (59600295 bytes free)

У нас есть файл config.text. Попробуем его залить на TFTP - сервер.

SW1#copy flash: tftp: - то есть указываем откуда, а потом куда. Здесь это с flash-памяти на tftp-сервер

Source filename ? config.text - здесь он спрашивает имя файла, которое надо скопировать.

указываем куда скопировать.

Destination filename ? - и тут надо указать, под каким именем сохранить его на сервере. По умолчанию он предлагает сохранить его с тем же названием.И, если нажать клавишу ENTER, он выберет имя по умолчанию. Меня это устраивает, и я оставлю его таким же.

Writing config.text....!!!

1168 bytes copied in 3.048 secs (383 bytes/sec)

И в заключительном сообщении он показывает, что все успешно скопировалось. Перейдем на TFTP-сервер и проверим.


И вижу, что действительно он там присутствует. Значит коммутатор меня не обманул.

Теперь попробуем что-нибудь скачать с сервера на коммутатор.

SW1#copy tftp: flash: - здесь пишем наоборот. Сначала tftp, а потом flash

Address or name of remote host ? 192.168.1.4 - адрес TFTP-сервера


Записываю название
Source filename ? c2960-lanbasek9-mz.150-2.SE4.bin

Destination filename ? - здесь он спрашивает, как назвать его на самом коммутаторе. Я нажму ENTER и оставлю имя по умолчанию.

Accessing tftp://192.168.1.4/c2960-lanbasek9-mz.150-2.SE4.bin…
Loading c2960-lanbasek9-mz.150-2.SE4.bin from 192.168.1.4:!!!

4670455 bytes copied in 0.057 secs (6587503 bytes/sec)

Выдал он мне сообщение, что загрузка прошла успешно. Проверю я наличие прошивки командой «dir».

SW1#dir
Directory of flash:/

1 -rw- 4414921 c2960-lanbase-mz.122-25.FX.bin
10 -rw- 4670455 c2960-lanbasek9-mz.150-2.SE4.bin
9 -rw- 1168 config.text

64016384 bytes total (54929840 bytes free)

Вижу, что действительно все на месте. И вдобавок он мне сообщает об объеме памяти и наличии свободного места.

Закончили мы рассматривать протоколы верхнего уровня. Не думал я, что получится настолько длинная статья. Наверное виноваты картинки. Но постарался максимально кратко и по делу. Протоколов мы рассмотрели много, и все они не заменимы. Часто выручают жизнь сисадминам и любимым нами пользователям. Спасибо, что дочитали. Если что-то непонятно, оставляйте комментарии или сразу пишите в личку. А я пошел ставить чайник и пить вкусный чай с пирожными!

  • telnet
  • ssh
  • pop3
  • smtp
  • ftp
  • tftp
  • Добавить метки

    4.3 Прикладные протоколы

    Протоколы прикладного уровня служат для передачи информации конкретным клиентским приложениям, запущенным на сетевом компьютере. В IP-сетях протоколы прикладного уровня опираются на стандарт TCP и выполняют ряд специализированных функций, предоставляя пользовательским программам данные строго определенного назначения. Ниже мы кратко рассмотрим несколько прикладных протоколов стека TCP/IP.

    Протокол FTP

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

    Протоколы РОРЗ и SMTP

    Прикладные протоколы, используемые при работе с электронной почтой, называются SMTP (Simple Mail Transfer Protocol) и РОРЗ (Post Office Protocol), первый «отвечает» за отправку исходящей корреспонденции, второй - за доставку входящей.

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

    Протокол HTTP

    Протокол HTTP (Hyper Text Transfer Protocol) обеспечивает передачу с удаленных серверов на локальный компьютер документов, содержащих код разметки гипертекста, написанный на языке HTML или XML, то есть веб-страниц. Данный прикладной протокол ориентирован прежде всего на предоставление информации программам просмотра веб-страниц, веб-браузерам, наиболее известными из которых являются такие приложения, как Microsoft Internet Explorer и Netscape Communicator.

    Именно с использованием протокола HTTP организуется отправка запросов удаленным http-серверам сети Интернет и обработка их откликов; помимо этого HTTP позволяет использовать для вызова ресурсов Всемирной сети адреса стандарта доменной системы имен (DNS, Domain Name System), то есть обозначения, называемые URL (Uniform Resource Locator) вида http:/ /www.domain.zone/page.htm (.html).

    Протокол TELNET

    Протокол TELNET предназначен для организации терминального доступа к удаленному узлу посредством обмена командами в символьном формате ASCII. Как правило, для работы с сервером по протоколу TELNET на стороне клиента должна быть установлена специальная программа, называемая telnet-клиентом, которая, установив связь с удаленным узлом, открывает в своем окне системную консоль операционной оболочки сервера. После этого вы можете управлять серверным компьютером в режиме терминала, как своим собственным (естественно, в очерченных администратором рамках). Например, можно изменять, удалять, создавать, редактировать файлы и папки, а также запускать на исполнение программы на диске серверной машины, можно просматривать содержимое папок других пользователей. Какая бы операционная система ни использовалась, протокол Telnet позволит общаться с удаленной машиной «на равных». Например, вы без труда можно открыть сеанс UNIX на компьютере, работающем под управлением MS Windows.

    Протокол UDP

    Прикладной протокол передачи данных UDP (User Datagram Protocol) используется на медленных линиях для трансляции информации как дейтаграмм.

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

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

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

    интернет ip протокол шлюз программа


    4.4 Сквозные протоколы и шлюзы

    Интернет - это единая глобальная структура, объединяющая на сегодня около 13 000 различных локальных сетей, не считая отдельных пользователей. Раньше все сети, входившие в состав Интернета, использовали сетевой протокол IP. Однако настал момент, когда пользователи локальных систем, не использующих IP, тоже попросились в лоно Интернета. Так появились шлюзы.

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

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

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

    Этих решений вполне разумно и верно. Пока Международная Организация по Стандартизации (Organization for International Standartization - ISO) тратила годы, создавая окончательный стандарт для компьютерных сетей, пользователи ждать не желали. Активисты Internet начали устанавливать IP-программное обеспечение на все возможные типы компьютеров. Вскоре это стало единственным приемлемым способом для...

    Прикладной уровень представляет собой комплекс программных средств, представленных в двух формах: в виде приложений (applications) и программ служб сервиса (services) .

    Сопряжение человека с сетью обеспечивают приложения. Широко известны такие приложения этого уровня, как веб-браузеры гипертекстовой информационной службы (World Wide Web – WWW ), которые позволяют людям готовить сообщения для передачи по сети и принимать такие сообщения. Наиболее известными веб-браузерами являются Internet Explorer, Mozilla Firefox, Opera.

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

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

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

    Наиболее распространенными протоколами и службами прикладного уровня являются:

    • протоколы электронной почты (Simple Mail Transfer Protocol – SMTP, Post Office Protocol – POP , – IMAP );
    • протокол передачи гипертекстовой информации, или веб-сервер ( Hypertext Transfer Protocol – HTTP);
    • протокол передачи файлов ( File Transfer Protocol – FTP) и простой протокол передачи файлов (Trivial FTP – TFTP );
    • система доменных имен (Domain Name System – DNS);
    • протоколы удаленного доступа ( Telnet и SSH ), обеспечивающие виртуальное соединение с удаленными сетевыми устройствами;
    • протокол динамического назначения адресов узлов (Dynamic Host Configuration Protocol – DHCP ).

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

    Существуют две модели построения сети:

    1. модель "клиент-сервер";
    2. модель соединения равноправных узлов сети ( peer -to- peer ).

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

    Согласно модели "клиент-сервер" клиент запрашивает информацию, пересылая запрос выделенному серверу ( upload ), который в ответ на запрос посылает ( download ) файл , принимаемый клиентом. Следовательно, клиент инициирует процесс обмена информацией в среде "клиент- сервер " и получает от сервера требуемую информацию. Главным достоинством модели "клиент- сервер " является централизация управления сетью и обеспечение безопасности.

    Ниже приведены краткие характеристики некоторых наиболее широко используемых протоколов прикладного уровня.

    Протоколы передачи электронной почты

    При передаче электронной почты и взаимодействии почтовых серверов между собой используется простой протокол передачи почты (Simple Mail Transfer Protocol – SMTP ), у которого номер порта 25. Для получения клиентом сообщения с сервера используется протокол почтового отделения ( Post Office Protocol – POP ) с номером порта 110 или протокол доступа к сообщениям ( Internet Messaging Access Protocol IMAP ).


    Рис. 2.2.

    При передаче сообщений между серверами используется Агент передачи почты (Mail Transfer Agent – MTA ). Агент MTA получает сообщения от MUA или от другого MTA и передает их по сети. Агенты MTA применяют протокол SMTP для передачи электронной почты между серверами. Если сообщение из сервера может быть отправлено сразу клиенту локальной сети, то подключается Агент доставки почты (Mail Delivery Agent – MDA ). Агент MDA получает прибывающую почту от MTA и помещает ее в соответствующие почтовые ящики пользователей, используя протокол РОР.

    Протокол HTTP

    Самым распространенным протоколом прикладного уровня в настоящее время является протокол передачи гипертекстовой информации ( Hypertext Transfer Protocol – HTTP ), который работает в сети Интернет. Его основным приложением является веб-браузер, который отображает данные на веб-страницах, используя текст, графику, звук и видео. Веб- страницы создаются с применением языка разметки гипертекста Hypertext Markup Language (HTML), который определяет местоположения для размещения текста, файлов и объектов, которые должны быть переданы от сервера по сети до веб-браузера. Номер порта протокола HTTP – 80, функционирует совместно с протоколом транспортного уровня TCP.

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

    Протокол HTTP характеризуется сравнительно невысоким уровнем безопасности, поскольку передаваемые по сети сообщения не зашифрованы. Для повышения уровня безопасности передачи сообщений через Интернет был разработан протокол HTTP Secure (HTTPS ). В этом протоколе используется процесс криптографирования данных (encryption ) и аутентификации (authentication ), что существенно повышает уровень безопасности. Номер порта протокола HTTPS – 443.

    Протоколы передачи файлов FTP и TFTP

    Протокол передачи файлов (File Transfer Protocol – FTP) – служба, ориентированная на предварительное соединение ( connection-oriented ), которая взаимодействует с протоколом транспортного уровня TCP. Главная цель протокола FTP состоит в том, чтобы передавать файлы от одного компьютера другому или копировать и перемещать файлы от серверов клиентам и от клиентов серверам. Это является главным отличием от протокола HTTP, который позволяет клиенту "скачивать" файлы с сервера, но не позволяет пересылать файлы на сервер.

    Протокол передачи файлов FTP сначала устанавливает соединение между клиентом и сервером, используя команды запроса клиента и ответы сервера. При этом номер порта – 21. Затем производится обмен данными, когда номер порта – 20. Передача данных может производиться в режиме кода ASCII или в двоичном коде. Эти режимы определяют кодирование, используемое для файла данных, которое в модели OSI является задачей представительского (presentation) уровня. После завершения передачи файла соединение для передачи данных заканчивается автоматически. Управление сеансом связи происходит на сеансовом (Session) уровне.

    Простой протокол передачи файлов (Trivial File Transfer Protocol – TFTP ) – служба без установления соединения ( connectionless ), которая работает совместно с протоколом транспортного уровня (User Datagram Protocol – UDP ). Протокол TFTP применяется на маршрутизаторах, чтобы передавать файлы конфигурации и операционную систему Cisco IOS , а также для передачи файлов между системами, которые поддерживают TFTP . Протокол TFTP характеризует простота и малый объем программного обеспечения. Он может читать или записывать файлы при соединении с сервером, но не ведет списки и каталоги. Поэтому протокол TFTP работает быстрее, чем протокол FTP.

    Система доменных имен DNS

    Система доменных имен (Domain Name System – DNS) используется в Интернете для того, чтобы переводить имена сайтов или доменов в числовые значения IP-адреса. Людям легче запомнить доменное имя , например, http://www.cisco.com , чем числовой адрес 198.133.219.25. Кроме того, числовые адреса могут со временем меняться. Например, в настоящее время указанный выше числовой адрес сайта http://www.cisco.com изменен на 72.163.4.161. Поскольку в ряде случаев требуется знание числового адреса, хост может обратиться к DNS-серверу и по имени получить соответствующий адрес. DNS использует распределенный набор серверов разного уровня иерархии, чтобы получить соответствие между именем и числовым адресом.

    Операционные системы компьютеров содержат утилиту nslookup , которая позволяет пользователю вручную запрашивать имя сервера и идентифицировать название хоста. Когда клиент делает запрос, локальный сервер сначала проверяет собственные записи. Если соответствующих пар "имя-адрес" у него нет, то он связывается с другими серверами DNS более высокого уровня иерархии.

    На рис. 2.3 приведен пример выполнения команды nslookup, которая позволяет пользователю вручную запросить адрес DNS-сервера . Команда выполняется в режиме командной строки (Пуск Программы Стандартные Командная строка ). В приведенном примере выполнено четыре команды.

    пользователь хочет иметь возможность выполнять различные прикладные программы на удаленном сайте и создать результат, который может быть передан к его местному сайту. Один из путей удовлетворения такой потребности - создать различные прикладные программы клиент- сервер для каждой услуги. Уже доступны программы передачи файлов ( FTP и TFTP ), электронной почты ( SMTP ) и так далее. Однако все конкретные программы клиентсервер для каждого применения описать невозможно.

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

    TELNET - это сокращение от Terminals NETwork . Это стандартный протокол TCP/IP для услуг виртуального терминала. TELNET дает возможность устанавливать соединение с удаленным компьютером таким образом, что создается впечатление, как будто местный терминал – это терминал удаленной системы.

    Концепция

    TELNET основан на концепциях, которые обсуждаются ниже.

    Внешняя среда с разделением времени

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

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

    Логин

    В среде с разделением времени пользователь - это часть системы с некоторыми правами и, вероятно, с паролем. Каждый полномочный пользователь имеет идентификатор и пароль . Пользовательская идентификация определяет пользователя как часть системы. Для доступа к системе пользователь начинает сеанс с пользовательского идентификатора (id) или с регистрационного имени ( login name ). Система помогает проверке пароля, чтобы предотвратить доступ к ресурсу неполномочного пользователя.

    Местный логин

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


    Рис. 12.1.

    Однако этот механизм не такой простой, как кажется, потому что операционная система может назначить специальные значения для специальных символов. Скажем, в UNIX некоторые комбинации символов имеют специальное значение, например, комбинации управляющих символов с символом "z", которые означают прекращение действия; комбинации управляющих символов с символом "c" означают остановку; и так далее. Несмотря на то что эти специальные ситуации не создают никаких проблем в местном вхождении в систему (login), потому что терминальный эмулятор и терминальный драйвер знают точно значение каждого символа и комбинации символов, они могут создавать проблемы при удаленном входе в систему. Какой процесс должен интерпретировать специальные символы? Клиент или сервер? Эта ситуация будет рассмотрена в этой лекции позднее.

    Удаленный логин

    Когда пользователь хочет иметь доступ к прикладной программе или утилите, размещенным на удаленном компьютере, он выполняет дистанционный вход в систему (логин). Здесь TELNET берет на себя функции клиента и сервера. Пользователь посылает сигнал нажатия кнопки терминальному драйверу, где местная операционная система принимает символы и интерпретирует их. Эти символы посылает TELNET-клиент, который преобразует символы к универсальному набору, называемому символы виртуального сетевого терминала (Network Virtual Terminal Characters), и доставляет их к местному стеку протоколов TCP/IP (рис. 12.2).


    Рис. 12.2.

    Команды или текст в форме сетевого виртуального терминала ( NVT ) перемещаются через Интернет и прибывают на стек протоколов TCP/IP в удаленной машине. Здесь символы доставляются операционной системе и проходят к TELNET-серверу, который преобразует их в символы, понятные удаленному компьютеру. Однако символы не могут пройти прямо на операционную систему, потому что удаленная операционная система не разработана для получения трактовки этих символов от TELNET. Она спроектирована так, чтобы принимать символы от драйвера терминала. Решение, добавляющее необходимое программное обеспечение, называется псевдотерминальным драйвером, который преобразовывает поступившие символы как символы, поступающие от местного терминала. Операционная система затем предает символы к соответствующей прикладной программе.