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

Как устроен и работает Интернет? Хороший вопрос! Его рост подобен взрыву, и .com-сайты постоянно упоминаются на телевидении, радио и в журналах. Поскольку он стал значительной частью нашей жизни, необходимо хорошо его понимать, чтобы использовать этот инструмент наиболее эффективно. В данной статье объясняются понятия и виды Интернета, его базовая инфраструктура и технологии, которые обеспечивают его функционирование.

Глобальная сеть

Определение понятию Интернет обычно дают следующее. Это глобальная сеть компьютерных ресурсов, соединенных высокопроизводительными линиями связи и общим адресным пространством. Поэтому каждое устройство, подключенное к нему, должно иметь уникальный идентификатор. Как устроен IP-адрес компьютера? Интернет-адреса IPv4 записываются в форме nnn.nnn.nnn.nnn, где nnn – число от 0 до 255. Аббревиатура IP означает протокол межсетевого взаимодействия. Это одно из основных понятий Интернета, но подробнее об этом позже. Например, один компьютер имеет идентификатор 1.2.3.4, а другой – 5.6.7.8.

Если подключение к Интернету осуществляется через провайдера, то обычно на время сеанса удаленного доступа пользователю назначается временный IP-адрес. Если соединение производится из локальной сети (LAN), то компьютер может иметь как постоянный идентификатор, так и временный, предоставляемый сервером DHCP (протокола динамической настройки конфигурации головной машины). В любом случае, если ПК подключен к Интернету, то он обладает уникальным IP-адресом.

Программа Ping

Если используется операционная система Microsoft Windows или одна из разновидностей Unix, есть удобная программа, которая позволяет проверить подключение к Интернету. Она называется ping, возможно, по звуку, который создавали старые сонары на подводных лодках. Если используется Windows, то необходимо запустить окно командной строки. В случае операционной системы, являющейся разновидностью Unix, то следует перейти в командную строку. Если ввести, например, ping www.yahoo.com, то программа отправит сообщение запроса эхо-сигнала ICMP (Internet Control Message Protocol) на указанный компьютер. Опрашиваемая машина ответит. Программа ping подсчитывает время возвращения ответа (если это произойдет). Кроме того, если ввести имя домена (например, www.yahoo.com), то утилита отобразит IP-адрес компьютера.

Пакеты протоколов

Итак, компьютер подключен к сети и имеет уникальный адрес. Чтобы было понятно и для «чайников», как устроен Интернет, необходимо разобраться в том, как ПК «разговаривает» с другими машинами. Предположим, IP-адрес устройства пользователя равен 1.2.3.4, и он желает отправить сообщение «Привет, компьютер 5.6.7.8!» на машину с адресом 5.6.7.8. Очевидно, что послание должно передаваться по любому каналу, соединяющему ПК пользователя с Интернетом. Допустим, сообщение отправляется по телефону. Необходимо преобразовать текст в электронные сигналы, передать их, а затем снова представить в виде текста. Как это достигается? Благодаря использованию пакета протоколов. Он необходим каждому компьютеру для общения в глобальной сети и обычно встроен в операционную систему. Пакет называют TCP/IP из-за использующихся в нем 2-х основных протоколов связи. Иерархия TCP/IP следующая:

  • Уровень приложений. Здесь используются протоколы, специфичные для WWW, электронной почты, FTP и т. д.
  • Уровень протокола управления передачей данных. TCP направляет пакеты к конкретным программам, используя номер порта.
  • Уровень протокола Интернета. IP направляет пакеты на конкретный компьютер, используя IP-адрес.
  • Аппаратный уровень. Преобразует бинарные данные в сетевые сигналы и обратно (например, сетевая карта Ethernet, модем и т. д.).

Если следовать по пути сообщения «Привет, компьютер 5.6.7.8!», отправленного с ПК пользователя на машину с IP-адресом 5.6.7.8, то можно понять, как устроен Интернет. Произойдет примерно следующее:

  1. Обработка сообщения начинается с протокола верхнего уровня и продвигается вниз.
  2. Если отправляемое послание длинное, каждый уровень, через который оно проходит, может разбивать его на меньшие отрезки данных. Это связано с тем, что информация, отправляемая через Интернет (и большинство компьютерных сетей), представлена в виде управляемых частей, называемых пакетами.
  3. Пакеты поступают на обработку на транспортный уровень. Каждому из них присваивается номер порта. Использовать пакет протоколов TCP/IP и отправлять сообщения способны многие программы. Необходимо знать, какая из них на конечном компьютере должна получить сообщение, поскольку он будет прослушивать определенный порт.
  4. Далее пакеты переходят на уровень IP. Здесь каждый из них получает адрес назначения (5.6.7.8).
  5. Теперь, когда пакеты сообщений имеют номер порта и IP-адрес, они готовы к отправке через Интернет. Аппаратный уровень заботится о том, чтобы пакеты, содержащие текст сообщения, были преобразованы в электронные сигналы и переданы по линии связи.
  6. На другом конце провайдер имеет прямое подключение к Интернету. Маршрутизатор проверяет адрес назначения каждого пакета и определяет, куда его отправить. Часто следующей остановкой является другой маршрутизатор.
  7. В конце концов, пакеты достигают компьютера 5.6.7.8. Здесь их обработка начинается с протоколов нижнего уровня и продвигается вверх.
  8. По мере того как пакеты проходят более высокие уровни TCP/IP, из них удаляются все данные маршрутизации, добавленные отправляющим компьютером (например, IP-адрес и номер порта).
  9. Когда сообщение достигает протокола верхнего уровня, пакеты собираются в их первоначальную форму.

Домашний Интернет

Итак, все вышесказанное объясняет, как пакеты перемещаются с одного компьютера на другой через глобальную сеть. Но что происходит в промежутке? Как устроен и работает Интернет на самом деле?

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

После того как пакеты пройдут через телефонную сеть и местное оборудование провайдера, они направляются в магистраль провайдера или арендуемую им часть ее пропускной способности. Отсюда данные обычно проходят через несколько маршрутизаторов и магистральных сетей, выделенных линий и др., пока они не найдут свое место назначения - компьютер с адресом 5.6.7.8. Вот как устроен домашний Интернет. Но разве было бы плохо, если бы пользователь знал точный маршрут прохождения его пакетов по глобальной сети? Это возможно.

Программа Traceroute

При подключении к Интернету с компьютера на платформе Microsoft Windows или разновидности Unix пригодится еще одна удобная программа. Она называется Traceroute и указывает путь, который проходят пакеты, достигая конкретного IP-адреса. Как и ping, ее необходимо запускать из командной строки. В Windows следует использовать команду tracert www.yahoo.com, а в Unix – traceroute www.yahoo.com. Как и ping, утилита позволяет вместо имен доменов вводить IP-адреса. Traceroute распечатает список всех маршрутизаторов, компьютеров и других интернет-объектов, которые должны пройти пакеты, чтобы добраться до места назначения.

Инфраструктура

Как технически устроена интернет-магистраль? Она состоит из множества крупных сетей, соединенных друг с другом. Эти крупные сети известны как поставщики сетевых услуг или NSP. Примерами являются UUNet, IBM, CerfNet, BBN Planet, PSINet, SprintNet и др. Эти сети взаимодействуют друг с другом для обмена трафиком. Каждому NSP-провайдеру требуется подключение к трем точкам доступа к сети (NAP). В них пакетный трафик может переходить от одной магистральной сети к другой. NSP также соединяются через городские станции маршрутизации MAE. Последние выполняют ту же роль, что и NAP, но находятся в частной собственности. NAP использовались для подключения к глобальной сети изначально. Как MAE, так и NAP называют точками обмена Интернетом, или IX. Сетевые провайдеры также продают пропускную способность небольшим сетям, таким как ISP-провайдеры.

Базовая инфраструктура NSP сама по себе представляет собой сложную схему. Большинство сетевых провайдеров публикуют карты сетевой инфраструктуры на своих веб-сайтах, которые ​​можно легко найти. Реально изобразить то, как устроена сеть Интернет, было бы почти невозможным из-за ее размера, сложности и постоянно меняющейся структуры.

Иерархия маршрутизации

Чтобы понять, как устроен Интернет, необходимо разобраться с вопросом, как пакеты находят правильный путь через сеть. Знает ли каждый ПК, подключенный к сети, где находятся другие компьютеры? Или пакеты просто «транслируются» на каждую машину в Интернете? Ответ на оба вопроса отрицательный. Никто не знает, где находятся другие компьютеры, и пакеты не отправляются на все машины одновременно. Информация, используемая для доставки данных к своим адресатам, содержится в таблицах, хранящихся на каждом подключенном к сети маршрутизаторе – еще одном понятии Интернета.

Маршрутизаторы – это коммутаторы пакетов. Обычно они подключаются между сетями для перенаправления пакетов между ними. Каждый маршрутизатор знает о своих подсетях и о том, какие адреса они используют. Устройству, как правило, неизвестны IP-адреса «верхнего» уровня. Большие NSP-магистрали соединяются через NAP. Они обслуживают несколько подсетей, а те – еще большее количество подсетей. В нижней части находятся локальные сети с подключенными компьютерами.

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

Имена доменов и определение адреса

Но что, если неизвестен IP-адрес компьютера, к которому необходимо подключиться? Что делать, если нужен доступ к веб-серверу, называемому www.anothercomputer.com? Как браузер узнает, где находится этот компьютер? Ответ на все эти вопросы – служба доменных имен DNS. Это понятие сети Интернет обозначает распределенную базу данных, которая отслеживает имена компьютеров и соответствующие им IP-адреса.

Многие машины подключены к базе данных DNS и программному обеспечению, которое позволяет получить к нему доступ. Эти машины известны как DNS-серверы. Они не содержат всей базы данных, а только его подмножество. Если DNS-сервер не имеет имени домена, запрошенного другим компьютером, то он перенаправляет его на другой сервер.

Служба доменных имен структурирована как иерархия, аналогичная иерархии маршрутизации IP. Компьютер, запрашивающий разрешение имен, будет перенаправлен «вверх» по иерархии до тех пор, пока не будет найден DNS-сервер, который может разрешить имя домена в запросе.

Когда настроено подключение к Интернету (например, по локальной сети или через телефонное соединение в Windows), основной и один или несколько вторичных DNS-серверов обычно указываются при установке. Таким образом, любые приложения, которые нуждаются в разрешении доменных имен, смогут нормально функционировать. Например, при вводе имени домена в браузере последний подключается к основному DNS-серверу. Получив IP-адрес, приложение затем подключится к целевому компьютеру и запросит нужную веб-страницу.

Обзор интернет-протоколов

Как было отмечено ранее в разделе о ТСР/ІР, в глобальной сети используется много протоколов. К ним относятся протоколы TCP, IP, маршрутизации, управления доступом к среде, уровня приложений и т. д. В следующих разделах описаны некоторые наиболее важные и часто используемые из них. Это позволит лучше понять, как устроена и как работает сеть Интернет. Обсуждаются протоколы в порядке убывания их уровня.

HTTP и World Wide Web

Одной из наиболее часто используемых служб в Интернете является World Wide Web (WWW). Протокол уровня приложения, который обеспечивает работу в глобальной сети, – это протокол передачи гипертекста, или HTTP. Его не следует путать с языком гипертекстовой разметки HTML, используемым для написания веб-страниц. HTTP является протоколом, который браузеры и серверы применяют для связи друг с другом. Это протокол уровня приложения, поскольку он используется некоторыми программами для общения друг с другом. В данном случае это браузеры и серверы.

HTTP – это протокол, не требующий предварительной установки соединения. Клиенты (браузеры) отправляют запросы на серверы для веб-элементов, таких как страницы и изображения. После их обслуживания соединение отключается. Для каждого запроса необходимо устанавливать связь снова.

Большинство протоколов ориентированы на соединение. Это означает, что компьютеры, взаимодействующие друг с другом, поддерживают связь через Интернет. Однако HTTP таким не является. Прежде чем клиент может сделать HTTP-запрос, сервер должен установить новое соединение.

Чтобы понять, как устроен Интернет, необходимо знать, что происходит при вводе URL в веб-браузер:

  1. Если URL содержит имя домена, обозреватель сначала подключается к серверу имен доменов и получает соответствующий IP-адрес.
  2. Затем браузер подключается к серверу и отправляет HTTP-запрос для желаемой страницы.
  3. Сервер получает запрос и проверяет нужную страницу. Если она существует, то отправляет ее. Если сервер не может найти запрошенную страницу, то посылает сообщение об ошибке HTTP 404. (404 означает «Страница не найдена», как, вероятно, знает любой, кто просматривал веб-сайты).
  4. Браузер получает запрашиваемое, и соединение закрывается.
  5. Затем обозреватель анализирует страницу и ищет другие элементы, необходимые для ее завершения. Обычно это изображения, апплеты и т. д.
  6. Для каждого элемента браузер делает дополнительные подключения и HTTP-запросы к серверу.
  7. Когда загрузка всех изображений, апплетов и т. д. завершится, страница будет полностью загружена в окне обозревателя.

Использование клиента Telnet

Telnet – это служба удаленного терминала, используемая в Интернете. Ее применение сократилось, но это полезный инструмент для изучения глобальной сети. В Windows программу можно найти в системном каталоге. После ее запуска необходимо открыть меню «Терминал» и в окне настроек выбрать Local Echo. Это значит, что можно видеть свой HTTP-запрос при его вводе.

В меню «Соединение» необходимо выбрать пункт «Удаленная система». Далее следует ввести www.google.com для имени хоста и 80 для порта. По умолчанию веб-сервер прослушивает именно этот порт. Нажав Connect, необходимо ввести GET/HTTP/1.0 и дважды нажать «Ввод».

Это простой HTTP-запрос на веб-сервер для получения его корневой страницы. Пользователь должен увидеть ее мельком, а затем появится диалоговое окно с сообщением о потере соединения. Если необходимо сохранить извлеченную страницу, то следует включить ведение журнала. Затем можно просмотреть веб-страницу и HTML-код, который использовался для ее создания.

Большинство интернет-протоколов, определяющих то, как устроен Интернет, описаны в документах, известных как Request For Comments или RFC. Их можно найти в Интернете. Например, HTTP версии 1.0 описан в RFC 1945.

Протоколы приложений: SMTP и электронная почта

Другим широко используемым интернет-сервисом является электронная почта. Она использует протокол уровня приложения, называемый Simple Mail Transfer Protocol, или SMTP. Это тоже текстовый протокол, но в отличие от HTTP, SMTP, ориентирован на соединение. Кроме того, он также сложнее, чем HTTP. В SMTP команд и аспектов больше, чем в HTTP.

При открытии почтового клиента для чтения сообщения электронной почты, как правило, происходит следующее:

  1. Почтовый клиент (Lotus Notes, Microsoft Outlook и т. д.) открывает соединение с установленным по умолчанию почтовым сервером, IP-адрес или доменное имя которого обычно настраивается при установке.
  2. Почтовый сервер всегда передает первое сообщение, чтобы идентифицировать себя.
  3. Клиент отправляет команду SMTP HELO, на которую получает ответ 250 OK.
  4. В зависимости от того, проверяет или отправляет клиент почту и т. д., на сервер посылаются соответствующие SMTP-команды, чтобы он мог ответить соответствующим образом.

Эта транзакция запроса/ответа будет продолжаться до тех пор, пока клиент не отправит команду QUIT. Затем сервер попрощается и соединение будет закрыто.

Протокол управления передачей

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

Ниже перечислены номера портов для некоторых наиболее часто используемых интернет-сервисов:

  • FTP – 20/21.
  • Telnet – 23.
  • SMTP – 25.
  • HTTP – 80.

Транспортный протокол

ТСР работает следующим образом:

  • Когда уровень TCP получает данные протокола уровня приложения, он разделяет их на управляемые «порции», а затем к каждой из них добавляет заголовок с информацией о номере порта, к которому необходимо отправить данные.
  • Когда уровень TCP получает пакет с более низкого уровня IP, данные заголовка из пакета удаляются. При необходимости их можно восстановить. Затем данные отправляются в требуемое приложение на основании номера порта.

Так сообщения, перемещаясь по стеку протоколов, направляются по правильному адресу.

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

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

Протокол Интернета

В отличие от TCP, IP является ненадежным протоколом без установления соединения. IP не заботится о том, попадет ли пакет в пункт назначения или нет. IP также не знает о соединениях и номерах портов. Задание IP – направлять данные на другие компьютеры. Пакеты являются независимыми объектами и могут прибывать не по порядку или вообще не достигать цели. Задача TCP – убедиться, что данные поступают и расположены верно. Единственное, что IP имеет общее с TCP – это то, как он получает данные и добавляет свою собственную информацию заголовка IP в данные TCP.

Данные уровня приложения сегментируются на уровне транспортного протокола, к ним добавляется заголовок TCP. Далее пакет формируется на уровне IP, к нему добавляется IP-заголовок, а затем он передается по глобальной сети.

Как устроен Интернет: книги

Для начинающих пользователей по данной теме доступна обширная литература. Популярностью у читателей пользуется серия «Для чайников». Как устроен Интернет, можно узнать из книг «Internet» и «Юзеры и Интернет». Они помогут быстро выбрать провайдера, подключиться к сети, научат, как пользоваться браузером, и т. д. Для новичков книги станут полезными проводниками по глобальной сети.

Заключение

Теперь должно быть понятно, как устроена сеть Интернет. Но как долго он останется таким? Использовавшаяся ранее 4-я версия IP, разрешавшая только 232 адреса, была заменена IPv6 с 2128 теоретически возможными адресами. Интернет прошел долгий путь с момента его создания в качестве исследовательского проекта Министерства обороны США. Никто не знает, чем он станет. Одно можно сказать наверняка: Интернет объединяет мир как никакой другой механизм. Информационная эпоха наступает полным ходом, и быть свидетелем этого – большое удовольствие.

Комментарии