Студентам > Дипломные работы > Интернет
ИнтернетСтраница: 2/6
В отличие от TCP, данные, отправляемые прикладным процессом через модуль UDP,
достигают места назначения как единое целое. Например, если процесс-отправитель
производит 3 записи в UDP-порт, то процесс-получатель должен будет сделать 3
чтения. Размер каждого записанного сообщения будет совпадать с размером
соответствующего прочитанного. Протокол UDP сохраняет границы сообщений, определяемые
прикладным процессом. Он никогда не объединяет несколько сообщений в одно целое
и не делит одно сообщение на части.
Альтернатива TCP-UDP позволяет программисту гибко и рационально использовать
предоставленные ресурсы, исходя из своих возможностей и потребностей. Если
нужна надежная доставка, то лучше может быть TCP. Если нужна доставка
дейтаграмм, то - UDP. Если нужна эффективная доставка по длинному и ненадежному
каналу передачи данных, то лучше использовать TCP. Если нужна эффективность на
быстрых сетях с короткими соединениями, лучше всего будет UDP. Если потребности
не попадают ни в одну из этих категорий, то выбор транспортного протокола не
ясен. Прикладные программы, конечно, могут устранять некоторые недостатки
выбранного протокола. Например, если вы выбрали UDP, а вам необходима
надежность, то прикладная программа должна обеспечить надежность сама, как
описано выше: требовать подтверждения, пересылки утерянных или увечных пакетов
и т.д.
1.2 Создание сети с человеческим лицом. Прикладное
обеспечение
И вот мы имеем возможность передавать информацию между
различными точками в сети. Вот теперь мы можем начать работать над созданием
дружественного интерфейса Internet, позаботиться об удобстве для пользователя.
Для этого мы напишем программное обеспечение, которое будет понимать язык
команд, выдавать сообщения об ошибках, подсказки, использовать для адресации
сетевых компьютеров при общении с пользователем имена, а не числа и т.д. В
модели ISO OSI на это работают уровни выше транспортного, т.е. сеансовый,
представления данных и прикладной. Вся эта деятельность направлена на повышение
уровня удобства работы в сети, на создание систем, позволяющих пользоваться
предоставляемыми возможностями обычному пользователю сети.
Ведь большинство пользователей совсем не волнует ни
наличие надежного потока битов между машинами, ни пропускная способность этих
линий или тонкости и особенности используемой технологии, ни даже экзотичность
этой технологии. Они хотят использовать этот битовый поток для дела, как то:
переслать файл, добраться до каких-то данных или просто поиграть в игру.
Приложения - это части программного обеспечения. Их создают на основе сервиса
TCP или UDP. Приложения позволяют пользователю достаточно просто справиться с
возникшей задачей, не погружаясь в пучину технической информации о конкретной
сети, о протоколах и т.д.
Прикладное обеспечение разнится очень сильно.
Приложения могут быть от самодельной программы до патентованных продуктов,
поставляемых различными фирмами (DEC, Microsoft и т.п.). Существует три
стандартных Internet -приложения: удаленный доступ, передача файлов,
электронная почта (e-mail); наряду с ними используются другие широко
распространенные нестандартные приложения.
Предоставление услуг Internet построено по схеме ``клиент
- сервер''. Предоставление услуг осуществляется совместной работой двух
процессов: на компьютере пользователя и на компьютере-сервере. Процесс на
компьютере пользователя называется клиентом, а на компьютере-сервере -
сервером. Клиент и сервер являются, по сути, частями одной программы,
взаимодействующие по виртуальной связи в сети. Сервер по указаниям клиента
выполняет соответствующие действия, например, пересылает клиенту файл. Для
предоставления услуги совершенно необходимо наличие двух этих модулей - клиента
и сервера, и их одновременная согласованная работа. Взаимодействие клиента и
сервера описывается соответствующими стандартными протоколами, поэтому клиент и
сервер могут быть выпущены совершенно разными производителями и работать на
разнородных компьютерах. Поэтому же существует небольшая проблема
нестандартности интерфейса клиента непосредственно уже с пользователем. Это
взаимодействие может иметь совершенно различную форму: интерактивную, командную
и т.д. Системы команд могут различаться. Но от этого сами возможности не
изменяются, поскольку клиент и сервер всегда взаимодействуют одинаково -
согласно протоколу.
Так как прикладным обеспечением снабжают по большей
части через локальные сети, в разговоре о приложениях возникает вышеупомянутая
проблема: команды, сообщения, справки, подсказки и т.п. в разных локальных
сетях могут в той или иной степени отличаться. Об этом не следует забывать при
чтении руководств пользователя: сообщения могут отличаться, но смысл их будет
такой же, то же касается и команд. Даже если они слегка отличаются, не стоит
волноваться, большинство приложений имеет разумную систему подсказок и описание
набора команд, где вы детально и конкретно сможете разузнать все, что вам
понадобится.
1.3
Системы сетевых адресов
Региональная Система Имен
Числовые адреса хороши для связи машин, люди же
предпочитают имена. Очень непросто разговаривать, используя машинную адресацию
(как бы это звучало: ``192.112.36.5 обещает вскоре...''?), еще труднее
запомнить эти адреса. Поэтому компьютерам в Internet для удобства пользователей
были присвоены собственные имена. Тогда описанный разговор принимает вид: ``NIC
обещает вскоре...''. Все приложения Internet позволяют пользоваться системными
именами вместо числовых адресов.
Как мы уже упоминали, для понимания полезно
использовать почтовую аналогию. Сетевые численные адреса вполне аналогичны
почтовой индексации. Машины, сортирующие корреспонденцию на почтовых узлах,
ориентируются именно по индексам, и только если с индексами выходит какая-то
несуразность, передают почту на рассмотрение людям, которые по адресу могут
определить правильный индекс почтового отделения места назначения. Людям же
приятнее и удобнее иметь дело с географическими названиями - это аналоги
доменных имен.
Конечно, такое именование имеет свои собственные
проблемы. Прежде всего, следует убедиться, что никакие два компьютера,
включенные в сеть, не имеют одинаковых имен. Должно также обеспечить
преобразование имен в числовые адреса, для того чтобы машины (и программы)
могли понимать нас, пользующихся именами: техника по-прежнему общается на языке
цифр.
В начале Internet размерами напоминала курилку, и
иметь дело с именами было довольно просто. NIC создал регистратуру. Можно было
послать запрос и в ответ высылали список имен и адресов. Этот файл, называется
``host file'' (файл рабочих ЭВМ), регулярно распространялся по всей сети -
рассылался всем машинам. Но по мере развития и расширения Internet возрастало
количество пользователей, хостов, а потому увеличивался и упомянутый файл. Возникали
значительные задержки при регистрации и получении имени новым компьютером,
стало затруднительно изыскивать имена, которые еще никто не использовал,
слишком много сетевого времени затрачивалось на рассылку этого огромного файла
всем машинам, в нем упомянутым. Стало очевидно, - чтобы справиться с такими
темпами изменений и роста сети, нужна распределенная оперативная система,
опирающаяся на новый принцип. Таковая была создана, ее назвали ``доменной
системой имен'' - DNS, а способ адресации - способом адресации по доменному
принципу. DNS иногда еще называют региональной системой наименований.
Структура региональной системы имен
Доменная система имен - это метод назначения имен
путем передачи сетевым группам ответственности за их подмножество имен. Каждый
уровень этой системы называется доменом. Домены в именах отделяются друг от
друга точками: inr.msk.su, nusun.jinr.dubna.su, arty.bashkiria.su,
vxcern.cern.ch, nic.ddn.mil. В имени может быть различное количество доменов,
но практически их не больше пяти. По мере движения по доменам слева направо в
имени, количество имен, входящих в соответствующую группу возрастает.
Первым в имени стоит название рабочей машины -
реального компьютера с IP адресом. Это имя создано и поддерживается группой
(например, компьютер nusun (это SUN sparc) в группе jinr (ОИЯИ)), к которой он
относится. Группа входит в более крупное подразделение (например, городское
объединение - сеть города Дубны), которое в свою очередь, является частью
национальной сети (например, сети стран бывшего СССР, домен su). Для США
наименование страны по традиции опускается, там самыми крупными объединениями
являются сети образовательных (edu), коммерческих (com), государственных (gov),
военных (mil) учреждений, а также сети других организаций (org) и сетевых
ресурсов (net).
Группа может создавать или изменять любые ей
подлежащие имена. Если jinr решит поставить другой компьютер, например, VAX
11/780, и назвать его mainx, он ни у кого не должен спрашивать разрешения, все,
что от него требуется, - это добавить новое имя в соответствующую часть
соответствующей всемирной базы данных, и, рано или поздно, каждый, кому
потребуется, узнает об этом имени. Аналогично, если в Дубне решат создать новую
группу, например, schools, они (домен dubna) могут это сделать также, ни у кого
на то не спрашивая никакого соизволения. И тогда, если каждая группа
придерживается таких простых правил и всегда убеждается, что имена, которые она
присваивает, единственны во множестве ее непосредственных подчиненных, то
никакие две системы, где бы те ни были в сети Internet, не смогут заиметь
одинаковых имен.
Эта ситуация совершенно аналогична ситуации с
присвоением географических названий - организацией почтовых адресов. Названия
всех стран различаются. Различаются названия всех областей, республик в
Федерации, и эти названия утверждаются в государственном масштабе из центра
(конечно, обычно сами регионы заботятся об уникальности своих названий, поэтому
здесь царит полная демократия: как республика хочет, так она и
называется)<Рисунок: gif>. В республиках - субъектах федерации - решают
вопросы о названиях районов и округов, в пределах одной республики они
различаются. Аналогично далее с городами и улицами городов. В разных городах
могут быть улицы с одинаковыми названиями: почему бы не быть во всех городах
Cоюза по улице Ленина или Мира? Это улицы разных городов, и их не перепутать
(помня о городах! Не напоминайте ``С легким паром!''). В пределах же одного
населенного пункта улицы всенепременно имеют разные названия, причем именование
этих улиц целиком и полностью под ответственностью и началом соответствующего
центрального органа данного населенного пункта (мэрии, сельсовета, горсовета).
Таким образом, почтовый адрес на основе географических и административных
названий однозначно определяет точку назначения.
Поскольку Internet - сеть мировая, требовался также
способ передачи ответственности за имена внутри стран им самим. Сейчас принята
двухбуквенная кодировка государств. Это оговорено в RFC 822. Так, например,
домен Канада называется ca, , США - us и т.д. Всего же кодов стран почти 300,
из которых около 100 имеет компьютерную сеть того или иного рода. Единый
каталог Internet находится у SRI International (Менло-Парк, Калифорния, США) -
государственной организации.
Поиск адреса по доменному имени
Теперь вы знаете, как соотносятся домены и создаются
имена. Возможно, вы теперь озадачены: а как использовать эту замечательную
систему? Автоматически. Вам надо лишь употребить имя на компьютере, который
понимает, как обращаться с DNS. Вам никогда не придется самим разыскивать
адрес, соответствующий этому имени, или подавать специальную команду для его
поиска (в UNIX - команда nslookup). Вы, конечно, можете это проделать - для
собственного удовольствия, но зачем, ведь этого совсем не требуется. Все
компьютеры Internet способны пользоваться доменной системой. И работающий в
сети компьютер всегда знает свой собственный сетевой адрес.
Когда вы пользуетесь именем, например, mx.ihep.su,
компьютер должен преобразовать его в адрес. Для этого он начинает запрашивать
помощь у DNS-серверов. Это узлы, рабочие машины, обладающие соответствующей
базой данных, в число обязанностей которых входит обслуживание такого рода
запросов. DNS-сервер начинает обработку имени с правого его конца и двигается
по нему влево, т.е. сначала производится поиск адреса в самой большой группе
(домене), потґом постепенно сужает поиск. Но для начала опрашивается на предмет
наличия у него нужной информации местный узел.
Как местный сервер может разузнать запрошенный адрес?
В его прикладном или системном программном обеспечении имеется информация о
том, как связаться с корневым сервером. Это сервер, который знает адреса
серверов имен высшего уровня (самых правых в имени), здесь это уровень
государств (ранга домена su). У него запрашивается адрес компьютера,
ответственного за зону su. Местный DNS-сервер связывается с этим более общим
сервером и запрашивает у него адрес сервера, ответственного за домен ihep.su.
Теперь уже запрашивается этот сервер и у него запрашивается адрес рабочей машины
mx.
На самом деле, для повышения эффективности, поиск
начинается не с самого верха, а с наименьшего домена, в который входите и вы, и
компьютер, имя которого вы запросили. Например, если ваш компьютер имеет имя
nonlin.mipt.su, то опрос начнется (если имя не выяснится сразу) не со
всемирного сервера, чтобы узнать адрес сервера группы su, а сразу с группы su,
что сразу сокращает поиск и по объему, и по времени.
Этот поиск адреса совершенно аналогичен поиску пути
письма без надписанного почтового индекса. Как определяется этот индекс? Все
регионы пронумерованы - это первые цифры индекса. Письмо пересылается на
центральный почтамт этого региона, где имеется справочник с нумерацией районов
этого региона - это следующие цифры индекса. Теперь письмо идет на центральный
почтамт соответствующего района, где уже знают все почтовые отделения в
подопечном районе. Таким образом по географическому адресу определяется
почтовый индекс, ему соответствующий. Также определяется и адрес компьютера в
Internet, но путешествует не послание, а запрос вашего компьютера об этом
адресе. И в отличие от случая с почтой, информация об адресе доходит до вас,
как если бы районный почтамт места назначения отправлял вам письмо, любезно
уведомляя вас на будущее об индексе, которого вы не изволили знать.
· Части доменного имени говорят о том, кто ответственен
за поддержку этого имени, то есть в чьем подчинении-ведении оно находится. Они
могут вообще ничего не сообщать о владельце компьютера, соответствующего этому
IP-адресу, или даже (несмотря на коды стран), где же эта машина находится.
Вполне можно иметь в Антарктиде машину с именем RU (россия). Это
совершенно ненормально, но никаким законам не противоречит.
· Части доменного имени даже не всегда указывают
локальную сеть, в которой расположен компьютер. Часто доменные имена и сети
перекрываются, и жестких связей между ними нет: две машины одного домена могут
не принадлежать одной сети. Например, системы mx.decnet.ihep.su и
ms.decnet.ihep.su могут находиться в совершенно разных сетях. И еще раз: доменные
имена указывают на ответственного за домен.
· У машины может быть много имен. В частности, это верно
для машин, предоставляющих какие-либо услуги, которые в будущем могут быть
перемещены под опеку другой машины. Когда эти службы будут перемещены, то имя,
под которым эта машина выступала в качестве такого сервера, будет передано
новой машине-серверу вместе с услугами, - для внешних пользователей ничего не
изменится. Т.е. они будут продолжать пользоваться этой службой, запрашивая ее
по тому же имени, независимо от того, какой компьютер на самом деле занимается
обслуживанием. Имена, по смыслу относящиеся к службе, называются
``каноническими именами'' или ``кименами'' (cnames). В Internet они встречаются
довольно часто.
· Для связи имена необязательны. Как-нибудь вам придет
сообщение: ``адресат неизвестен'', что означает, что Internet не может
преобразовать использованное вами имя в число, - имя более недееспособно в том
виде, в котором его знает ваш компьютер. Однажды заполучив числовой эквивалент
имени, ваша система перестает использовать для связи на машинном уровне
доменную форму адреса.
Региональная система имен, возможно, и выглядит
сложно, но это одна из тех составляющих, делающих общение с сетью более простым
и удобным. Несомненное преимущество доменной системы состоит в том, что она
разбивает громадье Internet на набор вполне обозримых и управляемых частей.
Хотя сеть включает миллионы компьютеров, все они поименованы, и именование это
организовано в удобной рациональной форме, что упрощает работу.
1.4
Наиболее распространенные возможности Internet
Рассмотрим самые популярные возможности Internet . Эти
услуги поддерживаются стандартом. Для более конкретного описания команд следует
смотреть документацию соответствующего программного обеспечения. Впрочем,
большинству достаточно той информации и разъяснений, которые можно найти в
интерактивных системах подсказок (help-aх) или файлах описания.
Удаленный доступ (telnet)
Remote Login - удаленный доступ - работа на удаленном
компьютере в режиме, когда ваш компьютер эмулирует терминал удаленного
компьютера, т.е. вы можете делать все то же (или почти все), что можно делать с
обычного терминала той машины. Трафик, относящийся к этому виду работы в сети,
в среднем составляет около 19% всего сетевого трафика. Начать сеанс удаленного
доступа можно в UNIX, подав команду telnet и указав имя машины, с которой вы
хотите работать. Если номер порта опустить, то ваш компьютер по умолчанию
эмулирует терминал той машины и вы входите в систему как обычно. Указание номера
порта позволяет связываться с нестандартными серверами, интерфейсами.
|