INTERNET
Краткое историческое введение
Что составляет Internet ?
Административное устройство Internet
Финансы
Как структура Internet сказывается на Пользователе ?
Потенциальные пользователи
Доступ в Internet
Работа Internet: организация, структура, методы
Введение
Структура функционирования сети
Уровни работы сети
Пересылка битов
Пересылка данных
Сети коммутации пакетов
Протокол Internet (IP)
Протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP)
Создание сети с человеческим лицом. Прикладное обеспечение
Системы сетевых адресов
Региональная Система Имен
Структура региональной системы имен
Поиск адреса по доменному имени
Система адресов X.400
Замечания по региональной системе имен
Дозволенное в Internet
Легальное использование
Государственные дотации
Коммерческое использование
Экспортные законы
Права собственности
Internet и политика
Сетевая этика
Наиболее распространенные возможности Internet
Удаленный доступ (telnet)
Передача файлов (ftp)
Электронная почта (e-mail)
Использование анонимного ftp по e-mail
Доски объявлений (USENET news)
Поиск данных и программ (Archie)
Поиск людей (Кто есть Who)
Oболочка Gopher
Поиск данных по ключевым словам (WAIS)
Глобальные гипертекстовые структуры: WWW
Несколько слов об иных возможностях
Краткое историческое введение
Около 20 лет назад Министерство Обороны США создало сеть, которая явилась предтечей Internet, - она называлась ARPAnet. ARPAnet была экспериментальной сетью, - она создавалась для поддержки научных исследований в военно-промышленной сфере, - в частности, для исследования методов построения сетей, устойчивых к частичным повреждениям, получаемым, например, при бомбардировке авиацией и способных в таких условиях продолжать нормальное функционирование. Это требование дает ключ к пониманию принципов построения и структуры Internet. В модели ARPAnet всегда была связь между компьютером-источником и компьютером-приемником (станцией назначения). Сеть a priori предполагалась ненадежной: любая часть сети может исчезнуть в любой момент.
На связывающиеся компьютеры - не только на саму сеть - также возложена ответственность обеспечивать налаживание и поддержание связи. Основной принцип состоял в том, что любой компьютер мог связаться как равный с равным с любым другим компьютером.
Передача данных в сети была организована на основе протокола Internet - IP. Протокол IP - это правила и описание работы сети. Этот свод включает правила налаживания и поддержания связи в сети, правила обращения с IP-пакетами и их обработки, описания сетевых пакетов семейства IP (их структура и т.п.). Сеть задумывалась и проектировалась так, чтобы от пользователей не требовалось никакой информации о конкретной структуре сети. Для того, чтобы послать сообщение по сети, компьютер должен поместить данные в некий ``конверт'', называемый, например, IP, указать на этом ``конверте'' конкретный адрес в сети и передать получившиеся в результате этих процедур пакеты в сеть.
Эти решения могут показаться странными, как и предположение о ``ненадежной'' сети, но уже имеющийся опыт показал, что большинство этих решений вполне разумно и верно. Пока Международная Организация по Стандартизации (Organization for International Standartization - ISO) тратила годы, создавая окончательный стандарт для компьютерных сетей, пользователи ждать не желали. Активисты Internet начали устанавливать IP-программное обеспечение на все возможные типы компьютеров. Вскоре это стало единственным приемлемым способом для связи разнородных компьютеров. Такая схема понравилась правительству и университетам, которые проводят политику покупки компьютеров у различных производителей. Каждый покупал тот компьютер, который ему нравился и вправе был ожидать, что сможет работать по сети совместно с другими компьютерами.
Примерно 10 лет спустя после появления ARPAnet появились Локальные Вычислительные Сети (LAN), например, такие как Ethernet и др. Одновременно появились компьютеры, которые стали называть рабочими станциями. На большинстве рабочих станций была установлена Операционная Система UNIX. Эта ОС имела возможность работы в сети с протоколом Internet (IP). В связи с возникновением принципиально новых задач и методов их решения появилась новая потребность: организации желали подключиться к ARPAnet своей локальной сетью. Примерно в то же время появились другие организации, которые начали создавать свои собственные сети, использующие близкие к IP коммуникационные протоколы. Стало ясно, что все только выиграли бы, если бы эти сети могли общаться все вместе, ведь тогда пользователи из одной сети смогли бы связываться с пользователями другой сети.
Одной из важнейших среди этих новых сетей была NSFNET, разработанная по инициативе Национального Научного Фонда (National Science Foundation - NSF), аналога нашего Министерства Науки. В конце 80-х NSF создал пять суперкомпьютерных центров, сделав их доступными для использования в любых научных учреждениях. Было создано всего лишь пять центров потому, что они очень дороги даже для богатой Америки. Именно поэтому их и следовало использовать кооперативно. Возникла проблема связи: требовался способ соединить эти центры и предоставить доступ к ним различным пользователям. Сначала была сделана попытка использовать коммуникации ARPAnet, но это решение потерпело крах, столкнувшись с бюрократией оборонной отрасли и проблемой обеспечения персоналом.
Тогда NSF решил построить свою собственную сеть, основанную на IP технологии ARPAnet. Центры были соединены специальными телефонными линиями с пропускной способностью 56 Kbps . Однако, было очевидно, что не стоит даже и пытаться соединить все университеты и исследовательские организации непосредственно с центрами, т.к. проложить такое количество кабеля - не только очень дорого, но практически невозможно. Поэтому решено было создавать сети по региональному принципу. В каждой части страны заинтересованные учреждения должны были соединиться со своими ближайшими соседями. Получившиеся цепочки подсоединялись к суперкомпьютеру в одной из своих точек, таким образом суперкомпьютерные центры были соединены вместе. В такой топологии любой компьютер мог связаться с любым другим, передавая сообщения через соседей.
Это решение было успешным, но настала пора, когда сеть уже более не справлялась с возросшими потребностями. Совместное использование суперкомпьютеров позволяло подключенным общинам использовать и множество других вещей, не относящихся к суперкомпьютерам. Неожиданно университеты, школы и другие организации осознали, что заимели под рукой море данных и мир пользователей. Поток сообщений в сети (трафик) нарастал все быстрее и быстрее пока, в конце концов, не перегрузил управляющие сетью компьютеры и связывающие их телефонные линии. В 1987 г. контракт на управление и развитие сети был передан компании Merit Network Inc., которая занималась образовательной сетью Мичигана совместно с IBM и MCI. Старая физически сеть была заменена более быстрыми (примерно в 20 раз) телефонными линиями. Были заменены на более быстрые и сетевые управляющие машины.
Процесс совершенствования сети идет непрерывно. Однако, большинство этих перестроек происходит незаметно для пользователей. Включив компьютер, вы не увидите объявления о том, что ближайшие полгода Internet не будет доступна из-за модернизации. Возможно даже более важно то, что перегрузка сети и ее усовершенствование создали зрелую и практичную технологию. Проблемы были решены, а идеи развития проверены в деле.
Важно отметить то, что усилия NSF по развитию сети привели к тому, что любой желающий может получить доступ к сети. Прежде Internet была доступна только для исследователей в области информатики, государственным служащим и подрядчикам. NSF способствовал всеобщей доступности Internet по линии образования, вкладывая деньги в подсоединение учебного заведения к сети, только если то, в свою очередь, имело планы распространять доступ далее по округе. Таким образом, каждый студент четырехлетнего колледжа мог стать пользователем Internet.
И потребности продолжают расти. Большинство таких колледжей на Западе уже подсоединено к Internet, предпринимаются попытки подключить к этому процессу средние и начальные школы. Выпускники колледжей прекрасно осведомлены о преимуществах Internet и рассказывают о них своим работодателям. Вся эта деятельность приводит к непрерывному росту сети, к возникновению и решению проблем этого роста, развитию технологий и системы безопасности сети.
Что составляет Internet ?
В действительности Internet не просто сеть, - она есть структура, объединяющая обычные сети. Internet - это ``Сеть сетей''. Что включает Internet? Вопрос непростой. Ответ на него меняется со временем. Вначале ответ был бы достаточно прост: ``все сети, использующие протокол IP, которые кооперируются для формирования единой сети своих пользователей''. Это включало бы различные ведомственные сети, множество региональных сетей, сети учебных заведений и некоторые зарубежные сети (за пределами США).
Чуть позже привлекательность Internet осознали и некоторые не-IP-сети. Они захотели предоставить ее услуги своим клиентам и разработали методы подключения этих ``странных'' сетей (например, Bitnet, DECnet и т.д.) к Internet. Сначала эти подключения, названные шлюзами, служили только для передачи электронной почты. Однако, некоторые из них разработали способы передачи и других услуг. Являются ли эти сети частью Internet? И да, и нет. Все зависит от того, хотят ли они того сами.
Административное устройство Internet
Internet по организации во многом напоминает церковь. Это организация с полностью добровольным участием. Управляется она чем-то наподобие совета старейшин, однако, у Internet нет патриарха, президента или Папы. Составляющие сети могут иметь своих президентов или аналогичных вождей, но это совсем другое дело; в Internet нет единственной авторитарной фигуры. Высшая власть, где бы Internet ни была, остается за ISOC (Internet Society). ISOC - общество с добровольным членством. Его цель - способствовать глобальному обмену информацией через Internet. Оно назначает совет старейшин, который отвечает за техническую политику, поддержку и управление Internet.
Совет старейшин представляет собой группу приглашенных добровольцев, называемую IAB (Совет по архитектуре Internet.). IAB регулярно собирается, чтобы ``благословить'' стандарты и распределить ресурсы, такие, например, как адреса. Internet работает, поскольку имеются стандартные способы общения между компьютерами и прикладными программами. Это позволяет компьютерам разного типа связываться без особых проблем. IAB ответственен за стан дарты; он решает, когда стандарт необходим и каким ему следует быть. Когда требуется стандарт, совет рассматривает проблему, принимает стандарт и по сети оповещает о нем мир. IAB также следит за различными номерами (и другими вещами), которые должны оставаться уникальными. Например, каждый компьютер в Internet имеет свой уникальный 32-разрядный двоичный адрес; никакой другой компьютер не имеет такого же. Как присваивается этот адрес? IAB заботится о такого рода проблемах. Он не присваивает адресов самолично, но разрабатывает правила, как эти адреса присваивать.
Пользователи Internet высказывают свои жалобы и предложения на встречах IETF (Оперативного инженерного отряда Internet). IETF - это другая добровольная организация; также собирается регулярно, чтобы обсудить текущие эксплуатационные и назревающие технические проблемы. При обсуждении достаточно важной проблемы IETF создает рабочую группу для ее дальнейшего исследования. (На практике ``достаточно важная'' обычно означает, что для рабочей группы находится достаточное количество добровольцев). Посещать встречи IETF и состоять в рабочих группах могут все; главное, чтобы люди работали, дело-то добровольное. Рабочие группы имеют различные функции: это может быть выпуск документации, выработка стратегии действий при возникновении проблем, стратегические исследования, разработка новых стандартов и протоколов, доработка уже существующих (например, изменение значений отдельных полей). Рабочая группа обычно выпускает доклад. В зависимости от вида рекомендации, это может быть просто документацией и быть доступной для любого желающего, что может быть принято добровольно как здравая идея, или же это может быть послано в IAB и быть объявленной стандартом.
Если некая сеть принимает учение Internet, присоединяется к ней и считает себя ее частью, тогда она и является частью Internet. Возможно ей многое покажется неразумным, странным, сомнительным - она может поделиться своими сомнениями с IETF. Некоторые жалобы-предложения могут оказаться вполне разумными и, возможно, Internet соответственно изменится. Что-то может показаться просто делом вкуса или традиции, тогда эти возражения будут отклонены. Если сеть делает что-либо, что может навредить Internet, она может быть исключена из сообщества до тех пор, пока она не исправится.
Сейчас Internet состоит из более чем 12 тысяч объединенных между собой сетей.
Финансы
За Internet никто централизовано не платит; нет такой организации как Internet Inc., которая собирает плату со всех сетей Internet или пользователей. Вместо этого каждый платит за свою часть. NSF платит за содержание NSFNET. NASA платит за Научную Сеть NASA (NASA Science Internet). Представители сетей собираются вместе и решают, как им соединяться друг с другом и содержать эти взаимосвязи. Колледж или корпорация платит за ее подключение к некоторой региональной сети, которая в свою очередь платит за свой доступ сетевому владельцу государственного масштаба.
Как структура Internet сказывается на Пользователе ?
То, что Internet не сеть, а собрание сетей, мало как сказывается на конкретном пользователе. Для того, чтобы сделать что-нибудь полезное (запустить программу или добраться до каких-либо единственных в своем роде данных), пользователю не надо заботиться о том, как эти составляющие сети содержатся, как они взаимодействуют и поддерживают межсетевые связи.
Рассмотрим для наглядности телефонную сеть - тоже в некотором роде Internet. Министерство Связи России, Pacific Bell, AT&, MCI, British Telecom, Telefon's de Mexico и т.д., - все это отдельные корпорации, которые обслуживают разные телефонные системы. Они же заботятся о совместной работе, о создании объединенной сети; все, что вам нужно сделать, где бы на планете вы ни находились и куда бы вы ни звонили, - это набрать номер. Если забыть о цене и рекламе, вам должно быть совершенно все равно, с кем вы имеете дело: с МСI, AT& или Министерством Связи. Снимаете трубочку, нажимаете кнопочки (крутите диск) и говорите.
Вас, как пользователя, заботит только, кто занимается вашими заявками, когда появляются проблемы. Если что-либо перестает работать, только одна из соответствующих компаний может исправить это. Они общаются друг с другом по проблемным вопросам, но каждый из владельцев сетей ответственен за проблемы, возникающие на его собственном участке системы, за сервис, который эта сеть предоставляет своим клиентам.
Это же верно и для Internet. Каждая сеть имеет свой собственный сетевой эксплуатационный центр (NOC). Каждый такой рабочий центр связан с другими и знает, как разрешить различные возможные проблемы. Ваш регион имеет соглашение с одной из составляющих сетей Internet и ее забота состоит в том, чтобы люди вашего региона были довольны работой сети. Так что, если что-то испортится, NOC и есть та самая организация, с кого за это спросят, кого за это будут бить.
Архитектура сетевых протоколов TCP/IP, на базе которых построена Internet, предназначена специально для объединенной сети. Сеть может состоять из совершенно разнородных подсетей, соединенных друг с другом шлюзами. В качестве подсетей могут выступать самые разные локальные сети (Token Ring, Ethernet, пакетные радиосети и т.п.), различные национальные, региональные и специализированные сети (например, HEPnet), а также другие глобальные сети, такие, например, как Bitnet или Sprint. К этим сетям могут подключаться машины совершенно разных типов. Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу связи, сама разрешает свои внутренние проблемы. Однако, предполагается, что каждая подсеть может принять пакет информации и доставить его по указанному адресу в этой конкретной подсети. Все же не требуется, чтобы подсеть гарантировала доставку пакетов и имела надежный сквозной протокол (протокол работы сети в качестве посредника при передаче сообщений между двух внешних сетей). Природа такого послабления вам станет яснґа позже. Таким образом, две машины, поключенные к одной подсети, могут напрямую обмениваться пакетами, а если возникает необходимость передать сообщение машине в другой подсети, то вступают в силу межсетевые соглашения, для чего подсети используют свой межсетевой язык - протокол IP; они передают сообщение по определенной цепочке шлюзов и подсетей, пока оно не достигнет нужной подсети, где оно и будет доставлено непосредственно получателю. Другими словами, пользователя вся эта кухня совершенно не заботит. Как и в примере с телефонной сетью, которая представляется ему единой большой сетью, а не множеством сетей, для него все это пестрое сборище разнородных и иногда несовместимых между собой сетей представляется одной сетью - ``Сетью сетей'' - Internet.
Потенциальные пользователи
Кому же может быть столь полезна Internet и каким образом? Что так способствует ее развитию?
Полезность Internet повышалась вместе с развитием вычислительной техники с запаздыванием примерно в 10 лет. В конце 80-х годов появление персональных компьютеров перенесло информатику из царства знатоков к широкой публике. Internet в ходе своего развития и повсеместного распространения занимается именно таким переносом.
Internet, как и вычислительная техника, совершила переход от забавы экспертов к инструменту ежедневного пользования. И сам процесс перехода был совершенно аналогичен. Сеть постепенно становилась проще в использовании, частично потому что оборудование стало лучше, а частично потому, что сама стала скорее и надежнее. И самые смелые из тех, кто сначала не решались связываться с Internet, начали ее использовать. Эти новые пользователи породили огромную потребность в новых ресурсах и лучшем инструментарии. Улучшались старые средства, появлялись новые, предназначенные для доступа к новым ресурсам, что облегчало использование сети. И вот уже другая группа людей стала понимать пользу Internet. Процесс повторялся. Этот круговорот продолжает развиваться и по сей день.
В общем, все пользователи Internet ищут одного: общения и информации. И они находят это среди людей и компьютеров. Легко позабыть о людских ресурсах Internet, но они очень важны, так же, как и доступные компьютеры. Internet - миролюбивая и дружелюбная страна. Здесь можно встретить таких же людей, как вы сами. Вы, несомненно, потенциальный пользователь сети, если, например, вы:
- Биолог , которому потребовалась карта генома дрозофиллы;
- Чань-буддист в стане пан-исламистов, ищущий какое-либо духовное товарищество и понимание;
- Эстетствующий интеллектуал , поклонник классики и рока, кому осточертела поп-музыка в эфире;
- Психолог или психотерапевт , желающий обсудить тонкие моменты отношений тайны исповеди с законом в очень специфическом случае.
И так далее. Всем этим людям Internet предоставляет великолепную возможность найти единомышленников. Можно - на самом деле, даже очень легко - найти электронный дискуссионный клуб почти по любой теме (их сейчас всего около полутора тысяч), или начать новую дискуссию и встать у истоков нового клуба, который никто до сих пор не догадался создать.
Internet открывает этим людям также и доступ к компьютерным ресурсам. Лектор общества ``Знание'' может связаться с компьютером NASA, который предоставит ему информацию о прошлом, настоящем и будущем космической науки и программы США. Священник может найти Библию, Коран, Тору, чтобы процитировать нужные отрывки. Юрист может вовремя найти копии докладов на заседаниях Верховного Суда США по делу ``Иран-контрас''. Восьмиклассница может обсудить музыкальную лирику В.Цоя с ровесниками или выступить экспертом среди новичков, ведь только она и понимает лирику по-настоящему.
И это только начало. Несомненно, в конечном счете, все придут к пониманию того, что наступает Эра Информации; потребность в ней возрастает и будет возрастать лавинообразно, количество потребителей тоже. Никуда от этого не деться. Без надежной и оперативной информации нельзя идти в ногу со временем, развивать науку и технику на уровне лучших мировых образцов. И все мы, все до единого, - потенциальные пользователи глобальной информационной сети.
В этом вы убедитесь сами, прочитав и осознав сей труд.
Доступ в Internet
Доступ в Internet, обычно, получают через поставщиков услуг (service provider). Поставщики эти продают различные виды услуг, каждый из них имеет свои преимущества и недостатки. Так же как и при покупке садовой тачки (в оригинале - автомобиля) вы решаете, какими качествами должна она обладать, сколько вы за нее можете себе позволить заплатить, и, исходя из этого, выбираете подходящий вариант из предлагаемого множества.
Но перед тем, как начать действовать в этом направлении, т.е. добывать список поставщиков Internet, читать и выбирать, связываться с ними, выясните, а не имеете ли вы ужґе доступа в Internet, сами того не ведая. Такое вполне может иметь место - в России не так часто, в США не так уж и редко. Если ваша организация или учреждение (институт, компания) уже имеет доступ в Internet, то вряд ли вы сможете получить персональный доступ в сеть лучший, нежели ваша организация.
Другими словами, если вы уже имеете доступ в Internet, вам не надо будет платить денег из своего кармана, не надо будет суетиться вокруг поставщиков услуг и т.д., вам просто надо будет научиться пользоваться тем, что вы уже имеете.
Если ваша организация пока не имеет доступа в Internet, или вообще-то имеет, но, вот беда, не ваше подразделение (лаборатория, отдел, факультет), вам просто следует понаблюдать и прикинуть, сколько еще потенциальных пользователей имеется среди ваших сослуживцев, возможно, поговорить с ними и заручиться поддержкой, составить предложение и/или подать требование вышестоящему руководству.
Имеются (хотя это встречается, увы, пока очень редко) еще возможности получить доступ в Internet не через ее прямых распространителей, без лишних затрат.
Первый - поищите в публичных библиотеках: некоторые (центральные) имеют службу, называемую Freenet - свободная (бесплатная) сеть. Это информационная система, основанная соответствующим сообществом, обычно имеющая модемный доступ к Internet по телефону.
Второй путь полезен для молодых людей, проживающих в странах Запада, или в центральных городах у нас. Станьте студентом, поступите в западный или организованный у нас же в России совместно с Западом университет или колледж. И выберите соответствующую специальность или запишитесь на курсы, которые позволят вам добраться до заветного компьютера, имеющего доступ в Internet. Например, научитесь плести лапти - уже потом вам будет чем развлечься, когда у вас от непрерывной работы в сети поедет крыша. И когда вы научитесь, у вас будет еще один довод начальству в пользу предоставления вам доступа в Internet: сети как воздух необходима база данных с инструкциями по плетению лаптей, без них они как без рук. Такой вклад руководство не сможет не оценить по достоинству.
Работа Internet: организация, структура, методы
Введение
Чтобы успешно освоить нечто и затем с ним работать, очень полезно знать, хотя бы в общих чертах, устройство и функционирование этого объекта. Знание это помогает осмысленно воспринимать и систематизировать навыки работы, а не пользоваться предлагаемыми рекомендациями чисто механически. Такое осознание подскажет, что можно ожидать от системы в смысле ее возможностей, поведения, недостатков, и что более важно, поможет ориентироваться в необычной ситуации: в случае поломки, смены сервера, программного обеспечения, появления новых возможностей и т.п.
В этом разделе мы рассмотрим сети с коммутацией пакетов и преимущества построения сети на принципах TCP/IP протоколов. Здесь будут рассмотрены основные принципы управления коммуникациями в : TCP и его бедный родственник UDP. Это основные системообразующие элементы сети. Важным элементом является также региональная система имен (DNS).
Структура функционирования сети
Современные сети построены по многоуровневому принципу. Чтобы организовать связь двух компьютеров, требуется сначала создать свод правил их взаимодействия, определить язык их общения, т.е. определить, что означают посылаемые ими сигналы и т.д. Эти правила и определения называются протоколом. Для работы сетей необходимо запастись множеством различных протоколов: например, управляющих физической связью, установлением связи по сети, доступом к различным ресурсам и т.д. Многоуровневая структура спроектирована с целью упростить и упорядочить это великое множество протоколов и отношений. Взаимодействие уровней в этой модели - субординарное. Каждый уровень может реально взаимодействовать только с соседними уровнями (верхним и нижним), виртуально - только с аналогичным уровнем на другом конце линии.
Под реальным взаимодействием мы подразумеваем непосредственное взаимодействие, непосредственную передачу информации, например, пересылку данных в оперативной памяти из области, отведенной одной программе, в область другой программы. При непосредственной передаче данные остаются неизменными все время. Под виртуальным взаимодействием мы понимаем опосредованное взаимодействие и передачу данных; здесь данные в процессе передачи могут уже определенным, заранее оговоренным образом видоизменяться.
Такое взаимодействие аналогично схеме цепи посылки письма одним директором фирмы другому. Например, директор некоторой фирмы пишет письмо редактору газеты. Директор пишет письмо на своем фирменном бланке и отдает этот листок секретарю. Секретарь запечатывает листок в конверт, надписывает конверт, наклеивает марку и передает почте. Почта доставляет письмо в соответствующее почтовое отделение. Это почтовое отделение связи непосредственно доставляет письмо получателю - секретарю редактора газеты. Секретарь распечатывает конверт и, по мере надобности, подает редактору. Ни одно из звеньев цепи не может быть пропущено, иначе цепь разорвется: если отсутствует, например, секретарь, то листок с письменами директора так и будет пылиться на столе у секретаря.
Здесь мы видим, как информация (лист бумаги с текстом) передается с верхнего уровня вниз, проходя множество необходимых ступеней - стадий обработки. Обрастает служебной информацией (пакет, адрес на конверте, почтовый индекс; контейнер с корреспонденцией; почтовый вагон, станция назначения почтового вагона и т.д.), изменяется на каждой стадии обработки и постепенно доходит до самого нижнего уровня - уровня почтового транспорта (гужевого, автомобильного, железнодорожного, воздушного,...), которым реально перевозится в пункт назначения. В пункте назначения происходит обратный процесс: вскрывается контейнер и извлекается корреспонденция, считывается адрес на конверте и почтальон несет его адресату (секретарю), который восстанавливает информацию в первоначальном виде, - достает письмо из конверта, прочитывает его и определяет его срочность, важность, и в зависимости от этого передает информацию выше. Директор и редактор, таким образом, виртуально имеют прямую связь. Ведь редактор газеты получает в точности ту же информацию, которую отправил директор, а именно - лист бумаги с текстом письма. Начальствующие персоны совершенно не заботятся о проблемах пересылки этой информации. Секретари также имеют виртуально прямую связь: секретарь редактора получит в точности то же, что отправил секретарь директора, а именно - конверт с письмом. Секретарей совершенно не волнуют проблемы почты, пересылающей письма. И так далее.
Аналогичные связи и процессы имеют место и в эталонной модели ISO OSI. Физическая связь реально имеет место только на самом нижнем уровне (аналог почтовых поездов, самолетов, автомобилей). Горизонтальные связи между всеми остальными уровнями являются виртуальными, реально они осуществляются передачей информации сначала вниз, последовательно до самого нижнего уровня, где происходит реальная передача, а потом, на другом конце, обратная передача вверх последовательно до соответствующего уровня.
Модель ISO OSI предписывает очень сильную стандартизацию вертикальных межуровневых взаимодействий. Такая стандартизация гарантирует совместимость продуктов, работающих по стандарту какого-либо уровня, с продуктами, работающими по стандартам соседних уровней, даже в том случае, если они выпущены разными производителями. Количество уровней может показаться избыточным, однако же, такое разбиение необходимо для достаточно четкого разделения требуемых функций во избежание излишней сложности и создания структуры, которая может подстраиваться под нужды конкретного пользователя, оставаясь в рамках стандарта.
=====================================================================
Комьпьютер А Компьютер В
+----------------+ Application protocol +------------------+
| Application | _ _ _ _ _ _ _ _ _ | Application |
| layer | | layer |
+----------------+ Уровень 7 -прикладной +------------------+
| |
| |
+----------------+ Presentation protocol +----------------+
| Presentation | _ _ _ _ _ _ _ _ _ | Presentation |
| . layer | | layer . |
+---.------------+ Уровень 6 -представления +-----------.----+
. | данных | .
. | | .
. | | .
+---.------------+ Session protocol +-----------.----+
| Presentation | _ _ _ _ _ _ _ _ _ | Presentation |
| . layer | | layer . |
+---.------------+ Уровень 5 -сеансовый +-----------.----+
. | | .
. | | .
+---.------------+ Transport protocol +-----------.----+
| Transport | _ _ _ _ _ _ _ _ _ | Transport |
| . layer | | layer . |
+---.------------+ Уровень 4 -транспортный +-----------.----+
. | | .
. | | .
+---.------------+ Network protocol +-----------.----+
| Network | _ _ _ _ _ _ _ _ _ | Network . |
| . layer | | layer . |
+---.------------+ Уровень 3 -сетевой +-----------.----+
. | | .
. | | .
+---.------------+ Data link protocol +-----------.----+
| Data Link | _ _ _ _ _ _ _ _ _ | Data Link |
| . layer | | layer . |
+---.------------+ Уровень 2 -канальный +-----------.----+
. | | .
. | | .
+---.------------+ Physical protocol +-----------.----+
| Physical | _ _ _ _ _ _ _ _ _ | Physical . |
| . layer | | layer . |
+---.------------+ Уровень 1 -физический +-----------.----+
. | | .
. | ********************** | .
. | * Physical media * | .
. | * -физическая среда * | .
. . |. . . . . .* . . . . . . . . . .* . . . . . . | . .
|___________*____________________*_____________|
**********************
_ _ _ _ _ Виртуальные соединения
. . . . . Путь данных, соответствующий связи на уровне 6
_________ Физическое реальное соединение
|
| Интерфейс (иерархическое взаимодействие уровней)
=====================================================================
Рисунок: Эталонная модель ISO OSI
Дадим краткий обзор уровней.
Уровень 0
связан с физической средой - передатчиком сигнала и на самом деле не включается в эту схему, но весьма полезен для понимания. Этот почетный уровень представляет посредников, соединяющих конечные устройства: кабели, радиолинии и т.д. Кабелей существует великое множество различных видов и типов: экранированные и неэкранированные витые пары, коаксиальные, на основе оптических волокон и т.д. Т.к. этот уровень не включен в схему, он ничего и не описывает, только указывает на среду.
Уровень 1
- физический. Включает физические аспекты передачи двоичной информации по линии связи. Детально описывает, например, напряжения, частоты, природу передающей среды. Этому уровню вменяется в обязанность поддержание связи и прием-передача битового потока. Безошибочность желательна, но не требуется.
Уровень 2
- канальный. Связь данных. Обеспечивает безошибочную передачу блоков данных (называемых кадрами (frame)) через уровень 1, который при передаче может искажать данные. Этот уровень должен определять начало и конец кадра в битовом потоке, формировать из данных, передаваемых физическим уровнем, кадры или последовательности , включать процедуру проверки наличия ошибок и их исправления. Этот уровень (и только он) оперирует такими элементами, как битовые последовательности, методы кодирования, маркеры. Он несет ответственность за правильную передачу данных (пакетов) на участках между непосредственно связанными элементами сети. Обеспечивает управление доступом к среде передачи. В виду его сложности, канальный уровень подразделяется на два подуровня: MAC (Medium Access Control) - Управление доступом к среде и LLC (Logical Link Control) - Управление логической связью (каналом). Уровень MAC управляет доступом к сети (с передачей маркера в сетях Token Ring или распознаванием конфликтов (столкновений передач) в сетях Ethernet) и управлением сетью. Уровень LLC, действующий над уровнем MAC, и есть собственно тот уровень, который посылает и получает сообщения с данными.
Уровень 3
- сетевой. Этот уровень пользуется возможностями, предоставляемыми ему уровнем 2, для обеспечения связи двух любых точек в сети. Любых, необязательно смежных. Этот уровень осуществляет проводку сообщений по сети, которая может иметь много линий связи, или по множеству совместно работающих сетей, что требует маршрутизации, т.е. определения пути, по которому следует пересылать данные. Маршрутизация производится на этом же уровне. Выполняет обработку адресов, а также и демультиплексирование.
Основной функцией программного обеспечения на этом уровне является выборка информации из источника, преобразование ее в пакеты и правильная передача в точку назначения.
Есть два принципиально различных способа работы сетевого уровня. Первый - это метод виртуальных каналов. Он состоит в том, что канал связи устанавливается при вызове (начале сеанса (session) связи), по нему передается информация, и по окончании передачи канал закрывается (уничтожается). Передача пакетов происходит с сохранением исходной последовательности, даже если пакеты пересылаются по различным физическим маршрутам, т.е. виртуальный канал динамически перенаправляется. При этом пакеты данных не включают адрес пункта назначения, т.к. он определяется во время установления связи.
Второй - метод дейтаграмм . Дейтаграммы - независимые , они включают всю необходимую для их пересылки информацию. В то время, как первый метод предоставляет следующему уровню (уровню 4) надежный канал передачи данных, свободный от искажений (ошибок) и правильно доставляющий пакеты в пункт назначения, второй метод требует от следующего уровня работы над ошибками и проверки доставки нужному адресату.
Уровень 4
- транспортный. Регламентирует пересылку пакетов сообщений между процессами, выполняемыми на компьютерах сети. Завершает организацию передачи данных: контролирует на сквозной основе поток данных, проходящий по маршруту, определенному третьим уровнем: правильность передачи блоков данных, правильность доставки в нужный пункт назначения, их комплектность, сохранность, порядок следования. Собирает информацию из блоков в ее прежний вид. Или же оперирует с дейтаграммами, т.е. ожидает отклика-подтверждения приема из пункта назначения, проверяет правильность доставки и адресации, повторяет посылку дейтаграммы, если не пришел отклик. В рамках транспортного протокола предусмотрено пять классов качества транспортировки и соответствующие процедуры управления. Этот же уровень должен включать развитую и надежную схему адресации для обеспечения связи через множество сетей и шлюзов. Другими словами, задачей данного уровня является довести до ума передачу информации из любой точки в любую во всей сети.
Транспортный уровень скрывает от всех высших уровней любые детали и проблемы передачи данных, обеспечивает стандартное взаимодействие лежащего над ним уровня с приемом-передачей информации независимо от конкретной технической реализации этой передачи.
Уровень 5
- сеансовый. Координирует взаимодействие связывающихся пользователей: устанавливает их связь, оперирует с ней, восстанавливает аварийно оконченные сеансы. Этот же уровень ответственен за картографию сети - он преобразовывает региональные (доменные) компьютерные имена в числовые адреса , и наоборот. Он координирует не компьютеры и устройства, а процессы в сети, поддерживает их взаимодействие - управляет сеансами связи между процессами прикладного уровня.
Уровень 6
- уровень представления данных. Этот уровень имеет дело с синтаксисом и семантикой передаваемой информации, т.е. здесь устанавливается взаимопонимание двух сообщающихся компьютеров относительно того, как они представляют и понимают по получении передаваемую информацию. Здесь решаются, например, такие задачи, как перекодировка текстовой информации и изображений, сжатие и распаковка, поддержка сетевых файловых систем (NFS), абстрактных структур данных и т.д.
Уровень 7
- прикладной. Обеспечивает интерфейс между пользователем и сетью, делает доступными для человека всевозможные услуги. На этом уровне реализуется, по крайней мере, пять прикладных служб: передача файлов, удаленный терминальный доступ, электронная передача сообщений, служба справочника и управление сетью. В конкретной реализации определяется пользователем (программистом) согласно его насущным нуждам и возможностям его кошелька, интеллекта и фантазии. Имеет дело, например, с множеством различных протоколов терминального типа, которых существует более ста.
Замечание.
Следует понимать, что подавляющее большинство современных сетей в силу исторических причин лишь в общих чертах, приближенно, соответствуют эталонной модели ISO OSI.
Уровни работы сети
Пересылка битов
Пересылка битов происходит на физическом уровне схемы ISO OSI. Увы, здесь всякая попытка краткого и доступного описания обречена на провал. Требуется введение огромного количества специальных терминов, понятий, описаний процессов на физическом уровне и т.д. И потом, существует столь великое разнообразие приемопередатчиков и передающих сред, - трудно даже и обозреть этот океан технологий. Для понимания работы сетей этого и не требуется. Считайте, что просто имеется труба, по которой из конца в конец перекачиваются биты. Именно биты, безо всякого деления на какие-либо группы (байты, декады и т.п.).
Пересылка данных
Об организации блочной, символьной передачи, обеспечении надежности пересылки поговорим на других уровнях модели ISO OSI. Т.е. функции канального уровня в Internet распределены по другим уровням, но не выше транспортного. В этом смысле Internet не совсем соответствует стандарту ISO. Здесь канальный уровень занимается только разбиением битового потока на символы и кадры и передачей полученных данных на следующий уровень. Обеспечением надежности передачи он себя не утруждает.
Сети коммутации пакетов
Настала пора поговорить об Internet именно как о сети, а не паутине линий связи и множестве приемопередатчиков. Казалось бы, Internet вполне аналогична телефонной сети, и модель телефонной сети достаточно адекватно отражает ее структуру и работу. В самом деле, обе они электронные, обе позволяют вам устанавливать связь и передавать информацию. И Internet тоже состоит, в первую очередь, из выделенных телефонных линий. Но увы! Картина эта неверна и приводит ко многим заблуждениям относительно работы Internet, ко множеству недоразумений. Телефонная сеть - это так называемая сеть с коммутацией линий, т.е. когда вы делаете вызов, устанавливается связь и на все время сеанса связи имеется физическое соединение с абонентом. При этом вам выделяется часть сети, которая для других уже не доступна, даже если вы молча дышите в трубку, а другие абоненты хотели бы поговорить по действительно неотложному делу. Это приводит к нерациональному использованию очень дорогих ресурсов - линий сети. Internet же является сетью с коммутацией пакетов, что принципиально отличается от сети с коммутацией каналов.
Для Internet более подходит модель, которая поначалу может не внушать доверия: почта, обыкновенная государственная почтовая служба. Почта является сетью пакетной связи. Нет никакой выделенной вам части этой сети. Ваше послание перемешивается с посланиями других пользователей, кидается в контейнер, пересылается в другое почтовое отделение, где снова сортируется. Хотя технологии сильно разнятся, почта является прекрасным и наглядным примером сети с коммутацией пакетов. Модель почты удивительно точно отражает суть работы и структуры Internet. Ею мы и будем пользоваться далее.
Протокол Internet (IP)
По проводу можно переслать биты только из одного его конца в другой. Internet же умудряется аккуратно передавать данные в различные точки, разбросанные по всему миру. Как она это делает? Забота об этом возложена на сетевой (межсетевой) уровень в эталонной модели ISO OSI. О нем и поговорим.
Различные части Internet - составляющие сети - соединяются между собой посредством компьютеров, которые называются ``узлы''; так Сеть связывается воедино. Сети эти могут быть Ethernet, Token Ring, сети на телефонных линиях, пакетные радиосети и т.п. Выделенные линии и локальные сети суть аналоги железных дорог, самолетов почты и почтовых отделений, почтальонов. Посредством их почта движется с места на место. Узлы - аналоги почтовых отделений, где принимается решение, как перемещать данные (``пакеты'') по сети, точно так же, как почтовый узел намечает дальнейший путь почтового конверта. Отделения или узлы не имеют прямых связей со всеми остальными. Если вы отправляете конверт из Долгопрудного (Московская область) в Уфу (Башкирия), конечно же, почта не станет нанимать самолет, который полетит из ближайшего к Долгопрудному аэропорта (Шереметьево) в Уфу, просто местное почтовое отделение отправляет послание на подстанцию в нужном направлении, та в свою очередь, дальше в направлении пункта назначения на следующую подстанцию; таким образом письмо станет последовательно приближаться к пункту назначения, пока не достигнет почтового отделения, в ведении которого находится нужный объект и которое доставит сообщение получателю. Для работы такой системы требуется, чтобы каждая подстанция знала о наличествующих связях и о том, на какую из ближайших подстанций оптимально следует передать адресованный туда-то пакет. Примерно также и в Internet: узлы выясняют, куда следует ваш пакет данных, решают куда его дальше отправить и отправляют.
На каждой почтовой подстанции определяется следующая подстанция, куда будет далее направлена корреспонденция, т.е. намечается дальнейший путь (маршрут) - этот процесс называется маршрутизацией. Для осуществления маршрутизации каждая подстанция имеет таблицу, где адресу пункта назначения (или индексу) соответствует указание почтовой подстанции, куда следует посылать далее этот конверт (бандероль). Их сетевые аналоги называются таблицами маршрутизации. Эти таблицы рассылаются почтовым подстанциям централизовано соответствующим почтовым подразделением. Время от времени рассылаются предписания по изменению и дополнению этих таблиц. В Internet, как и любые другие действия, составление и модификация, таблиц маршрутизации (этот процесс тоже является частью маршрутизации и называется так же) определяются соответствующими правилами - протоколами ICMP (Internet Control Message Protocol), RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First). Узлы, занимающиеся маршрутизацией, называются маршрутизаторами.
А откуда сеть знает, куда назначен ваш пакет данных? От вас. Если вы хотите отправить письмо и хотите, чтобы ваше письмо достигло места назначения, вы не можете просто кинуть листочек бумаги в ящик. Вам следует уложить его в стандартный конверт и написать на нем не ``на деревню дедушке'', как Ванька Жуков, а адрес получателя в стандартной форме. Только тогда почта сможет правильно обработать ваше письмо и доставить его по назначению. Аналогично в Internet имеется набор правил по обращению с пакетами - протоколы. Протокол Internet (IP) берет на себя заботы по адресации или по подтверждению того, что узлы понимают, что следует делать с вашими данными по пути их дальнейшего следования. Согласно нашей аналогии, протокол Internet работает также как правила обработки почтового конверта. В начало каждого вашего послания помещается заголовок, несущий информацию об адресате, сети. Чтобы определить, куда и как доставить пакет данных, этой информации достаточно.
Адрес в Internet состоит из 4 байт. При записи байты отделяются друг от друга точками: 123.45.67.89 или 3.33.33.3 . (Не пугайтесь, запоминать эти цифры вам не придется !) В действительности адрес состоит из нескольких частей. Так как Internet есть сеть сетей, начало адреса говорит узлам Internet, частью какой из сетей вы являетесь. Правый конец адреса говорит этой сети, какой компьютер или хост должен получить пакет (хотя реально не все так просто, но идея такова). Каждый компьютер в Internet имеет в этой схеме уникальный адрес, аналогично обычному почтовому адресу, а еще точнее - индексу. Обработка пакета согласно адресу также аналогична. Почтовая служба знает, где находится указанное в адресе почтовое отделение, а почтовое отделение подробно знает подопечный район. Internet знает, где искать указанную сеть, а эта сеть знает, где в ней находится конкретный компьютер. Для определения, где в локальной сети находится компьютер с данным числовым IP-адресом, локальные сети используют свои собственные протоколы сетевого уровня. Например, Ethernet для отыскания Ethernet-адреса по IP-адресу компьютера, находящегося в данной сети, использует протокол ARP - протокол разрешения(в смысле различения) адресов. (См. документацию по ARP: RFC 826, 917, 925, 1027)
Числовой адрес компьютера в Internet аналогичен почтовому индексу отделения связи. Первые цифры индекса говорят о регионе (например, 45 - это Башкирия, 141 - подмосковье и т.д.), последние две цифры - номер почтового отделения в городе, области или районе. Промежуточные цифры могут относиться как к региону, так и к отделению, в зависимости от территориального деления и вида населенного пункта. Аналогично существует несколько типов адресов Internet (типы: A, B, C, D, E), которые по-разному делят адрес на поля номера сети и номера узла, от типа такого деления зависит количество возможных различных сетей и машин в таких сетях.
По ряду причин (особенно, - практических, из-за ограничений оборудования) информация, пересылаемая по сетям IP, делится на части (по границам байтов), раскладываемые в отдельные пакеты. Длина информации внутри пакета обычно составляет от 1 до 1500 байт. Это защищает сеть от монополизирования каким-либо пользователем и предоставляет всем примерно равные права. Поэтому же, если сеть недостаточно быстра, чем больше пользователей ее одновременно пользует, тем медленнее она будет общаться с каждым.
Протокол IP является дейтаграммным протоколом, т.е. IP-пакет является дейтаграммой. Это совершенно не укладывается в модель ISO OSI, в рамках которой уже сетевой уровень способен работать по методу виртуальных каналов.
Одно из достоинств Internet состоит в том, что протокола IP самого по себе уже вполне достаточно для работы (в принципе). Это совершенно неудобно, но, при достаточных аскетичности, уме и упорстве удастся проделать немалый объем работы. Как только данные помещаются в оболочку IP, сеть имеет всю необходимую информацию для передачи их с исходного компьютера получателю. Работа вручную с протоколом IP напоминает нам суровые времена доперсональной компьютерной эры, когда пользователь всячески угождал ЭВМ, укрощая свои тело, дух и эстетические чувства. Об удобстве пользователя никто и не собирался думать, потому что машинное время стоило во много раз дороже человеческого. Но сейчас в аскетизме надобности уже нет. Поэтому следует построить на основе услуг, предоставляемых IP, более совершенную и удобную систему. Для этого сначала следует разобраться с некоторыми жизненно важными проблемами, которые имеют место при пересылке информации:
* большая часть пересылаемой информации длиннее 1500 символов. если бы почта пересылала только почтовые карточки и отказывалась бы от пересылки чего-либо большего, мы бы, например, лишились увлекательнейшего литературного жанра - эпистолярного. Не говоря уже о том, что практической пользы от такой почты было бы очень немного;
* возможны и неудачи. Почта, нередко бывает, письма теряет; сеть тоже, бывает, теряет пакеты или искажает в пути информацию в них. В отличие от почты, Internet может с честью выходить из таких затруднительных положений;
* пакеты могут приходить в последовательности, отличной от начальной. Пара писем, отправленных друг за другом на днях, не всегда приходит к получателю в том же порядке; то же верно и для Internet.
Таким образом, следующий уровень Internet должен обеспечить способ пересылки больших массивов информации и позаботиться об ``искажениях'', которые могут возникать по вине сети.
Протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP)
Transmission Control Protocol - это протокол, тесно связанный с IP, который используется в аналогичных целях, но на более высоком уровне - транспортном уровне эталонной модели ISO OSI. Часто эти протоколы, по причине их тесной связи, именуют вместе, как TCP/IP. Термин ``TCP/IP'' обычно означает все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы TCP, UDP, ICMP, telnet, FTP и многие другие.TCP/IP - это технология межсетевого взаимодействия, технология internet. Сеть, которая использует технологию internet, называется internet.
Сам протокол TCP занимается проблемой пересылки больших объемов информации, основываясь на возможностях протокола IP. Как это делается? Вполне здраво можно рассмотреть следующую ситуацию. Как можно переслать книгу по почте, если та принимает только письма и ничего более? Очень просто: разодрать ее на страницы и отправить страницы отдельными конвертами. Получатель, руководствуясь номерами страниц, легко сможет книгу восстановить. Этим же простым и естественным методом и пользуется TCP.
TCP делит информацию, которую надо переслать, на несколько частей. Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.
Получатель (TCP-модуль (процесс)) по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место. Если чего-то не достает, он требует переслать этот кусочек снова. В конце концов информация собирается в нужном порядке и полностью восстанавливается. Вот теперь этот массив пересылается выше к пользователю (на диск, на экран, на печать).
В действительности, это слегка утрированный взгляд на TCP. В реальности пакеты не только теряются, но и могут искажаться при передаче из-за наличия помех на линиях связи. TCP решает и эту проблему. Для этого он пользуется системой кодов, исправляющих ошибки. Существует целая наука о таких кодировках. Простейшим примером такового служит код с добавлением к каждому пакету контрольной суммы (и к каждому байту бита проверки на четность). При помещении в TCP-конверт вычисляется контрольная сумма, которая записывается в TCP-заголовок. Если при приеме заново вычисленная сумма не совпадает с той, что указана на конверте, значит что-то тут не то, - где-то в пути имели место искажения, так что надо переслать этот пакет по новой, что и делается.
Для ясности и полноты картины, необходимо сделать здесь важное замечание: Модуль TCP разбивает поток байтов на пакеты, не сохраняя при этом границ между записями. Т.е., если один прикладной процесс делает 3 записи в -порт, то совсем не обязательно, что другой прикладной процесс на другом конце виртуального канала получит из своего -порта именно 3 записи, причем именно таких (по разбиению), что были переданы с другого конца. Вся информация будет получена исправно и с сохранением порядка передачи, но она может уже быть разбита по другому и на иное количество частей. Не существует зависимости между числом и размером записываемых сообщений с одной стороны и числом и размером считываемых сообщений с другой стороны. TCP требует, чтобы все отправленные данные были подтверждены принявшей их стороной. Он использует ожидания (таймауты) и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных. Таким образом, между отправленными и подтвержденными данными существует окно уже отправленных, но еще не подтвержденных данных. Количество байт, которое можно передавать без подтверждения, называется размером окна. Как правило, размер окна устанавливается в стартовых файлах сетевого программного обеспечения. Так как TCP-канал является , т.е. данные могут одновременно передаваться в обоих направлениях, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении. Приемники на обеих сторонах виртуального канала выполняют управление потоком передаваемых данных для того, чтобы не допускать переполнения буферов.
Таким образом, протокол TCP обеспечивает гарантированную доставку с установлением логического соединения в виде байтовых потоков. Он освобождает прикладные процессы от необходимости использовать ожидания и повторные передачи для обеспечения надежности. Наиболее типичными прикладными процессами, использующими TCP, являются ftp и telnet. Кроме того, TCP использует система X-Windows (стандартный многооконный графический интерфейс с пользователем), ``r-команды''.
Большие возможности TCP даются не бесплатно, реализация TCP требует большой производительности процессора и большой пропускной способности сети. Когда прикладной процесс начинает использовать TCP, то начинают общаться модуль TCP на машине пользователя и модуль на машине сервера. Эти два оконечных модуля TCP поддерживают информацию о состоянии соединения - виртуального канала. Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP. Канал этот, как уже указывалось, является дуплексным. Один прикладной процесс пишет данные в TCP-порт, откуда они модулями соответствующих уровней по цепочке передаются по сети и выдаются в TCP-порт на другом конце канала, и другой прикладной процесс читает их отсюда - из своего TCP-порта. эмулирует (создает видимость) выделенную линию связи двух пользователей. Гарантирует неизменность передаваемой информации. Что входит на одном конце, выйдет с другого. Хотя в действительности никакая прямая линия отправителю и получателю в безраздельное владение не выделяется (другие пользователи могут пользовать те же узлы и каналы связи в сети в промежутках между пакетами этих), но извне это, практически, именно так и выглядит.
Как бы хорошо это не звучало, но это не панацея. Как уже отмечалось, установка TCP-виртуального канала связи требует больших расходов на инициирование и поддержание соединения и приводит к задержкам передачи. Если вся эта суета - излишество, лучше обойтись без нее. Если все данные, предназначенные для пересылки, умещаются в одном пакете, и если вас не особенно заботит надежность доставки (? - читайте дальше, - поймете), то можно обойтись без TCP.
Имеется другой стандартный протокол транспортного уровня, который не отягощен такими накладными расходами. Этот протокол называется UDP - User Datagram Protocol - протокол пользовательских дейтаграмм. Он используется вместо TCP. Здесь данные помещаются не в TCP, а в UDP-конверт, который также помещается в IP-конверт. Этот протокол реализует дейтаграммный способ передачи данных.
Дейтаграмма - это пакет, передаваемый через сеть независимо от других пакетов без установления логического соединения и подтверждения приема. Дейтаграмма - совершенно самостоятельный пакет, поскольку сама содержит всю необходимую для ее передачи информацию. Ее передача происходит безо всякого предварения и подготовки. Дейтаграммы, сами по себе, не содержат средств обнаружения и исправления ошибок передачи, поэтому при передаче данных с их помощью следует принимать меры по обеспечению надежности пересылки информации. Методы организации надежности могут быть самыми разными, обычно же используется метод подтверждения приема посылкой эхоотклика при получении каждого пакета с дейтаграммой.
UDP проще TCP, поскольку он не заботится о возможной пропаже данных, пакетов, о сохранении правильного порядка данных и т.д. UDP используется для клиентов, которые посылают только короткие сообщения и могут просто заново послать сообщение, если отклик подтверждения не придет достаточно быстро. Предположим, что вы пишите программу, которая просматривает базу данных с телефонными номерами где-нибудь в другом месте сети. Совершенно незачем устанавливать TCP связь, чтобы передать 33 или около того символов в каждом направлении. Вы можете просто уложить имя в UDP-пакет, запаковать это в IP-пакет и послать. На другом конце прикладная программа получит пакет, прочитает имя, посмотрит телефонный номер, положит его в другой UDP-пакет и отправит обратно. Что произойдет, если пакет по пути потеряется? Ваша программа тогда должна действовать так: если она ждет ответа слишком долго и становится ясно, что пакет затерялся, она просто повторяет запрос, т.е. посылает еще раз то же послание. Так обеспечивается надежность передачи при использовании протокола UDP.
В отличие от TCP, данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 3 записи в UDP-порт, то процесс-получатель должен будет сделать 3 чтения. Размер каждого записанного сообщения будет совпадать с размером соответствующего прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно целое и не делит одно сообщение на части.
Альтернатива TCP-UDP позволяет программисту гибко и рационально использовать предоставленные ресурсы, исходя из своих возможностей и потребностей. Если нужна надежная доставка, то лучше может быть TCP. Если нужна доставка дейтаграмм, то - UDP. Если нужна эффективная доставка по длинному и ненадежному каналу передачи данных, то лучше использовать TCP. Если нужна эффективность на быстрых сетях с короткими соединениями, лучше всего будет UDP. Если потребности не попадают ни в одну из этих категорий, то выбор транспортного протокола не ясен. Прикладные программы, конечно, могут устранять некоторые недостатки выбранного протокола. Например, если вы выбрали UDP, а вам необходима надежность, то прикладная программа должна обеспечить надежность сама, как описано выше: требовать подтверждения, пересылки утерянных или увечных пакетов и т.д. Если вы выбрали TCP, а вам нужно передавать записи, то прикладная программа должна вставлять метки в поток
Создание сети с человеческим лицом. Прикладное обеспечение
И вот мы имеем возможность передавать информацию между различными точками в сети. Вот теперь мы можем начать работать над созданием дружественного интерфейса Internet, позаботиться об удобстве для пользователя. Для этого мы напишем программное обеспечение, которое будет понимать язык команд, выдавать сообщения об ошибках, подсказки, использовать для адресации сетевых компьютеров при общении с пользователем имена, а не числа и т.д. В модели ISO OSI на это работают уровни выше транспортного, т.е. сеансовый, представления данных и прикладной. Вся эта деятельность направлена на повышение уровня удобства работы в сети, на создание систем, позволяющих пользоваться предоставляемыми возможностями обычному пользователю сети.
Ведь большинство пользователей совсем не волнует ни наличие надежного потока битов между машинами, ни пропускная способность этих линий или тонкости и особенности используемой технологии, ни даже экзотичность этой технологии. Они хотят использовать этот битовый поток для дела, как то: переслать файл, добраться до каких-то данных или просто поиграть в игру. Приложения - это части программного обеспечения. Их создают на основе сервиса TCP или UDP. Приложения позволяют пользователю достаточно просто справиться с возникшей задачей, не погружаясь в пучину технической информации о конкретной сети, о протоколах и т.д.
Прикладное обеспечение разнится очень сильно. Приложения могут быть от самодельной программы до патентованных продуктов, поставляемых различными фирмами (DEC, Microsoft и т.п.). Существует три стандартных Internet -приложения: удаленный доступ, передача файлов, электронная почта (e-mail); наряду с ними используются другие широко распространенные нестандартные приложения.
Предоставление услуг Internet построено по схеме ``клиент - сервер''. Предоставление услуг осуществляется совместной работой двух процессов: на компьютере пользователя и на компьютере-сервере. Процесс на компьютере пользователя называется клиентом, а на компьютере-сервере - сервером. Клиент и сервер являются, по сути, частями одной программы, взаимодействующие по виртуальной связи в сети. Сервер по указаниям клиента выполняет соответствующие действия, например, пересылает клиенту файл. Для предоставления услуги совершенно необходимо наличие двух этих модулей - клиента и сервера, и их одновременная согласованная работа. Взаимодействие клиента и сервера описывается соответствующими стандартными протоколами, поэтому клиент и сервер могут быть выпущены совершенно разными производителями и работать на разнородных компьютерах. Поэтому же существует небольшая проблема нестандартности интерфейса клиента непосредственно уже с пользователем. Это взаимодействие может иметь совершенно различную форму: интерактивную, командную и т.д. Системы команд могут различаться. Но от этого сами возможности не изменяются, поскольку клиент и сервер всегда взаимодействуют одинаково - согласно протоколу.
Так как прикладным обеспечением снабжают по большей части через локальные сети, в разговоре о приложениях возникает вышеупомянутая проблема: команды, сообщения, справки, подсказки и т.п. в разных локальных сетях могут в той или иной степени отличаться. Об этом не следует забывать при чтении руководств пользователя: сообщения могут отличаться, но смысл их будет такой же, то же касается и команд. Даже если они слегка отличаются, не стоит волноваться, большинство приложений имеет разумную систему подсказок и описание набора команд, где вы детально и конкретно сможете разузнать все, что вам понадобится.
Системы сетевых адресов
Региональная Система Имен
Числовые адреса хороши для связи машин, люди же предпочитают имена. Очень непросто разговаривать, используя машинную адресацию (как бы это звучало: ``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, бывший СССР - su, США - us и т.д. США также включили в эту систему структурирования для всеобщности и порядка. Всего же кодов стран почти 300, из которых около 100 имеет компьютерную сеть того или иного рода. Единый каталог Internet находится у SRI International (Менло-Парк, Калифорния, США) - государственной организации.
Поиск адреса по доменному имени
Теперь вы знаете, как соотносятся домены и создаются имена. Возможно, вы теперь озадачены: а как использовать эту замечательную систему? Автоматически. Вам надо лишь употребить имя на компьютере, который понимает, как обращаться с DNS. Вам никогда не придется самим разыскивать адрес, соответствующий этому имени, или подавать специальную команду для его поиска (в UNIX - команда nslookup). Вы, конечно, можете это проделать - для собственного удовольствия, но зачем, ведь этого совсем не требуется. Все компьютеры Internet способны пользоваться доменной системой. И работающий в сети компьютер всегда знает свой собственный сетевой адрес.
Когда вы пользуетесь именем, например, mx.ihep.su, компьютер должен преобразовать его в адрес. Для этого он начинает запрашивать помощь у DNS-серверов. Это узлы, рабочие машины, обладающие соответствующей базой данных, в число обязанностей которых входит обслуживание такого рода запросов. DNS-сервер начинает обработку имени с правого его конца и двигается по нему влево, т.е. сначала производится поиск адреса в самой большой группе (домене), потґом постепенно сужает поиск. Но для начала опрашивается на предмет наличия у него нужной информации местный узел. Здесь возможны три случая:
* Местный сервер знает адрес, потому, что этот адрес содержится в его части всемирной базы данных. Например, если вы подсоединены к сети Института Физики Высоких Энергий (IHEP), то ваш местный сервер должен обладать информацией о всех компьютерах локальной сети этого института (mx, desert, ixwin и т.д.);
* Местный сервер знает адрес, потому, что кто-то недавно уже запрашивал тот же адрес. Когда запрашивается адрес, сервер DNS придерживает его у себя в памяти некоторое время, как раз на случай, если кто-нибудь еще захочет попозже того же адреса - это повышает эффективность системы;
* Местный сервер адрес не знает, но знает как его выяснить.
Как местный сервер может разузнать запрошенный адрес? В его прикладном или системном программном обеспечении имеется информация о том, как связаться с корневым сервером. Это сервер, который знает адреса серверов имен высшего уровня (самых правых в имени), здесь это уровень государств (ранга домена su). У него запрашивается адрес компьютера, ответственного за зону su. Местный DNS-сервер связывается с этим более общим сервером и запрашивает у него адрес сервера, ответственного за домен ihep.su. Теперь уже запрашивается этот сервер и у него запрашивается адрес рабочей машины mx.
На самом деле, для повышения эффективности, поиск начинается не с самого верха, а с наименьшего домена, в который входите и вы, и компьютер, имя которого вы запросили. Например, если ваш компьютер имеет имя nonlin.mipt.su, то опрос начнется (если имя не выяснится сразу) не со всемирного сервера, чтобы узнать адрес сервера группы su, а сразу с группы su, что сразу сокращает поиск и по объему, и по времени.
Этот поиск адреса совершенно аналогичен поиску пути письма без надписанного почтового индекса. Как определяется этот индекс? Все регионы пронумерованы - это первые цифры индекса. Письмо пересылается на центральный почтамт этого региона, где имеется справочник с нумерацией районов этого региона - это следующие цифры индекса. Теперь письмо идет на центральный почтамт соответствующего района, где уже знают все почтовые отделения в подопечном районе. Таким образом по географическому адресу определяется почтовый индекс, ему соответствующий. Также определяется и адрес компьютера в Internet, но путешествует не послание, а запрос вашего компьютера об этом адресе. И в отличие от случая с почтой, информация об адресе доходит до вас, как если бы районный почтамт места назначения отправлял вам письмо, любезно уведомляя вас на будущее об индексе, которого вы не изволили знать.
Некоторые компьютеры (есть еще такие динозавры) все еще работают по старинке, т.е. используя host-файлы. Если вы вдруг очутитесь на одном из них, вам надо будет просить администратора, либо самому вручную разыскать нужный вам адрес, а администратор должен будет потом включить соответствующую запись в местный host-файл. Подскажите администратору, что уж давно пора бы установить программы для поддержки DNS, так чтобы более вам этим поиском заниматься не пришлось.
Система адресов X.400
X.400 - общий стандарт, разработанный ISO и CCITT, для управления сообщениями. Этот стандарт планируют принять многие сети. Некоторые уже используют его.
Дополнительно к обычному тексту, сообщения X.400 могут содержать и другие форматы (факсы, записи звуков речи, музыки, различные изображения и т.д.). Адресация в пользовании также очень проста, слегка напоминает своей идеей DNS. Только здесь используются не названия групп, сетей, но более привычные в обиходе понятия:
Код страны -тот же, что в RFC822;
ADMD - Administration Management = домен административного управления . Определяет общественный носитель X.400.Владельцем ADMD обычно является компания по предоставлению услуг дальней связи или государственное учреждение связи. Для соединения ADMD друг с другом их владельцы заключают двусторонние соглашения, и, естественно, не все ADMD соединены между собой. Самые крупные владельцы ADMD: AT&T, MCI, Sprint
PRMD -Private Management Domain = домен частного управления. Определяет используемый частный носитель X.400. Это может быть EUnet, BITN и т.д. или же частная организация;
Организация - Указывает организацию получателя. Ею может быть, например, компания или учебное заведение МФТИ Oxford, Cambridge, MIT и т.д.;
Орг.единица - Определяет подразделение. Их может быть несколько. Например не просто physics, но lab_1 или lab_2;
Фамилия - Плотников;
Имя - Олег. Требуется, если фамилия достаточно распространённая.
Можно преобразовать старый адрес в X.400 формат, но не всегда это будет просто. Тем не менее, вполне может статься, что вас осчастливят письмом в формате X.400 . Чтобы послать ответ отправителю, просто возьмите его адрес из поля ``From:'' полученного письма. Соответствующий шлюз с этим разберется.
К счастью имеется инструкция (RFC 987) по переводу адресов и текстовых сообщений X.400 в формат RFC 822, имеется соответствующее программное обеспечение. Но, увы, единой системы картографирования таких адресов не существует; разные почтовые станции работают с ними немножко по-разному, что может приводить к недоразумениям. Также не существует единого стандарта для записи X.400 адреса, поэтому пока невозможно единообразно и ясно надписать таковой, например, на бизнес -карте.
Замечания по региональной системе имен
Распространено несколько заблуждений, с которыми вы можете столкнуться, имея дело с именами. Приведем несколько верных утверждений в качестве опорных, чтобы вывести вас из заблуждений, или предостеречь от них:
* Части доменного имени говорят о том, кто ответственен за поддержку этого имени, то есть в чьем подчинении-ведении оно находится. Они могут вообще ничего не сообщать о владельце компьютера, соответствующего этому IP-адресу, или даже (несмотря на коды стран), где же эта машина находится. Вполне можно иметь в Антарктиде машину с именем inr.msk.su (ИЯИ РАН, г.Троицк под Москвой). Это совершенно ненормально, но никаким законам не противоречит. Вот реально существующий пример: в Институте Химической Физики (пос. Черноголовка Московской области) стоит машина с именем lle.icp.chg.free.net, относящимся к домену net, расположенному, по идее, в США.
* Части доменного имени даже не всегда указывают локальную сеть, в которой расположен компьютер. Часто доменные имена и сети перекрываются, и жестких связей между ними нет: две машины одного домена могут не принадлежать одной сети. Например, системы mx.decnet.ihep.su и ms.decnet.ihep.su могут находиться в совершенно разных сетях. И еще раз: доменные имена указывают на ответственного за домен.
* У машины может быть много имен. В частности, это верно для машин, предоставляющих какие-либо услуги, которые в будущем могут быть перемещены под опеку другой машины. Когда эти службы будут перемещены, то имя, под которым эта машина выступала в качестве такого сервера, будет передано новой машине-серверу вместе с услугами, - для внешних пользователей ничего не изменится. Т.е. они будут продолжать пользоваться этой службой, запрашивая ее по тому же имени, независимо от того, какой компьютер на самом деле занимается обслуживанием. Имена, по смыслу относящиеся к службе, называются ``каноническими именами'' или ``кименами'' (cnames). В Internet они встречаются довольно часто.
* Для связи имена необязательны. Как-нибудь вам придет сообщение: ``адресат неизвестен'', что означает, что Internet не может преобразовать использованное вами имя в число, - имя более недееспособно в том виде, в котором его знает ваш компьютер. Однажды заполучив числовой эквивалент имени, ваша система перестает использовать для связи на машинном уровне доменную форму адреса.
* Запоминать лучше имена, а не числовые адреса. Некоторым кажется, что система имен это ``еще одно звено в цепи, которое может выйти из строя''. Но адреса привязаны к конкретным точкам сети. Если компьютер, предоставляющий некие услуги, переносится из одного здания в другое, его сетевое расположение, а значит и адрес, скорее всего изменятся. Имя же менять не надо и не следует. Когда администратор присваивает новый адрес, ему нужно только обновить запись имени в базе данных так, чтобы имя указывало на новый адрес. Так как имя работает по-прежнему, вас совершенно не должно заботить то, что компьютер расположен уже в другом месте.
Региональная система имен, возможно, и выглядит сложно, но это одна из тех составляющих, делающих общение с сетью более простым и удобным. Несомненное преимущество доменной системы состоит в том, что она разбивает громадье Internet на набор вполне обозримых и управляемых частей. Хотя сеть включает миллионы компьютеров, все они поименованы, и именование это организовано в удобной рациональной форме, что упрощает работу.
Дозволенное в Internet
Quod licet Jovi non licet bovi
Что дозволено в Internet - вопрос очень сложный. На это влияют законы, этика и политика. Как они соотносятся и что из них первостепенно, зависит от конкретного места.Internet - не просто сеть, она - сеть сетей, и каждая из этих сетей может иметь свои собственные правила поведения и обычаи. Правила эти довольно общи и все будет в порядке, если вы будете помнить некоторые общие положения. К счастью, эти указания не очень строги. Если вы держитесь в отведенном ими пространстве, вы можете делать все, что угодно. Когда же вы теряете уверенность в правоте своих поступков, чувствуете, что подходите близко к краю, свяжитесь с вашим поставщиком сети и выясните точно, дозволено это или нет. Может быть, вы хотите вполне законного, но доподлинное выяснение законности всегда остается под вашей ответственностью. Незнание закона, как известно, не освобождает от ответственности.
Легальное использование
На законы Internet влияют три основных положения:
* Государство субсидирует большие части Internet . Эти субсидии исключают коммерческое использование;
* Internet - не только национальная сеть, но самая настоящая глобальная сеть. При передаче чего бы то ни было через национальные границы начинают действовать экспортные законы; государственные законы в разных местах могут существенно различаться;
* При пересылке программного обеспечения (или идеи для того) из одного места в другое, вы должны считаться с интеллектуальной собственностью и лицензионными ограничениями.
Государственные дотации
Многие сети Internet материально поддерживаются государством. По закону учреждение может тратить деньги из своего бюджета только по его прямому назначению. Если Академия Наук финансирует сеть, то ее можно использовать только в целях научных исследований. Вы как пользователь можете совсем не знать, по каким сетям пересылаются ваши файлы, а они попадают в сферы влияния ведомств, содержащих каждую из этих сетей. Поэтому, разумнее было бы существовать одному большому ведомству, которое распоряжалось бы государственными субсидиями и централизовано содержало все дотируемые сети, ведь содержание множества параллельных сетей,- это пустая трата денег. Лучше создать сеть - часть Internet - например, для исследования и образования (RE: Research and Education), которую, таким образом, можно было бы использовать в любых фундаментальных исследованиях и образовании, или для их поддержки, чем иметь множество аналогичных сетей помельче, но более специализированных, например, для поддержки агрохимических исследований, океанологии и т.д.
Значение статьи расходов «в поддержку исследований или образования» невозможно переоценить. Ее наличие узаконивает важные пути использования дотируемой сети, которые, казалось бы, не соответствуют ее назначению. Например, продавец программного обеспечения, использующегося в исследованиях или образовательном процессе, может распространять усовершенствования или отвечать на вопросы пользователей по e-mail. Такое использование считается ``в поддержку исследований или образования'' (RE). В то же время он не может использовать такую сеть в бизнесе для, например, работы с рынком, предъявления счетов, отчетности, а также учета. Для таких целей должно использовать коммерческую часть Internet.
Коммерческое использование
Организация при подготовке к включению в Internet должна сообщить поставщику сети цель соединения: будет ли оно использоваться в исследовательских или же коммерческих целях. Если вы решите, что ваше подключение будет типа ``RE'', то ваш сетевой трафик будет преимущественно идти по маршрутам, субсидируемым в этих целях. Если же организация коммерческая, то данные будут идти по коммерческим маршрутам. Как и следовало ожидать, плата за сетевое пользование вашей общиной зависит от этого решения: коммерческое использование обычно намного дороже, чем ``RE'', т.к. оно не дотируется. Только администрация вашей сети может сообщить точно, допустимо ли коммерческое использование на этом соединении. Проверьте это перед тем, как начать пользоваться сетью.
Многие корпорации, конечно же, предпочитают входить в Internet как ``RE''-общины, что в общем-то соответствует действительности, так как целью присоединения часто является исследование. Например, компания по производству зерна хочет провести совместные с университетом им. Н.С. Хрущева исследования по кукурузе. Тем не менее многие корпорации объявляют свои соединения коммерческими. Это дает уверенность в том, что в будущем не возникнет правовых помех, если их служащий воспользуется связью в коммерческих целях. Многие деловые люди считают, что удобство и надежность вполне заслуживают дополнительной платы.
Экспортные законы
Любой экспорт подпадает под ответственность и контроль соответствующего отдела по экспортным ограничениям. Экспорт данных - тоже. В Internet , поскольку она целостна ( ну, как бы) и глобальна, довольно просто можно вывозить информационные продукты без ведома владельца или таможенников. Для конкретного и обстоятельного разговора свяжитесь с юристом. Упомянем лишь основные требования, выполнение которых необходимо, чтобы не иметь проблем с законом.
Экспортные законы основаны на двух пунктах:
1.Экспорт чего бы то ни было требует лицензии.
2.Экспорт услуг примерно эквивалентен экспорту компонентов, необходимых для предоставления таких услуг.
Первый пункт вполне очевиден: пересылка файла и вообще чего-либо электронной почтой и как угодно еще за пределы страны должно быть прикрыто экспортной лицензией. К счастью имеется лазейка, называемая ``общая лицензия'', которая устраняет большинство преград. Общая лицензия разрешает вывозить все, что не запрещено явно и можно вычитать в публичных библиотеках. Так что все, что вы можете узнать на конференции или на занятиях в классе и на что не наложены ограничения из соображений безопасности, скорее всего, подпадает под общую лицензию.
Однако, список запрещенных пунктов таит множество сюрпризов и включает некоторые вещи, которые можно свободно узнать, обучаясь в университете. Например, во время войны в Персидском заливе, оказалось неожиданно трудно отгородить сети Иракского командования и управления: они использовали коммерческие IP-маршрутизаторы, которые очень быстро и хорошо находят обходные пути. И вот, экспорт любого сетевого узла, способного изыскивать альтернативные маршруты, теперь запрещен. Стоит внимательно ознакомиться с этим списком во избежание недоразумений и столкновений с законом.
Второй пункт еще проще. Если экспорт какого-либо оборудования, скажем суперкомпьютера, не разрешен, то запрещен и удаленный доступ к этому оборудованию извне этой страны. Так что будьте осторожны с раздариванием доступа к ``особым'' ресурсам (как суперкомпьютеры) коллегам из других стран. Природа этих ограничений зависит, несомненно, от иностранного государства и, как показали события последнего десятилетия, может очень быстро изменяться.
Предостережем вас и от заблуждений относительно правовой ответственности оператора узлового компьютера: объединение, ведающее Bitnet, после изучения возможных правовых помех, пришло к следующим заключениям:
* оператор сети ответственен за незаконный экспорт, только если он знал о нарушении и все же не информировал об этом компетентные органы;
* оператор сети не ответственен за постоянный контроль вашего использования и определение его законности.
Таким образом, персонал национальных сетей, скорее всего, не проглядывает ваши пакеты, высматривая, что же вы вывозите (хотя, за разного рода АНБ, КГБ, МБ, MI, трудно поручиться.). Однако, если сетевой оператор видит ваши пакеты, и в них содержится явное нарушение каких-либо инструкций, то он обязан поставить в известность руководство.
Права собственности
При передаче чего-либо кому-либо спор может разгореться вокруг прав собственности. Наличие национальных границ, пересекающих линию связи, вносит в ситуацию еще больше смуты. Авторские и патентные права сильно меняются от страны к стране. Вы можете найти в сети интересный том позабытой технической документации, авторские права на которое у вас в стране уже не действительны за давностью лет. Пересылка этих файлов в США может поставить вас вне их федерального закона. Разузнайте, кто имеет права на то, что вы вывозите по сетям, что бы то ни было. Если это не ваше, перед тем как высылать, убедитесь, что вы имеете на то разрешение.
Закон об электронных коммуникациях не поспевает за прогрессом технологии. Если у вас есть книга, журнал или частное письмо, почти любой юрист или библиотекарь скажут вам точно, можете ли вы это копировать, или же чье разрешение вам следует для этого получить. Но о заметке на сетевой доске объявлений, о сообщении электронной почты или о файле с докладом, доступном в сети, они мало что смогут сказать вразумительного. Даже если вы знаете, чьего разрешения вам добиваться и вы его добились по e-mail, совсем еще не ясно, а дает ли послание электронной почты какую-либо реальную защиту.
И имейте, пожалуйста, в виду, что права собственности могут стать проблемой даже при использовании общих (public, publicly available) файлов. Некоторые программы, доступные в Internet для использования, должны быть лицензированы продавцом. Например, поставщик рабочих станций может обновлять их операционную систему и программное обеспечение через анонимный ftp. Так что вы легко можете заполучить эти программы, но для того, чтобы использовать их законно, вы должны получить лицензию на использование, например, официально купить эти же программы у продавца.
Internet и политика
Политические процессы многим сетевым пользователям видятся одновременно и как благо, и как бедствие. Благо состоит в деньгах. Субсидии предоставляют многим людям возможности, которых они иначе были бы лишены. Бедствие же в том, что их действия находятся под неусыпным оком надзора. Кто-нибудь из больших политиков вдруг может решить, что кое-что из того, что вы натворили, может быть использовано в политической игре, и тогда вы лишитесь не только покоя, но, возможно, и честного имени. Это вполне может задеть не только ваших ближайших соратников, но и всю вашу общину.
Государственные мужи, а их очень много, поддерживающих дотации Internet , поддерживают развитие и содержание сети потому, что это на пользу стране, это дает возможность равноправно участвовать в международных исследованиях и торговле, развивать технологии и т.п. Ускорение передачи сообщений позволяет ускорить исследования и образовательный процесс. Благодаря Internet исследователи, студенты и их коллеги по всей стране и за рубежом могут находить лучшие технические решения.
Сеть своей открытостью и доступностью, а также устойчивостью к отключениям, способствует большей открытости, гласности и информированности в обществе, особенно оперативной информированности. Например, в августе 1991 и в октябре 1993 многие телекоммуникации стали ``барахлить'' по указанию сверху, невозможно было получить оперативно достоверную информацию по обычным сетям: телефонным, телеграфным, радио. Сети Internet (Relcom, Finnet, и др.) работали устойчиво и позволяли сообщаться с корреспондентами и редакциями как по всей стране, так и за рубежом.
Но есть и обратная сторона такого вмешательства политики: поддержка эта широка, но относительно хрупка и тонка. Любое действие сети, которое может вызвать политическое волнение, может и полностью изменить эту ситуацию, скорее всего, в худшую сторону.
Сетевая этика
У свежеиспеченного пользователя сети кажущееся отсутствие этики вызывает беспокойство. В действительности сеть есть общество очень этичное (см. по этике RFC 1087), просто этика его слегка отличается от обычной. Чтобы понять это, рассмотрим ``законы первопроходцев''. Во времена великих переселений на неосвоенные земли (например, Дикий Запад) устав, принятый на исходных территориях, всегда изменялся и подстраивался к местным условиям полукочевого образа жизни и т.д., что приводило к тому, что он отличался и от исходного, и от соседних. Так и сеть, являясь передним краем внедрения новых информационных и коммуникационных технологий, пользуется правом изменения и нововведения.
Имеется две пересекающиеся посылки сетевой этики:
* проявление индивидуальности уважается и поощряется;
* сеть - вещь хорошая и ее следует защищать.
Наиболее распространенные возможности Internet
Рассмотрим самые популярные возможности Internet . Эти услуги поддерживаются стандартом. Для более конкретного описания команд следует смотреть документацию соответствующего программного обеспечения. Впрочем, большинству достаточно той информации и разъяснений, которые можно найти в интерактивных системах подсказок (help-aх) или файлах описания.
Приведенная здесь статистика взята из [10] и [11]. Статистический анализ был проведен по количеству пакетов, а не пересылаемых объемов. Размеры же пакетов могут отличаться на порядки: пакеты могут быть от 20 байт до примерно 15 KB (принципиальных ограничений не существует, имеющиеся ограничения связаны с эффективностью пересылки информации при наличии искажений и задержек на повторную пересылку.) Статистика по пакетам показывает не загруженность сети, но частоту использования данного протокола, в некотором роде, его популярность.
Удаленный доступ (telnet)
Remote Login - удаленный доступ - работа на удаленном компьютере в режиме, когда ваш компьютер эмулирует терминал удаленного компьютера, т.е. вы можете делать все то же (или почти все), что можно делать с обычного терминала той машины. Трафик, относящийся к этому виду работы в сети, в среднем составляет около 19% всего сетевого трафика. Начать сеанс удаленного доступа можно в UNIX, подав команду telnet и указав имя машины, с которой вы хотите работать. Если номер порта опустить, то ваш компьютер по умолчанию эмулирует терминал той машины и вы входите в систему как обычно. Указание номера порта позволяет связываться с нестандартными серверами, интерфейсами.
telnet - протокол эмуляции терминала, который обеспечивает поддержку удаленного доступа в Internet .
telnet - так же называется программа в UNIX, которая обслуживает эти сеансы работы; telnet имеет и свой собственный набор команд, которые управляют собственно этой программой, т.е. сеансом связи, его параметрами, открытием новых, закрытием и т.д.; эти команды подаются из командного режима telnet, в который можно перейти, нажав так называемую escape-последовательность клавиш, которая вам сообщается при достижении удаленной машины.
Сеанс обеспечивается совместной работой программного обеспечения удаленной ЭВМ и вашей. Они устанавливают TCP-связь и общаются через TCP и UDP пакеты. Взаимодействие это очень не простое, но результат замечателен. Сидя, например, в Швейцарии, можно работать на машине в США так, как если бы она стояла рядом.
Для пользования этой замечательной возможностью сети необходимо иметь доступ в Internet класса не ниже dial-up доступа.
Передача файлов (ftp)
ftp - File Transfer Protocol - протокол передачи файлов - протокол, определяющий правила передачи файлов с одного компьютера на другой.
ftp - также название программы из прикладного обеспечения. Использует протокол ftp для того, чтобы пересылать файлы.
В аспекте применения ftp во многом аналогична telnet. Т.е. для работы с ftp нужно иметь доступ на ту удаленную машину, с которой вы хотите перекачать себе файлы, т.е. иметь входное имя и знать соответствующий пароль. Доступ должен быть как минимум типа dial-up (по вызову). Для использования ftp, нужно подать команду ftp с указанием имени рабочей машины, на которой вы хотите провести сеанс. ftp также позволяет (у него свой набор команд) производить поиск файла на удаленной машине, то есть переходить из директории в директорию, просматривать содержимое этих директорий, файлов. Позволяет пересылать как файлы, так и их группы, а также целиком директории, можно вместе со всеми вложенными на любую глубину поддиректориями. Позволяет пересылать данные в файлах либо как двоичную информацию, либо как ASCII (т.е. текст). ASCII-пересылка дает возможность автоматического перекодирования данных при пересылке текста на компьютер с другой кодировкой алфавита и т.д., что сохраняет прежний читаемый вид текста. Имеется возможность сжимать данные при пересылке и после их разжимать в прежний вид.
Имеет место подвид ftp, так называемое анонимное ftp. Анонимность заключается в том, что если на ftp, вообще говоря, требуется для начала работы правильно идентифицировать себя, ввести входное имя и, возможно, пароль, то на машинах, поддерживающих этот вид ftp, для входа и начала работы этого не требуется.
ftp протоколы делятся на протоколы команд и самих перекачиваемых данных. Данные занимают в среднем около 40% всего сетевого трафика, в то время как команды - только 4%. (Здесь статистика по пересылаемым объемам!)
Имеется также возможность использования ftp в пакетном режиме по e-mail на некоторых серверах, но отсутствие прямого диалога очень неудобно и сильно замедляет работу, - за неимением лучшего это вполне сносно.
Электронная почта (e-mail)
Это самое популярное на сегодня использование Internet у нас в стране. Оценки говорят, что в мире имеется более 50 миллионов пользователей электронной почты. В целом же в мире трафик электронной почты (протокол smtp) занимает только 3.7% всего сетевого. Популярность ее объясняется, как насущными требованиями, так и тем, что большинство подключений - подключения класса ``доступ по вызову'' (с модема), а у нас в России, вообще, в подавляющем большинстве случаев - доступ UUCP. E-mail доступна при любом виде доступа к Internet .
E-mail (Electronic mail) - электронная почта (простонародн. - электронный аналог обычной почты. С ее помощью вы можете посылать сообщения, получать их в свой электронный почтовый ящик, отвечать на письма ваших корреспондентов автоматически, используя их адреса, исходя из их писем, рассылать копии вашего письма сразу нескольким получателям, переправлять полученное письмо по другому адресу, использовать вместо адресов (числовых или доменных имен) логические имена, создавать несколько подразделов почтового ящика для разного рода корреспонденции, включать в письма текстовые файлы, пользоваться системой «отражателей почты» для ведения дискуссий с группой ваших корреспондентов и т.д. Из Internet вы можете посылать почту в сопредельные сети, если вы знаете адрес соответствующего шлюза, формат его обращений и адрес в той сети.
Используя e-mail, вы можете пользоваться ftp в асинхронном режиме. Существует множество серверов, поддерживающих такие услуги. Вы посылаете e-mail в адрес такой службы, содержащую команду этой системы, например, дать листинг какой-то директории, или переслать файл такой-то к вам, и вам приходит автоматически ответ по e-mail с этим листингом или нужным файлом. В таком режиме возможно использование почти всего набора команд обычного ftp. Существуют серверы, позволяющие получать файлы по ftp не только с них самих, но с любого ftp-сервера, который вы укажете в своем послании e-mail. (Подробнее смотрите ниже в этом же разделе.)
E-mail дает возможность проводить телеконференции и дискуссии. Для этого используются, установленные на некоторых узловых рабочих машинах, mail reflector-ы. Вы посылаете туда сообщение с указанием подписать вас на такой-то рефлектор (дискуссию, конференцию, etc.), и вы начинаете получать копии сообщений, которые туда посылают участники обсуждения. Рефлектор почты просто по получении электронных писем рассылает их копии всем подписчикам.
E-mail дает возможность использования в асинхронном режиме не только ftp, но и других служб, имеющих подобные сервера, предоставляющие такие услуги. Например, сетевых новостей, Archie, Whois.
Пересылать по e-mail можно и двоичные файлы, не только текстовые. В UNIX, например, для этого используется программы UUENCODE и UUDECODE.
При пользовании e-mail, из-за ее оперативности, может сложиться ощущение телефонной связи, но всегда следует осознавать, что это все же почта. Все сообщения письменны, поэтому почти документированы. Придерживайтесь этикета, принятого в обычной корреспонденции. В дополнение к этому помните, что e-mail не обладает той степенью приватности, как обычная почта, никогда не пишите в посланиях e-mail ничего, чего вам бы не хотелось увидеть выставленным на всеобщее обозрение. Анонимность также исключена: источник прослеживается без труда. Не стоит пользоваться техническими особенностями вашего терминала.
Oб e-mail подробнее можно прочитать в [6]. О том, как послать почту незнакомым людям на неслыханных сетях, стоит прочесть в [8]. Технические детали можно прочитать в [5] (форматы, транспортировка <Рисунок>). Много полезнейшей информации находится в RFC-документах. Конкретно о e-mail (протокол smtp) можно прочитать, например, в RFC 821, 822.
Использование анонимного ftp по e-mail
Остановимся на этой возможности подробнее. Использование этой услуги весьма актуально в наших условиях.
Существует три вида служб, предоставляющих возможность получения файлов по электронной почте:
1.Специализированные «Internet-style» серверы, предоставляющие доступ к конкретному множеству файлов на этом же сервере;
2.Специализированные listserv-серверы, предоставляющие доступ к конкретному набору файлов, расположенных на этом же сервере;
3.Общие FTP-mail шлюзы (ftpmail). Эти серверы работают как исполнители командных файлов пользователей. Такой сервер организует сеанс работы на указанном анонимном ftp-сервере согласно описанию пользователя, а потом отсылает пользователю результаты этого сеанса.
Первые два типа серверов функционально эквивалентны, но в силу исторических причин они работают по-разному. Серверы listserv происходят из Bitnet,- в Bitnet нет аналога FTP, передача файлов там организована через электронную почту. Третий тип серверов принципиально отличается от двух первых, которые способны работать только со своими файлами: ftpmail-сервер может взять и переслать пользователю любой публично доступный по анонимному ftp файл, где бы тот ни находился в Internet .
Если ваш компьютер включен в Internet (у вас доступ непосредственный, SLIP или PPP, dial-up), то, конечно же, этот способ вам ни к чему. Вам проще и быстрее (и удобнее!) пересылать файлы по нормальному FTP.
Сервер ftpmail: ftpmail@decwrl.dec.com
Тело электронного письма должно содержать последовательность команд этого сервера ftpmail. Поле ``Subject:'' не рассматривается, можете писать туда примечания (NB). Для запроса описания команд ftpmail пошлите туда письмо с единственной командой: help.
Доски объявлений (USENET news)
Это так называемые сетевые новости или дискуссионные клубы. Они дают вам возможность читать и посылать сообщения в общественные (открытые) дискуссионные группы. На самом деле, они представляют собой сетевой вариант досок объявлений (BBS: Bulletin Board System), изначально работавших на машинах с модемным доступом. ``Новости'' представляют собой сообщения адресуемые широкой публике, а не конкретному адресату. Сообщения эти могут быть совершенно разного характера: от сообщения о только что произошедшем великом событии, до вопроса о буридановом осле. Узлы сети, занимающиеся обслуживанием системы новостей, по получении пакета новостей рассылают его своим соседям, если те еще не получили такой новости. Получается лавинообразное широковещание, обеспечивающее быструю рассылку новостного сообщения по всей сети.
Эта замечательная возможность Internet, увы, недоступна по e-mail широко (соответствующих серверов существуют единицы), но асинхронный режим имеется. Для пользования этой службой лучше иметь доступ в Internet, позволяющий проводить сеансы работ на сетевых рабочих машинах, т.е. доступ класса не ниже доступа по вызову к какой-нибудь действительно сетевой машине. UUCP также позволяет иметь доступ к доскам объявлений, но в таком виде сервис все-таки хуже.
Сетевой трафик новостей очень шумный, частый и короткий: сервер посылает запрос на ваш компьютер о его желании заполучить очередной пункт из огромного списка групп новостей, а тот каждый раз отвечает: да или нет. И так около полутора тысяч раз, потом идет такой же разговор о посланиях в выбранных группах обсуждений. Такой трафик вместе с самой пересылкой новостей составляет около 1% от общего.
При установке клиент- программы на вашем компьютере, вы создаете список тех дискуссионных кружков, в которых хотите участвовать и чьи объявления (бюллетени) вы будете постоянно получать, а также список-фильтр тех групп и подгрупп, которых вам совсем не хочется, вместе со всеми их возможными подгруппами, подподгруппами и т.д. Имеется семь основных категорий:
comp - вычислительная техника и все с ней связанное;
news - разработчики системы новостей и новости в этих разработках;
rec - хобби, отдых, развлечение и т.д.;
sci - наука;
soc - социальные темы;
talk - обо всем и ни о чем (здесь же о религии, об искусстве);
misc - все остальное.
Поиск данных и программ (Archie)
Archie - система поиска и выдачи информации о расположении общедоступных файлов по анонимному ftp. Система, поддерживающая этот вид услуг, регулярно собирает со своих подопечных (анонимных ftp-серверов) информацию о содержащихся там файлах: списки файлов по директориям, списки директорий, а также файлы с кратким описанием того, что есть что. Позволяет производить поиск по названиям файлов (директорий) и по описательным файлам, а именно по словам, там содержащимся. Например, вы даете указание (команду) найти файл с именно таким названием или с названием, подходящим под указанный шаблон, и Archie выдает вам в ответ, где таковой есть. Или же можно искать по смысловым словам, которые должны содержаться в кратком описании этого файла или программы, составленном их создателем. Конечно, составление достойного (краткого, точного, умного, адекватного) описания своего детища целиком остается на совести создателя продукта, что порождает некоторую свободу, а потому, в некоторых случаях, возможны злоупотребления доверием пользователей или просто пренебрежение им. Доступ к Archie осуществляется через Archie-серверы (например, archie.doc.ic.ac.uk (это в Великобритании)). В полнокровном виде использование Archie требует наличие Internet-доступа по крайней мере класса доступа по звонку. Возможен косвенный доступ по e-mail (!). Конкретнее см. help в самом Archie. Help также доступен по электронной почте. Пошлите e-mail на имя archie@доменное.имя.сервера, содержащую единственную строчку: help. Получите ответ, содержащий краткое описание системы команд.
Есть еще болeе мелкие группы, которые также включены в список USENET, например, alt - ``альтернативные взгляды на окружающее''. Дочерние группы называются присоединением через точку справа от родительского названия подгруппы, например, alt.sex и т.д.
В синхронном режиме работу с новостями предоставляет программа nn (net news), так же называется соответствующая команда UNIX: nn. Пользуясь nn из UNIX, например, вы можете просматривать выписанные кружки, читать эту почту, отвечать на объявления публично или приватно по e-mail, записывать объявления к себе на компьютер, подписываться на новые и прекращать подписку, автоматически игнорировать объявления, имеющие в себе ключевые слова, кои вам противны, или же наоборот, привилегировать и выделять из массы те из них, в которых есть интересующие вас слова; и, конечно, посылать свои объявления, включаться в обсуждение, начинать новые и т.д.
Как и в любом общественном месте, здесь необходимо соблюдать свой этикет и проявлять благовоспитанность. Не шуметь, не выставляться, не бузить, не буянить, не сквернословить, не сорить и т.д.
Поиск людей (Кто есть Who)
Люди переезжают с места на место, меняют место работы, у них может быть несколько мест проживания и т.д. Люди всегда ищут друг друга, всегда существовала и существует проблема поиска единственного человека в мире. Создать для такого поиска открытый файл - аналог телефонной книги? Значит нужно создать стандарт, придумать как его обновлять без прямого всеобщего доступа (опасно!) и т.д. К тому же такой файл - справочник с перечислением всех входящих имен на рабочих машинах, такому справочнику будут рады и хакер, и рэкетир. И потом, некоторым людям хочется управлять возможностью доступа к ним, возникает проблема права на частную жизнь.
Поэтому была создана служба справочной информации о пользователях. Пользователя на известной машине, где он есть, можно отыскать в UNIX-системах с помощью finger. Там же можно получить список пользователей, работающих в данный момент на известной машине. Трафик протокола finger составляет 0.41% от общего.
Имеется директория ``белых страниц'' Whois, а также одноименная программа для поиска людей. Директория whois (кто есть who) поддерживается DDN (Defense Data Network) Сетевым Информационным Центром (Network Information Center - NIC) и содержит более 70000 записей. Команда из UNIX: whois - простейший способ обратиться к таким услугам NIC DDN. С помощью whois имя(логическое) можно получить информацию о пользователе. Также можно войти в эту службу в telnet по имени nic.ddn.mil и там уже подать команду whois. Чтобы использовать эту возможность, требуется наличие как минимум dial-up доступа. Но запрос можно сделать также и косвенно по e-mail на service@nic.ddn.mil , в ``Subject:'' поместив команду, при этом тело самого сообщения (текст письма e-mail) надо оставить пустым. Трафик whois составляет 0.02% от общего.
Существует много других аналогичных служб. Перечислим некоторые кратко:
- можно по e-mail запросить mail-server@pit-manager.mit.edu, написав в ``Subject:''
send usenet-addresses/строка-поиска для поиска пользователей;
- имеется служба X.500, интерфейс к ней обеспечивается программой fred, доступной на wp.psi.com и wp2.psi.com по telnet и по e-mail, с логическим именем whitepages. Команда во fred также называется, как и везде, whois.
Имеется объединяющий все эти справочники интерфейс KIS (Knowbot Information Service). Он сам знает все адреса и протоколы общения со службами Whois, finger, fred и т.д., сам их опрашивает, а вам выдает результат глобального поиска. KIS доступен по telnet через 185 порт на машине nri.reston.va.us.
Oболочка Gopher
Gopher - это интегратор возможностей Internet. Он в удобной форме позволяет пользоваться всеми услугами, предоставляемыми Internet. Организована оболочка в виде множества вложенных на разную глубину меню, так что вам остается только выбирать нужный пункт и нажимать ввод. Доступно в такой форме все, что душе угодно: и сеансы telnet, и ftp, и e-mail и т.д. и т.п. Также включены в эту оболочку интерфейсы с такими серверами, с которыми вручную общаться просто невозможно из-за их машинно-ориентированного протокола. Gopher-серверы получают широкое распространение. Трафик составляет 1.6% от общего в сети. С одного сервера можно войти в другие, где угодно, простота общения от этого не меняется. Так можно шнырять по всей сети не испытывая головной боли от меняющихся систем команд и структур данных и ресурсов. Главное не забыть весь этот путь, не самопересекаться при путешествиях, а по окончании все аккуратно пройти назад, закрывая начатые сеансы работы. Gopher можно найти в директории pub/gopher на box.micro.umn.edu по анонимному ftp. Gopher должен быть установлен непосредственно на вашей сетевой рабочей машине и он сугубо интерактивен. Ваш доступ в Internet должен быть не хуже доступа по вызову.
Поплачут по этому сервису наши обделенные пользователи, что и UUCP рады безмерно, ох, поплачут !
Поиск данных по ключевым словам (WAIS)
WAIS - диалоговая система с оконным интерфейсом для поиска данных по ключевым словам в контексте. Сугубо интерактивна, поэтому доступ к ней возможен только в сеансе работы при непосредственном доступе, т.е. требуется, как минимум, dial-up доступ. Доступ к ней возможен и через Gopher. Найти программное обеспечение, чтобы его поставить себе на сетевую рабочую машину, можно с помощью Archie. Много версий (для различных терминалов, операционных систем и машин) можно отыскать в директории wais на машине think.com. Дадим координаты одного из WAIS-серверов: quake.think.com, вход по имени wais.
Работая в WAIS, можно выбирать источники, исключать их, присоединять; искать по ключевым словам, все более сужая поиск применением последовательно все более специфических слов; просматривать текст найденных файлов; добавлять файлы, исключать и т.д. Имеется интерактивная подсказка.
Что такое ключевые слова и как с помощью них можно производить поиск нужной информации? Ключевые слова - это слова наиболее характерные для данного текста или интересующей вас тематики. Стандартные наборы ключевых слов составлены для широкого круга различных тематик и областей знаний: от психоанализа и физики элементарных частиц до плетения лаптей и корзин. Списки ключевых слов по стандартным тематикам обычно публикуются во всевозможных тезаурусах. См. например, [16]. Если данный документ не подходит ни к одной из стандартных тем, то поиск и выбор самих ключевых слов выливается в отдельную проблему; выбор слов - задача интеллектуальная, творческая. Например, для поиска сказок про Змея-Горыныча лучше всего использовать в качестве ключевого слова самого Змея-Горыныча, здесь все просто. А для поиска информации о трудных подростках - дезадаптоз. На самом деле труднее всего сужать поиск, а именно вводить все более характерные слова, т.к. выбранного одного слова обычно недостаточно, - слишком большой круг текстов оказывается охваченным. WAIS просто просматривает в указанных базах данных и архивах все тексты на предмет встречаемости ключевых слов и подсчитывает частоту встречаемости, после чего докладывает вам о результатах такого поиска - выдает список документов, в которых ключевые слова встречаются наиболее или достаточно часто, с указанием частот встречаемости. Вся же творческая часть работы по-прежнему лежит на вас. Человека в этом процессе подменить невозможно.
Глобальные гипертекстовые структуры: WWW
World Wide Web - ``Всемирная паутина''. (Короче: Web или W3)
Гипертекст - текст со вставленными в него словами (командами) разметки, ссылающимися на другие места этого текста, другие документы, картинки и т.д. Во время чтения такого текста (в соответствующей программе, его обрабатывающей и выполняющей соответствующие ссылки или действия) вы видите подсвеченные (выделенные) в тексте слова. Если наехать на них курсором и нажать клавишу или на кнопку (глаз) мышки, то высветится то, на что ссылалось это слово, например, другой параграф той же главы этого же текста. В WWW по ключевым словам можно попасть в совершенно другой текст из другого документа, войти в какую-нибудь программу, произвести какое-либо действие и т.д. В Internet в контексте WWW можно получать доступ к чему угодно, к telnet, e-mail, ftp, Gopher, WAIS, Archie, USENET News и т.п. В WWW можно ссылаться на данные на других машинах в любом месте сети, тогда при активации этой ссылки эти данные автоматически передадутся на исходную машину и вы увидите на экране текст, данные, картинку, а если провести в жизнь идею мультимедиа, то и звук услышите, музыку, речь. Это слегка напоминает Gopher, но фактически это принципиально другое и новое. В Gopher имеется жесткая структура меню, по который вы двигаетесь, как вам угодно. Эта структура не зависит от того, что вы делаете, какой документ пользуете и т.д. В WWW вы двигаетесь по документу, который может иметь какую угодно гипертекстовую структуру. Вы сами можете организовать структуры меню в гипертексте. Имея редактор гипертекстов, вы можете создать любую структуру рабочей среды, включая документацию, файлы, данные, картины, программное обеспечение и т.д., и это не будет новое программное обеспечение, а просто гипертекст. Увы, создание гипертекстовых редакторов с человеческим лицом (дружественным интерфейсом, отладчиком и т.д.) задача не из простых и еще не решенная.
Так как «читать» гипертекст приятнее (и вообще имеет смысл) в том случае, когда не возникает задержек при активации ссылок (подкачка текста с другого сервера или просто с сервера, но по местной сетевой линии, пересылка изображений, баз данных и т.д.), то WWW следует устанавливать на быстрые линии. На медленных линиях использование WWW превратится в сплошное мучение, ожидание, зависание, все прелести и сам смысл теряются. Также нерационально работать, например, по telnet в WWW на очень далеко расположенной машине, - это влетит вам в добрую копеечку. Именно поэтому хочется иметь такой сервер у себя в стране, хотя бы один.
WWW требует наличия по крайней мере доступа по вызову.
Этот способ структурирования информации и организации доступа к ней предложен и развит в CERN, об этом подробнее можно прочитать в [12]. Поработать в WWW можно по telnet на машине info.cern.ch. Трафик WWW составляет пока 0.31% от всего.
О других подходах к таким мультимедиа (использующим одновременно различные информационные среды) системам в сетях можно прочитать в [13],[14]. Последнее представляет номер журнала, посвященного полностью таким системам.
Несколько слов об иных возможностях
B (Berkley) BSD UNIX имеется класс R-команд (Remote). Это сетевые аналоги обычных команд UNIX. Их можно использовать для работы с удаленной машиной (rlogin, rcp и т.д.) вместо telnet, ftp и т.д.
В сети имеется служба времени, которая занимается синхронизацией и коррекцией часов по всей сети. Для этого используется специальные серверы и фоновые программы на сетевых машинах. В UNIX такая программа называется timed. Для связи и работы используется протокол ntp (network time protocol); он был специально разработан для синхронизации удаленных друг от друга машин.
Имеется также возможность пересылать по сети факсы в каком-либо формате изображений (GIF, TIF, PCX и т.д.). Tакое программное обеспечение распространяется через коммерческие источники. Но если поискать, можно найти и некоммерческие версии в Сети бесплатно. Поищите, например, на transit.ai.mit.edu в pub/systems/fax-3.2.1.tar.Z .
Для бесед с другими пользователями существуют утилиты talk и chat. Talk позволяет общаться диалогом с другим пользователем (нужен e-mail адрес). Chat - это обобщение talk. Здесь ведется поли-лог, разговор в кругу лиц.
Когда голова уже совсем не соображает от натуги, есть возможность отвлечься и поиграть в различные сетевые игры. Игры с одним партнером и со многими. Игры бывают разные. От спокойных текстовых до эмуляции трехмерных объектов и движений в реальном времени (типа F-16, F-19 и т.д.), что поедает массу ресурсов. Поэтому будьте учтивы, не буйствуйте, нет такого права человека - играть в Internet в игрушки за чужой счет.
Идет разработка и внедрение концепции ``Knowbot'' (``Энциклґоп''). Моделью Энциклґопа является умный справочный библиотекарь, у которого вы можете спросить о том, как и где найти интересующую вас информацию, а он вам даст в ответ библиографические и библиотечные ссылки. Причем, вам не надо знать название книг или статей, но только о чем это. Справочные библиотекари обучены обслуживать такие запросы, они обладают энциклопедическими знаниями: обо всем понемногу. Роботизируйте эту модель и вы получите Энциклопа.
Энциклопы задуманы в виде сетевых червей (сетевых аналогов компьютерных вирусов), занимающихся полезной деятельностью - сбором информации в своих путешествиях. Они должны по указке пользователя расползаться по сети, по ресурсам и искать, и искать, и искать если они находят разветвления ссылок, они посылают по ветвям «под- червячков», которые в качестве хозяина рассматривают большого ``червяка-родителя'', который сидит на развилке и ждет их возвращения с информацией. По исчерпанию всех путей поиска червячок возвращается к своему господину и выдает собранную информацию. Довольно фантастично, но уже имеются проекты и первые экспериментальные образцы, ведутся исследования в этом направлении. Это дело будущего.
Краткое историческое введение
Что составляет Internet
Работа в Internet
Уровни работы сети
Структура доменных имен
Структура доменных имен
Дозволенное в Internet
WWW
Другие возможности
Другие возможности