Программное обеспечение компьютерных сетей

"Файл-серверная" и "клиент-серверная" архитектуры. Сетевые операционные системы. Одноранговые NOS и с выделенными серверами. Семейство сетевых ОС Windows, ОС UNIX, Linux. Программное обеспечение для работы в интернет. Назначение службы доменных имен DNS.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 19.01.2012
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

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

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

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

Файловая система

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

Каждый каталог и файл файловой системы имеет уникальное полное имя (в ОС UNIX это имя принято называть full pathname - имя, задающее полный путь, поскольку оно действительно задает полный путь от корня файловой системы через цепочку каталогов к соответствующему каталогу или файлу; мы будем использовать термин "полное имя", поскольку для pathname отсутствует благозвучный русский аналог). Каталог, являющийся корнем файловой системы (корневой каталог), в любой файловой системе имеет предопределенное имя "/" (слэш).

Принципы защиты

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

Идентификаторы пользователя и группы пользователей

При входе пользователя в систему программа login проверяет, что пользователь зарегистрирован в системе и знает правильный пароль (если он установлен), образует новый процесс и запускает в нем требуемый для данного пользователя shell. Но перед этим login устанавливает для вновь созданного процесса идентификаторы пользователя и группы, используя для этого информацию, хранящуюся в файлах /etc/passwd и /etc/group. После того, как с процессом связаны идентификаторы пользователя и группы, для этого процесса начинают действовать ограничения для доступа к файлам. Процесс может получить доступ к файлу или выполнить его (если файл содержит выполняемую программу) только в том случае, если хранящиеся при файле ограничения доступа позволяют это сделать. Связанные с процессом идентификаторы передаются создаваемым им процессам, распространяя на них те же ограничения. Однако в некоторых случаях процесс может изменить свои права с помощью системных вызовов setuid и setgid, а иногда система может изменить права доступа процесса автоматически.

Защита файлов

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

Защита файлов от несанкционированного доступа в ОС UNIX основывается на трех фактах. Во-первых, с любым процессом, создающим файл (или справочник), ассоциирован некоторый уникальный в системе идентификатор пользователя (UID - User Identifier), который в дальнейшем можно трактовать как идентификатор владельца вновь созданного файла. Во-вторых, с каждый процессом, пытающимся получить некоторый доступ к файлу, связана пара идентификаторов - текущие идентификаторы пользователя и его группы. В-третьих, каждому файлу однозначно соответствует его описатель - i-узел.

Обзор Системы Linux

Любая UNIX-подобная операционная система состоит из ядра и некоторых системных программ. Также существуют некоторые прикладные программы для выполнения какой-либо задачи.

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

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

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

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

Графический интерфейс пользователя

Как в системе UNIX, так и в Linux, пользовательский интерфейс не встраивается в ядро системы. Вместо этого он представляется программами пользовательского уровня. Это применяется как к текстовым, так и к графическим оболочкам.

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

Первоначально используемой с системой Linux графической оболочкой была система X Window System (сокращенно X). Она не реализует пользовательский интерфейс, а только оконную систему, т. е. средства, с помощью которых может быть реализован графический интерфейс. Три наиболее популярных версии графических интерфейсов на основе X - это Athena, Motif и Open Look.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ РАБОТЫ В ИНТЕРНЕТ

Начиная с первой половины 1990 годов для работы с Интернет, и, прежде всего, со Всемирной Паутиной, создаются специальные программы-браузеры (от английского "browse" - просмотр). В российской практике название "браузер" закрепилось достаточно прочно, хотя в некоторых случаях употребляется и прямой перевод на русский язык - "программа-просмотрщик" или "обозреватель".

История браузеров берет свое начало с программы Lynx. Это был текстовой браузер, не способный работать с графикой и тем более с аудио- и видеоприложениями. Эра графических браузеров была открыта с созданием браузера Mosaic, который впервые позволил пользователям увидеть красочный мир Всемирной паутины. Сегодня в мире существует не менее десятка различных браузеров. К наиболее распространенным относятся производимый компанией Microsoft Internet Explorer, Opera (компания Opera Software ASA), Mozilla (создается на основе открытой лицензии), Konqueror (KDE Project), Netscape Navigator (компания Netscape/AOL). Помимо браузеров, каждый из которых использует оригинальное программное ядро, существует множество программных надстроек над браузерами, которые добавляют в них некоторые полезные функции.

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

Так, например, Netscape Navigator, единолично лидировавший в 1994 - 1997 годах, в начале 2000 годов практически полностью уступил свои позиции продукту Microsoft, который, в свою очередь, начинает испытывать давление со стороны Opera и Mozilla. Естественно на популярность браузеров накладывает отпечаток и распространенность в мире тех или иных операционных систем. Так, популярность Windows расширяет число поклонников Internet Explorer, а увеличение доли различных вариантов Unix - число пользователей Mozilla, Netscape или Konqueror. При этом качественные показатели программных продуктов не всегда играют ключевую роль.

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

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

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

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

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

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

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

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

Система адресации в интернет

Интернет в целом и, в частности, Всемирная Паутина (World Wide Web) имеют стройную систему адресации, обеспечивающую точную идентификацию каждого входящего в Сеть узла путем присвоения ему оригинального адреса, имеющего числовой вид. Подобный код, называемый IP-адресом, выглядит как 195.218.218.38 или 193.124.148.65, что позволяет обозначить все параметры, начиная от страны и заканчивая персональным компьютером каждого пользователя.

Однако большую известность имеет DNS (Domain Name System - система доменных имен). Ее задача - обеспечить уникальность каждого адреса в Сети, без необходимости запоминания чисел. Именно сервер DNS производит преобразование символьных (буквенных) адресов в числовые. Система образования доменных имен также логична и проста. Адрес любого web-сервера начинается с аббревиатуры http, обозначающей вид протокола передаваемых данных, в данном случае это HyperText Transmission Protocol (Протокол передачи гипертекста). Далее следуют двоеточие, две косые черты и латинские буквы www, после которых ставится точка. Затем идет конкретный адрес, содержащий название учреждения, персоны или аббревиатуру и, через точку, - указание на организационную или географическую принадлежность объекта. Организационная принадлежность, указываемая преимущественно для американских серверов, обозначается тремя символами, интуитивно понятными знающим английский язык: gov - правительственные, edu - образовательные, com - коммерческие, org - неправительственные и некоммерческие учреждения, mil - военные, net - сами сети. Географическая принадлежность выражается двумя символами: .ru - Россия, .uk - Великобритания, .ca - Канада, .nl - Нидерланды и т.д.

Так, например, адрес web-сервера Библиотеки Конгресса США - http://www.loc.gov, Гарвардского университета - http://www.harvard.edu, автомобильной корпорации "Форд" - http://www.ford.com, Российской Академии наук (Russian Academy of Science) - http://www.ras.ru, Российской Государственной библиотеки - http://www.rsl.ru. Ряд стран, в числе которых Австралия и Япония, используют одновременно как географический, так и организационный код.

Например, адрес технологического университета в Сиднее (University of Technology, Sidney) будет иметь вид http://www.uts.edu.au, а сайт японской корпорации Sony - http://www.sony.co.jp. С конца 90-х годов в самих США, наряду с трехсимвольными доменами первого уровня, стали широко применяться двухуровневые домены, сформированные по географическому принципу.

В подобных доменных именах указывается как страна - us, так и конкретный штат - fl - Флорида, ca - Калифорния, md - Мэриленд. За этим двухступенчатым адресом следует стандартное указание объекта. Например, http://www.ci.gulfport.fl.us - официальный сайт городка Галфорт во Флориде, http://www.ci.san-leandro.ca.us - сайт города Сан Леонардо в Калифорнии.

В течении всех 90-х годов описанная система имен оставалась неизменной. Но к началу нынешнего века гигантские темпы развития Интернет привели к тому, что адресное пространство в рамках описанной системы было практически исчерпано. Особо "тесно" стало в доменах .com, .net и .org, в которых была разрешена регистрация не только американских, но любых других фирменных или персональных сайтов представителей любой страны мира. С целью разгрузить данные домены Корпорация по распределению в Интернет доменных имен и IP-номеров (Internet Corporation for Assigned Names and Numbers - ICANN) дополнила существующую сетку новыми доменами первого уровня. В их число вошли: .biz, .info, .pro, .aero, .coop, .museum, .name. Распределение этих имен было произведено следующим образом:

.biz - коммерческие компании и проекты;

.info - учреждения, для которых информационная деятельность является ведущей (библиотеки, средства массовой информации);

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

.aero - компании и персоны, непосредственно связанные с авиацией;

.coop - корпорации, использующие совместный капитал (от слова cooperative);

.museum - только музеи, архивы, выставки;

.name - персональные сайты, состоящие, как правило, из двух частей: имени и фамилии: www.bruce.edmonds.name.

Помимо деятельности ICANN, весьма своеобразную работу по расширению адресного пространства Интернет провели некоторые частные компании. Их действия выразились в перекупке доменных имен у малых стран. Подобным образом в частное использование отошли домены .cc - Кокосовые острова, .tv - Тувалу, .ws - Самоа, .bz - Белиз, .nu - Ниуи. Сайты в этих доменах ныне используются любым желающим, независимо от страны или вида деятельности.

Распределением адресного пространства в пределах каждого домена, выделенного по географическому признаку, занимаются уполномоченные национальные агентства. В России эта функция возложена на Российский научно-исследовательский институт развития общественных сетей - РосНИИРОС (http://www.ripn.net). Именно в нем производится регистрация всех доменных имен второго уровня, стоящих за .ru. Там же находится и база данных, позволяющая установить, кому принадлежит тот или иной домен в российском сегменте Сети. Часто встречающиеся доменные имена третьего уровня (например, shuya2002.nm.ru) не подлежат регистрации. Любой владелец доменного имени второго уровня вправе образовать любое число подобных сайтов на своем сервере.

Система доменных имен, однако, являет лишь основу системы адресации. Каждый размещенный в Интернет документ имеет собственный адрес, обозначаемый как URL (Uniform Resource Locator) - единый указатель ресурса. URL, помимо указания доменного имени, включает также и указание пути к конкретной странице. Сайты, в большинстве своем, имеют весьма разветвленную иерархическую структуру, каркас которой составляют многочисленные директории, разделяемые косыми чертами. Поэтому адрес конкретного документа, как правило, имеет вид, подобный приведенному документу с сервера ГПНТБ России: http://www.gpntb.ru/win/inter-events/crimea2003/conferr.htm. В данном случае http://www.gpntb.ru - указание сайта, win/inter-events/crimea2003 - указание пути к файлу (фактически - перечень директорий), conferr.htm - имя конкретного файла. Следует помнить, что при вводе адреса вручную ошибка даже в одном символе критична. По этой причине не рекомендуется переносить (записывать) сложные адреса на бумаге и затем вводить их вручную с клавиатуры - вероятность ошибки в этом случае очень велика. При необходимости сохранить сложный адрес имеет смысл произвести его копирование непосредственно из адресной строки в текстовой файл, а при необходимости обращения к документу - произвести обратный процесс: копирование из текстового файла в адресную строку программы, обеспечивающей работу с Интернет.

НАЗНАЧЕНИЕ СЛУЖБЫ ДОМЕННЫХ ИМЕН DNS

Из всех многочисленных сетевых служб, работающих на прикладном уровне и обрабатывающие сетевые запросы клиентов, существует одна без которой и всем остальным работать очень тяжело, если вообще возможно. Эта служба называется DNS (Domain Name Service - служба доменных имен).

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

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

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

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

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

История возникновения DNS

Важное добавление: соответствие имени и ip-адреса. Во времена, когда адресов в интернете было где-то около 15, существовал файл под названием etc hosts, который содержал базу данных по всем именам этих адресов. Его формат очень простой - IP-адрес и имена, ему соответствующие (файл это используется и сейчас, но обычно хранит только имена самого компьютера).

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

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

* во-вторых - администраторы всех компьютеров на свете почему-то не хотят скачивать постоянно /etc/hosts из центрального хранилища, предпочитая писать /etc/hosts собственноручно, и он, естественно, не совпадает у всех компьютеров в интернете.

В какой-то момент стало очевидным то, что файлом /etc/hosts дело ограничиться не может и что надо создать некую систему, которая сама преобразовывала строковое имя в числовой адрес и обратно. Но если общего файла не существует, то надо использовать некую программу с этими функциями. А тогда появилась идея: поскольку администраторы сами пишут /etc/hosts, то пусть они и дальше сами раздают имена компьютерам в своей области владения, т.е.: ты администрируешь какие-то компьютеры - значит, раздать им имена - тоже твоя обязанность. Таким образом, решается задача - преобразования доменных имен в адреса и обратно.

Решение задачи состоит в том, что у каждого системного администратора есть свой файл преобразования хостов и IP-адресов. Точнее не файл, а специальная таблица (ее вид зависит от используемого DNS-сервера), распределенная по вышеизложенной схеме.

Организация системы доменных имен

Мировая система доменных имен организована следующим образом: существует несколько корневых серверов, которые ни в коем случае не знают все имена всех компьютеров в сети (и, более того, не обязаны этого знать). Вместо этого они содержат информацию о так называемых зонах DNS, состоящих из одного имени. Например, существуют зоны ru, com, info, de и так далее. Во-первых, они знают о том, какие имена первого уровня существуют в принципе, поскольку их относительно немного. Недавно их было совсем мало - в старых справочниках по интернету указывались только com, net, org, edu, gov и еще несколько зон, связанных с государствами, по двухбуквенным кодам. В какой-то момент было принято решение сильно расширить диапазон, а недавно приняли решение, что для записи имен зон будет использоваться кодировка юникод, что позволит создать имена зон на национальных алфавитах.

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

Если посмотреть в словаре слово домен, мы узнаем, что оно появилось очень давно, и означает оно область владений феодального вассала. Феодальная структура была устроена пирамидально и самое главное - по принципу (соблюденному и в DNS) "вассал моего вассала - не мой вассал". Т.е. сервер отвечает за своих непосредственных подчиненных, и не отвечает за прямых подчиненных, которые не являются непосредственными.

Рассмотрим доменное имя cs.msu.ru. Сервер, который отвечает за зону ru, отвечает только за сервера имен тех хостов, которые имеют двусложные имена, оканчивающиеся на "ru" (www.ru, msu.ru и т.д). А если в имени больше составляющих, то сервер имен зоны ".ru" не обязан знать ip-адрес сервера имен хоста, хотя он может и хранить его в силу разных причин.

Но он обязан знать адрес сервера имен хоста msu.ru. Дальше запрашивается сервер имен msu.ru, а он уже обязан ответить, кто такой cmc.msu.ru либо сообщить его сервер имен, и так далее. В итоге мы получим в ответ либо ip-адрес, либо сообщение о том, что такого домена нет.

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

Производительность и надежность системы доменных имен

В описанном процессе преобразования доменного имени в IP-адрес есть одна проблема: неужели, каждый раз, когда нам понадобится, находясь в каком-то другом домене, зайти на факультетский почтовой сервер, потребуется запрашивать корневой сервер? Тогда зачем все это было придумано, ведь число запросов на корневые сервера будет по прежнему огромно?

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

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

Таким образом, если мы один раз выяснили, что имени cs.msu.ru соответствует некий адрес, то в течение времени задержки на изменение - т.е. времени, в течении которого эта запись гарантированно не будет меняться - мы можем эту запись поместить в кеш доменных имен и не обращаться за ним к серверам имен в дальнейшем. Каждая такая таблица имеет свое время жизни (около недели), и время, в течение которого содержимое считается актуальным. Это сильно снижает нагрузку, поскольку в первый раз происходит взаимодействие по всей иерархии DNS, а в следующие разы взаимодействия не происходит, пока время задержки на изменение еще не истекло. И даже когда время актуальности истечёт, то возможно, что не будет происходить все преобразование имени, а произойдет всего лишь запрос вышестоящему серверу имен, не обновились ли данные у него. И если он отвечает "нет", то записью можно пользоваться дальше.

2. Чем больше в распределенной системе узлов, тем ниже совокупная надёжность самой системы. Для борьбы с этим тоже годится использование кеширования. Сильно повышает надежность требование, чтобы NS-серверов было более одного. И желательно, чтобы у них были существенно разные IP-адреса. При этом для удобства администратора система устраивается так, что пользователю было абсолютно всё равно, какой из NS-серверов ему ответил. Все NS-сервера равноправны. Вопрос: а как несчастный администратор будет редактировать файлы сразу на двух машинах, которые лежат в абсолютно разных местах интернета?

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

3. Некоторое ограничение свободы обычного пользователя. Дело вот в чём: если вы обращаетесь к какому-либо NS-серверу с запросом относительно преобразования IP-адреса, никакого отношения к домену, за который отвечает этот сервер, не имеющего, то он имеет право ответить "не знаю". Такой запрос (на который можно получить ответ "не знаю") называется нерекурсивным. Все DNS-сервера в сети отвечают на нерекурсивные запросы. Другой вариант: когда вы обращаетесь к серверу с т.н. рекурсивным запросом, тогда NS-сервер самостоятельно обращается к корневому и так далее. В итоге либо преобразование будет произведено, либо вам ответят, что нет такого имени, либо вам ответят, что время запроса превысило лимит. И в отличие от нерекурсивного запроса, рекурсивные запросы обычно разрешены только для "своих" машин, т.е. решение, удовлетворяет ли сервер рекурсивные запросы или нет, принимает системный администратор этого сервера. В результате получается так, что далеко не все компьютеры могут посылать далеко не всем NS-серверам рекурсивные запросы. Как правило, существует два уровня: существует некая группа адресов, которым доверяют и они могут посылать рекурсивные запросы, а остальным нельзя.

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

Схема преобразования DNS-имени cs.msu.ru в его ip-адрес с учетом всего сказанного выше представлена на рисунке. Предполагается, что требуемый адрес не найден ни в одном кеше, и поэтому система DNS выполняет максимально возможное число запросов. На практике каждый DNS-ответ возвращает адреса нескольких серверов имен (в данном случае - до семи), но для простоты на рисунке указан только один.

Литература

Якубайтис Э.А. Информационные сети и системы: Справочная книга. - М.: Финансы и статистика, 1996.

Бэрри Нанс. Компьютерные сети пер. с англ. - М.: БИНОМ, 1996.

Основы современных компьютерных технологий под редакцией А.Д. Хомоненко- СПб КОРОНА принт, 1998.

Ресурсы Microsoft Windows NT Workstation 4.0 пер. с англ. яз. BNV - СПб, 1998.

Титтел Эд, Хадсон Курт, Дж. Майкл Стюард Networking Essentials - СПб ПИТЕР, 1999.

Титтел Эд, Хадсон Курт, Дж. Майкл Стюард TCP/IP - СПб ПИТЕР, 1999.

Компьютерные сети: Учебный курс Microsoft Corporation - М.: Издательский отдел «Русская редакция», 1999.

Глоссарий сетевых терминов http://www.bilim.com/koi8/library/glossary/

Справочник Novell Netware 4 С.Б. Орлов, по заказу ИИЦ "Попурри", 1994. http://www.citforum.kts.ru/operating_systems/nw4/

CISCO Internetworking Technology Overview Сервер Марк-ИТТ, Владимир Плешаков http://www.citforum.ru/win/nets/ito/index.shtml.

Стэн Шатт Мир компьютерных сетей пер. с англ. - К.: BHV, 1996 - 288 c.: ISBN 5-7733-0028-1.

Модель OSI Сервер BiLiM Systems Ltd.

http://www.citforum.ru/win/nets/switche/osi.shtml.

Руководство по сетям Ethernet для начинающих - http://www.citforum.ru/win/nets/ethernet/starter.shtml.

Базовые технологии локальных сетей http://www.citforum.ru/win/nets/protocols2/index.shtml.

Введение в IP-сети http://www.citforum.ru/win/nets/ip/contents.shtml

Практическое руководство по сетям Plug-and-Play Ethernet http://www.citforum.ru/win/nets/ethernet/pract.shtml.

Семейство протоколов TCP/IP http://www.citforum.ru/win/internet/tifamily/index.shtml.

Статическая IP-маршрутизация, Дмитрий Карпов http://www.citforum.ru/win/internet/tifamily/iproutng.shtml.

Протоколы TCP/IP Д. Комер "Межсетевой обмен с помощью TCP/IP" http://www.citforum.ru/win/internet/comer/contents.shtml.

Протокол IP Радик Усманов http://www.citforum.ru/win/internet/tifamily/ipspec.shtml.

Операционные системы http://citforum.ru/operating_systems/index.shtml.

Концентраторы. http://www.idcom.ru/rationet/sysint/active.htm#nic.

Структурированные кабельные системы http://www.idcom.ru/rationet/sysint/cabsys.htm#magistral.

Типы соединений по витой паре http://ixbt.stack.net/comm/cable_utp.html.

Кабельные системы Ethernet http://www.bilim.com/koi8/bay/netgear/cables.htm.

Кабельные системы http://old.pcweek.ru/97_40/koi/re1.htm.

Физический уровень 100Base-FX - многомодовое оптоволокно http://www.citforum.ru/nets/protocols2/2_06_06.shtml.

Средства согласования протоколов на физическом и канальном уровнях http://www.citforum.ru/win/nets/tpns/glava_3.shtml.

Кабельные каналы http://www.idcom.ru/rationet/sysint/chanels.htm.

Роль коммуникационных протоколов и функциональное назначение основных типов оборудования корпоративных сетей. Н. Олифер, В. Олифер, ЦИТ http://www.citforum.ru/win/nets/protocols/index.shtml.

Физическая структуризация локальной сети. Повторители и концентраторы. Н. Олифер, В. Олифер, ЦИТ http://www.citforum.ru/win/nets/protocols/1_03_04.shtml.

Сетевые операционные системы. Н. А. Олифер, В. Г. Олифер, ЦИТ, http://www.citforum.kcn.ru/operating_systems/sos/contents.shtml.

Технология корпоративных сетей. М. Кульгин. - СПб ПИТЕР, 1999.

В.М.Баканов Программное обеспечение компьютерных сетей и информационных систем (конспект лекций) http://pilger.mgapi.edu/methods/nets.zip.

Размещено на Allbest.ru


Подобные документы

  • Общая характеристика требований, предъявляемых к операционным системам. Структура сетевой операционной системы (ОС). Одноранговые сетевые ОС и с выделенными серверами. Сетевые продукты Microsoft. ОС для рабочих групп и ОС для сетей масштаба предприятия.

    дипломная работа [83,7 K], добавлен 27.09.2012

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

    курсовая работа [3,7 M], добавлен 10.07.2014

  • Модели баз данных. Локальная, файл-серверная, клиент-серверная и распределенная архитектуры. Технология BDE для доступа к данным. Драйверы баз данных. Создание таблицы, интерфейс программы, дерево объектов, инсталлятор. Системы визуальной разработки.

    курсовая работа [989,5 K], добавлен 04.06.2013

  • Понятие сети ЭВМ и программного обеспечения компьютерных сетей. Локальные, корпоративные и глобальные вычислительные сети. Технологии сетевых многопользовательских приложений. Сетевые ОС NetWare фирмы Novell. Назначение службы доменных имен DNS.

    учебное пособие [292,6 K], добавлен 20.01.2012

  • Назначение и сущность системы доменных имен (DNS) и службы имен Интернет для Windows (WINS). Запросы, зоны и инструменты DNS. Служебные программы командной строки. Установка и настройка DNS-сервера. Записи ресурсов узлов, псевдонимов и размещения службы.

    презентация [553,6 K], добавлен 10.11.2013

  • Классификация программного обеспечения, его особенности, назначение. Программное обеспечение для работы с текстом, изображением, прикладное, офисное, для работы в Интернете. Системы программирования, специфика программного обеспечения, что такое вирусы.

    презентация [1,2 M], добавлен 25.02.2010

  • Программное обеспечение современных ЭВМ: файловые менеджеры (Проводник, Windows Commander, Far), сравнительный анализ. Windows Explorer – он же Проводник Windows, описание и характеристика, а также Frigate 5.0, AB Commander 6.1a, и другие программы.

    реферат [21,6 K], добавлен 09.12.2008

  • Особенности, отличия, топология и функционирование локальных компьютерных сетей. Программное обеспечение информационно-вычислительных сетей. Основные протоколы передачи данных, их установка и настройка. Аутентификация и авторизация; система Kerberos.

    курсовая работа [67,7 K], добавлен 20.07.2015

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

    реферат [20,0 K], добавлен 05.10.2011

  • Основное программное обеспечение для автоматизации производства. Финансовые и коммуникационные системы. Системы планирования и управления. Текстовые редакторы и табличные процессоры. Финансовое программное обеспечение. Шрифтовые технологии в документах.

    шпаргалка [551,9 K], добавлен 16.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.