Компьютерах

Вопросы к экзамену по дисциплине «Сетевые операционные системы»

Курс

1 Роль сетевых транспортных средств ОС.

Сетевые транспортные средства операционной системы передают сообщения

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

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

в общем случае построена на коммуникационном оборудовании различного

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

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

Совокупность сетевых средств универсальных ОС компьютеров, являющихся

узлами сети, и сетевых средств специализированных ОС, установленных на

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

2 Коммутация пакетов. Буферы и очереди.

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

Наличие адреса в каждом пакете является одним из важнейших свойств

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

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

Коммутатор проверяет контрольную сумму, и только если она говорит о том,

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

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

Наконец, буферы нужны для согласования скоростей передачи данных в каналах,

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

поступления пакетов из одного канала в течение некоторого периода превышает

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

организовать выходную очередь.

Поскольку объем буферов в коммутаторах ограничен, иногда происходит

потеря пакетов из-за переполнения буферов при временной перегрузке части

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

Так как потеря пакетов является неотъемлемым свойством сети с коммутацией

пакетов, то для нормальной работы таких сетей разработан ряд механизмов,

которые компенсируют этот эффект, например, можно выполнять повторную

пересылку пакета при истечении тайм-аута подтверждения факта его получения

узлом назначения.

3 Протокол и стек протоколов TCP\IP. Реализация стека протоколов в сетевой ОС.

Оба участника сетевого обмена должны

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

С каждой стороны средства взаимодействия представлены четырьмя уровнями. Каждый уровень поддерживает интерфейсы двух типов. Во-первых, это интерфейсы с выше и нижележащим уровнями «своей» иерархий средств. Во-вторых, это интерфейс

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

Иерархически организованный набор протоколов, достаточный для организации

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

Поскольку стек TCP/IP изначально создавался для Интернета, он имеет

много особенностей, дающих ему преимущество перед другими протоколами,

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

очень полезным свойством, делающим возможным применение этого

протокола в больших сетях, является его способность фрагментировать пакеты.

Действительно, большая составная сеть часто состоит из сетей, построенных

на совершенно разных принципах. В каждой из этих сетей может быть собственная

величина максимальной длины единицы передаваемых данных (кадра).

В таком случае при переходе из одной сети, имеющей большую максимальную

длину, в сеть с меньшей максимальной длиной может возникнуть необходимость

деления передаваемого кадра на несколько частей. Протокол IP стека

TCP/IP эффективно решает эту задачу.

Другой особенностью технологии TCP/IP является гибкая система адресации,

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

включать в составную сеть сети разных технологий.

В стеке TCP/IP очень экономно используются широковещательные рассылки.

Это свойство совершенно необходимо при работе на медленных каналах

связи, характерных для территориальных сетей.

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

здесь оказываются высокие требования к ресурсам и сложность администрирования

IP-сетей.

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

В стеке TCP/IP определены 4 уровня.

Прикладной уровень стека TCP/IP соответствует трем верхним уровням

модели OSI: прикладному, представления и сеансовому. Он объединяет службы,

предоставляемые системой пользовательским приложениям. (FTP, telnet, HTTP)

Транспортный уровень стека TCP/IP может предоставлять вышележащему

уровню два типа сервиса:

■ гарантированную доставку обеспечивает протокол управления передачей

(Transmission Control Protocol, TCP);

■ доставку по возможности, или с максимальными усилиями, обеспечивает

протокол пользовательских дейтаграмм (User Datagram Protocol, UDP).

Сетевой уровень, называемый также уровнем интернета, является стержнем

всей архитектуры TCP/IP. Именно этот уровень, функции которого соответствуют

сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах составной сети, образованной объединением множества сетей.

Основным протоколом сетевого уровня является межсетевой протокол (Internet

Protocol, IP ). В его задачу входит продвижение пакета между сетями — от одного маршрутизатора до другого до тех пор, пока пакет не попадет в сеть назначения.

К сетевому уровню TCP/IP часто относят протоколы, выполняющие вспомогательные

функции по отношению к IP. Это, прежде всего, протоколы маршрутизации

RIP, OSPF, IS-IS и BGP, занимающиеся изучением топологии

сети, определением маршрутов и составлением таблиц маршрутизации, на основании

которых протокол IP перемещает пакеты в нужном направлении. По этой же причине к сетевому уровню могут быть отнесены еще два протокола: протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP), предназначенный для передачи маршрутизатором источнику информации об ошибках, возникших при передаче пакета, и протокол групповой адресации (Internet Group Management Protocol, IGMP), использующийся для направления пакета сразу по нескольким адресам.

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

Напомним, что нижние уровни модели OSI (канальный и физический) реализуют

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

У нижнего уровня стека TCP/IP задача существенно проще — он отвечает

только за организацию взаимодействия с технологиями сетей, входящих в составную сеть.

Потоком данных, или просто потоком, называют данные, поступающие от

приложений на вход протоколов транспортного уровня — TCP и UDP.

Протокол TCP «нарезает» из потока данных сегменты.

Единицу данных протокола UDP часто называют дейтаграммой, или датаграммой.

Однако очень часто используется и другой термин — пакет.

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

4 Модель OSI.

В начале 80-х годов ряд международных организаций по стандартизации,

в частности International Organization for Standardization (ISO), разработали

стандартную модель взаимодействия открытых систем (Open System Interconnection,

OSI). Эта модель сыграла значительную роль в развитии компьютерных

сетей.

Разнообразие средств межсетевого взаимодействия вывело на первый план проблему

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

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

Модель OSI определяет, во-первых, уровни взаимодействия систем в сетях

с коммутацией пакетов, во-вторых, стандартные названия уровней, -в-третьих,

функции, которые должен выполнять каждый уровень. Модель OSI не содержит

описаний реализации конкретного набора протоколов.

В модели OSI средства взаимодействия делятся на семь уровней:

Физический уровень (physical layer) имеет дело с передачей потока битов по

физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный

кабель или цифровой территориальный канал.

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

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

сетевым адаптером или последовательным портом.

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

Для него эта информация представляет собой однородный поток битов, которые

нужно доставить без искажений и в соответствии с заданной тактовой частотой

(интервалом между соседними битами).

Канальный уровень (data link layer) является первым уровнем (если идти снизу

вверх), который работает в режиме коммутации пакетов. На этом уровне

PDU обычно носит название кадр (frame).

Функции средств канального уровня определяются по-разному для локальных

и глобальных сетей.

■ В локальных сетях (Local Area Networks, LANs) канальный уровень должен

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

■ В глобальных сетях (Wide Area Networks, WANs) канальный уровень должен

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

индивидуальной линией связи.

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

Одной из задач канального уровня является обнаружение и коррекция ошибок. Для этого канальный уровень фиксирует границы кадра, помещая специальную последовательность битов в его начало и конец, а затем добавляет к кадру контрольную сумму, которая называется также контрольной последовательностью кадра (Frame Check Sequence, FCS).

Если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность среды. Функции проверки доступности разделяемой среды иногда выделяют в отдельный подуровень управления доступом к среде (Medium Access Control, MAC).

Чтобы кадр дошел до узла назначения, он должен включать адрес этого узла.

В локальных сетях такой адрес называют МАС-адресом.

Протоколы канального уровня реализуются компьютерами, мостами, коммутаторами

и маршрутизаторами. В компьютерах функции канального уровня

реализуются совместными усилиями сетевых адаптеров и их драйверов.

Сетевой уровень (network layer) служит для образования единой транспортной

системы, объединяющей несколько сетей и называемой составной сетью, или

интернетом.

Технология, позволяющая соединять в единую сеть множество сетей, в общем

случае построенных на основе разных технологий, называется технологией

межсетевого взаимодействия (internetworking).

Чтобы связать между собой сети, построенные на основе столь отличающихся

технологий, нужны дополнительные средства, и такие средства предоставляет

сетевой уровень.

Функции сетевого уровня реализуются:

■ группой протоколов;

■ специальными устройствами — маршрутизаторами.

Одной из функций маршрутизатора является физическое соединение сетей.

Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам

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

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

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

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

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

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

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

Транспортный уровень (transport layer) обеспечивает для приложений или верхних уровней стека — прикладного, представления и сеансового — передачу данных с той степенью надежности, которая им требуется.

Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг:

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

Все протоколы, начиная с транспортного уровня и выше, реализуются программными

средствами конечных узлов сети — компонентами их сетевых операционных систем.

Протоколы нижних четырех уровней обобщенно называют сетевым транспортом,

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

Сеансовый уровень (session layer) обеспечивает управление взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоянии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала.

Уровень представления (presentation layer), как явствует из его названия, обеспечивает

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

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

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

5 IP адреса, классы IP адресов. Использование масок подсети. Частные публичные IP адреса.

Чтобы технология TCP/IP могла решать свою задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных сетях.

Пара, состоящая из, номера сети и номера узла, отвечает поставленным условиям

и может служить в качестве сетевого адреса, называемого также IР-адресом.

Каждый раз, когда пакет направляется адресату через составную сеть, в его заголовке указывается IP-адрес узла назначения. По номеру сети назначения каждый очередной маршрутизатор находит IP-адрес следующего маршрутизатора. Перед тем как отправить пакет в следующую сеть, маршрутизатор должен определить на основании найденного IP-адреса следующего маршрутизатора его локальный МАС-адрес. Для этой цели протокол IP обращается к протоколу разрешения адресов (Address Resolution Protocol, ARP).

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

под IP-адрес, относится к номеру сети, а какая — к номеру узла?

Можно предложить несколько вариантов решения этой проблемы.

■ Простейший из них состоит в использовании фиксированной границы. При

этом все 32-разрядное поле адреса заранее делится на две части не обязательно

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

■ Второй подход (RFC 950, RFC 1518) основан на применении маски, которая позволяет максимально гибко устанавливать границу между номерами сети и узла. При таком подходе адресное пространство можно использовать для создания множества сетей разного размера.

Маска — это число, применяемое в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в 1Р-адресе.

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

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

Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый групповой адрес (multicast address). В то время как адреса классов А, В и С используются для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), групповой адрес идентифицирует группу сетевых интерфейсов, которые в общем случае могут принадлежать разным еетйм. Интерфейс, входящий в группу, получает наряду с обычным индивидуальным 1Р-адресом еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса Д то такой пакет должен быть доставлен всем узлам, которые входят в группу.

Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов

и сделать более гибкой систему адресации.

Пусть, например, для 1Р-адреса 129.64.134.5 указана маска 255.255.128.0,

то есть в двоичном виде 1Р-адрёс 129.64.134.5 — это:

10000001.01000000.10000110.00000101,

а маска 255.255.128.0 — это:

11111111.11111111.10000000.00000000.

Если же использовать маску, то 17 последовательных двоичных единиц в маске 255.255.128.0, «наложенные» на 1Р-адрес 129.64.134.5, делят его на две части:

■ номер сети: 10000001.01000000.1;

■ номер узла: 0000110.00000101.

В десятичной форме записи номера сети и узла, дополненные нулями до

32 бит, выглядят, соответственно, как 129.64.128.0 и 0.0.6.5.

Для стандартных классов сетей маски имеют следующие значения:

■ класс А - 11111111.00000000.00000000.00000000 (255.0.0.0);

■ класс В — 11111111.11111111.00000000.00000000 (255.255.0.0);

■ класс С — 11111111.11111111.11111111.00000000 (255.255.255.0).

Для записи масок используются и другие форматы. Чаще встречается обозначение 185.23.44.206/16 — эта запись говорит о том, что маска для этого адреса содержит 16 единиц или что в указанном IP-адресе под номер сети отведено 16 двоичных разрядов.

Для IP-сетей, являющихся частью Интернета, уникальность нумерации IP-адресов

обеспечивается специально созданными для этого органами Интернета:

центральной корпорацией ICANN (Internet Corporation for Assigned Names and Numbers) и региональными органами ARIN (Америка), RIP (Европа), LACNIC (Латинская Америка и страны Карибского бассейна), AfriNIC (Африка) и APNIC (Азия и Океания).

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

в стандартах Интернета определено несколько так называемых частных

адресов (private addresses), рекомендуемых для автономного использования:

■ в классе А — сеть 10.0.0.0;

■ в классе В — диапазон из 16 номеров сетей 172.16.0.0-172.31.0.0;

■ в классе С — диапазон из 255 сетей 192.168.0.0-192.168.255.0.

6 Символьные имена и служба DNS.

Пользователь компьютера может применять IP-адреса для того, чтобы работать с другими компьютерами, подключенными к Интернету или к его корпоративной IP-сети. Однако это не очень удобно, так как приходится запоминать ничего не говорящие последовательности цифр, разделенные точками. Гораздо проще запоминать символические адреса, например www.amazon.com или www.rutube.ru.

Иерархия доменных имен аналогична иерархии имен файлов, принятой во многих популярных файловых системах. Дерево имен начинается с корня, обозначаемого здесь точкой (.). Затем следует старшая символьная часть имени, вторая по старшинству символьная часть имени и т. д. Младшая часть имени соответствует конечному узлу сети. В отличие от имен файлов, при записи которых сначала указывается самая старшая составляющая, затем составляющая более низкого уровня и т. д., запись доменного имени начинается с самой младшей составляющей, а заканчивается самой старшей.

Совокупность имен, у которых несколько старших составных частей совпадают, образуют домен имен (name domain). Например, имена wwwl.zil.mmt.ru, ftp.zil.mmt.ru, yandex.ru и sl.mgu.ru входят в домен ru, так как все они имеют одну общую старшую часть — имя ru.

Образованные домены sl.mgu.ru, s2.mgu.ru и rn.mgu.ru являются поддоменами домена mgu.ru, так как имеют общую старшую часть имени.

По аналогии с файловой системой в доменной системе имен различают краткие, относительные и полные доменные имена. Краткое имя — это имя конечного узла сети: хоста или порта маршрутизатора. Краткое имя — это лист дерева имен. Относительное имя — это составное имя, начинающееся с некоторого уровня иерархии, но не самого верхнего. Например, www1.zil — это относительное имя. Полное доменное имя (Fully Qualified Domain Name, FQDN) включает составляющие всех уровней иерархии, начиная от краткого имени и кончая корневой точкой: www1.zil.mmt.ru.

В сетях TCP/IP соответствие между доменными именами и IP-адресами может устанавливаться средствами как локальных хостов, так и централизованной службы.

На раннем этапе развития Интернета на каждом хосте вручную создавался текстовый файл с известным именем hosts.txt.

По мере роста Интернета файлы hosts.txt также увеличивались в объеме, и создание масштабируемого решения для разрешения имен стало необходимостью. Таким решением стала централизованная служба DNS (Domain Name System — система доменных имен), основанная на распределенной базе отображений доменных имен на IP-адреса. Служба DNS использует в своей работе DNS-серверы и DNS-клиенты. DNS-серверы поддерживают распределенную базу отображений, а DNS-клиенты обращаются к серверам с запросами на разрешение доменных имен в 1Р-адрес.

Служба DNS использует текстовые файлы почти такого формата, как

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

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

Каждый DNS-сервер помимо таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов. Эти ссылки связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Для обслуживания корневого домена выделено несколько дублирующих друг друга DNS-серверов, IP-адреса которых являются широко известными (их можно узнать, например, в IANA/ICANN).

Существует две основные схемы разрешения DNS-имен. В первом варианте

работу по поиску IP-адреса координирует DNS-клиент:

1. DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного

имени.

2. DNS-сервер отвечает клиенту, указывая адрес следующего DNS-сервера, обслуживающего

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

запрошенного имени.

3. DNS-клиент делает запрос следующего DNS-сервера, который отсылает его

к DNS-серверу нужного поддомена и т. д., пока не будет найден DNS-сервер,

в котором хранится соответствие запрошенного имени IРтадресу. Этот сервер

дает окончательный ответ клиенту.

Такая процедура разрешения имени, в которой клиент сам итеративно выполняет

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

Эта схема загружает клиента достаточно сложной работой, и она

применяется редко.

Во втором варианте реализуется рекурсивная процедура.

1. DNS-клиент запрашивает локальный DNS-сервер, то есть тот сервер, обслуживающий

поддомен, которому принадлежит имя клиента.

2. Далее возможны два варианта действий:

О если локальный DNS-сервер знает ответ, то он сразу же возвращает его

клиенту (это может произойти, когда запрошенное имя входит в тот же

поддомен, что и имя клиента, или когда сервер уже узнавал данное соответствие

для другого клиента и сохранил его в своем кэше);

□ если локальный сервер не знает ответ, то он выполняет итеративные запросы

к корневому серверу и т. д. точно так же, как это делал клиент

в предыдущем варианте, а получив ответ, передает его клиенту, который

все это время просто ждет его от своего локального DNS-сервера.

Для ускорения поиска IP-адресов DNS-серверы широко применяют кэширование

проходящих через них ответов. Чтобы служба DNS могла оперативно отрабатывать

изменения, происходящие в сети, ответы кэшируются на относительно

короткое время — обычно от нескольких часов до нескольких дней.

7 Протокол DHCP.

Долгое время в IP-сетях адреса узлов назначались исключительно вручную.

Эта практика популярна и теперь, однако у администратора сети сейчас есть выбор, так как он может автоматизировать эту процедуру, воспользовавшись протоколом динамического конфигурирования хостов (Dynamic Host Configuration Protocol, DHCP).

DHCP-сервер может работать в различных режимах:

■ ручное назначение статических адресов;

■ автоматическое назначение статических адресов;

■ автоматическое распределение динамических адресов.

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

В режиме автоматического назначения статических адресов DHCP-сервер самостоятельно, без вмешательства администратора произвольным образом выбирает

клиенту IP-адрес из пула наличных IP-адресов. Адрес дается клиенту из пула в постоянное пользование, то есть между идентифицирующей информацией клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первого назначения DHCP-сервером IP-адреса клиенту. При всех последующих запросах сервер возвращает клиенту тот же самый 1Р-адрес.

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

DHCP-сервер может назначать хостам не только IP-адреса, но и другие параметры

конфигурации их стека TCP/IP, например адреса DNS-серверов, адрес

маршрутизатора по умолчанию, имена домена, к которому принадлежит хост.

8 Таблицы маршрутизации, методы их формирования.

Для того чтобы поддерживать произвольную топологию связей и обеспечивать

при этом рациональное продвижение IP-пакетов от источника, до узла назначения,

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

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

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

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

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

Такой критерий выбора маршрута получил название «количества хопов», где под «хопом» (hop — прыжок, перелет) понимается промежуточная сеть.

В общем случае сети, входящие в состав составной сети, могут обладать различной

пропускной способностью, и этот фактор будет влиять на время доставки пакета по тому или иному маршруту. Для того чтобы учесть влияние пропускной способности сетей, часто используют другой критерий выбора маршрута, называемый «расстоянием». С каждой сетью связывается расстояние, значение которого обратно пропускной способности сети. Например, если для сетей с пропускной способностью 1000 Мбит/с выбрать расстояние в одну условную единицу, то сети с пропускной способностью 100 Мбит/с будут связаны с расстоянием в 10 условных единиц, а сети с пропускной способностью 10 Мбит/с — в 100 таких единиц. При выборе маршрута суммарное расстояние от источника до адресата вычисляется простым суммированием расстояний промежуточных сетей и выбирается маршрут с минимальным суммарным расстоянием.

Если компьютер подключен к сети нижнего уровня, имеющей только один маршрутизатор, через который проходит путь ко всем внешним сетям, на компьютерах используются вырожденные таблицы маршрутизации, состоящие из одной записи Default. Традиционно такую единственную запись называют не таблицей маршрутизации, а просто адресом маршрутизатора по умолчанию (default gateway address).

Ручное Конфигурирование маршрутизаторов становится чересчур обременительным

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

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

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

■ RIP (Routing Information Protocol) — «старейший* протокол маршрутизации, появившийся в начале 70-х годов и применяющийся не только в IP-сетях. Очень простой протокол для реализации, требует небольшой доли вычислительной мощности маршрутизатора для своей работы. Использует только метрику в «хопах» при определении расстояния между сетями, что во многих случаях является очевидным недостатком. Не передает данные о подробной топологии сети своим соседям, что приводит к длительным периодам несогласованной работы маршрутизаторов при отказах линий связи или самих маршрутизаторов. Основная область применения — небольшие сети с простой топологией.

■ OSPF (Open Shortest Path First) — очень мощный протокол маршрутизации, разработанный для больших сетей со сложной топологией. Его достоинством является возможность использования метрики, учитывающей производительность сетей, а расширения этого протокола позволяют даже учитывать степень загруженности линий связей сетей при выборе рационального маршрута. Протокол передает полные сведения о топологии сети, что сокращает периоды нестабильной работы маршрутизаторов при отказах в сети. Недостаток протокола связан с его большой вычислительной сложностью, что может перегрузит процессор маршрутизатора.

■ IS-IS for IP (Intermediate System-Intermediate System for IP) — этот протокол близок по функциональности к OSPF. Он появился раньше, чем OSPF, и первоначально был создан не для IP-сетей, но затем был доработан для применения и в 1Р-сетях.

■ BGP (Border Gateway Protocol) — единственный стандартный протокол для

обмена маршрутной информацией между маршрутизаторами различных автономных

систем Интернета (Internet Autonomous Systems). Достаточно давно архитекторы Интернета поняли, что для создания такой глобальной сети нужна гибкость в использовании протоколов маршрутизации. В результате появилась концепция автономной системы, которая представляет собой набор сетей под административным контролем одной организации не единым протоколом маршрутизации внутри этого набора, позволяющим маршрутизаторам автономной системы общаться между собой и строить эффективные таблицы маршрутизации. В то же время между автономными системами должен применяться общий протокол маршрутизации, своего рода эсперанто, на котором должны «разговаривать» пограничные маршрутизаторы автономных систем. Такой протокол маршрутизации обычно называют внешним (exterior) протоколом маршрутизации, в отличие от внутренних (interior) протоколов маршрутизации, применяемых внутри автономных систем. В настоящее время таким единым стандартным внешним протоколом маршрутизации является BGP. Все остальные из перечисленных протоколов маршрутизации являются внутренними.

Кроме того, таблица, созданная автоматически протоколом или протоколами

маршрутизации, может дополняться записями, задаваемыми администратором

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

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

9 Структура транспортных средств универсальной ОС. Конфигурирование параметров стека TCP/IP.

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

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

В рассмотренном ранее примере мы затронули вопросы конфигурирования стека TCP/IP компьютера, упомянув о необходимости задания адреса маршрутизатора по умолчанию. Однако это не единственный параметр, который нужен ОС компьютера, чтобы ее стек TCP/IP работал нормально.

Рассмотрим два случая: ручного конфигурирования стека TCP/IP компьютера и вариант использования для этого DHCP-сервера, работающего на маршрутизаторе.

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

■ IP-адрес сетевого адаптера компьютера;

■ маска IP-адреса компьютера;

■ IP-адрес маршрутизатора по умолчанию;

■ 1Р-адрес DNS-сервера, который будет обслуживать запросы данного компьютера.

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

После задания пула адресов клиентов на

DHCP-сервере для этого пула необходимо задать адрес маршрутизатора по

умолчанию и адреса DNS-серверов. Вся эта конфигурационная информация

будет передаваться клиентским компьютерам подсети в ответ на их DHCP-запросы.

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

10 Модели сетевых служб и распределенных приложений.

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

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

способ разделения приложения на части, выполняющиеся на разных компьютерах

сети;

выделение специализированных серверов в сети, на которых выполняются

некоторые общие для всех приложений функции;

способ взаимодействия между частями приложений, работающих на разных

компьютерах.

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

■ средства представления данных на экране, например средства графического

пользовательского интерфейса;

■ логика представления данных на экране описывает правила и возможные

сценарии взаимодействия пользователя с приложением: выбор в системе

меню, выбор элемента в списке и т. п.;

■ прикладная логика — набор правил для принятия решений, вычислительные

процедуры и операции;

■ логика данных — операции с данными, хранящимися в некоторой базе, которые

нужно выполнить для реализации прикладной логики;

■ внутренние операции базы данных — действия СУБД, вызываемые в ответ

на выполнение запросов логики данных, такие как поиск записи по определенным

признакам;

■ файловые операции — стандартные операции с файлами и файловой системой,

которые обычно являются функциями операционной системы.

На основе этой модели можно построить несколько схем распределения частей

приложения между компьютерами сети.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: