Как работает Интернет? Основы и принцип работы глобальной сети. Протокол IP

Интернет является глобальной компьютерной сетью, которая объединяет миллиарды устройств в мире и позволяет этим устройствам обмениваться информацией. Так, поскольку вы читаете этот текст, вы подключены к Интернету с помощью компьютера, мобильного телефона или другого устройства.

Но как этот текст попал к вам на экран? Что происходит, когда вы набираете адрес сайта или нажимаете на ссылку в тексте? Сегодня мы узнаем ответы на все эти вопросы.

Давайте договоримся сразу, что любое устройство, которым вы пользуетесь для доступа в Интернет, мы будем называть "компьютером". Так нам будет проще, и, в целом, - это не так уж и далеко от истины.

Компьютер и компьютерная сеть

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

Первая компьютерная сеть появилась 2 сентября 1969 года в Калифорнийском университете в Лос-Анджелесе. Она была создана группой студентов под руководством профессора Леонарда Клейнрока в рамках военной программы США. Так, впервые два вычислительных комплекса в этом университете были соединены между собой кабелем длинной 4,5 метра и была осуществлена первая передача данных между компьютерами на расстоянии.

Впоследствии кабелями соединили компьютеры четырех американских университетов, и, в дальнейшем, эта сеть стала основой для информационной сети министерства обороны США под названием ARPANET.

В дальнейшем именно эта разработка легла в основу того, что мы знаем сегодня под названием Интернет.

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

Сегодня существует много способов объединить компьютеры между собой. Это можно делать как с помощью кабелей, так и с помощью беспроводных технологий.

Общение же компьютеров по сети осуществляется с помощью специальных программ. Чтобы такие программы могли взаимодействовать друг с другом (или, как мы говорим, - "общаться") они должны следовать одним и тем же правилам и соглашениям. Такие правила среди инженеров принято называть "протоколами". Так, работа сети Интернет основана на протоколе IP.

Что такое протокол?

Перед тем, как мы продолжим, давайте разберемся, что означает слово "протокол" в теории компьютерных сетей. Я уверен, вы часто слышали это слово, но далеко не все понимают, что за ним скрывается.

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

То есть, в нашем случае протокол будет описывать все правила, как программы взаимодействуют друг с другом, например, такие:

Вот это и есть примитивное описание протокола взаимодействия наших программ.

Так же и для организации компьютерной сети потребовались специальные протоколы, описывающие правила взаимодействия программ и компьютеров в этой сети.

Основным протоколом, на котором строится работа Интернет - это протокол IP.

Протокол IP

Итак, первый протокол в нашем стеке - это протокол IP. Расшифровывается данная аббревиатура очень просто - Internet Protocol (Интернет протокол), и описывает правила адресации компьютеров в сети.

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

Какой же адрес должен быть у компьютера? Для решения этой задачи инженеры предположили, что если каждому компьютеру в сети присвоить уникальное число, то такое число можно использовать в качестве адреса!

С другой стороны, Интернет - это глобальная сеть, в которой работает очень много устройств. Поэтому, числа, которые присваиваются компьютерам, подключенным к сети, должны быть достаточно большими, чтобы их хватило на все устройства которые уже работают или могут быть подключены к сети в будущем. Так, несколько десятков лет назад инженеры думали, что более чем 4-х миллиардов чисел будет достаточно и разработали 32-х битные адреса IP, которые сегодня лежат в основе адресации в сети Интернет.

Таким образом вводится понятие IP-адреса. Это просто число, которое является уникальным адресом для каждого подключенного компьютера к Интернету (хотя все немного сложнее, но, в общем случае, данное утверждение верно).

Но одного адреса компьютера может быть недостаточно для организации доставки сообщений между компьютерами. Ведь компьютер выполняет программы. И сегодня на вашем компьютере работает сразу несколько программ. Например вы слушаете Интернет-радио и одновременно просматриваете сайты или получаете электронную почту.

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

То есть, каждое сообщение, отправленное от одного компьютера к другому передается по специальному адресу, состоящему из двух номеров - IP-адреса самого компьютера и порта программы.

Для понимания будет проще представить, что IP-адрес - это как адрес вашей квартиры. А порт - как адресат - ваши фамилия, имя и отчество. Ведь вы можете жить в квартире не один, но нужно знать, что письмо пришло именно к вам.

Вот именно так и осуществляется адресация между компьютерами и программами в сети Интернет.