Интернет – единая глобальная сеть, соединяющая между собой огромное количество сетей по всему миру (от англ. InterNet - "межсеть", "сеть сетей"). Интернет возник в 60-е годы в США в результате экспериментов по созданию жизнеспособной сети, которую нельзя было бы вывести из строя, уничтожив один или несколько командных пунктов с центральными компьютерами.
Интернет – децентрализованная сеть, не имеющая собственника или органа управления (хотя у каждой входящей в нее сети есть собственник и системный администратор), функционирующая и развивающаяся путем добровольного (в том числе коммерческого) сотрудничества различных организаций и пользователей на основе общих соглашений и стандартов (протоколов). Зарегистрированные и пронумерованные стандарты, протоколы, спецификации Интернета образуют систему электронных документов RFC (Request For Comments – запрос для пояснений).
Организации обеспечивающие подключение и предоставление услуг Интернета – провайдеры (англ. Internet Service Providers, поставщики услуг Интернет) связаны высокоскоростными магистральными каналами (кабельными, волоконно-оптическими, спутниковыми, радиорелейными). Отдельный компьютер или локальная сеть могут подключаться к провайдеру по выделенной линии (постоянное соединение) или по коммутируемой линии (временное подключение через модем и обычную телефонную сеть). Первый способ более дорог, но обеспечивает более высокую скорость передачи данных.
Сигнал модема может передаваться:
· по обычному телефонному каналу – коммутируемой линии ;
· по выделенной телефонной линии ;
· на базе технологии ADSL (англ. Asymmetric Digital Subscriber Line – асимметричная цифровая абонентская линия) по обычному телефонному каналу, не занимая его и позволяя независимо и одновременно вести телефонные переговоры.
Скорость передачи данных через коммутируемую телефонную линию – около 30 Кбит/сек для аналоговых телефонных линий и 60–120 Кбит/сек для цифровых. Для выделенных телефонных линий скорость передачи до 2 Мбит/сек, для волоконно-оптических и спутниковых линий связи – сотни Мбит/сек.
Постоянные соединения, в зависимости от используемого сетевого оборудования и вида кабельного канала, обеспечивают скорости передачи данных до 20-40 Мбит/сек и выше.
Работа Интернета основана на базовом протоколе TCP/IP , внедренном в 1983 г. На самом деле TCP/IP представляет из себя набор протоколов и состоит из нескольких основных уровней. Так, транспортный протокол TCP (Transmission Control Protocol – протокол управления передачей) обеспечивает разбиение данных на небольшие пакеты (сегменты ) перед отправкой и сборку после доставки, а протокол маршрутизации IP (Internet Protocol – межсетевой протокол) отвечает за выбор маршрутов по различным узлам и сетям между отправителем и получателем (возможно, различных для разных пакетов из одного сообщения). Пакеты данных, подготовленные по этому протоколу, называют дейтаграммами IP (или IP-пакетами ). Они включают сегменты, подготовленные по протоколу TCP, к которым добавлены адреса отправителя и получателя.
Эти протоколы выполняют и другие задачи, например, протокол TCP включает функции не только транспортного, но и сеансового уровня, не укладываясь полностью в разделение по уровням модели OSI, так как были разработаны до ее появления.
Каждая из информационных служб (информационных сервисов) Интернета решает свои задачи, используя свои прикладные протоколы , опирающиеся на базовые протоколы TCP/IP. Наиболее известные из них:
· "Всемирная паутина" www (от англ. World Wide Web) дает возможность перемещения в информационном пространстве документов, книг, новостей, фотографий, рисунков, учебных курсов, справочных материалов и т.д.; в настоящее время WWW, фактически, претендует на роль основного носителя "коллективной памяти" человечества. Служба www использует протокол http и подробнее рассмотрена далее.
· Электронная почта или E-Mail (от англ. Electronic mail) позволяет обмениваться по сети электронными письмами, к которым могут прилагаться дополнительные файлы. С помощью службы E-mail можно также передавать сообщения на сотовый телефон, коммуникатор, факс, пейджер. Для отправки корреспонденции используется протокол SMTP (англ. Simple Mail Transfer Protocol – простой протокол передачи почты), для получения ее из своего почтового ящика на почтовом сервере – протокол POP (англ. Post Office Protocol – протокол почтового отделения). Протокол IMAP (Internet Message Access Protocol – протокол доступа к сообщениям Интернета) позволяет хранить почту в своем почтовом ящике на почтовом сервере. Для вложения в письмо произвольных файлов применяется стандарт MIME (Multipurpose Internet Mail Extension – многоцелевое расширение почты Интернета). Правила формирования адресов электронной почты рассматриваются далее. Для работы с электронной почтой используются почтовые программы Outlook Express (входит в Microsoft Internet Explorer), Microsoft Outlook (входит в Microsoft Office), Netscape Messenger (входила в браузер Netscape Communicator), The Bat! и другие клиенты E-mail .
· Служба передачи файлов между удаленными компьютерами используется для передачи крупных файлов (архивов, книг и т.п.) по протоколу FTP (англ. File Transfer Protocol – протокол передачи файлов). Для работы с FTP нужен FTP-клиент , который может быть встроен в интернет-обозреватель, файловый менеджер или поставляться отдельным приложением. FTP-клиенты отличаются между собой возможностью использования многопоточности (скачивания частей файлов в нескольких параллельных процессах), поддержкой "докачки" файла после обрыва связи, ограничениями на максимальный поддерживаемый размер файла.
· Служба телеконференций (новостей, новостных групп) UseNet News (Newsgroups) обеспечивает просмотр материалов по выбранной тематике, присылаемых на сервер телеконференции самими пользователями. Используются также списки рассылки , формируемые с участием администратора (модератора ) конференции и рассылаемые подписавшимся абонентам.
· До повсеместного распространения Интернета функции телеконференций во многом выполняли электронные доски объявлений BBS (англ. Bulletin Board System – система электронных бюллетеней), наиболее известной системой которых является сеть FidoNet. Подключение к BBS осуществляется по малым компьютерным сетям с одним сервером с помощью модемов через телефонные линии.
· Служба интерактивного общения IRC (Internet Relay Chat – дословно, Интернет–трансляция болтовни), которую часто называют чат-конференциями или просто чатом , поддерживает коллективный разговор, участники которого набирают свои реплики на клавиатуре и видят сказанное другими на мониторе.
· Система интернет-пейджинга ICQ (от англ. "I seek you" – я ищу тебя, "аська" на жаргоне отечественных интернет-пользователей) дает возможность обмениваться сообщениями и файлами в режиме реального времени. Эта система обеспечивает поиск сетевого адреса абонента (постоянного или временного), если он в данный момент подключен к сети, по его персональному идентификационному номеру UIN (англ. Universal Internet Number), получаемому при регистрации на центральном сервере данной службы.
· Служба Telnet служит для удаленного управления (по протоколу Telnet ) через Интернет другими компьютерами и установленными на них программами, например, подключенными к аппаратуре для проведения экспериментов или выполняющими сложные математические расчеты.
· Важными направлениями использования Интернета являются Интернет-телефония (IP-телефония) – передача телефонных разговоров и факсов по Интернету в кодировке, соответствующей протоколу IP, трансляция по Интернету радио- и телевизионных передач, беспроводное подключение к Интернету с мобильных телефонов: непосредственно по протоколу WAP (Wireless Application Protocol – протокол беспроводных приложений), или через компьютер по протоколу GPRS (General Packet Radio Service).
· Шифрование передаваемой по Интернету информации обеспечивается протоколом SSL (Secured Socket Layer).
Каждый компьютер, подключенный к Интернет, получает уникальный (неповторяющийся) IP-адрес (то есть адрес, соответствующий протоколу IP). При постоянном подключении этот адрес закреплен за ним, при временном – выделяется временный (динамический) адрес на сеанс. При этом компьютер, который постоянно подключен к сети и через который подключаются временные пользователи, называют хост-компьютером (от англ. host – хозяин).
Физический IP-адрес представляет собой 32-битное (4-х байтовое) двоичное число, которое принято записывать, переводя каждый байт в десятичное число, и разделяя их точками. Это число кодирует сеть, через которую компьютер входит в Интернет, и номер компьютера в сети. В зависимости от допустимого числа компьютеров сети разделяются на три класса (табл. 3).
Таблица 3. Классы сетей A, B, C
Например, адрес 197.98.140.101 соответствует номеру узла 0.0.0.101 в сети 197.98.140.0 класса C.
Чтобы отделить адрес сети от адреса хоста, используется маска подсети , также представляющая собой 32-битное число. По умолчанию сетям класса A соответствует маска 255.0.0.0, класса B – 255.255.0.0, а сетям класса C – 255.255.255.0, то есть, в двоичном представлении маски, позиции, соответствующие адресу сети, закрыты единицами. Маска подсети может использоваться и для других целей, например, для логического разделения локальных сетей на подсети меньшего масштаба.
Несколько IP-адресов зарезервировано для специальных целей, например, адрес 127.0.0.1обеспечивает обращение пользователя к себе самому (используется для тестирования программ и отладки Web-приложений на локальном сервере). Номер сети с номером компьютера, равным 0, обозначает всю эту сеть, а с максимально возможным номером (255 для сети C) – используется для широковещательного сообщения , отправляемого всем компьютерам сети.
Пользователям удобнее работать не с физическими адресами, а с доменными именами сетей и компьютеров в Интернет. Такое имя состоит из разделенных точками символьных обозначений доменов (от лат. dominium – владение.) – фрагментов сети. Справа налево указываются самый обширный, старший домен (первый или верхний уровень), затем более младшие, вложенные один в другой домены, и так далее до самого левого домена, соответствующего конечному узлу сети. В начале доменного имени перед именем сервера может указываться служба Интернета, в которой работает данный узел сети (например, www. – "всемирная паутина" или ftp. – служба пересылки файлов). Часто домены третьего и ниже уровней называют субдоменами или поддоменами .
Домены верхнего уровня обозначают чаще всего двумя (страна) или тремя (тип организации) буквами. Некоторые из них приведены в табл. 4.
Например, microsoft.com – доменный адрес компании Microsoft в домене коммерческих серверов, а домен cit.sibstrin.ru может означать адрес субдомена локальной сети центра информационных технологий cit, являющейся поддоменом сети НГАСУ (Сибстрин) в домене русскоязычных серверов ru.
Однозначное соответствие между физическими и доменными именами обеспечивается специальной системой доменных имен Интернета – DNS (англ. Domain Name System), состоящей из компьютеров, которые называют DNS-серверами (у каждого домена есть обслуживающий его DNS-сервер). Пользователь имеет дело с доменными именами, а передача данных между компьютерами осуществляется по физическим адресам, автоматически определяемым путем обращения к соответствующим DNS-серверам.
Таблица 4. Некоторые домены верхнего уровня
На вершине иерархии DNS-серверов стоят серверы корневой зоны с именами a.root_servers.net, b.root_servers.net и т.д., дублирующие информацию друг друга. Локальный сервер, получив от машины-клиента запрос на соединение с некоторым адресом, передает его локальному DNS-серверу, который выделит из запроса доменное имя и либо найдет соответствующий IP у себя в базе данных, либо обратится к одному из серверов корневой зоны. Последний вернет указатель на DNS-сервер известного ему домена, в который входит запрошенный адрес, и полностью устранится из процесса. Такие вложенные запросы могут повторяться, причем каждый раз локальный DNS-сервер будет обращаться к серверу имен все более низкого уровня. Только после окончания этого многоступенчатого процесса DNS-сервер вернет преобразованный адрес компьютеру, сделавшему запрос, и пользователь сможет, наконец, увидеть на своем мониторе, что же за информация расположена по введенному им адресу.
Доменные имена и физические IP-адреса распределяются международным координационным центром доменных имен и IP-адресов (ICANN), в который входят по 5 представителей от каждого континента (адрес в Интернет www.icann.org).
Для доступа к файлу (программе, документу) в Интернете нужно указать URL-адрес (англ. Uniform Resource Locator – унифицированный указатель ресурсов), состоящий из:
· названия протокола, используемого для доступа к файлу и отделенного от последующей части двоеточием и двумя косыми чертами;
· доменного имени компьютера, отделяемого от последующего содержимого косой чертой;
· полного имени файла на компьютере (без указания логического диска), включающего (возможно) путь доступа (перечень вложенных каталогов), собственно имя и расширение файла.
В URL-адресе могут использоваться только латинские буквы (строчные и прописные буквы считаются различными) без пробелов. Путь и имя файла могут отсутствовать, что соответствует обращению к самому компьютеру (серверу).
Например, URL-адрес вида http://www.students.informatika.ru/library/txt/klassika.htm означает, что файл klassika с расширением htm расположен в подкаталоге txt каталога library на сервере students домена informatika.ru. Этот сервер относится к службе www, а для доступа к файлу используется протокол http.
Адрес ftp://ftp.netscape.com/books/history.doc используется при получении файла history.doc, расположенного на сервере netscape коммерческого домена Интернета с использованием протокола передачи файлов ftp (службы ftp).
Весьма часто Вам встретятся URL, не содержащие имени html-файла, тем не менее, при вводе такого URL, мы все же попадаем на конкретную Web-страницу. Это означает, что документ имеет имя по умолчанию, которое может назначаться при администрировании сервера. Чаще всего это имя index.html, так что URL http://www.host.ru может означать совершенно то же самое, что http://www.host.ru/index.html. Префикс протокола http://, используемого по умолчанию, при записи полного URL также обычно опускают.
Для работы с электронной почтой необходимо зарегистрировать на одном из почтовых серверов Интернета свой почтовый ящик , которому присваивается адрес электронной почты . Такой адрес состоит из доменного имени сервера и записанного перед ним логина (имени почтового ящика, его выбирает пользователь при регистрации). Две эти части адреса разделяются символом @ (читается "эт", в России часто используют жаргонное выражение "собака").
Например, [email protected] – почтовый ящик абонента, выбравшего имя director на сервере contora.ru.
Как указано выше, ведущей и наиболее широко используемой на сегодняшний день службой Интернета является "Всемирная паутина" World Wide Web (www), которая охватила большой объем информационных ресурсов. В этой системе легко найти новости, справочные и нормативные материалы, книги, статьи, рефераты, программное обеспечение, мнения и советы экспертов практически по любой теме. Также в www содержится огромное количество мультимедийного контента , такого как графика и анимация, видео- и аудиозаписи, онлайн-игры и т.д.
Служба www основана на представлении документов в виде гипертекста – текста, позволяющего не только последовательное прочтение. Суть дела состоит в том, что элементы гипертекста, такие как фразы, отдельные слова, рисунки могут отсылать к другим фрагментам этого же текста или другим документам, расположенным, возможно, в другом компьютере на другом сервере. Физическое местоположение адресуемого ссылкой сервера не имеет при этом значения. Ссылки (гиперссылки, гиперсвязи ) обычно помечаются особым цветом и шрифтом, а переход по ним выполняется автоматически после щелчка мышью по метке. Таким образом, разнообразная информация оказывается связанной между собой переплетающейся паутиной ссылок, а введенные в систему коллективные знания человечества в определенной мере уподобляются индивидуальной памяти, сплетаемой в одно целое ассоциациями и смысловыми связями.
Концепция www на основе гипертекстов была разработана в 1989 г. английским ученым Тимоти Бернерс-Ли для Европейской Лаборатории Физики элементарных частиц, базирующейся в Швейцарии и объединяющей физиков из различных стран мира. Сама концепция гипертекста была предложена американским ученым Теодором Хольмом Нельсоном в 1965 г.
Документ, представленный в WWW называют Web-страницей , а компьютер, на котором расположены такие документы – Web-сервером . Web-страницы создаются с помощью языка разметки гипертекстов HTML (англ. HyperText Markup Language) или более мощного языка XML (англ. eX tensible M arkup L anguage – расширенный язык разметки), есть и другие форматы разметки.
Как правило, формат разметки позволяет определить гиперссылки и организацию текста, включая в него управляющие символы – теги (от англ. tag – метка, ярлык). Форматирование Web-страницы на мониторе определяется как управляющими разметкой тегами, так и конкретными настройками компьютера. На Web-страницы можно помещать рисунки в одном из трех основных графических форматов Web – gif, jpg(jpeg), png , мультимедийные объекты (flash-анимацию, звуковые и видео–файлы), формы для диалога с пользователем, элементы управления (ActiveX ), запускающие программы. Такие программы чаще всего составляются на языке программирования Java (Ява) , предназначенном для поддержки Web-страниц. Трансляторы с этого языка являются интерпретаторами, что позволяет писать универсальные программы, работающие на разных компьютерах и в разных операционных системах.
Для доступа к Web-страницам используется протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol).
Просмотр Web-страниц и перемещение между ними в информационном пространстве сети по гиперссылкам (навигацию в сети ) обеспечивают специальные программы Web-обозреватели ("навигаторы ", самое частое наименование – браузеры, от англ. browsе – смотреть, пролистывать). Браузеры являются основными программами-клиентами сервиса www. В настоящее время наиболее часто используются браузеры Mozilla Firefox, Opera, Google Chrome (компании Google), Safari, Internet Explorer (компании Microsoft). В недавнем прошлом популярных браузеров было всего два - Internet Explorer и Netscape Navigator (компании Netscape).
Браузеры постоянно развивались со времен зарождения WWW, становясь все более важной программой типичного персонального компьютера. Современный браузер - это комплексное приложение как для обработки и вывода различных составляющих web‑страницы, так и для предоставления интерфейса между web‑сайтом и его посетителями. Практически все популярные браузеры распространяются бесплатно или в комплекте с другими приложениями, например, браузер Internet Explorer входит в состав операционной системы Windows, браузеры Mozilla Firefox и Opera последних версий являются бесплатными программами, браузер Safari распространяется как часть операционной системы Mac OS.
Управление любым современным браузером достаточно стандартизовано. Как минимум, для комфортной работы в обозревателе необходимы следующие инструменты:
· адресная строка (панель адреса, панель навигации, Toolbar) содержит и позволяет ввести URL‑адрес требуемой страницы или путь к локально расположенному документу, а также размещает стандартные кнопки перехода по страницам ("Вперед", "Назад", "Обновить", "Остановить", "Домой"). В некоторых браузерах стандартные кнопки вынесены на отдельную панель инструментов;
· строка состояния (строка статуса ) - нижнее информационное поле окна браузера, содержащее важную дополнительную информацию. Так, в процессе загрузки web‑страницы в строке состояния выводится информация о ее ходе, а при наведении курсора мыши на ссылку в строке состояния показывается соответствующий ссылке адрес URL;
· панель вкладок (иногда панель закладок, Tab bar) - позволяет открывать в текущем окне дополнительные web‑страницы и переключаться между ними. Концепция вкладок позволяет, не отказываясь от возможности открыть ссылку в новом окне браузера, более удобно управлять наборами одновременно открытых web‑страниц.
Указанные панели инструментов обычно включены изначально, а управлять ими можно из меню Вид (View) браузера.
Как правило, если не считать личных предпочтений, чаще всего пользователи Интернета работают с сайтами поисковых систем . Их использование очень просто – поисковые серверы Web выдают подборку всех известных им документов www, содержащих ключевые слова из сделанного пользователем запроса, при этом запрос делается на естественном языке. Самые известные и эффективные в Рунете (русскоязычном сегменте Интернета) поисковые системы – Google, Яндекс и Mail.Ru.
Быстрота поиска информации в таких системах обеспечивается невидимой для пользователя работой специальных программ ("поисковых роботов"), непрерывно сканирующих различные web–сайты и обновляющих списки встречающихся на них терминов (индексы поисковой системы ). Таким образом, реально поиск происходит не по "всем серверам Интернета", что было бы нереализуемо технически, а по базе данных поисковой машины, и отсутствие подходящей информации, найденной по запросу, еще не означает, что ее нет в Сети - можно попробовать воспользоваться другим поисковым средством или каталогом ресурсов. Базы данных поискового сервера пополняются не только автоматически. На любой крупной поисковой машине есть возможность проиндексировать свой сайт и добавить его в базу данных. Преимущество поискового сервера – простота работы с ним, недостаток – низкая степень отбора документов по запросу.
Как поисковыми серверами, так и отдельными разработчиками Web-сайтов формируются также рубрикаторы или каталоги – иерархические структуры тем и понятий, передвигаясь по которым пользователь может найти нужные документы или сайты. Пополнение каталога обычно производится самими пользователями после проверки введенных ими данных администрацией сервера. Каталог ресурсов всегда лучше упорядочен и структурирован, но требуется время для поиска нужной категории, которую, к тому же, не всегда легко определить. Кроме того, объем каталога всегда значительно меньше, чем количество сайтов, проиндексированное поисковой машиной.
Web-сайты также можно классифицировать с точки зрения технологии их разработки. Исторически сложившееся в русском языке словосочетание "язык HTML" не отражает того факта, что HTML и XML не являются языками программирования. Тем не менее, чаще всего современная Web-страница – динамическая , то есть, является результатом работы серверной программы, формирующей страницу в ответ на запрос пользователем того или иного адреса URL (в отличие от статической страницы в разметке HTML, хранящейся на сервере в виде файла с расширением.htm или.html). Основными языками серверного программирования являются PHP, Perl, Python и ряд других. Существуют и клиентские языки Web-программирования, такие как Javascript и VB Script. Программа на таком языке, включенная в текст Web-страницы, выполняется не на сервере, а на компьютере-клиенте, с помощью интерпретатора, включенного в браузер пользователя или отдельно установленного.
Совокупность серверной и клиентской частей ОС, предоставляющих доступ к конкретному типу ресурса компьютера через сеть, называется сетевой службой. В приведенном выше примере клиентская и серверная части ОС, которые совместно обеспечивают доступ через сеть к файловой системе компьютера, образуют файловую службу.
Говорят, что сетевая служба предоставляет пользователям сети некоторый набор услуг. Эти услуги называют также сетевым сервисом (от англоязычного термина «service»). Хотя указанные термины иногда используются как синонимы, следует иметь в виду, что в некоторых случаях различие в значениях этих терминов носит принципиальный характер. Далее в тексте под «службой» мы будем понимать сетевой компонент, который реализует некоторый набор услуг, а под «сервисом» - описание того набора услуг, который предоставляется данной службой. Таким образом, сервис - это интерфейс между потребителем услуг и поставщиком услуг (службой).
Каждая служба связана с определенным типом сетевых ресурсов и/или определенным способом доступа к этим ресурсам. Например, служба печати обеспечивает доступ пользователей сети к разделяемым принтерам сети и предоставляет сервис печати, а почтовая служба предоставляет доступ к информационному ресурсу сети - электронным письмам. Способом доступа к ресурсам отличается, например, служба удаленного доступа - она предоставляет пользователям компьютерной сети доступ ко всем ее ресурсам через коммутируемые телефонные каналы. Для получения удаленного доступа к конкретному ресурсу, например к принтеру, служба удаленного доступа взаимодействует со службой печати. Наиболее важными для пользователей сетевых ОС являются файловая служба и служба печати.
Среди сетевых служб можно выделить такие, которые ориентированы не на простого пользователя, а на администратора. Такие службы используются для организации работы сети. Например, служба Bindery операционной системы Novell NetWare 3.x позволяет администратору вести базу данных о сетевых пользователях компьютера, на котором работает эта ОС. Более прогрессивным является подход с созданием централизованной справочной службы или, по-другому, службы каталогов, которая пред-назначена для ведения базы данных не только обо всех пользователях сети, но и обо всех ее программных и аппаратных компонентах. В качестве примеров службы каталогов часто приводятся NDS компании Novell. Другими примерами сетевых служб, предоставляющих сервис администратору, являются служба мониторинга сети, позволяющая захватывать и анализировать сетевой трафик, служба безопасности, в функции которой может входить, в частности, выполнение процедуры логического входа с проверкой пароля, служба резервного копирования и архивирования.
От того, насколько богатый набор услуг операционная система предлагает конечным пользователям, приложениям и администраторам сети, зависит ее позиция в общем ряду сетевых ОС.
Сетевые службы по своей природе являются клиент-серверными системами. Поскольку при реализации любого сетевого сервиса естественно возникают источник запросов (клиент) и исполнитель запросов (сервер), то и любая сетевая служба содержит в своем составе две несимметричные части - клиентскую и серверную. Сетевая служба может быть представлена в операционной системе либо обеими (клиентской и серверной) частями, либо только одной из них.
Обычно говорят, что сервер предоставляет свои ресурсы клиенту, а клиент ими пользуется. Необходимо отметить, что при предоставлении сетевой службой некоторой услуги используются ресурсы не только сервера, но и клиента. Клиент может затрачивать значительную часть своих ресурсов (дискового пространства, процессорного времени и т.п.) на поддержание работы сетевой службы. Принципиальной разницей между клиентом и сервером является то, что инициатором выполнения работы сетевой службой всегда выступает клиент, а сервер всегда находится в режиме пассивного ожидания запросов. Например, почтовый сервер осуществляет до-ставку почты на компьютер пользователя только при поступлении запроса от почтового клиента.
Обычно взаимодействие между клиентской и серверной частями стандартизуется, так что один тип сервера может быть рассчитан на работу с клиентами разного типа, реализованными различными способами и даже разными производителями. Единственное условие для этого - клиенты и сервер должны поддерживать общий стандартный протокол взаимо-действия.
Они делятся на интерактивные, прямые и отложенного чтения. Сервисы, относящиеся к классу отложенного чтения (off-line), наиболее распространены, наиболее универсальны и наименее требовательны к ресурсам компьютеров и линиям связи. Основным признаком этой группы является та особенность, что запрос и получение информации могут быть достаточно сильно разделены по времени (E-mail). Сервисы прямого обращения характерны тем, что информация по запросу возвращается немедленно. Однако от получателя информации не требуется немедленной реакции (ftp). Сервисы, где требуется немедленная реакция на полученную информацию, т.е. получаемая информация является, по сути дела, запросом, относятся к интерактивным (on-line) сервисам (www).
Электронная почта (e-mail) – первый из сервисов Internet, наиболее распространенный и эффективный из них. Это типичный сервис отложенного чтения. E-mail (E lectronic mail ) – электронный аналог обычной почты. Обычное письмо состоит из конверта, на котором написан адрес получателя и стоят штампы почтовых отделений пути следования, и содержимого – собственно письма. Электронное письмо также состоит из заголовков, содержащих служебную информацию (об авторе письма, получателе, пути прохождения по сети и т.д.), играющих роль конверта, и собственно содержимого письма. С помощью электронной почты можно посылать и получать сообщения, рассылать копии письма одновременно нескольким получателям, переправлять полученное письмо по другому адресу, включать в письмо файлы, и т.д.
Сетевые новости Usenet, или, как их принято называть в российских сетях, телеконференции – это, пожалуй, второй по распространенности сервис Internet. Если электронная почта передает сообщения по принципу "от одного – одному", то сетевые новости передают сообщения "от одного – многим". Механизм передачи каждого сообщения похож на передачу слухов: каждый узел сети, узнавший что-то новое (т.е. получивший новое сообщение), передает новость всем знакомым узлам, т.е. всем тем узлам, с кем он обменивается новостями. Таким образом, один раз посланное сообщение распространяется, многократно дублируясь, по сети, достигая за довольно короткие сроки всех участников телеконференций Usenet во всем мире. При этом в обсуждении может участвовать множество людей, независимо от того, где они находятся физически. Число пользователей Usenet весьма велико – по оценкам UUNET technologies, количество новых сообщений, поступающих в телеконференции ежедневно, составляет около миллиона.
Еще один простой, но в то же время весьма полезный сервис Internet – списки рассылки (maillists). Это практически единственный сервис, не имеющий собственного протокола и программы-клиента и работающий исключительно через электронную почту. Идея работы списка рассылки состоит в том, что существует некий адрес электронной почты, который на самом деле является общим адресом многих людей – подписчиков этого списка рассылки. Письмо, посылаемое на этот адрес, получают все люди, подписанные на этот список рассылки. Причины использования списков рассылки: Во-первых, сообщения, распространяемые по электронной почте, всегда будут прочитаны подписчиком, дождавшись его в почтовом ящике, в то время как статьи в сетевых новостях стираются по прошествии определенного времени и становятся недоступны. Во-вторых, списки рассылки более управляемы и конфиденциальны: администратор списка полностью контролирует набор подписчиков и может следить за содержанием сообщений. Каждый список рассылки ведется какой-либо организацией, и она обладает полным контролем над списком, в отличие от новостей Usenet, не принадлежащих никому и менее управляемых. В-третьих, для работы со списком рассылки достаточно доступа к электронной почте, и подписчиками могут быть люди, не имеющие доступа к новостям Usenet или каким-либо группам этих новостей. В-четвертых, такой способ передачи сообщений может быть просто быстрее, коль скоро сообщения передаются напрямую абонентам, а не по цепочке между серверами Usenet.
File Transfer Protocol (ftp) – удаленный доступ к файлам, протокол, определяющий правила передачи файлов с одного компьютера на другой. Для работы с ftp нужно иметь право входа на ту удаленную машину, с которой вы хотите перекачать себе файлы, т.е. иметь входное имя и знать соответствующий пароль. Несмотря на его распространенность, у ftp есть и множество недостатков. Программы-клиенты ftp могут быть не всегда удобны и просты в использовании. Не всегда можно понять, что именно за файл находится перед вами. Нет простого и универсального средства поиска на серверах anonymous ftp (это означает, что соединение с сервером ftp может проходить не под своим именем). Программы ftp довольно стары и некоторые их особенности, бывшие полезными при рождении, не очень понятны и нужны сегодня. Серверы ftp нецентрализованны, и это несет свои проблемы.
Пожалуй самым "сетевым" сервисом Internet является удаленный доступ (Remote Login, telnet ) – это работа на удаленном компьютере в режиме эмуляции терминала необходимого сетевого узла, т.е. выполнение всех (или почти всех) действий, которые можно с обычного терминала telnet-сервера. Трафик, относящийся к этому виду работы в сети, в среднем составляет около 19% всего сетевого трафика. Telnet – протокол эмуляции терминала, который обеспечивает поддержку удаленного доступа в Internet. Для использования этого сервиса необходимо иметь доступ в Internet класса не ниже dial-up доступа.
WAIS (произносится как вэйс) – еще один сервис Internet, который расшифровывается как информационная система широкого профиля, но на самом деле это комплекс программ, предназначенных для индексирования больших объемов неструктурированной, как правило просто текстовой, информации, поиска по таким документам и их извлечения. Существуют программы для индексирования, для локального поиска по полученным индексам, а также серверная и клиентская программа, общающиеся между собой по специальному протоколу.
Gopher – это распределенная система экспорта структурированной информации. При работе с ней вы находитесь в системе вложенных меню, из которых доступны файлы различных типов – как правило, простые тексты, но это может быть и графика, и звук и любые другие виды файлов. Таким образом, в публичный доступ экспортируются файлы с информацией, но не в виде файловой системы, как в ftp, а в виде аннотированной древовидной структуры. Gopher – сервис прямого доступа и требует, чтобы и сервер, и клиент были полноценно подключены к Internet.
Оболочка Gopher – это один из интеграторов возможностей Internet. В ней являются доступными и сеансы telnet, и ftp, и e-mail и т.д. В эту оболочку также включены интерфейсы с такими серверами, с которыми невозможно ручное общение из-за их машинно-ориентированного протокола.
Другой возможностью интеграции сетевых служб Internet является "Всемирная паутина" (World Wide Web, сокращенно WWW ).В настоящее время WWW получила наиболее широкое распространение. Основной единицей представления сетевой информации в WWW является так называемый гипертекстовый документ.
трафик (traffic): перемещение, поток данных в передающей среде, объем потока данных в локальной или глобальной сети.
Universal Resource Identification (URI) это универсальная форма адресации информационных ресурсов, представляет собой довольно стройную систему, учитывающую опыт адресации и идентификации e-mail, Gopher, WAIS, telnet, ftp и т.п. Но реально, из всего, что описано в URI, для организации баз данных в WWW требуется только Universal Resource Locator (URL). Без наличия этой спецификации вся мощь HTML оказалась бы бесполезной. URL используется в гипертекстовых ссылках и обеспечивает доступ к распределенным ресурсам сети. В URL можно адресовать как другие гипертекстовые документы формата HTML, так и ресурсы e-mail, telnet, ftp, Gopher. Использование URL налагает на адресацию ресурсов два ограничения: первым и самым важным является то, что в URL не должно быть пробелов, второе ограничение состоит в том, что URL различают прописные и строчные буквы, причем даже в тех системах, где они обычно не различаются.
Сетевой протокол обеспечивает связь локальных компьютеров с удаленными серверами.
Common Gateway Interface – предназначена для расширения возможностей WWW за счет подключения внешнего программного обеспечения. Он позволил продолжить принцип публичности, простоты разработки. Предложенный и описанный в CGI способ подключения не требовал дополнительных библиотеки был очень прост.. Сервер взаимодействовал с программами через стандартные потоки ввода/вывода, что упрощало программирование. Главное назначение Common Gateway Interface – обеспечение единообразного потока данных между сервером и прикладной программой, которая запускается из-под сервера. CGI определяет протокол обмена данными между сервером и программой.
Понятие CGI-шлюза. Отличие от обычной CGI-программы.
Прикладное программное обеспечение, работающее с сервером, разделяется на обычные CGI-программы и шлюзы. Обычная CGI-программа запускается сервером НТТР для выполнения некоторой работы, возвращает результаты серверу и завершает свое выполнение. Шлюз выполняется точно также, как и обычная CGI-программа, только фактически он инициирует взаимодействие в качестве клиента с третьей программой.
Hot Java позволяет использовать программы, написанные на Java и встроенные в WWW-документ. Эти программы называются апплетами (applet).
Основные сервисы Интернет
Постоянное развитие информационных технологий приводит к появлению разнообразных информационных ресурсов, отличающихся друг от друга формами представления и методами обработки составляющих их информационных объектов. Поэтому в настоящее время в Интернет существует достаточно большое количество сервисов, обеспечивающих работу со всем спектром ресурсов. Наиболее известными среди них являются:
электронная почта (E-mail), обеспечивающая возможность обмена сообщениями одного человека с одним или несколькими абонентами;
телеконференции, или группы новостей (Usenet), обеспечивающие возможность коллективного обмена сообщениями;
сервис FTP – система файловых архивов, обеспечивающая хранение и пересылку файлов различных типов;
сервис Telnet, предназначенный для управления удаленными компьютерами в терминальном режиме;
World Wide Web (WWW, W3) – гипертекстовая (гипермедиа) система, предназначенная для интеграции различных сетевых ресурсов в единое информационное пространство;
сервис DNS, или система доменных имен, обеспечивающий возможность использования для адресации узлов сети мнемонических имен вместо числовых адресов;
сервис IRC, предназначенный для поддержки текстового общения в реальном времени (chat);
Перечисленные выше сервисы относятся к стандартным. Это означает, что принципы построения клиентского и серверного программного обеспечения, а также протоколы взаимодействия сформулированы в виде международных стандартов. Следовательно, разработчики программного обеспечения при практической реализации обязаны выдерживать общие технические требования.
Наряду со стандартными сервисами существуют и нестандартные, представляющие собой оригинальную разработку той или иной компании. В качестве примера можно привести различные системы типа Instant Messenger (своеобразные Интернет-пейджеры – ICQ, AOl, Demos on-line и т.п.), системы Интернет-телефонии, трансляции радио и видео и т.д. Важной особенностью таких систем является отсутствие международных стандартов, что может привести к возникновению технических конфликтов с другими подобными сервисами.
Стандартные порты транспортных протоколов для сервисов
Для стандартных сервисов также стандартизируется и интерфейс взаимодействия с протоколами транспортного уровня. В частности, за каждым программным сервером резервируются стандартные номера TCP- и UDP-портов, которые остаются неизменными независимо от особенностей той или иной фирменной реализации как компонентов сервиса, так и транспортных протоколов. Номера портов клиентского программного обеспечения так жестко не регламентируются. Это объясняется следующими факторами:
во-первых, на пользовательском узле может функционировать несколько копий клиентской программы, и каждая из них должна однозначно идентифицироваться транспортным протоколом, т.е. за каждой копией должен быть закреплен свой уникальный номер порта;
во-вторых, клиенту важна регламентация портов сервера, чтобы знать, куда направлять запрос, а сервер сможет ответить клиенту, узнав адрес из поступившего запроса.
В приведенной ниже таблице перечислены стандартные номера портов для основных сервисов.
Компонент службы | Номер порта | Транспортные протоколы |
Электронная почта | ||
SMTP-сервер | 25 | TCP |
POP3-сервер | 110 | TCP |
IMAP-сервер | 143 | TCP |
Телеконференции | ||
NNTP-сервер | 119 | TCP |
FTP | ||
FTP-сервер | 20, 21 | TCP |
Telnet | ||
Telnet-сервер | 23 | TCP |
WWW | ||
HTTP-сервер | 80 | TCP |
DNS | ||
DNS-сервер | 53 | TCP, UDP |
Задача уровня передачи данных заключается в предоставлении сервисов сетевому уровню. Основным сервисом является передача данных от сетевого уровня передающей машины сетевому уровню принимающей машины. На передающей машине работает некая сущность, или процесс, который передает биты с сетевого уровня на уровень передачи данных для передачи их по назначению. Работа уровня передачи данных заключается в передаче этих битов на принимающую машину так, чтобы они могли быть переданы сетевому уровню принимающей машины, как показано на рис. 3.2, а. В действительности данные передаются по пути, показанному на рис. 3.2, б, однако проще представлять себе два уровня передачи данных, связывающихся друг с другом при помощи протокола передачи данных. По этой причине на протяжении этой главы будет использоваться модель, изображенная на рис. 3.2, а.
Уровень передачи данных может предоставлять различные сервисы. Их набор может быть разным в разных системах. Обычно возможны следующие варианты.
1. Сервис без подтверждений, без установки соединения.
2. Сервис с подтверждениями, без установки соединения.
3. Сервис с подтверждениями, ориентированная на соединение.
Рассмотрим эти варианты по очереди.
Сервис без подтверждений и без установки соединения заключается в том, что передающая машина посылает независимые кадры принимающей машине, а принимающая машина не посылает подтверждений о приеме кадров. Никакие соединения заранее не устанавливаются и не разрываются после передачи кадров. Если какой-либо кадр теряется из-за шума в линии, то на уровне передачи данных не предпринимается никаких попыток восстановить его. Данный класс сервисов приемлем при очень низком уровне ошибок. В этом случае вопросы, связанные с восстановлением потерянных при передаче данных, могут быть оставлены верхним уровням. Он также применяется в линиях связи реального времени, таких как передача речи, в которых лучше получить искаженные данные, чем получить их с большой задержкой. Сервис без подтверждений и без установки соединения используется в уровне передачи данных в большинстве локальных сетей.
Следующим шагом в сторону повышения надежности является сервис с подтверждениями, без установки соединения. При его использовании соединение также не устанавливается, но получение каждого кадра подтверждается. Таким образом, отправитель знает, дошел ли кадр до пункта назначения в целости. Если в течение установленного интервала времени подтверждения не поступает, кадр посылается снова. Такая служба полезна в случае использования каналов с большой вероятностью ошибок, например, в беспроводных системах.
Вероятно, следует отметить, что предоставление подтверждений является скорее оптимизацией, чем требованием. Сетевой уровень всегда может послать пакет и ожидать подтверждения его доставки. Если за установленный период времени подтверждение не будет получено отправителем, сообщение может быть выслано еще раз. Проблема при использовании данной стратегии заключается в том, что кадры обычно имеют жесткое ограничение максимальной длины, связанное с аппаратными требованиями. Пакеты сетевого уровня таких ограничений не имеют. Таким образом, если среднее сообщение разбивается на 10 кадров и 20 % из них теряется по дороге, то передача сообщения таким методом может занять очень много времени.
Если подтверждать получение отдельных кадров и в случае ошибки посылать их повторно, передача всего сообщения займет гораздо меньше времени. В таких надежных каналах, как, например, оптоволоконный кабель, накладные расходы на подтверждения на уровне передачи данных только снизят пропускную способность канала, однако для беспроводной связи такие расходы окупятся и уменьшат время передачи длинных сообщений.
Наиболее сложным сервисом, который может предоставлять уровень передачи данных, является ориентированная на соединение служба с подтверждениями. При использовании данного метода источник и приемник, прежде чем передать друг другу данные, устанавливают соединение. Каждый посылаемый кадр нумеруется, а канальный уровень гарантирует, что каждый посланный кадр действительно принят на другой стороне канала связи. Кроме того, гарантируется, что каждый кадр был принят всего один раз и что все кадры были получены в правильном порядке. В службе без установления соединения, напротив, возможно, что при потере подтверждения один и тот же кадр будет послан несколько раз и, следовательно, несколько раз получен. Ориентированный на соединение сервис предоставляет процессам сетевого уровня эквивалент надежного потока битов.
При использовании ориентированного на соединение сервиса передача данных состоит из трех различных фаз. В первой фазе устанавливается соединение, при этом обе стороны инициализируют переменные и счетчики, необходимые для слежения за тем, какие кадры уже приняты, а какие - еще нет. Во второй фазе передаются кадры данных. Наконец, в третьей фазе соединение разрывается и при этом освобождаются все переменные, буферы и прочие ресурсы, использовавшиеся во время соединения.
Рассмотрим типичный пример: глобальная сеть, состоящая из маршрутизаторов, соединенных от узла к узлу выделенными телефонными линиями. Когда кадр прибывает на маршрутизатор, аппаратура проверяет его на наличие ошибок (с помощью метода, который мы изучим чуть позднее) и передает кадр программному обеспечению уровня передачи данных (которое может быть внедрено в микросхему сетевой карты). Программа уровня передачи данных проверяет, тот ли это кадр, который ожидался, и если да, то передает пакет, хранящийся в поле полезной нагрузки кадра, программе маршрутизации. Программа маршрутизации выбирает нужную выходящую линию и передает пакет обратно программе уровня передачи данных, который передает его дальше по сети. Прохождение сообщения через два маршрутизатора показано на рис. 3.3.
Программы маршрутизации часто требуют правильного выполнения работы, то есть им нужно надежное соединение с упорядоченными пакетами на всех линиях, соединяющих маршрутизаторы. Такие программы обычно не любят, если приходится слишком часто беспокоиться о потерянных пакетах. Сделать ненадежные линии надежными или хотя бы довольно хорошими - задача уровня передачи данных, показанного на рисунке пунктирным прямоугольником. Заметим, что хотя на рисунке показаны несколько копий программы уровня передачи данных, на самом деле все линии связи обслуживаются одной копией программы с различными таблицами и структурами данных для каждой линии.
Еще по теме Сервисы, предоставляемые сетевому уровню:
- Сейчас наша популяция сократилась до такого уровня, что нам всё труднее обеспечивать защиту Западного Побережья, которую мы до сих пор предоставляли, в то время как в самом близком будущем вам потребуется гораздо более эффективная защита.