
Основные протоколы и сервисы компьютерной сети Internet
Основные протоколы сети Internet. Internet многогранен, и с технической точки зрения — это объединение транснациональных компьютерных сетей, работающих по самым разнообразным протоколам, связывающих всевозможные типы компьютеров, физически передающих данные по телефонным проводам и оптическому волокну, через спутники и радиомодемы. Подавляющее большинство компьютеров в Internet работает по протоколам TCP/IP (Transmission Control Protocol/Internetwork Protocol — управляющий протокол пере- дачи/межсетевой протокол), и именно это совместно с требованиями наличия подключения к глобальной сети является критерием присутствия в Internet.
Основой семейства протокола TCP/IP является сетевой уровень, представленный протоколом IP, а также различными протоколами маршрутизации. Этот уровень представляет адресное пространство, обеспечивающее перемещение пакетов в сети, а также управляет их маршрутизацией.
Размеры пакета, параметры передачи, контроль целостности осуществляются на транспортном уровне протоколом TCP. Протокол UDP (User Datagram Protocol — протокол транспортного уровня) работает на том же уровне, но применяется в том случае, когда требования к надёжности передачи данных менее жёсткие (в отличие от протокола ТСР не обеспечивает безошибочной передачи пакета). Поскольку оба этих протокола в известной степени представляют собой единое целое, как правило, говорят о протоколах TCP/IP.
TCP дробит информацию на несколько частей, присваивает каждой части номер, по которому данные впоследствии соединяются воедино, добавляет к ней «служебную» информацию и укладывает всё это в отдельный «IP-конверт». Далее этот «конверт» отправляется по Сети — Internet обрабатывает IP-информацию. Размер передаваемых в Internet TCP/IP-пакетов составляет, как правило, от 1 до 1500 байт, что связано с техническими характеристиками Сети.
Данные, передаваемые по электронным сетям, могут теряться, а также зачастую искажаться из-за помех на линиях связи. Встроенные в TCP алгоритмы контроля за корректностью передачи данных решают эти проблемы. Одним из самых известных механизмов контроля за правильностью пересылки информации является циклический избыточный код, согласно которому в заголовок каждого передаваемого пакета записывается некая контрольная сумма, вычисленная компьютером-отправителем. Компьютер-получатель по аналогичной системе вычисляет контрольную сумму и сравнивает её с числом, имеющимся в заголовке пакета. Если цифры не совпадают, TCP инициирует повтор передачи.
Следует отметить также, что при отправке информационных пакетов протокол TCP требует от компьютера-получателя подтверждения приёма информации. Это организуется путём создания временных задержек при приёме-передаче — тайм-аутов, или ожиданий. Тем временем отправитель продолжает пересылать данные. Образуется некий объём уже переданных, но ещё не подтверждённых данных. Иными словами, TCP организует двунаправленный обмен информацией, что обеспечивает более высокую скорость её трансляции.
Следующий простой пример проясняет механизм работы протоколов TCP/IP. Когда человек получает телеграмму, весь текст в ней (и адрес, и сообщение) написан на ленте подряд, но есть правила позволяющие понять, где тут адрес, а где сообщение. Аналогично пакет в компьютерной сети представляет поток бит, а протокол IP определяет, где адрес и прочая служебная информация, а где сами передаваемые данные. Протокол TCP предназначен для контроля передачи и контроля целостности передаваемой информации.
Системы, использующие протоколы не TCP/IP подключаются к Internet через шлюзы.
Для того чтобы пакет с информацией не «заблудился» по дороге, узлы Internet, через которые он движется, имеют в своём распоряжении таблицы маршрутизации — электронные базы данных, в которых содержатся указания, куда именно отсылать тот или иной пакет информации, если он следует на такой-то адрес. Таблицы маршрутизации рассылаются на узлы
централизованно,
периодически меняются и дополняются.
На серверах узлов, осуществляющие
маршрутизацию, находятся маршрутизаторы,
или роутеры (от англ, «router»
—
«маршрутизатор»). Правила
маршрутизации
описаны
в
протоколах
ICMP
(Internet Control Message Protocol), RIP (Routing Internet Protocol)
и
OSPF
(Open Shortest Path First).
Протоколы
TCP/IP
являются
протоколами нижнего уровня модели OSI.
Помимо
них существует целый ряд протоколов
более высокого уровня, которые отвечают
за передачу и обработку данных
определённого назначения. К наиболее
важным прикладным протоколам
относятся:
^
протокол удалённого управления Telnet;
>
протокол передачи файлов FTP;
'Р
протоколом передачи гипертекста HTTP;
Р
протоколы
для
работы
с
электронной
почтой:
SMTP
(Simple Mail Transfer Protoco), POP
(Post Office Protocol), IMAP
(Internet Message Access Protocol), MIME
((Multiperposal
Internet Mail Exchange).
На
этом уровне работает система адресации
доменных имён DNS,
отвечающая
за преобразование числовых IP
—
адресов в имена.
Telnet
—
протокол удалённого доступа. Даёт
возможность абоненту работать в полном
объёме на любом компьютере сети Internet,
т.е.
запускать программы, менять режим
работы и т.д.
FTP
(File Transfer Protocol)
— протокол
передачи
файлов.
Архивы
являются одним из основных информационных
ресурсов Internet.
Фактически,
это распределённый депозитарий
текстов, программ, фильмов, фотографий,
аудио записей и прочей информации,
хранящейся в виде файлов на различных
компьютерах во всем мире. FTP
даёт
возможность соединять компьютеры
между собой и передавать по сети файлы
с одного компьютера на другой.
Компьютеры, на которых находится
информация для передачи по протоколу
FTP,
называются
FTP-серверами.
Программы
FTP
стали
частью отдельного сервиса Internet.
FTP
настраивается
таким образом, что соединение с ним
может происходить не только под именем
пользователя, но и под условным именем
anonymous
(аноним).
Тогда становится доступна не вся
файловая система компьютера, а некоторый
набор файлов на сервере, которые
составляют содержимое сервера
anonymous
FTP
—
публичного файлового архива.
Web-документы
создаются с помощью гипертекстового
языка описания документов HTML
(Hypertext
Markup
Language),
построенного
на базе метаязыка SGML
(Structured
Generalized
Markup
Language
— структурный
универсальной язык разметки, стандарт
ISO-
8879
1986 года), который, в свою очередь, основан
на языке GML
(Generalized
Markup
Language,
стандарт
ISO
c
1984 г.).
Для создания конкретных прикладных
наборов тегов было введено понятие
«SGML-приложение».
Так, популярный сегодня язык HTML
является
SGML-приложением.
HTML-документы
могут содержать несколько уровней
заголовков, абзацы, списки и их пункты,
графику, Web-формы
и гипертекстовые ссылки. При щелчке
мышью по гипертекстовой ссылке
выводится пользователю другой документ.
Таким образом, эта ссылка содержит
«указатель» на документ, который
становится доступным при нажатии кнопки
мыши. Такой указатель носит название
унифицированного указателя ресурса —
URL
(Uniform
Resource
Locator)
— фактически
это адрес документа в Internet.
Указатели
URL
обычно
описывают транспортный протокол
документа (например, HTTP
или
FTP)
и
имя хост-компьютера, на котором он
находится. Кроме того, указатели URL
могут
включать в себя маршрут доступа к
документу на данном компьютере. Эти
маршруты указываются в конце строки
URL.
С
целью специализаций по разработке и
стандартизаций Web-технологий
в 1994 г. изобретателем Web
Тимом
Бернерсом-Ли (Tim
Bemers-Lee)
был
основан Консорциумом W3C (WWW
Consortium)
при
Лаборатории компьютерных наук
Массачусетского технологического
института США (MIT
Laboratory
for
Computer
Science)
с
участием ЦЕРНа
(CERN)
при
поддержке агентства министерства
обороны США DARPA
(Department
Advanced
Research
Projects
Agency)
и
Европейской комиссии.
В
апреле 1995 г. французский исследовательский
институт информатики и автоматики
INRIA
(Institute
National
de
Recherche
et
en
Automatique)
стал
европейским базовым центром (хостом)
для деятельности W3C. В 1996 г. такие же
функции взял на себя японский университет
Keio
University
Shonan
Fujisawa.
В
настоящее время консорциум объединяет
более 400 различных организаций-членов,
включая изготовителей продуктов ИТ,
поставщиков ИТ- услуг и информационных
контентов, корпоративных пользователей,
исследовательские лаборатории,
организации стандартизации, госбюджетные
структуры — всех, кто готов работать
для достижения стабильности в развитии
Web-технологии.
В
частности, долгосрочными целями
консорциума W3C являются:
Обеспечение
универсального доступа
(Universal
Access)
каждому
пользователю к технологиям и ресурсам
Internet,
учитывая
различия людей в культуре, образовании,
способностях, материальных возможностях,
с учётом их физических ограничений.
Разработка
программного обеспечения Web,
позволяющего
взаимодействовать с Internet
на
смысловом или семантическом уровне
(Semantic
Web).
Создание
инфраструктуры,
обеспечивающей
необходимый уровень информационной
защиты и приватности для решения
правовых, экономических и социальных
проблем информационного общества —
создание
доверия.
Консорциум
W3C концентрирует свои усилия на решении
следующих задач:
исследование
перспектив развития и использования
Web-технологий,
формирование требований Web-сообщества
к информационному пространству и его
инфраструктуре;
реализация
Web-технологий,
удовлетворяющих требованиям
Web-сообщества;
стандартизация
Web-технологий
посредством разработки спецификаций
в виде Рекомендаций («Recommendations»),
описывающих
строительные модули Web.
При
этом, рассматривая Web
как
некоторое приложение, построенное над
Internet,
W3C
в своих разработках продолжает следовать
принципам этой базовой технологии, а
именно, интероперабельности функциональных
компонентов, совместимости спецификаций
языков и протоколов, способности
эволюционировать и взаимодействовать
с новыми технологиями (например, с
мобильными Web-устройствами
и цифровым телевидением), децентрализации
функций и масштабируемости.
Процесс
разработки и стандартизации спецификаций
Web-технологий
(W3C process),
организован
таким образом, чтобы обеспечить:
независимость
от поставщиков (вендоров) технологий
(Vendor
neutrality);
выполнение
принципов общедоступности и консенсуса
для спецификаций на протяжении их
жизненного цикла;
координацию
усилий с другими организациями
стандартизации и консорциумами (в
первую очередь, с IETF
(Internet
Engineering
Task
Force),
the
WAP
Forum
(Wireless
Application
Protocols
Forum),
the
Unicode
Consortium,
the
Web3D
Consortium,
а
также рядом комитетов ISO
(International
Standard
Organization).
В
1996
г.
Консорциумом W3C
была
утверждена рекомендованная спецификация
CSS
(Cascading
Style
Sheets
—
каскадные листы стилей), основанная на
DSSSL
(Document
Style
Semantics
and
Specification
Language
— язык
для определения семантики стиля
документов SGML).
Каскадные
листы стилей отделены от содержания
Web-страниц
для того, чтобы не мешать внутренней
логики логической разметки документов.
В основе технологии CSS
лежит
концепция разграничения содержания и
представления. Полное разделение
содержимого и его представления
обеспечивает гарантированную текстуальную
доступность материалов сайта,
созданного с применением рекомендаций
CSS,
консорциумома
W3C, в любых браузерах.
CSS2,
утверждённый
в качестве официальной рекомендации
в 1998 году, обладает намного более
серьёзными возможностями. В частности,
в нём появилась модель визуального
форматирования (блочная модель),
позволяющая представить любую Web-
страницу как набор прямоугольных
областей с различными свойствами и тем
самым избавиться от вёрстки шаблонов
страниц при помощи таблиц. Кроме того,
CSS2
позволяет
определять индивидуальные и открытые
пользователю правила представления
информации для различных сред и устройств
вывода — в частности, экрана настольного
ПК или ноутбука, меньшего по размерам
экрана КПК (карманного ПК) или смартфоны,
речевых браузеров, механических
строк Брайля, принтера и т.д.
В
HTML
4.0,
ставшем официальной рекомендацией в
конце 1997 года, определяется три типа
документов:
Strict
—
строгий, предписывающий соблюдение
чёткой логической структуры и
подразумевающий отказ от большинства
возможностей визуального форматирования;
Transitional
—
переходный, намного более «либеральный»;
Frameset
—
для страниц, использующих фреймы.
Фрейм
(Frame)
или
область — самостоятельный фрагмент
HTML-страницы,
обладающий всеми её свойствами.
Развитием
HTML
4
стал «расширяемый» (eXtensible)
язык
разметки гипертекста — XHTML
1.0,
реализующий концепцию модуляризации
и полностью упраздняющий типы документов
Transitional
и
Frameset,
который
получает всё большее распространение.
HTTP
(Hypertext
Transfer
Protocol)
— это
протокол передачи гипертекста,
позволяющий Web-браузерам
обращаться к файлам на любом Web-сервере.
В Internet
применяются
стандарты, позволяющие «публиковать»
информацию — размещать её на хост-узлах,
где с ней могут работать другие
пользователи. Система компьютеров,
публикующих такую информацию,
называется World
Wide
Web,
а
протокол, составляющий основу Web
протоколом
передачи гипертекста. Если TCP/IP даёт
возможность пользователям обращаться
к хост-узлам Internet,
то
HTTP
обеспечивает
их доступ к документам World
Wide
Web.
HTTP
позволяет
реализовать в рамках обмена данными
набор методов доступа, базирующихся
на спецификации универсального
идентификатора ресурсов URI
(Universal
Resource
Identifier),
применяемого
в форме универсального локатора ресурсов
URL
(Universe
Resource
Locator)
или
универсального имени ресурса (Universal
Resource
Name).
Сообщения
по сети при использовании протокола
HTTP
передаются
в формате, схожим с форматом сообщений
MIME
с
поддержкой графики, аудио- и видеофайлов.
HTTP
используется
для взаимодействия программ-клиентов
с программами-шлюзами, разрешающими
доступ к ресурсам электронной почты
Internet
(SMTP,
Simple
Mail
Transfer
Protocol),
спискам
новостей (NNTP,
Network
News
Transfer
Protocol),
файловым
архивам (FTP,
File
Transfer
Protocol),
информационно-поисковым
системам Gopher
и
Wais.
Протокол
разработан для доступа к этим ресурсам
посредством промежуточных программ-серверов
(proxy),
которые
позволяют передавать информацию между
различными информационными службами
без потерь. Протокол реализует принцип
«запрос/ответ». Запрашивающая программа-
клиент инициирует взаимодействие с
отвечающей программой-сервером, и
посылает запрос, включающий в себя
метод доступа, адрес URI,
версию
протокола, сообщение с модификаторами
типа передаваемой информации, информацию
клиента, и содержимое сообщения
клиента. Сервер отвечает строкой
состояния, включающей версию протокола
и код возврата, за которой следует
сообщение. Данное сообщение содержит
информацию сервера, метаинформацию и
содержимое сообщения. Понятно, что в
принципе, одна и та же программа
может выступать и в роли сервера и в
роли клиента (так собственно и происходит
при использовании proxy-серверов).
Система
WWW
(World
Wide
Web,
переводится
как «мировая паутина»), разработана в
крупнейшем Европейском центре ядерных
исследований, расположенном в Женеве,
Швейцария. При разработке WWW
была
поставлена цель создания гипертекстовой
системы сетевого взаимодействия,
которая доступным для непрофессионалов
образом может связывать друг с другом
пользователей, компьютеры и данные.
Отличительной чертой WWW
является
ориентация на практически произвольные
сетевые протоколы и на работу с
документами неограниченной сложности
и произвольной природы. Информация
большой компании, которая обычно
рассредоточена по всему миру, может
быть опутана «паутиной» WWW
так,
что географически разделённые
пользователи без особых усилий получают
её, не покидая своих рабочих мест. Цель
эта была достигнута, и сейчас WWW
интенсивно
используется для информационного
обмена. WWW
работает
по технологии «клиент/серверы».
Информация
в WWW
состоит
из страниц (документов). Страницы могут
содержать графику, сопровождаться
анимацией и звуком, воспроизводимыми
непосредственно в процессе поступления
информации на экран пользователя.
Посредством WWW
можно
смотреть видеофильмы, слушать музыку,
играть в компьютерные игры, обращаться
к разнообразным информационным
источникам. Информация в этой системе
организована в форме гипертекста.
Распределённая
информационная гипертекстовая система
WWW
включает
технологии:
язык
гипертекстовой разметки документов
HTML
(HyperText
Markup
Language);
универсальный
способ адресации ресурсов в сети URL
(Universal
Resource
Locator);
протокол
обмена гипертекстовой информацией
HTTP
(HyperText
Transfer
Protocol);
универсальный
интерфейс шлюзов CGI
(Common
Gateway
Interface).
Спецификация
CGI
(Common
Gateway
Interface)
— составляющая
технологии WWW
— это
стандарт интерфейса (связи) внешней
прикладной программы с информационным
сервером типа HTTP,
Web
сервер.
Обычно гипертекстовые документы,
извлекаемые из WWW
серверов,
содержат статические данные. С помощью
CGI
можно
создавать CGI-
программы, называемые шлюзами,
которые во взаимодействии с такими
прикладными системами, как система
управления базой данных, электронная
таблица, деловая графика и др., смогут
выдать на экран пользователя динамическую
информацию. CGI
была
специально разработана для расширения
возможностей WWW
за
счёт подключения всевозможного
внешнего программного обеспечения.
Такой подход логично продолжал принцип
публичности и простоты разработки и
наращивания возможностей WWW.
При
реализации CGI
очень
важное место заняли методы доступа,
описанные в HTTP.
На
стандартах коммуникации и доступа
информации основываются другие
стандарты, такие как протокол электронной
почты SMTP
(Simple
Mail
Transfer
Protocol).
SMTP
даёт
возможность подключенным к Internet
пользователям
и хост-узлам обмениваться электронной
почтой. Благодаря этому и другим
стандартам можно передавать электронную
почту из одного места в другое, причём
не только сообщения, но и программы,
графику, звук, видео и другие типы
данных.
Стандарт
MIME
(Multipurpose
Internet
Mail
Extensions,
расширение
почты Internet
для
различных целей) был разработан для
того, чтобы обеспечить в Internet
передачу
данных, которые, кроме текста (в
формате ASCII),
поддерживают
графику, аудио- и видеофайлы. Базовый
протокол передачи электронной почты
в
Интернете,
SMTP,
допускает
только 7-битные сообщения в кодировке
ASCII.
Это
ограничивает электронную почту в
Интернете сообщениями, которые при
передаче
содержат только символы, достаточные,
чтобы писать на небольшом числе
языков, в основном на
английском. Другие языки, основанные
на
латинском алфавите,
часто включают
диакритические знаки, не поддерживаемые
в 7-битном ASCII,
а
значит, текст на этих языках нельзя
корректно отображать в стандартной
электронной почте. MIME
определяет
механизмы для отправки разного рода
информации с помощью электрон
1-й байт |
2-й байт |
3-й байт |
4-й байт |
0 + Адрес сети (7 бит) |
Адрес узла (24 бит) |
||
1 |
X |
X |
X |
127 |
X |
X |
X |
Таким
образом, сетей данного класса всего
может быть 127 (на самом деле их меньше
за счёт особо используемых адресов),
однако, количество узлов в каждой из
таких сетей может быть очень большим,
поскольку на их адресацию отводится
24 двоичных разряда (16 777 216 различных
кодов).
Для
сетей класса B
(см.
таблицу 2) на адресацию собственно сетей
используется два байта с фиксированными
двумя первыми битами так, чтобы адреса
этого класса не перекрывали адреса
сети класса A.
1-й байт |
2-й байт |
3-й байт |
4-й байт |
10 + Адрес сети (14 бит) |
Адрес узла (16 бит) |
||
128 |
0 |
X |
Х |
191 |
255 |
X |
X |
Для
сетей класса C
(см.
таблицу 3) на адресацию собственно
сети используется три байта с
фиксированными тремя первыми битами,
чтобы адреса этого класса не перекрывали
адреса сетей класса A
и
B. Таблица
7.4 - Сети класса С |
2-й байт |
3-й байт |
4-йбайт |
|
110 + Адрес сети (21 бит) |
Адрес узла (8 бит) |
|||
192 |
0 |
0 |
X |
|
223 |
255 |
255 |
X |
Сетей
класса C
достаточно
много, поскольку на их адресацию
выделен 21 двоичный разряд (2 097 152
различных кода), однако на адресацию
узлов при этом остаётся всего 8 двоичных
разрядов (256 различных кодов, но
фактически адресов не более 254,
поскольку коды нулевой и единичный
не используются).
Т
аким образом, в рамках стандарта IP
различается
несколько подвидов интрасетей,
определяемых значением первого
октета. Это значение характеризует
максимально возможное количество
подсетей и узлов, которые может
включать такая сеть. В таблице 4
приведено соответствие классов сетей
значению первого октета IP-адреса. Таблица
4 - Соответствие классов сетей значению
первого октета IP-адреса сети |
Диапазон значений первого октета |
Возможное количество подсетей |
Возможное количество узлов |
A |
1-126 |
126 |
16777214 |
B |
128-129 |
16382 |
65534 |
C |
192-223 |
2097150 |
254 |
D |
224-239 |
— |
2-28 |
E |
240-247 |
— |
2-27 |
Адреса
класса A
используются
в крупных сетях общего пользования,
поскольку позволяют создавать
системы с большим количеством узлов.
Адреса класса B
применяют
в корпоративных сетях средних размеров,
адреса класса C
—
в локальных сетях небольших предприятий.
Для обращения к группам машин предназначены
адреса класса D.
Значение
первого октета 127 зарезервировано для
служебных целей, в основном для
тестирования сетевого оборудования,
поскольку IP-пакеты,
направленные на такой адрес, не
передаются в сеть, а ретранслируются
обратно управляющей надстройке сетевого
программного обеспечения, как только
что принятые. Кроме того, существует
набор «выделенных» IP-
адресов, имеющих особое значение. Эти
адреса приведены в таблице 5.
IP-адрес |
Значение |
0.0.0.0 |
данный хост |
Номер сети 0.0.0 |
данная IP-сеть |
0.0.0. номер хоста |
конкретный компьютер в данной локальной сети |
1.1.1.1 |
все компьютеры в данной локальной сети |
Номер сети 1.1.1 |
все компьютеры в указанной IP-сети |
127.0.0.1 |
локальный кольцевой драйвер (Local-host) |
192.168.0.Х |
адреса для внутренних целей сети Internet и т.д. |
Числовой
адрес компьютера в Internet
аналогичен
почтовому индексу отделения связи.
Первые цифры индекса говорят о регионе,
последние две цифры — номер почтового
отделения в городе, области или
районе. Промежуточные цифры могут
относиться как к региону, так и к
отделению, в зависимости от территориального
деления и вида населенного пункта.
Аналогично существует несколько типов
адресов Internet
(типы:
A,
B,
C,
D),
которые
по разному делят адрес на поля номера
сети и номера узла, от типа такого
деления зависит количество возможных
различных сетей и машин в таких сетях.
Последний
(правый) идентификатор IP-адреса
обозначает номер хоста в данной
локальной компьютерной сети. Всё,
что расположено между правым и левым
октетами в такой записи, — номера
подсетей более низкого уровня. Например,
на IP-адрес
196.75.100.11 в Internet
отправляется
сообщение, которое направляется в 196-ю
подсеть сети Internet.
Подсеть
196, как видно из значения первого октета,
относится к классу C.
Допустим,
196-я сеть включает в себя ещё 10001 подсетей,
но рассматриваемое сообщение
высылается в 75-ю подсеть сети 196. Пусть
сеть 75, в свою очередь содержит 255 более
мелких подсетей, но сообщение будет
направлено в 100-ю подсеть. Ну и, наконец,
к 102-й сети подключено 50 компьютеров.
Исходя из рассматриваемого IP-адреса,
сообщение получит машина, имеющая
в этой сетевой системе номер 11.
Поскольку
количество сетей постоянно увеличивается,
то возможностей 32разрядной адресации
уже недостаточно. Поэтому в качестве
дополнительной меры ввели маску подсети
— 32-разрядный код, добавляемый к адресу:
Х.Х.Х.Х, и начали разработку нового
протокола IPNG
(Internet
Protocol
Next
Generation),
предполагающий
переход на 128-разрядный адрес.