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

Сеть (в типичном определении) представляет собой группу компьютеров, связанных специальными техническими соединениями и использующих то или иное единообразное техническое и программное обеспечение для совместной работы и разделения ресурсов. Передающей средой для сетей могут быть телефонные и защищенные выделенные кабели, радио и спутниковые каналы, специальные средства связи. Таким образом, речь идет о сети, соединяющей и объединяющей отдельные сети (дословно термин Internet означает “межсетевой”; inter - “между”, лат.). При этом появляется некое новое виртуальное объединение, которое в свою очередь означает свое новое информационное прострнство.

Главное, что обеспечивает работу компьютеров, объединенных в сеть - набор специальных соглашений, называемых, как было сказано выше, протоколами. Протоколы описывают как технические аспекты соединения (например Ethernet, TokenRing, FDDI), так и прикладные, и имеют многоуровневую структуру в соответствии с принятой в ISO (Международная организация по стандартизации) стандартной схемой.

НЕ нашли? Не то? Что вы ищете?

Компьютерные сети делятся на локальные и глобальные. Локальные сети объединяют компьютеры, находящиеся в одном здании или группе зданий какого-то одного учреждения (университет, банк, институт и т. п.) и чаще всего решают задачи совместного использования ресурсов: принтеров, компьютеров-хранилищ данных (файловых серверов), мощных компьютеров для решения прикладных задач (сервера приложений), коммуникационного оборудования. Глобальные сети объединяют множество локальных сетей и отдельных компьютеров, размещенных на значительном расстоянии друг от друга и соединенных скоростными каналами и специальными программно-техническими комплексами. Содержание ресурсов глобальной сети самое разнообразное. Совокупность глобальных (формально независимых) сетей, локальных сетей и отдельных компьютеров, объединенных единым протоколом TCP/IP, и составляет Интернет. Интернет предоставляет своим пользователям необозримое множество ресурсов и возможностей: от услуг электронной почты до мультимедийных интерактивных сеансов и проникновения в “виртуальную реальность”.

2. История развития Интернет

Сейчас сотням миллионов пользователей Интернет трудно представить, что вся история этой глобальной информационной супермагистрали умещается всего лишь в 45 лет, а активное ее освоение не “яйцеголовыми” технарями и учеными, а обычными пользователями ведется не более 5-6 лет! Однако это так. Дату зарождения Интернет многие связывают с созданием в 1969 г. ее прародительницы сети ARPANET, когда был введен в эксплуатацию первый узел этой сети в Лос-Анжелесе, США. Тогда никто не задумывался о будущей великой роли этого события - решался чисто утилитарный научный вопрос о разработке технологии гарантированной доставки компьютерных данных при возможных военных, террористических и других атаках на информационную и коммуникационную инфраструктуру, а также об облегчении сотрудничества между собой различных научно-исследовательских учреждений. Не случайно заказчиком исследования являлосьУправление преспективных исследований (Advanced Research Projects Agency - ARPA) оборонного ведомства США. На первом этапе сеть ARPANET была достаточно замкнутой структурой: кроме военных и оборонных учреждений и университетов, подключиться к ресурсам сети могли в ограниченном количестве только исследовательские группы. Затем в сети появилась поддержка передачи и управления файлами и вскоре электронная почта. Именно электронная почта и возможности динамической маршрутизации (программно-технологическое средство, позволяющее самостоятельно выбирать маршрут движения файлов и сообщений в сети и находить запасные пути в случае разрушения отдельных линий связи или фрагментов сети) явились первыми ласточками будущей суперсети. В это же время, наряду с ARPANET начали появляться и другие сети; возникла потребность в их соединении и информационном взаимодействии. Управление APRA (в то время уже - DARPA, добавилась на первое место буква владельца - D (defence) - оборона) приняло решение о разработке системы правил и технологии межсетевого взаимодействия. Это решение было оформлено как специальный проект - Internet Project, главным решением которого было создание независимо от конкретной сети протокола передачи данных, используемого для приема/передачи информации компьютерами сети. Поэтому, следующей важной датой развития Интернет является 1972 год, в котором были опубликованы спецификации протоколов TCP и IP. Для множественного взаимодействия и в качестве базового протокола была выбрана совокупность из двух основных протоколов: IP (Internet Protocol) - межсетевого протокола и TCP (Transmission Control Protocol) - протокола управления передачей. Как правило говорят и протоколах TCP/IP, которые и стали определяющей чертой Интернет. Хотя в течение последующих десяти лет число машин, объединенных в сеть на базе этих протоколов, не превышало 1000, дальнейшее развитие резко пошло по нарастающей. Следующий рубеж (10000 сетевых компьютеров) был достигнут всего за 4 года, а уже дальше компьютеры практически перестали считать в виду полной бесперспективности этого занятия - Интернет вышел в массы.

Подлинный бум в развитии Интернет пришелся на 1993-95 годы в связи с продвижением технологии World Wide Web (“Всемирной паутины”), когда число пользователей и серверов удваивалось за месяцы!

В 1993 году произошли события, которые подтвердили перспективность технологий Интернет как “технологий номер 1” для будущего столетия - к Сети подключились Белый Дом, Всемирный банк, множество коммерческих компаний и целый регион - Россия и другие страны бывшего СССР.

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

3. Гетерогенные сети

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

Есть два подхода к взаимодействию в таких сетях:

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

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

Гомогенные сети - это сети в которых функционируют узлы под управлением только одной операционной системы и включено оборудование толь одного типа.

Развитие стандартов взаимодействия ЭВМ в области аппаратуры и программного обеспечения ускоряет рост, как вычислительных сетей, так и подсетей связи. Такие организации, как IEEE (Institute of Electrical and Electronics Engineers) поддерживают основную цель Международной Организации по Стандартизации (International Standards Organization - ISO) - обеспечение общемирового сетевого взаимодействия. Эти организации дорабатывают различные отраслевые стандарты, реализованные ведущими производителями сетевого оборудования и программного обеспечения до придания им статуса международных.
Наиболее быстро в этом направлении продвигаются модемные сети ЭВМ. В них сетевая информация обрабатывается без какого-либо влияния на способность ЭВМ выполнять другую работу. Сегодняшние системы связи, изготовленные различными производителями, дают возможность пользователям выполнять обмен сообщениями в рамках электронной почты, использовать файлы и базы данных друг друга.

Лекция 2. Адресация в сети «Интернет». Протокол TCP/IP

Вопросы для изучения:

1.  Модель OSI.

2.  Протокол TCP/IP.

3.  IP Адрес.

4.  Доменный адрес.

5.  Служба DNS.

6.  Ответственность за адресацию в Интернете.

1. Модель OSI

Эталонная модель OSI, иногда называемая стеком OSI представляет собой 7-уровневую сетевую иерархию (рис. 1) разработанную Международной организацией по стандартам (International Standardization Organization - ISO). Эта модель содержит в себе по сути 2 различных модели:

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

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

В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной - соседние уровни обмениваются данными с использованием интерфейсов API.

Описание: http://*****/osi.gif

Рис. 1

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

Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.

В модели OSI взаимодействие делится на семь уровней или слоев (рис. 1.1). Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает интерфейсы с выше - и нижележащими уровнями.

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

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

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

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

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

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

Сообщения сетевого уровня принято называтьпакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие"номер сети". В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.

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

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

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

Уровень представления.Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

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

2. Протокол TCP/IP

TCP/IP - это средство для обмена информацией между компьютерами, объединенными в сеть. Не имеет значения, составляют ли они часть одной и той же сети или подключены к отдельным сетям. Не играет роли и то, что один из них может быть компьютером Cray, а другой Macintosh. TCP/IP - это не зависящий от платформы стандарт, который перекидывает мосты через пропасть, лежащую между разнородными компьютерами, операционными системами и сетями. Это протокол, который глобально управляет Internet, и в значительной мере благодаря сети TCP/IP завоевал свою популярность.

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

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

Причина, по которой TCP/IP столь важен сегодня, заключается в том, что он позволяет самостоятельным сетям подключаться к Internet или объединяться для создания частных интрасетей. Вычислительные сети, составляющие интрасеть, физически подключаются через устройства, называемые маршрутизаторами или IP-маршрутизаторами. Маршрутизатор - это компьютер, который передает пакеты данных из одной сети в другую. В интрасети, работающей на основе TCP/IP, информация передается в виде дискретных блоков, называемых IP-пакетами (IP packets) или IP-дейтаграммами (IP datagrams). Благодаря программному обеспечению TCP/IP все компьютеры, подключенные к вычислительной сети, становятся "близкими родственниками". По существу оно скрывает маршрутизаторы и базовую архитектуру сетей и делает так, что все это выглядит как одна большая сеть. Точно так же, как подключения к сети Ethernet распознаются по 48-разрядным идентификаторам Ethernet, подключения к интрасети идентифицируются 32-разрядными IP-адресами, которые мы выражаем в форме десятичных чисел, разделенных точками (например, 128.10.2.3). Взяв IP-адрес удаленного компьютера, компьютер в интрасети или в Internet может отправить данные на него, как будто они составляют часть одной и той же физической сети.

Уровни сетей и протоколы TCP/IP

3. IP Адрес.

IP-адрес (aй-пи адрес, сокращение от англ. Internet Protocol Address) — уникальный идентификатор (адрес) устройства (обычно компьютера), подключённого к локальной сети или интернету.

IP-адрес представляет собой 32-битовое (по версии IPv4) или 128-битовое (по версии IPv6) двоичное число. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками, например, 192.168.0.1. (или 128.10.2.30 — традиционная десятичная форма представления адреса, а 1000000— двоичная форма представления этого же адреса).

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

IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (192.168.0.0/16, 172.16.0.0/12 или 10.0.0.0/8). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернет-регистратором (Regional Internet Registry, RIR). Региональные регистраторы получают номера автономных систем и большие блоки адресов у ICANN, а затем выдают номера автономных систем и блоки адресов меньшего размера локальным интернет-регистраторам (Local Internet Registries, LIR), обычно являющимся крупными провайдерами.

Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Классы IP-адресов

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

На рисунке показана структура IP-адреса разных классов.

Описание: структура IP-адреса разных классов

Бесклассовая адресация

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

Особые IP-адреса

В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:

·  если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP;

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

·  если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);

·  если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, в сети 192.190.21.0 с маской 255.255.255.0 пакет с адресом 192.190.21.255 доставляется всем узлам сети этой сети. Такая рассылка называется широковещательным сообщением (broadcast).

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

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

4.  Доменный адрес

Домен - это область пространства иерархических имен сети Интернет, которая обслуживается набором серверов доменных имен (DNS) и централизованно администрируется. Домен идентифицируется именем домена.

Уникальное символьное представление IP-адреса сайта. Доменное имя (в дальнейшем - домен) может состоять преимущественно из букв, но в последнее время не обязательно латинского алфавита, цифр и знаков дефиса. По своей сути домен является составной частью URL. Домены имеют иерархическую структуру. Их основу составляют домены первого уровня (называемые также доменными зонами) - часть адреса после последней точки (.com, .net, .ru и т. д.).

Доменный адрес (англ. domain name) - более практичный аналог IP-адреса. Доменная адресация возникла в Internet для удобства пользователей: легче запомнить доменный адрес (например, www. *****), чем четыре числа IP-адреса. Доменный адрес может содержать латинские буквы, цифры, точки и некоторые другие знаки.

Составные части доменного адреса называются сегментами и образуют иерархическую систему. Самый последний (крайний правый) сегмент, называемый доменом верхнего уровня, определяет принадлежность компьютера к сети той или иной страны и состоит обычно из двух букв, например. su - Советский Союз, .ru - Россия, ua - Украина...

В США традиционно используется другая система – тематическая. В этой системе домен верхнего уровня состоит из трех букв и обозначает принадлежность владельца адреса к одному из следующих классов: .com - коммерческие сайты, .edu - образовательные организации, .org - прочие организации...

5.  Служба DNS

DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.

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

Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.

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

Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:

·  com - коммерческие организации (например, );

·  edu - образовательные (например, mit. edu);

·  gov - правительственные организации (например, nsf. gov);

·  org - некоммерческие организации (например, fidonet. org);

·  net - организации, поддерживающие сети (например, ).

Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени

Схема работы службы DNS

Описание: http://*****/Archive/CP/2002/5/14/11.gif

При необходимости произвести какое-либо из DNS-преобразований ("адрес в имя", "имя в адрес") хост обращается к своему серверу DNS, адрес которого устанавливается как описано выше. Обращение происходит через протокол UDP на порт 53.

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

Итак, хост ada. ***** желает узнать IP-адрес хоста crypt. iae. nsk. su. Ada отправляет запрос своему DNS-серверу 212.16.195.98

Если у сервера ns. ***** нет в кэше требуемых данных, он обращается к корневому серверу доменной системы (на самом деле таких серверов 13, все данные на них идентичны), адреса корневых серверов известны каждому DNS-серверу и содержатся в файле root. cache. Корневой сервер, как минимум, может ответить адресом сервера, отвечающего за зону su, однако в нашем случае ему известен адрес сервера, отвечающего за nsk. su (этот адрес мог оказаться в его кэше, но на самом деле корневые серверы отвечают не только за корень доменной системы, но и за большинство доменов верхнего уровня, следовательно, они могут непосредственно делегировать полномочия серверам доменов второго уровня - например, nsk. su). Ns. ***** повторяет запрос, адресуя его серверу ns. nsk. su, в кэше и базе данных которого нет готового ответа, и ns. nsk. su возвращает адрес сервера, ответственного за iae. nsk. su. Обратившись к этому последнему, ns. ***** получает IP-адрес хоста crypt. iae. nsk. su, поскольку эти данные хранятся непосредственно в базе данных на iaebox. nsk. su, и возвращает его клиенту на ada. *****.

Сервер после передачи полученных данных клиенту кэширует их для дальнейшего возможного использования. Также кэшируются и все дополнительные данные, полученные в процессе обработки запроса - например, при запросе IP-адреса хоста alpha. iae. nsk. su сервер ns. ***** сразу обратится к iaebox. iae. nsk. su, минуя опрос вышестоящих серверов. Последние версии ПО также могут кэшировать и отрицательные результаты поиска.

Различают рекурсивные и итеративные запросы. При получении рекурсивного запроса сервер должен вернуть либо ответ на запрос, либо сообщение об ошибке; все действия по поиску данных и опросу других серверов сервер берет на себя. При получении итеративного запроса сервер может вместо ответа вернуть адрес другого сервера; предполагается, что сделавший запрос клиент перенаправит это запрос указанному серверу. В примере на рис 2.2 DNS-клиент на хосте ada производит рекурсивный запрос, а сервер ns. ***** посылает другим серверам итеративные запросы.

Преобразование "доменное имя в IP-адрес" выполняется всякий раз при попытке установления TCP/IP-соединения с хостом, если указано доменное имя этого хоста (так происходит почти всегда при работе пользователя с приложениями Интернет). Некоторые программы выполняют также и обратное DNS-преобразование. Эти операции скрыты от пользователя.

Механизм кэширования активно используется DNS для того, чтобы сократить число запросов и время получения IP-адресов хостами. Идея кэширования проста: когда сервер имен получает ответ, содержащий IP-адрес хоста, он сохраняет пару «имя/1Р-адрес хоста» в специально отведенной области памяти (дисковой или оперативной). В случае, если этот сервер имен вновь получит запрос с тем же именем хоста, он сможет извлечь соответствующую пару из кэшпамяти и сгенерировать ответ, даже не являясь полномочным сервером хоста. Чтобы не хранить большие объемы невостребованной информации, записи остаются в кэш-памяти некоторый ограниченный промежуток времени (обычно 48 часов). Рассмотрим следующий пример. Пусть хост _surf. eurecom. fr создал запрос на получение IP-адреса хоста . Несколько часов спустя другой хост института Eurecom, например _baie. eurecom. fr, также создал DNS-запрос хосту . Механизм кэширования обеспечивает появление IP-адреса на локальном сервере имен Eurecom после выполнения запроса хоста _surf. eurecom. fr; таким образом, запрос хоста _baie. eurecom. fr будет удовлетворен локальным сервером без дальнейшей передачи. Кэширование поддерживается всеми серверами имен.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5