Интернет, система адресации и протоколы передачи данных

На сегодняшний день в мире существует более 130 миллионов компьютеров и более 80 % из них объединены в различные информационно-вычислительные сети — от малых локальных сетей в офисах до глобальных сетей типа Internet.

В действительности Internet не просто сеть, — это структура, объединяющая обычные сети. Internet — это “Сеть сетей”.

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

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

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

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

 

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

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

Однако большую известность имеет DNS (Domain Name System — система доменных имен). Ее задача — обеспечить уникальность каждого адреса в Сети, без необходимости запоминания чисел. Именно сервер DNS производит преобразование символьных (буквенных) адресов в числовые. Система образования доменных имен также логична и проста.

Адрес любого web-сервера начинается с аббревиатуры http, обозначающей вид протокола передаваемых данных — в данном случае это HyperText Transmission Protocol (Протокол передачи гипертекста). Далее следует двоеточие, две косые черты и латинские буквы www, после которых ставится точка. Затем идет конкретный адрес, содержащий название учреждения, персоны или аббревиатуру и, через точку, — указание на организационную или географическую принадлежность объекта.

Организационная принадлежность, указываемая преимущественно для американских серверов, обозначается тремя символами, интуитивно понятными знающим английский язык: gov — правительственные, edu — образовательные, com — коммерческие, org — неправительственные и некоммерческие учреждения, mil — военные, net — сами сети. Географическая принадлежность выражается, как правило, двумя символами: .ru — Россия, .uk — Великобритания, .ca — Канада, .nl — Нидерланды и т. д.

Ряд стран, в числе которых Австралия и Япония используют одновременно как географический, так и организационный код. Например, адрес технологического университета в Сиднее (University of Technology, Sidney) будет иметь вид http://www.uts.edu.au/, а сайт японской корпорации Sony — http://www.sony.co.jp/. С конца 90-х годов в самих США, наряду с трехсимвольными доменами первого уровня, стали широко применяться двухуровневые домены, сформированные по географическому принципу. В подобных доменных именах указывается как страна — us, так и конкретный штат, например, fl — Флорида, ca — Калифорния, md — Мэриденд. За этим двухступенчатым адресом следует стандартное указание объекта. Например, http://www.ci.gulfport.fl.us — официальный сайт городка Галфорт во Флориде, http://www.ci.san-leandro.ca.us/ — сайт города Сан Леонардо в Калифорнии.

В течение всех 90-х годов описанная система имен оставалась неизменной. Но к началу нынешнего века гигантские темпы развития Интернет привели к тому, что адресное пространство в рамках описанной системы было практически исчерпано. Особо “тесно” стало в доменах .com, .net и .org в которых была разрешена регистрация не только американских, но любых других фирменных или персональных сайтов представителей любой страны мира.

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

Распределение этих имен было произведено следующим образом: .biz — коммерческие компании и проекты; .info — учреждения, для которых информационная деятельность является ведущей (библиотеки, средства массовой информации); .pro — сайты сертифицированных профессионалов таких областей деятельности как врачи, юристы, бухгалтеры, а также представители других профессий, в которых персональный аспект имеет ключевое значение (pro от слов profession, professional); .aero — компании и персоны, непосредственно связанные с авиацией; .coop — корпорации, использующие совместный капитал (от слова cooperative); .museum — только музеи, архивы, выставки; .name — персональные сайты, состоящие, как правило, из двух частей: имени и фамилии: www.bruce.edmonds.name.

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

Бывают статические и динамические адреса. Статические присвоены компьютеру постоянно, а динамические выдаются специальным сервером лишь на время работы компьютера в сети.

 

Протокол передачи данных Internet (IP)

Передача данных в сети была организована на основе протокола Internet. Протокол — это особый язык общения между компьютерами, разработанный программистами. Базовый протокол в сети Интернет — это TCP/IP (Transmission Control Protocol & Internet Protocol) (протокол контроля передачи + Интернет-протокол).

Все компьютеры, подключенные к Интернет, понимают и поддерживают этот протокол. Протокол TCP/IP служит для разбиения информации на части (пакеты) — и передачи их по линиям связи. Все эти операции протокол выполняет автоматически, закулисно, без участия пользователя. Сам по себе протокол не есть нечто целое, неделимое. На самом деле TCP/IP состоит их двух компонентов — TCP и IP, и включает в себя также массу других протоколов.

Протокол IP — это правила и описание работы сети. Этот свод включает правила налаживания и поддержания связи в сети, правила обращения с IP-пакетами и их обработки, описания сетевых пакетов семейства IP (их структура и т. п.).

Различные части Internet — составляющие сети — соединяются между собой посредством компьютеров, которые называются “узлы”; так Сеть связывается воедино. Сети эти могут быть Ethernet, Token Ring, сети на телефонных линиях, пакетные радиосети и т. п.

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-пакет помещается в отдельный 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-порта — эмулирует (создает видимость) выделенную линию связи двух пользователей. Гарантирует неизменность передаваемой информации.

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

Список использованной литературы

Блюменау Д. И. Информация и информационный сервис.- Л.:Наука, 1989 г.

Жуков А. А.“Введение в информационные системы и информационные технологии. Учебное пособие. — Новосибирск: Изд-во НГТУ, 1999.

Программные средства вычислительной техники: толковый терминологический словарь-справочник. — М.: Издательство стандартов, 1990.

Фигурнов В. Э. IBM PC для пользователя. — М.: Финансы и статистика, КомпьютерПресс 1995.

Якубайтис Э. А. Информатика. — М.: Финансы и статистика 1997.

Читайте далее:

Оставьте комментарий