Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 176
Текст из файла (страница 176)
Файловый сервер, моделируемый листингом 6.1, далек от совершенства Можно внести некоторые улучшения. Проделайте следующие изменения: 1) пусть у клиента появится третий аргумент, указывающий байтовый диапазон; 2) добавьте флаг -вл в программу клиента, который позволил бы записывать файл на сервер.
44. Измените программу, приведенную в листинге 6.2, таким образом, чтобы она выполняла восстановление после сбоев. Добавьте новый тип пакета тезей который может прибывать после того, как соединение было открыто обеими сторонами и никем не закрыто. Это событие, происходящее на обоих концах соединения, означает, что любые пакеты, находившиеся в пути, были либо доставлены, либо уничтожены, но в любом случае они больше не находятся в сети. 45.
Напишите программу, моделирующую управление буфером транспортной сущностью и использующую алгоритм скользящего окна вместо примененной в листинге 6.2 системы кредитов. Пусть процесс более высокого уровня случайным образом открывает соединения, посылает данные и закрывает соединения. Для простоты, пусть все данные передаются только с машины А на машину В. Поэкспериментируйте с различными стратегиями выделения буферов на машине В, например, выделяя буферы каждому соединению и организуя общий буферный пул, и измерьте полную пропускную способность, достижимую в каждом случае. 46. Разработайте и реализуйте систему сетевого общения (чат), рассчитанную на несколько групп пользователей.
Координатор чата должен располагаться по хорошо известному сетевому адресу, использовать для связи с клиентами протокол ()1)Р, настраивать чат-серверы перед каждой сессией облцения и поддерживать каталог чат-сессий. На каждую сессию должен выделяться один обслуживаюлций сервер. Для связи с клиентами сервер должен использовать ТСР. Клиентская программа должна позволять пользователям начинать разговор, присоединяться к уже ведущейся дискуссии и покидать сессию.
Разработайте и реализуйте код координатора, сервера и клиента Глава 7 Прикладной уровень Ф Служба имен доменов В(чЯ Ф Электронная почта Ф Всемирная паутина (уууууу) Ф Мультимедиа Ф Резюме Ф Вопросы Покончив с изучением базовых сведений о компьютерных сетях, мы переходим к уровню, на котором расположены все приложения. Все уровни, находящиеся в модели 051 ниже прикладного, служат для обеспечения надезкной доставки данных, но никаких полезных для пользователя действий не производят. В этой главе мы изучим некоторые реальные сетевые приложения.
Разумеется, даже прикладной уровень нуждается в обслуживающих протоколах, с помощью которых осуществляется функционирование приложений. Соответственно, прежде чем начать рассмотрение самих приложений, мы изучим один из таких протоколов. Речь идет о службе имен доменов, 1)ЫВ, обеспечивающей присвоение имен в Интернете. Затем мы рассмотрим три реально действующих приложения: электронную почту, Всемирную паутину и, наконец, мультимедиа. Служба имен доменов ОМВ Хотя программы теоретически могут обращаться к хостам, почтовым ящикам и другим ресурсам по их сетевым адресам (например, 1Р), пользователям запоминать их тяжело.
Кроме того, отправка электронной почты на адрес Тапуа©128.111.24А1 будет означать, что в случае переезда сервера таниного про- Служба имен доменов СХЗ 659 вайдера или организации на новое место с новым 1Р-адресом придется изменить ее адрес е-гпа11. Для отделения имен машин от их адресов было решено использовать текстовые АБСП-имена. Поэтому танин адрес более привгячно выглядит в таком виде: Тапуайаг1.псзЬ.ебо. Тем не менее, сеть сама по себе понимает только численные адреса, поэтому нужен механизм преобразования АБСП-строк в сетевые адреса.
В следующих разделах мы изучим, как производится это отображение в Интернете. Когда-то давно в сети АКРАХЕТ соответствие между текстовыми и двоичными адресами просто записывалось в файле лозы.ГАт, в котором перечислялись все хосты и их 1Р-адреса. Каждую ночь все хосты получали этот файл с сайта, на котором он хранился. В сети, состоящей из нескольких сотен больших машин, работаюших под управлением системы с разделением времени, такой подход работал вполне приемлемо. Но когда к сети подключились тысячи рабочих станций, всем стало ясно, что этот способ не сможет работать вечно.
Во-первых, размер файла рано пли поздно стал бы слишком большим. Однако, что еше важнее, если управление именами хостов не осуществлять централизованно, неизбежно возникновение конфликтов имен. В то же время, представить себе централизованное управление именами всех хостов гигантской международной сети довольно сложно. Для разрешения всех этих проблем и была разработана служба имен доменов (1)ХВ, 1)оша1п Хаше Бузге1п), Суть системы 1)ХБ заключается в иерархической схеме имен, основанной на доменах, и распределенной базе данных, реализующей эту схему имен. В первую очередь эта система используется для преобразования имен хостов и пунктов назначения электронной почты в 1Р-адреса, но также может использоваться и в других целях. Определение системы 1ЭХБ дано в КРС 1034 и 1035.
В обших чертах система 1)ХБ применяется следующим образом. Для преобразования имени в 1Р-адрес прикладная программа обрашается к библиотечной процедуре, называющейся распознавателем, передавая ей имя в качестве параметра. Распознаватель посылает 1ЛЭР-пакет локальному ОХИ-серверу, который ишет имя в базе данных и возвращает соответствующий 1Р-адрес распознавателю, который, в свою очередь, передает этот адрес вызвавшей его прикладной программе. Имея 1Р-адрес, программа может установить ТСР-соединение с адресатом или послать ему 1)РР-пакеты.
Пространство имен 0й8 Управление большим и постоянно изменяющимся набором имен представляет собой нетривиальную задачу. В почтовой системе на письмах требуется указывать (явно или неявно) страну, штат или область, город, улицу, номер дома, квартиру и фамилию получателя. Благодаря использованию такой иерархической схемы не возникает путаницы между Марвином Андерсоном, живущим на Мейн- стрит в Уайт Плейнс, штат Нью-йорк, и Марвином Андерсоном с Мейн-стрит в Остине, штат Техас.
Система ОХЗ работает аналогично. 660 Глава 7. Прикладной уровень Интернет концептуально разлелен на 200 доменов верхнего уровня. Доменами называют в Интернете множество хостов, объединенное в логическую группу Каждый домен верхнего уровня полразлеляется на поддомены, которые, в свою очередь, также могут состоять из других доменов, и т. д.
Все эти домены можно рассматривать в виде дерева, показанного на рис. 7.1. Листьями дерева являются домены, не разделяющиеся на пог1домены (но состоящие нз хостов, конечно). Такой конечный домен может состоять из одного хоста или может представлять компанию и содержать в себе тысячи хосефов, ° — — + асгп !еее согп еои Воч 1 ! 1 епд се епд /~ 1 гоьо! ! ! Кем пес 1 ! св св! рс24 !п1 ов и! г'~ ! З!1в ВМ!! Рис. 7.1. Часть доменного пространства имен Интернета Домены верхнего уровня разделяются на две группы: родовые домены и домены государств. К родовым относятся домены сот (соттегс!а1 — коммерческие организации), егуи (едпса11опа! — учебные заведения), доо (яочегпп!епг — федеральное правительство сшА), тпг (щгептабопа! — определенные межлународные организации), т!7 (пй!!Сагу — вооруженные силы США), пет (пестует!1 — сетевые операторь! связв) и огп (некоммерческие организации).
За каждым государством в соответствии с международным стандартом 130 3166 закреплен один ломсн государства. В ноябре 2000 года !СЕ!Ч было утверждено 4 новых родовых имени доменов верхнего уровня, а именно: Ь!г (бизнес), т/о (информация), лате (имена люлей) и рго (специалисты, такие как доктора и алвокаты). Кроме того, по просьбе соответствующих отраслевых организаший были введены еще три специализированных имени доменов верхнего уровня: аего (аэрокосмическая промышленность), соор (кооперативы) и пгиэеигп (музеи). В будущем появятся и другие домены верхнего уровня.
Между прочим, по мере коммерциализации Интернета появляется все больше спорных вопросов. Взять хотя бы домен рго. Он предназначен лля сертифицированных специалистов. Но кто является специалистом, а кто нет? Кем лолжны быть эти специалисты сертифицированы7 Понятно, что доктора и адвокаты— это профессионалы, спору нет.
А что делать со свободными художниками, учителями музыки, заклинателями, водопроводчиками, парикмахерами, мусорщиками, рисователями татуировок, наемниками и проститутками7 Имеют ли право Слу>хба имен доменов с>!ЧЗ 661 квалифицированные представители всех этих и многих других профессий получать домены рго? Если да, то кто выдаст сертификат каждому из этих специщпистов? В принципе, получить домен второго уровня типа пате-о~-сотрапу.сот несложно.
Надо лишь проверить, не занято ли желаемое имя домена кем-то другим и не является ли оно чьей-нибудь торговой маркой. Для этого надо зайти на сайт регистрационного бюро верхнего уровня (в данном случае сот). Если все в порядке, заказчик регистрируется и за небольшую ежегодную абонентскую плату получает домен второго уровня. На сегодняшний день в качестве имен поддоменов сот уже используются практически все общеупотребительные английские слова.
Попробуйте набрать какое-нибудь слово, касающееся домашнего хозяйства, животных, растений, частей тела и т. д. Вряд ли ошибетесь. Имя каждого домена, подобно полному пути к файлу в файловой системе, состоит из пути от этого домена до !безымянной) вершины дерева. Компоненты пути разделяются точками. Так, домен технического отдела корпорации Впп М!сгозузгешз может выглядеть как епя.зил.соя>, а не так, как это принято в стиле с!'>'!1Х 1/сот/зип/егм). Следует отметить, что егблип.сот не конфликтует с потенциальным использованием имени епя в домене еляуп!е.еди, где он может обозначать факультет английского языка Йельского университета. Имена доменов могут быть абсолютными и относительными.
Абсолютное имя домена всегда оканчивается точкой !например, ещ.зигьсовь), тогда как относительное имя — нет. Для того чтобы можно было единственным образом определить истинные значения относительных имен, они должны интерпретироваться в некотором контексте. В любом случае именованный домен означает определенный узел дерева и все узлы под ним. Имена доменов нечувствительны к изменению регистра символов.
Так, например, еИи и Ы)У означают одно и то >ке. Длина имен компонентов мохсет достигать 63 символов, а длина полного пути не должна превосходить 255 символов. В принципе, новые домены могут добавляться в дерево двумя разными путями.