Интернет-инфраструктура — это сложная, но прекрасно отлаженная система, которая обеспечивает бесперебойную связь и обмен информацией по всему миру. С момента своего появления в 1969 году интернет вырос с четырёх хост-систем до десятков миллионов. По сути, каждое устройство, подключённое к интернету, является частью сети, включая устройства у вас дома. Какова же базовая структура интернета? От серверов имён до точек доступа к сети и магистральных каналов (backbone) — система передачи данных и информации в интернете опирается на то, что мы называем его инфраструктурой, то есть на составные элементы интернета.
Для начала вам нужно понять, как ваш компьютер подключается к другим компьютерам. Читайте также: Что такое инфраструктура интернета? Иерархия компьютерных сетей. Каждое устройство, подключённое к интернету, является частью сети, включая устройства у вас дома. Например, ваш компьютер может быть подключён к интернет-провайдеру через кабельный модем или оптоволокно. На работе ваше устройство может входить в локальную сеть (LAN), но доступ в интернет обеспечивает провайдер вашего работодателя. После подключения ваш компьютер становится частью сети работодателя. Затем провайдер может подключиться к более крупной сети.
Интернет — это просто сеть сетей. У крупных телекоммуникационных компаний есть собственные выделенные магистральные сети с постоянно активными интернет-соединениями и достаточной пропускной способностью, чтобы одновременно пользоваться ими могли многие люди. В каждом регионе у компании есть местный офис, который соединяет местные дома и предприятия с её основной сетью. Как ни удивительно, централизованной сети не существует. Трафик передаётся из одной точки в другую, и если один компьютер уходит из сети, пакеты, из которых состоит цифровой файл, направляются к другому компьютеру.
Файлы приходят как положено, и вы не замечаете никаких изменений в схемах трафика. Вот пример интернет-сети: представьте, что компания A — небольшое предприятие с офисной сетью, в которой настроены серверы и сетевые принтеры. Допустим, компания B — корпоративный интернет-провайдер. Компания B строит или арендует офисные помещения в крупных городах, чтобы разместить свои серверы и маршрутизирующее оборудование. Компания B настолько велика, что прокладывает собственные оптоволоконные линии между зданиями, чтобы все они были соединены друг с другом.
В такой конфигурации все клиенты компании A могут общаться друг с другом, и все клиенты компании B — тоже, но сети двух компаний никак не связаны. Обе компании могут общаться внутри себя, но ни одна не может связаться с другой. Поэтому компании A и B договариваются подключиться к точке обмена интернет-трафиком (IXP) в каждом городе. Теперь сети обеих компаний могут соединяться друг с другом через интернет, а также с другими организациями. Этот пример показывает, как взаимодействуют две корпоративные сети, но эти две компании — лишь приблизительный пример того, как их сети вливаются в огромный интернет.
Чтобы получить общее представление о том, как могут выглядеть эти взаимосвязанные сети, взгляните на проект Opte от Barrett Lyon, цель которого — создать постоянно обновляемую карту «водопроводных труб» интернета. Функции маршрутизаторов интернета. Все эти сети общаются друг с другом через IXP, магистральные сети и маршрутизаторы. Удивительнее всего то, что сообщение может покинуть один компьютер, пройти полмира через несколько разных сетей и достичь другого компьютера за долю секунды! Маршрутизатор определяет, куда направляется информация с одного компьютера на другой.
Маршрутизаторы — это специальные устройства, которые передают сообщения от вас и других пользователей интернета, направляя их по тысячам путей к пунктам назначения. У маршрутизаторов две разные, но связанные задачи: 1. Они гарантируют, что информация не попадёт туда, где она не нужна. Это важно, чтобы огромные объёмы данных не засоряли соединения «невинных наблюдателей». 2. Они гарантируют, что информация достигнет нужного адресата. Выполняя эти две задачи, маршрутизатор очень полезен, когда речь идёт о двух разных компьютерных сетях. Он соединяет две сети, передавая информацию из одной в другую.
Он также защищает сетевое взаимодействие, не позволяя трафику одной сети бесполезно перетекать в другую. Сколько бы сетей ни было соединено, основной принцип работы маршрутизатора остаётся прежним. Поскольку интернет — это огромная сеть, состоящая из бесчисленного множества более мелких сетей, маршрутизаторы здесь необходимы. Магистраль интернета. В 1986 году National Science Foundation (NSF) создала первый высокоскоростной магистральный канал. Эта сеть, названная NSFNET, представляла собой линию T1, объединявшую 170 более мелких сетей и работавшую на скорости 1,5 Мбит/с (миллионов бит в секунду).
IBM, MCI и Merit вместе с NSF создали эту магистраль, а на следующий год разработали магистраль T3 (45 Мбит/с). Магистраль — это интернет-соединение, которое пропускает гораздо больше трафика, чем соединение вашего дома с ближайшей телефонной станцией. На заре интернета только самые крупные телекоммуникационные компании могли обеспечить такую пропускную способность. Сегодня всё больше компаний эксплуатируют собственные высокоскоростные магистральные сети, соединённые между собой через различные IXP по всему миру.
Благодаря этому любой пользователь интернета, независимо от местоположения и провайдера, может связаться с любым другим пользователем на планете. Весь интернет — это огромный свободный протокол общения между людьми. Интернет-протокол: IP-адрес. Каждая машина в интернете имеет уникальный идентификационный номер, называемый IP-адресом. IP означает Internet Protocol — один из двух протоколов, с помощью которых компьютеры общаются в интернете. Второй — протокол управления передачей (TCP); вместе их часто называют TCP/IP. Протокол — это заранее заданный способ подключения к службе для тех, кто хочет ею воспользоваться.
«Кем-то» может быть человек, но чаще всего это компьютерная программа, например веб-браузер. Типичный адрес IPv4 выглядит так: 216.27.61.137. Для удобства человеческой памяти IP-адреса обычно записывают в десятичном формате в виде десятичных чисел, разделённых точками, как показано выше. Но компьютеры общаются в двоичном виде. Вот двоичное представление того же адреса IPv4: 11011000.00011011.00111101.10001001. Каждая последовательность чисел в адресе IPv4 называется октетом, потому что в двоичном виде каждая такая последовательность занимает восемь разрядов.
Если сложить все разряды, получится 32, поскольку адреса IPv4 обрабатываются как 32-битные числа. Поскольку каждый из восьми разрядов может находиться в одном из двух состояний (1 или 0), общее число возможных комбинаций для каждого октета равно 2^8, или 256. Таким образом, каждый октет может содержать любое значение от 0 до 255. Соедините четыре октета вместе — и получите 2^32, то есть потенциально 4 294 967 296 уникальных значений! Из почти 4,3 миллиарда возможных комбинаций адресов IPv4 некоторые значения зарезервированы и не могут использоваться как обычные IP-адреса.
Например, адрес 0.0.0.0 зарезервирован для компьютеров в локальной сети, а адрес 255.255.255.255 используется для широковещательной рассылки. Хотя 4,3 миллиарда адресов кажутся внушительным числом, интернет растёт так быстро, что для замены IPv4 требуется обновлённая 128-битная система адресации. В конце 1998 года эксперты Internet Engineering Task Force (IETF) начали разработку новой системы. В шестой версии IP (IPv6), официально запущенной 6 июня 2012 года, пространство адресов составляет 340 секстиллионов, так что места наверняка хватит на все устройства. (Пока что.
К слову, IPv5 так и не был официально принят как стандарт.) Как и следовало ожидать, адреса IPv6 выглядят несколько иначе, чем адреса IPv4, созданные в 1970-х годах. Каждый сегмент адреса IPv6 использует четыре шестнадцатеричных числа, разделённых двоеточиями. Вот пример: ba5a:9a72:4aa5:522e:b893:78dd:a6c4:f033. Поскольку IPv6 использует шестнадцатеричную запись, необходимо представлять 16 различных цифр. Поэтому помимо цифр от 0 до 9 в неё включены буквы от A до F, обозначающие ещё две цифры. Сейчас мы по-прежнему пользуемся IPv4; октеты нужны не просто для разделения чисел.
Они используются для создания классов IP-адресов, которые могут назначаться конкретным компаниям, правительствам и другим организациям в зависимости от их размера и потребностей. Октет делится на две части: сеть и хост. Первый октет определяет сеть, к которой принадлежит компьютер. Хост (иногда называемый узлом) определяет сам компьютер в сети. Последний октет указывает на часть хоста. Существует пять классов IP и несколько специальных адресов. Когда интернет только зарождался, он состоял из небольшого числа компьютеров, соединённых через модемы и телефонные линии.
Установить соединение можно было, только указав IP-адрес компьютера, с которым вы хотели связаться. Например, типичный IP-адрес мог выглядеть как 216.27.22.162. Пока хостов было немного, это работало хорошо, но по мере подключения всё новых систем управлять этим становилось всё труднее. Первым решением этой проблемы стал простой текстовый файл, который вёл Network Information Centre (NIC) и который назывался таблицей хостов: в нём имена сопоставлялись с IP-адресами. Вскоре этот текстовый файл разросся настолько, что им стало слишком неудобно пользоваться.
В ноябре 1983 года Paul Mokapetris представил International Network Working Group два запроса на комментарии (RFC). В RFC 882 описывается концепция системы доменных имён (DNS), которая автоматически сопоставляет текстовые имена с IP-адресами. В RFC 883 предлагается метод реализации этой системы. Благодаря его усилиям и усилиям многих других людей вам больше не нужно запоминать, скажем, набор цифр и знаков препинания вместо IP-адреса сайта HowStuffWorks.com — достаточно помнить www.howstuffworks.com. Читайте также: Как надёжно защитить свой IP-адрес? URL: унифицированный указатель ресурса.
Когда вы пользуетесь вебом или отправляете электронную почту, вы можете использовать доменное имя. Например, унифицированный указатель ресурса (URL) «https://www.howstuffworks.com» включает доменное имя howstuffworks.com. То же самое касается и адреса электронной почты — публично опубликованной контактной точки. Каждый раз, когда используется доменное имя, DNS-серверы интернета преобразуют понятное человеку доменное имя в понятный машине IP-адрес. Подробнее о DNS можно узнать из материала о том, как работают серверы имён. Домены верхнего уровня, также называемые доменами первого уровня, включают.com,.org,.net,.edu и.gov.
В каждом домене верхнего уровня существует огромный список доменов второго уровня. Например, в домене верхнего уровня.com есть HowStuffWorks, Yahoo, Microsoft. Каждое имя в домене верхнего уровня.com должно быть уникальным. Самая левая часть (например, «www») — это имя хоста. Она задаёт имя каталога на конкретном компьютере с конкретным IP-адресом в домене. В данном домене могут находиться миллионы имён хостов — главное, чтобы все они были уникальны в пределах домена. DNS-серверы принимают запросы от программ и других серверов имён, чтобы преобразовывать доменные имена в IP-адреса. Получив запрос, DNS-сервер может сделать одно из четырёх: 1.
Ответить IP-адресом, потому что уже знает IP-адрес запрошенного домена. 2. Обратиться к другому DNS-серверу и попытаться найти IP-адрес запрошенного имени. Возможно, придётся сделать это несколько раз. 3. Сказать: «Я не знаю IP-адрес запрошенного вами домена, но вот IP-адрес DNS-сервера, который знает лучше меня». 4. Вернуть сообщение об ошибке, потому что запрошенное доменное имя недействительно или не существует. DNS. Предположим, вы вводите в браузере URL www.howstuffworks.com. Браузер обращается к DNS-серверу, чтобы получить IP-адрес. DNS-сервер начинает поиск IP-адреса с обращения к одному из корневых DNS-серверов.
Корневой сервер знает IP-адреса всех DNS-серверов, обслуживающих домены верхнего уровня (.com,.net,.org и т. д.). Ваш DNS-сервер спрашивает у корневого сервера адрес www.howstuffworks.com, и корневой сервер отвечает: «Я не знаю IP-адрес www.howstuffworks.com, но вот IP-адрес DNS-сервера зоны.COM». Затем ваш сервер имён обращается к DNS-серверу зоны.COM и отправляет запрос: знает ли тот IP-адрес www.howstuffworks.com. DNS-сервер домена.com знает IP-адреса серверов имён, обслуживающих домен www.howstuffworks.com, поэтому возвращает эти адреса.
После этого ваш сервер имён связывается с DNS-сервером www.howstuffworks.com и спрашивает, знает ли он IP-адрес www.howstuffworks.com. Он знает, поэтому возвращает IP-адрес вашему DNS-серверу, тот передаёт его браузеру, а браузер уже обращается к серверу www.howstuffworks.com за веб-страницей. Один из ключей к бесперебойной работе этой системы — резервирование. На каждом уровне есть несколько DNS-серверов, так что если один сервер выходит из строя, запрос обработают другие. Ещё один ключ — кэширование. После обработки запроса DNS-сервер кэширует полученный IP-адрес.
Один раз запросив у корневого DNS-сервера зону.COM, он будет знать IP-адрес DNS-сервера домена.COM и не станет снова спрашивать эту информацию у корневого сервера. DNS-сервер делает это для каждого запроса, и такой кэш помогает избегать перегрузок. DNS-серверы полностью невидимы, но ежедневно обрабатывают миллиарды запросов и необходимы для нормальной работы интернета. То, что эта распределённая база данных работает так надёжно и незаметно день за днём, говорит о качестве её проектирования. Серверы и клиенты интернета. Каждая машина в интернете является либо сервером, либо клиентом.
Компьютер, предоставляющий услуги другим компьютерам, — это сервер. Компьютер, с которого подключаются к этим услугам, — клиент. Существуют веб-серверы, почтовые серверы, FTP-серверы и другие, чтобы удовлетворять потребности пользователей интернета по всему миру. Когда вы подключаетесь к www.howstuffworks.com, чтобы прочитать страницу, вы — пользователь, сидящий за клиентским компьютером. Вы обращаетесь к веб-серверу HowStuffWorks. Серверный компьютер находит запрошенную вами страницу и отправляет её вам.
Клиент, обращающийся к серверному компьютеру, действует с определённой целью, поэтому направляет свои запросы конкретному серверному программному обеспечению, работающему на серверном компьютере. Например, если на вашем компьютере запущен веб-браузер, он будет пытаться связаться с веб-сервером на серверном компьютере, а не с почтовым сервером. Сервер имеет статический IP-адрес, который не меняется. Домашний же компьютер, подключённый через модем, обычно получает IP-адрес, который провайдер назначает при каждом подключении. Этот адрес уникален для вашего сеанса и в следующий раз может быть другим.
Так провайдеру нужен всего один IP-адрес на устройство, а не на каждого клиента. Порты и HTTP. Каждый сервер предоставляет свои услуги через нумерованный порт — то есть по порту на каждую доступную на сервере службу. Например, если на серверном компьютере работают веб-сервер и FTP-сервер (File Transfer Protocol), то веб-сервер обычно доступен на порту 80, а FTP-сервер — на порту 21. Клиент подключается к службе по конкретному IP-адресу и номеру порта. После подключения к службе на конкретном порту клиент получает доступ к ней с помощью конкретного протокола. Протокол просто описывает, как клиент и сервер будут общаться.
Каждый веб-сервер в интернете соблюдает протокол передачи гипертекста (HTTP). Подробнее об интернет-серверах, портах и протоколах можно узнать, прочитав о том, как работают веб-серверы. Читайте также: Зачем нужно шифрование на интернет-серверах? Сети, маршрутизаторы, NAP, интернет-провайдеры, DNS и мощные серверы — всё это делает интернет возможным. Когда понимаешь, что вся эта информация уходит через весь мир за несколько миллисекунд, становится ясно, насколько важны эти компоненты в современной жизни. Без них не было бы интернета. А без интернета наша жизнь была бы совсем другой.

