URL - Universal Resource Locator унифицированный идентификатор (указатель) ресурса. Компьютерный адрес, который определяет местоположение и тип ресурса в Internet. Например, URL https://www.usnews.com/repub/gingrich.html обозначает документ Web (https://) в компьютере компании U.S. News (www.usnews.com) с файлом республиканской партии (repub), который содержит документ, относящийся к Newt Gingrich (gingrich.html).
Типичный для URL вид:
протокол://полное. имя. машины, или. адрес: порт/путь
Здесь «протокол» принимает значения:
http передача гипертекста
------------------------------------------------------------------------------------
ftp протокол передачи файлов
telnet терминальный доступ
gopher приложение Gopher
news новости Usenet
file для доступа к локальным файлам
Параметр «порт» можно не указывать и тогда подразумевается порт, стандартный для данного протокола. Для ftp используются порты 20 и 21, для http - 80, для telnet - 23, для gopher - 70, news - 119 и т.д. Примеры URL:
https://xxx.lanl. gov:8000/ https://info.cern.ch/ ftp://ftp.kiae.su/unix/ telnet://whitehouse.gov:23}
Параметр «путь» специфичен для каждого протокола, например, для ftp - это путь в файловой системе. Похожий смысл (но не синтаксис!) имеет этот параметр и для других протоколов.
Таким образом, формат URL включает: схему адреса (http, gopher, wais, ftp, telnet, и т.п.), IP- или доменный адрес машины, номер ТСР-порта, адрес ресурса на сервере, имя HTML-файла или метку, критерий поиска данных.
TCP/IP (Transmission Control Protocol/Internet Protocol) - протокол, разработанный для обеспечения взаимодействия оборудования разных производителей, является стандартным протоколом Интернет. IP описывает схему, по которой взаимодействуют два устройства (каждое со своим IP-адресом). TCP обрабатывает поток пакетов IP, обеспечивая контроль ошибок и корректную доставку пакетов.
Прежде, чем организовывать сеть TCP/IP следует хорошо разобраться в принципах ее функционирования. В отличие от многих других сетей, в TCP/IP практически на каждой машине следует иметь массу информации необходимой для ее настройки, которая по сети не передается. В этом есть как преимущества, так и недостатки.
Недостатки сводятся к большой ручной работе по настройке каждой машины, каждого сетевого интерфейса. При этом предварительно должна быть продумана топология сети, ее физическая и логическая схемы, определено оборудование. Обязательным условием для организации TCP/IP сети является получение блока адресов Internet для всего множества сетевых интерфейсов. Данную процедуру принято называть «получение сетки».
Блок адресов, обычно, выделяется провайдером (связующее звено пользователя с информационными ресурсами Internet), через которого локальная сеть подключается к Internet.
При организации локальной сети, которая не будет подключена к Internet, можно официально никакой сетки не получать, а ее номер придумать, но если позже возникнет необходимость подключения к Internet, получить адреса все равно придется, но при этом надо также производить изменения во всех машинах локальной сети, меняя настройки сетевых интерфейсов.
После того как физическая сеть собрана, администратор должен собственноручно назначить на каждой машине адреса интерфейсам. Обычно это делается с консоли того компьютера, который настраивается для работы в сети. В последнее время появилась возможность динамической настройки с одного рабочего места всех машин сети. Однако, как и в любом деле, кроме явных преимуществ есть и срытые недостатки такого подхода. Главный из них - это учет статистики работы с каждой из машин системы. При динамическом назначении адресов машина может в разное время получать разные адреса, что не позволяет по адресу проидентифицировать машину. Многие же системы анализа трафика основываются на том, что соответствие между адре-
сом и компьютером неизменно. Именно на этом принципе построены многие системы защиты от несанкционированного доступа.
Другой причиной, заставляющей жестко назначать адреса компьютерам сети, является необходимость организации информационных сервисов на серверах сети. TCP/IP не имеет механизма оповещения рабочих мест о месте нахождения сервиса. Широковещание вообще не очень распространено в сетях TCP/IP, в отличие от сетей Novell или Microsoft. Каждый хост знает о наличии того или иного сервиса либо из файла своей настройки (например, указываются шлюз в другие сети или сервер доменных имен), либо из файлов настроек прикладного программного обеспечения. Так, например, сервер World Wide Web не посылает никакого широковещательного сообщения о том, что он установлен на данном компьютере в данной сети.
Преимущество такого подхода заключается в низком трафике, порождаемом сетью TCP/IP. Этот трафик иногда очень значительно отличается от трафика Novell. Кроме этого практически любое оборудование позволяет фильтровать трафик TCP/IP, что сильно облегчает сегментацию сети и делает ее легко структурируемой.
Сеть TCP/IP обладает практически теми же базовыми сервисами, что и другие локальные сетевые технологии/Система позволяет работать в режиме удаленного терминала, организовывать распределенную файловую систему, сетевую печать и т.п.
Иногда приходится слышать, что обмен в рамках TCP/IP, например, при копировании файлов с локального диска на удаленный, смонтированный на данный локальный компьютер происходит медленнее, чем скажем в сети Microsoft или Netware. Во-первых, это сильно зависит от прикладного программного обеспечения, а во-вторых, в отличие от Netware или Microsoft для сети TCP/IP нет разницы между машинами, которые стоят в соседней комнате, или установлены на разных континентах. Для монтирования удаленной файловой системы нет необходимости в использовании межсетевого протокола для доставки протоколов локальной сети, так как стек TCP/IP сам по себе реализует этот межсетевой обмен.
В рамках организации сети TCP/IP в последнее время все больше внимание уделяется организации удаленных рабочих мест. Особенно это характерно для организаций, которые используют труд надомников. Здесь имеются в виду не старушки, которые вяжут носки, а потом продают их на вещевых рынках, и не телефонистки, которые принимают сообщения для мелких коммерческих организаций. Речь идет о программистах или других сотрудниках, которые используют модемную связь для оперативного обмена информацией, доступа к информационным ресурсам, или обмена электронной почтой.
Развитие средств коммуникации и наличие специального набора протоколов и программного обеспечения, их реализующего, позволяет организовать такие рабочие места в рамках сетей TCP/IP без особых
проблем.
Подключение локальной сети TCP/IP к Internet осуществляется через местного провайдера. Обычно это та же организация, у которой был получен блок адресов для локальной сети.
Администратор локальной сети должен определить, какая машина локальной сети будет выполнять функции шлюза, именно так называется устройство, которое используется для соединения двух сетей. В настоящее время вместо машин используются специальные устройства, маршрутизаторы. Маршрутизаторы - это специальные компьютеры, которые распознают массу различных протоколов и способны правильно направлять пакеты информации из одной сети в другую. Если подключаемая сеть большая и требуется мощное устройство для обслуживания ее внешнего трафика, то приобретение маршрутизатора оправдано, если сеть небольшая, то можно обойтись персональным компьютером, на который следует установить соответствующее программное обеспечение.
Задача подключения локальной сети довольно простая, если только это не сеть распределенная в пространстве, т.е. не Wide Area Network (WAN). Здесь проблема подключения к Internet приобретает как бы два направления:
1) собственно подключение различных сегментов к Internet;
2) организация сети компании средствами Internet.
Если говорить о подключении сегментов, то здесь для каждого из сегментов следует выполнить весь комплекс работ, который был описан в предыдущем разделе, т.е. получить блок адресов, сконфигурировать машины каждой из сетей, организовать сбор статистики и, если необходимо, систему динамической настройки машин.
При организации сети компании распределенной по большой площади средствами Internet, нужно позаботиться о надежной маршрутизации, своевременном обмене информацией и о защите этой информации от несанкционированного доступа. Кроме того, следует организовать информационное обслуживание, единое для всех частей такой распределенной структуры.
Организация распределенной структуры может быть выполнена либо путем использования своих собственных возможностей (аренда физической сети передачи данных), либо за счет использования существующей сети российских Internet-провайдеров. При выборе того или иного решения, как правило, во внимание принимается множество факторов, главными из которых могут быть факторы, не связанные с техническими решениями.
Понимание способов обмена данными через Internet важно и в том случае, когда организуют виртуальные локальные сети на базе протоколов, отличных от TCP/IP, но когда протоколы TCP/IP используются в качестве средства транспорта исходных сообщений из одного сегмента сети в другой.
До тех пор пока вся локальная сеть представляет из себя простой сегмент сети Ethernet, не возникает проблем с приемом и передачей сообщений в рамках этой сети. Однако, стоит сеть разбить на несколько сегментов и установить шлюзы между ними, как сразу возникает проблема маршрутизации сообщений в этой сети.
Здесь уместно остановиться на том факте, что сеть Internet - это сеть коммутации пакетов. Это значит, что прежде чем отправить сообщение по сети, это сообщение «нарезается» на более мелкие части, которые называются пакетами, и эти пакеты и отправляются по сети. Сеть Internet интересна тем, что информацию о месте назначения каждый пакет несет в себе самом. Решение о том, в какую сторону направлять пакет принимается шлюзом в момент прохождения пакета через этот шлюз. Если в один момент времени некоторый путь от места отправления к месту назначения существует, то шлюз отправит пакет, который в этот момент времени через него проходит по этому пути. Если в следующий момент времени путь по какой-ливд причине исчезнет, то шлюз отправит пакет по другому пути. При этом оба пакета могут принадлежат одному и тому же сообщению. В месте назначения пакетов не имеет значения последовательность получения пакетов, так как пакеты несут также и информацию о своем месте внутри сообщения.
Такое свойство Internet обеспечивает надежную доставку сообщений в любую точку сети даже при ее неустойчивой работе. Однако, все это достигается не просто так, а за счет специального механизма, который называется маршрутизация. Основа маршрутизации - это таблица маршрутов на каждом из компьютеров в сети и правила изменения этой таблицы в случае изменения состояния самой сети.
Маршрутизация - это средство не только прокладки маршрутов, но и средство блокирования маршрутов пересылки пакетов по сети. Если таблицы настроены неправильно, то в лучшем случае пакеты будут доставляться медленно, а в худшем случае они будут доставляться не туда куда следует, что может привести к нарушению безопасности сети передачи данных. Очень часто средства маршрутизации используют для атак на системы, включенные в Internet. Известны, так называемые, ICMP-штормы, когда пакеты определенного вида могут блокировать прием/передачу информации по сети.
Если администратор по тем или иным причинам должен закрыть часть своей сети от доступа с других машин Internet, то в этом случае также можно использовать таблицу маршрутов, удаляя из нее определенные пути, или блокируя их другими средствами контроля сетевого трафика.
Последнее замечание о проблемах маршрутизации связано с тем, что если администратор хочет, чтобы его система была видна из Internet, т.е. чтобы информационными ресурсами данной сети можно было пользоваться как внутри сети, так и за ее пределами, он должен данную сеть прописать в таблицах маршрутов провайдеров, к которым данная
сеть подключена. Это взаимодействие имеет не столько технический, сколько организационный характер и может занимать гораздо больше времени, чем доставка пакета из Москвы в Нью-Йорк.
Система доменных имен
Система Доменных Имен (DNS-Domain Name System) - система имен, построенная по иерархическому принципу.
Служба Доменных Имен предназначена для того, чтобы машины, работающие в Internet, могли по доменному имени узнать IP-адрес нужной им машины, а также некоторую другую информацию; а по IP-номеру могли узнать доменное имя машины.
Служба Доменных Имен была разработана для именования машин в глобальной сети. Основной особенностью глобальной сети является распределенное администрирование, когда один администратор физически не может уследить за выделением имен. Поэтому Служба Доменных Имен функционирует по принципу делегирования полномочий. Каждая машина либо знает ответ на вопрос, либо знает кого спросить. При правильном функционировании система замкнута, т.е. ecftn запрошенная информация имеется у кого-либо, то она будет найдена и сообщена клиенту, либо, если вопрос не имеет ответа, клиент получит сообщение о невозможности получения ответа на вопрос.
Каждый клиент знает своего сервера; обычно указывается не один, а несколько серверов - если первый не отвечает, клиент обращается ко второму и так далее до исчерпания списка. В принципе неважно, к какому серверу обращаться - они дают (должны давать при правильном функционировании) одинаковые ответы на любой запрос. Поэтому для ускорения работы обычно указывают ближайший. Следует помнить, что на одной машине могут функционировать одновременно Name-сервер и программы-клиенты; поэтому если на машине запущен Name-сервер, то в качестве Name-сервера на ней должен быть прописан «он сам».
Имеется некий домен верхнего уровня, обозначаемый точкой: «.». Имеется несколько серверов, которые отвечают за эту зону. Они не знают ни одного доменного имени - они только авторизуют серверы верхних зон. Серверы верхних зон тоже не хранят информацию о конкретных машинах и передают это право нижележащим серверам. Тут уже появляются первые упоминания о конкретных машинах, равно как и происходит авторизация нижележащих серверов.
Очень редко используются доменные имена из двух сегментов; имена из трех и четырех сегментов составляют подавляющую долю всех имен Internet; имена из пяти и шести сегментов встречаются довольно редко.
Допустим, клиент запросил адрес «\ллллл/.организация.город.страна». Поиск информации по доменному имени происходит следующим образом:
1. Клиент спрашивает своего сервера.
2. Если тот является сервером данной зоны, то ответит, на чем все заканчивается.
3. Сервер спрашивает корневой сервер.
4. Тот не может ответить, потому что не знает; зато знает, какой сервер отвечают за зону «страна».
5. Сервер зоны «страна» тоже не может ответить, но знает, что нужно спросить сервер зоны «город.страна».
6. Тот в свою очередь отсылает запрос серверу зоны «организация.город.страна», который сообщит нужную информацию.
Это приближенная модель, которая тем не менее позволяет представить работу системы DNS.
Однако эту стройную картину искажают системы кэширования и вторичных серверов. Дело в том, что получив ответ на свой вопрос, DNS-сервер получает также некоторое число, которое говорит ему о том, по истечении какого времени эта информация должна считаться устаревшей. Таким образом, все серверы, участвовавшие в поиске ответа на вопрос, заданный клиентом, могут (и скорее всего будут) помнить как ответ на заданный вопрос, так и путь, по которому шел поиск. При следующих запросах, имеющих общую правую часть с недавно сделанными запросами, поиск будет упрощен (ускорен).
Кроме того, большинство зон имеют вторичные серверы, которые содержат копии данных с первичных серверов. Сервер вышележащей зоны может направить запрос как первичному серверу, так и любому из вторичных, основываясь на своих соображениях о том, какой из них ближе.
Как и IP-маршрутизация, DNS работает по принципу делегирования полномочий, но выделение доменных имен совершенно не зависит от выделения IP-адресов. Для примера рассмотрим домен freebsd.org. Это домен организации, занимающейся распространением операционной системы FreeBSD Unix. FTP-сервер, содержащий дистрибутив операционной системы и множества утилит для нее, имеет копии в нескольких десятках стран. Имена серверов выглядят так:
ftp.freebsd.org - первичный сервер в США
ftp.crpaHa.freebsd.org - основной сервер в стране
Прчисло.страна. freebsd.org - дополнительный сервер в стране
Так на 11 февраля 1998 года:
ftp.ru.freebsd.org соответствует ftp.ru
ftp2.ru.freebsd.org соответствует ftp.gamma.ru
ftp3.ru.freebsd.org соответствует ftp.chg.ru
Таким образом, машины, находящиеся в России оказались произвольно (по воле DNS-мастера из университета Bercley) включенными в домен freebsd.org; однако, они также состоят в своих зонах. Система DNS позволяет любому DNS-мастеру включить любой сервер в свою зону, хотя это включение никого ни к чему не обязывает.
Однако, некоторым сервисам этого недостаточно - так E-mail тре-
бует, чтобы машина, принимающая письмо, признала своим адрес, указанный в качестве пункта назначения.
Услуги провайдеров - регистрация пользователя, абонементная плата, техническая помощь, консультация и обучение, услуги WWW, аренда места, разработка WWW-страниц пользователя. Несмотря на все перечисленные услуги, основной задачей провайдера была и остается задача предоставления конечному пользователю доступа к информационным ресурсам Интернет вне зависимости от того, использует ли пользователь для доступа коммутируемую (телефонную) линию или выделенный (медный, оптический, радио) канал.
В число оказываемых провайдером DNS-услуг входят:
• регистрация доменного имени клиента у держателя той зоны, в которой клиент хочет зарегистрироваться;
• поддержание вторичного сервера прямой и обратной DNS-зон клиента;
• поддержание первичного сервера этих зон, если клиент по какой-либо причине не поддерживает их сам (особенно это относится к случаю виртуальных зон и к случаю выделения малого пула адресов).
Имена зон условно можно разделить на «организационные» и «географические». В высшей зоне зарегистрированы следующие «организационные» зоны:
• com - commercial (коммерческие);
• edu - educational (образовательные);
• gov - goverment (правительственные);
• mil - military (военные);
• net - network (организации, обеспечивающие работу сети);
• org - organization (некоммерческие организации).
В данный момент, чтобы разгрузить домен com, собираются создать несколько новых доменов, но достоверной информации по ним пока нет. В организационных зонах обычно размещаются непосредственно домены организаций.
Каждая страна (государство) имеет свой географический домен из двух букв:
• au-Australia (Австралия);
• by - Belarus (Белоруссия);
• са - Canada (Канада);
• de - Germany (Германия);
• dk - Denmark;
• fr - France (Франция);
• il - Israel (Израиль);
• jp -Japan (Япония);
• ru - Russia (Россия);
• su - Soviet Union (Советский Союз - поддерживается, но не распределяется);
• ua-Ukraine (Украина);
• uk - United Kingdom (Соединенное Королевство Великобритания / Англия).
Перечислены далеко не все страны.
В зонах государств опять же имеются «организационные» и «географические» зоны. «Организационные» в большинстве своем повторяют структуру «организационных» зон верхнего уровня, разве что вместо «com» используется «со». «Географические» выделяются городам, областям и т.п. территориальным образованиям. Непосредственно в тех и других размещаются домены организаций или домены персональных пользователей.
После выбора зоны, в которую будет включен наш домен надо выбрать собственное имя домена. Обычно это имя компании, торговая марка или что-нибудь столь же характерное. Для неанглоязычных стран используется транскрипция имен. Часто возникают конфликты, связанные с тем, что одно и то же имя используется несколькими фирмами (законодательство допускает это для фирм, работающих в разных отраслях); многие люди заранее резервируют имена, могущие стать популярными для последующей продажи их владельцу торговой марки; но это уже касается юридической стороны функционирования Internet и не входит в мою компетенцию.
С левого конца доменного имени находятся имена машин. Имена бывают «собственные» и «функциональные». Имена «собственные» каждый придумывает в меру фантазии: машинам присваиваются имена членов семьи, животных, растений, музыкантов, артистов, литературных персонажей.
Имена «функциональные» вытекают из функций, выполняемых машиной:
www - HTTP (WWW) сервер
ftp - FTP сервер
ns, nss, dns - DNS (Name) сервер
mail - Mail сервер
relay - Mail Exchanger
*proxy - соответствующий Proxy сервер
Нежелательно присваивать какой-либо машине функциональное имя - в любой момент может потребоваться перенести соответствующую функцию на другую машину. Для этого лучше всего использовать псевдонимы, которые перенаправляют запросы к данному имени на записи, относящиеся к другому имени.