Как работает Интернет?

Принципы работы Интернета. Когда вы снимаете телефонную трубку и набираете номер, чтобы поделиться с другом последними новостями, сигнал с вашего телефона поступает на телефонную станцию, а оттуда — на аппарат, установленный у него дома. Все время, пока вы общаетесь с вашим собеседником, никто другой не сможет дозвониться ни ему, ни вам: вы заняли определенный участок телефонной сети, который в этот момент времени обслуживает только вас. Такой принцип организации связи носит название «сеть с коммутацией линий», что на сухом техническом языке означает «нерациональное использование сетевых ресурсов». Примером системы, реализующей подобный алгоритм, может служить любительская сеть FidoNet. Интернет является сетью с коммутацией пакетов и работает по принципиально иной схеме. Когда ваш компьютер обращается к другой удаленной машине, также подключенной к Интернету, вы не блокируете определенную линию. Ваша персоналка пересылает удаленному компьютеру дискретный пакет информации, тот получает его и в следующий момент времени начинает принимать информацию от другого пользователя, потом отсылает пакет третьему, отправляет другой пакет вам и снова переключается на прием данных от очередного абонента. Подобный подход позволяет сетевым машинам общаться сразу с несколькими «собратьями», не заставляя кого-либо из пользователей подолгу ожидать, «когда же наконец освободится линия».
Протокол IP позволяет только транслировать данные. Для того чтобы управлять этим процессом, служит протокол TCP (Transmission Control Protocol),опирающийся на возможности протокола IP. Как же контролируется передача информации?

Положим, вы хотите переслать по почте вашему другу толстый журнал, не по- тратив при этом денег на отправку бандероли. Как решить эту проблему, если почта отказывается принимать письма, содержащие больше нескольких бумажных листов? Выход простой: разделить журнал на страницы и отправлять их отдельными письмами. По номерам страниц ваш друг сможет собрать журнал целиком. Приблизительно таким же способом работает протокол TCP. Он дробит информацию на несколько частей, присваивает каждой части номер, по которому данные впоследствии можно будет соединить воедино, добавляет к ней «служебную» информацию и укладывает все это в отдельный «IP-конверт».Далее этот «конверт» отправляется по Сети — ведь Интернет умеет обрабатывать IP-информацию. Поскольку в такой схеме протоколы TCP и IP тесно связаны, их часто объединяют в одно понятие: TCP/IP. Размер передаваемых в Интернете TCP/IP-пакетов составляет, как правило, от 1 до 1500 байт, что связано с техническими характеристиками Сети.
Наверняка, пользуясь услугами обычной почтовой связи, вы сталкивались с тем, что обычные письма, посылки и иные почтовые отправления теряются и приходят совсем не туда, куда нужно. Те же проблемы характерны и для Интернета. На почте такие неприятные ситуации решают руководители почтовых отделений, а в Интернете этим занимается протокол TCP. Если какой-либо па- кет данных не был доставлен получателю вовремя, TCP повторяет пересылку до тех пор, пока информация не будет принята корректно и в полном объеме.

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

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

При соединении двух компьютеров их модули TCP следят за состоянием связи. При этом само соединение, посредством которого осуществляется обмен данными, носит название виртуального канала.
Современная схема передачи данных в Интернете имеет многослойную структуру, включающую несколько уровней. Такая структура называется эталонной моделью ISO OSI (Open Systems Interconnection). Я не стану подробно раскрывать суть данной схемы, поскольку для общего понимания принципов работы Интернета она просто не нужна. Те, у кого возникнет острая необходимость подробно изучить эту абстрактную структуру, могут воспользоваться любым техническим справочником или почерпнуть информацию из самой Всемирной сети, набрав в окне запроса поискового сервера слово «Internet» или «ISOOSI».

Вернемся к передаче данных с вашей машины на какой-либо удаленный компьютер. На самом деле ваша персоналка, естественно, не транслирует информацию непосредственно компьютеру получателя (если, конечно, это не тот сервер, через который вы подключены к Интернету).
Данные, попадая на компьютер, соединяющий вас со Всемирной сетью, передаются на другую машину, с которой соединен этот компьютер, и так — до первого узла. Далее определяется направление, приблизительно соответствующее тому, в котором находится конечный получатель, то есть маршрут информационного пакета. Пакет отправляется дальше до следующего узла, где снова определяется его дальнейший маршрут. Этот процесс называется маршрутизацией.

Для того чтобы пакет с информацией не «заблудился» по дороге, узлы Интернета, через которые он движется, имеют в своем распоряжении так называемые таблицы маршрутизации — электронные базы данных, в которых содержатся указания, куда именно отсылать тот или иной пакет информации, если он следует на такой-то адрес. Таблицы маршрутизации рассылаются на узлы централизованно, периодически меняются и дополняются. Серверы узлов, осуществляющие маршрутизацию, называются маршрутизаторами, или роутерами (отангл, «router» — «маршрутизатор»). Правила маршрутизации описаны в протоколах ICMP (Internet Control Message Protocol), RIP (Routing InternetProtocol) и OSPF (Open Shortest Path First).
Откуда же маршрутизатор узнает, в каком именно направлении следует отсылать отправленный вами пакет данных? Да от вас же самих. Только при пересылке сообщений с почтовыми голубями не нужно указывать адрес назначения. К сожалению, Интернет не пользуется голубиной почтой, и потому для того, чтобы отправить куда-то послание через Сеть, вам нужно указать, куда именно.

Система адресации в Интернете. Каждый человек, живущий на Земле, имеет адрес, по которому его в случае необходимости можно разыскать. Думаю, ни у кого не вызовет удивления то, что каждая работающая в Интернете машина также имеет свой уникальный адрес. Адреса в Интернете разительно отличаются от привычных нам почтовых. Боюсь, совершенно бесполезно писать на отправляемом вами в Сеть пакете информации нечто вроде «Компьютеру Intel Pentium II 400, эсквайру, Пэнни-Лэйн,114, Ливерпуль, Англия». Увидев такую надпись, ваша персоналка в лучшем случае фундаментально зависнет. Но если вы укажете компьютеру в качестве адреса нечто вроде 195.85.102.14, машина вас прекрасно поймет.

Именно стандарт TCP/IP подразумевает подобную запись адресов подключенных к Интернет компьютеров. Такая запись носит название IP-адрес.

Из приведенного примера видно, что IP-адрес состоит из четырех десятизначных идентификаторов, или октетов, по одному байту каждый, разделенных точкой. Левый октет указывает тип локальной интрасети, в которой находится искомый компьютер. В рамках данного стандарта различается несколько подвидов интрасетей, определяемых значением первого октета. Это значение характеризует максимально возможное количество подсетей и узлов, которые может включать такая сеть. В табл. 1.1 приведено соответствие классов сетей значению первого октета IP-адреса.

Таблица 1.1. Соответствие классов сетей значению первого октета IP-адреса

Класс сети Диапазон значений первого октета Возможное количество подсетей Возможное количество узлов
А В С D Е 1-126 128-191 192-223 224-239 240-247 126 16382 2097150 --- --- 16777214 65534 254 2-28 2-27

Адреса класса А используются в крупных сетях общего пользования, поскольку позволяют создавать системы с большим количеством узлов. Адреса класса В применяют в корпоративных сетях средних размеров, адреса класса С — в локальных сетях небольших предприятий. Для обращения к группам машин пред- назначены адреса класса D, адреса класса Е пока не используются. Значение первого октета 127 зарезервировано для служебных целей, в основном для тестирования сетевого оборудования, поскольку IP-пакеты, направленные на.такой адрес, не передаются в сеть, а ретранслируются обратно управляющей над- стройке сетевого программного обеспечения как только что принятые. Кроме того, существует набор так называемых «выделенных» IP-адресов, имеющих особое значение. Эти адреса приведены в табл. 1.2.

Таблица 1.2. Значение выделенных IP-адресов

IP-адрес Значение
0.0.0.0 Номер сети. 0.0.0 0.0.0. номер хоста 1.1.1.1 Номер сети. 1.1.1 Данный хост Данная IP-сеть Конкретный компьютер в данной локальной сети Все компьютеры в данной локальной сети Все компьютеры в указанной IP-сети

ПРИМЕЧАНИЕ Хостом принято называть любой подключенный к Интернету компьютер независимо от его назначения.
Последний (правый) идентификатор IP-адреса обозначает номер хоста в дан- ной локальной сети. Все, что расположено между правым и левым октетами в такой записи, — номера подсетей более низкого уровня. Непонятно? Давайте разберем на примере. Положим, мы имеем некий адрес в Интернете, на который хотим отправить пакет с набором свеженьких компьютерных вирусов. В качестве примера возьмем тот же IP-адрес — 195.85.102.14.

Итак, мы отправляем пакет в 195-ю подсеть сети Интернет, которая, как видно из значения первого октета, относится к классу С. Допустим, 195-я сеть включает в себя еще 902подсети, но наш пакет высылается в 85-ю. Она содержит 250 более мелких сетей, но нам нужна 102-я. Ну и, наконец, к 102-й сети подключено 40 компьютеров. Исходя из рассматриваемого нами адреса, набор вирусов получит машина, имеющая в этой сетевой системе номер 14.
«Все это просто прекрасно, — скажете вы, — но неужели на свете найдется человек, который станет заучивать наизусть все эти огромные наборы цифр?» Вы правы, таких людей нет. А у специалистов, создававших Интернет, по-видимому была столь же слабая память на цифры, поскольку они, немного поразмыслив, решили облегчить жизнь пользователям Всемирной сети, придумав весьма полезную и удобную вещь, которая называется доменной системой имен.

DNS — доменная система имен Domain Name System (DNS), что переводится на русский язык как «доменная система имен», позволяет значительно облегчить пользователям процесс работы в Интернете тем, что им уже не нужно запоминать цифровые адреса хостов, с которыми общаются их компьютеры. Вот только компьютеру-то как раз много легче работать с набором цифр, что он, собственно, и делает, получая по введенному оператором доменному имени уже знакомый нам IP-адрес удаленной машины. Как это происходит?

В те далекие времена, когда Интернет был крохотной электронной сетью с ограниченным числом пользователей, главные сетевые станции рассылали подключенным к Сети машинам так называемый хост-файл, содержащий базу данных, по которой сам пользователь мог выбрать своему любимому компьютеру имя,никем другим не используемое. Если бы этот подход использовался до сих пор, все ваше рабочее время в Интернете ушло бы только на «перекачивание» хост-файла, который потом все равно не поместился бы на жестком диске. А если бы винчестера и хватило, то, наверное, не хватило бы фантазии, чтобы придумать никем не используемое до сих пор имя. Следующие пять лет ушли бы на регистрацию вашего имени в Интернете — ведь обновленную базу данных следует еще обработать. Слава Богу, DNS обходится без подобных сложностей, избавляя нас от необходимости копировать и обрабатывать многотомные базы данных.

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

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

В мире имеются два Санкт-Петербурга, один из них расположен немного севернее Москвы, другой находится на территории США, в штате Флорида. Однако в данном случае русским почтальонам повезло — в России Санкт-Петербург только один. Итак, далее письмо поступает в более мелкую административную зону — город.

Предположим, что затем наше письмо должно проследовать куда-нибудь на улицу Ленина. В каждом уважающем себя городе России есть своя улица Ленина, но в Санкт-Петербурге второй такой улицы вы не найдете при всем желании. Итак, письмо достигает еще более мелкой зоны — улицы. На любой улице любого города есть дом номер 3. Вот только в нашем примере двух домов с одинаковым номером не существует. Письмо достигает следующей зоны — дома.

В любом доме есть первая квартира, и ни в одном — две таковых. Следователь- но, почтальон опустит письмо именно в тот почтовый ящик, в который нужно. Корреспонденция достигает адресата. Таким образом, путь нашего письма к конечному получателю можно описать следующей строкой: «Квартира 1. Дом № 3.Улица Ленина. Санкт-Петербург. Россия». Скажите, а чем хуже строка виртуального адреса: myhost.mydomain.spb.ru? Да ничем — это практически одно и то же. Такое обозначение принято называть URL (Uniform Resource Locator),что можно перевести на русский язык, как «универсальный определитель местонахождения ресурса». Соответственно, строка вызова размещенной по этому адресу web-страницы будет выглядеть какhttps://www.myhost.mydomain.spb.ru, где http обозначает протокол передачи гипертекстового документа (Hyper TextTransfer Protocol), a www (World Wide Web — Всемирная паутина) — есть указание на то, что передаваемые данные являются стандартным сервисом Интернета, то есть web-страницами. В некоторых случаях элемент www в записи URL можно опустить.
Таким образом, мы видим, что адрес того или иного ресурса Всемирной сети, записанный в стандарте DNS, дробится на несколько составляющих, отделенных друг от друга точкой. Эти элементы носят название «доменов».

ПРИМЕЧАНИЕ Домен — это некий логический уровень Интернета, то есть группа сетевых ресурсов, имеющая собственное имя и управляемая своей сетевой станцией.

Очевидно, что основная составляющая адреса DNS — это так называемый «домен первого уровня», охватывающий, как правило, некую глобальную географическую зону, например территорию отдельного государства. Примечательно, что собственный территориальный домен США «US» при записи URL обычно опускается, поскольку сам Интернет был некогда американской национальной сетью. Вместо этого несколько учреждений, расположенных в США, владеют определенным количеством «выделенных» доменов первого уровня, трактующихся особо. Полный список доменов первого уровня с их расшифровкой при- веден в табл. 1.3.
Таблица 1.3. Домены первого уровня

Обозначение домена Расшифровка обозначения Обозначение домена Расшифровка обозначения
AM AT BE BI BY СН CN CR DE ЕС FI GF GR GU HR ID IL IR IT JO KR LI LU MX NF NL NZ PH PL PY RU SE SK TW UG US YU ZR Армения Австрия Бельгия Бурунди Беларусь Швейцария Китай Коста-Рика Германия Эквадор Финляндия Французская Гвиана Греция Гуам Хорватия Индонезия Израиль Иран Италия Иордан Корея Лихтенштейн Люксембург Мексика Норфолкские острова Нидерланды Новая Зеландия Филиппины Польша Парагвай Россия Швеция Словакия Тайвань Уганда США Югославия Заир AR AU BG BR СА CL СО CZ DK ES FR GG GT НК HU IE IN IS JE JP LB LT LV MY NI NO PE PK PT RO RW SG TH UA UK UY ZA Аргентина Австралия Болгария Бразилия Канада Чили Колумбия Чешская Республика Дания Испания Франция Остров Гернси Гватемала Гонконг Болгария Ирландия Индия Исландия Остров Джерси Япония Ливан Литва Латвия Малайзия Никарагуа Норвегия Перу Пакистан Португалия Румыния Руанда Сингапур Таиланд Украина Великобритания Уругвай Южная Африка
Выделенные домены
СОМ GOV NET Всемирная коммерческая зона Интернет Правительства государств и правительственные учреждения Общесетевые ресурсы EDU MIL ORG Сеть учебных заведений и учреждений образования Военные организации Некоммерческие организации

Доменам второго уровня (локальная сеть банка, университета, городская муниципальная служба или отдельный сервер, предоставляющий пользователям доступ к какому-либо ресурсу) назначается произвольное имя. Домены третьего уровня являются составляющей частью домена второго уровня, они могут использовать любые имена, не задействованные в рамках вышестоящего домена. Всероссийской зоной RU управляет Российский научно-исследовательский институт развития общественных сетей (РосНИИРОС), официальный сайт которого можно отыскать по адресу https://www.ripn.net.

Общемировыми доме- нами управляет организация Internic (https://www.internic.com). Процедура регистрации нового домена второго уровня выглядит достаточно просто: с помощью любой специализированной программы или предназначенного для выполнения подобных задач web-сервера вам следует проверить, свободен ли требуемый домен, и в случае положительного ответа посетить сайт владельцев выбранной вами зоны, на котором необходимо заполнить соответствующую интерактивную форму. После отправки формы останется только уплатить указанный в инструкции регистрационный взнос, и домен — ваш. Естественно, для оформления домена на свое имя вы должны располагать собственным web-сервером с фиксированным IP-адресом, в противном случае регистрация не состоится. Для того чтобы зарезервировать для себя домен третьего уровня, необходимо просто отправить запрос владельцу вышестоящего домена и оговорить с ним условия регистрации.

Рассказывая о технологии адресации данных на основе алгоритма DNS, я предлагаю воспользоваться уже предложенным выше примером передачи информационного пакета по адресуhttps://myhost.mydomain.spb.ru.Итак, мы видим, что электронный пакет информации, поступая в домен первого уровня.ru, русскую зону Интернета, управляемую своей сетевой станцией, перебрасывается в одну из входящих в нее зон — домен второго уровня.spb, что в нашем примере означает Санкт-Петербург. С этого момента домену.ru становится глубоко безразлична дальнейшая судьба пакета, ее последующей маршрутизацией занимается теперь домен.spb. Домен.spb, избавившись от пакета данных путем передачи его во входящую в Санкт-Петербургскую зону локальнуюсеть my domain, тоже забывает о его существовании. А вот управляющий компьютер сети mydomain получает на свою кремниевую голову следующую проблему: отыскать в подотчетной ему сети машину, на которой расположен web-сервер с именем my host, чтобы передать этот пакет ей и больше никогда о нем не вспоминать. Получив информацию, компьютер, управляющий доменом четвертого уровня my host, просто отправляет ее соответствующей серверной программе. Вот, собственно, и все.
Как видим, при подобном подходе какому-либо домену нет необходимости спрашивать чьего-либо соизволения присвоить входящему в его сеть компьютеру или другой сети определенное имя. Все, что от него требуется, — это проследить, чтобы внутри него самого имена не совпадали, и оставить соответствующую запись на соответствующей странице соответствующего участка всемирной базы данных, которая хранится на сервере американской государственной организации SRI International (город Мэнло-Парк, Калифорния).Искать нужный компьютер в Интернете пользовательским машинам помогают DNS-серверы — программы, которые при обращении к ним выискивают нужный IP-адрес по введенному URL. О технологии поиска рассказывать подробно я не буду, отмечу только, что для повышения скорости этого процесса многие DNS-серверы некоторое время сохраняют на винчестере полученный по запросу адрес, на случай, если вскоре кто-нибудь сделает аналогичный запрос.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: