Строительные блоки компьютерных сетей

Компьютерные сети — это хлеб с маслом жизни 21 века. Телефонные звонки, текстовые сообщения, Bluetooth, онлайн-покупки и т. д. — все это варианты использования, которые питаются от компьютерных сетей. Одним из самых популярных экземпляров компьютерных сетей является Интернет. Он поддерживает глобальные связи между сущностями, которые были невообразимы в прошлые века. Масштаб этой сети увеличился на несколько порядков с момента ее создания.

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

а) Масштабы общения могут быть огромными: мы можем взаимодействовать с кем-то на другом конце света
б) Большое количество активных пользователей: строить пайплайны дорого, поэтому все делятся ими одновременно

в) Ядро Интернета было построено почти 40 лет назад: это надежное ядро ​​позволило нам масштабировать его на несколько порядков.

г) Объем данных, которые проходят через эту сеть, огромен и увеличивается, см. здесь

Давайте углубимся в то, как организована эта мощная сеть.

Интернет

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

а) Период сети: устройства (ноутбук, мобильный телефон, автомобиль и т. д.), которые подключаются к ядру сети.

б) Ядро сети: состоит из устройств (маршрутизатор, коммутаторы пакетов и т. д.), которые помогают с передачей данных, физических соединений (кабелей) между этими устройствами. Эти услуги предоставляются интернет-провайдерами (ISP), такими как AT&T, Verizon и т. д.

Хосты

Устройства на границе сети называются Конечными системами или Хостами, так как на них размещаются приложения, обменивающиеся данными через компьютерную сеть. Например. при взаимодействии с веб-сайтом электронной коммерции приложение размещается в вашем веб-браузере, а его аналог размещается на сервере компании, на котором находится веб-сайт. Абстракции имеют решающее значение для связи между хостами. Сетевое ядро ​​заботится о множестве деталей более низкого уровня, связанных с перемещением данных между двумя хостами.

Информация

Связь между двумя хостами включает в себя передачу информации между двумя системами. Информация обычно делится на более мелкие фрагменты, и каждый фрагмент информации (набор битов) называется пакетом. Грубо говоря, ядро ​​сети содержит устройства, называемые Коммутаторы пакетов (например, Маршрутизаторы, Коммутаторы канального уровня), которые отвечают за пересылку пакетов на основе информации, содержащейся в пакетах.

Техника коммутации пакетов позволяет нескольким взаимодействующим хостам совместно использовать путь или части пути одновременно.

Протоколы

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

Сэм: Привет, Сара

Сара: Привет, Сэм

Сэм: Приятно познакомиться

Сара: Я тоже рада познакомиться

Этот протокол определяет правила приветствия друг друга, которые позволяют общаться между Сэмом и Сарой. Протокол может быть разным, так же как могут быть разные правила (в разных культурах) для приветствия людей. Подобный этому протокол Handshaking определен для устройств, которые позволяют телефонам, ноутбукам, устройствам IoT и т. д., работающим под управлением различного программного обеспечения (Windows, Mac, Android и т. д.), взаимодействовать друг с другом.

Сетевое ядро

Конечные системы подключаются к ядру сети с помощью своего интернет-провайдера, который организован многоуровнево.

Внизу иерархии находится интернет-провайдер третьего уровня. Например. вашего интернет-провайдера дома. На вершине иерархии находится относительно небольшое количество интернет-провайдеров уровня 1. Они имеют международное покрытие и содержат сетевые маршрутизаторы, которые должны иметь возможность пересылать пакеты с чрезвычайно высокой скоростью. Интернет-провайдеры уровня 1 известны как магистральные интернет-сети. Сети уровня 1 подключаются к большому количеству сетей уровня 2. Говорят, что сети уровня 2 являются клиентами сетей уровня 1, и точно так же сети уровня 3 являются клиентами сетей уровня 2 в этой иерархии. В сети интернет-провайдера точки, в которых интернет-провайдер подключается к другим интернет-провайдерам, называются точками присутствия (точки присутствия).

Сетевой стек

Для обеспечения связи между двумя хостами требуется несколько протоколов. Они могут быть реализованы программно (HTTP, SMTP), аппаратно (Ethernet) или их комбинацией (канальный уровень).

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

Абстракции на каждом уровне сетевого стека можно рассматривать как услуги, предлагаемые верхним уровням. Например, приложение может взаимодействовать с другим приложением, не беспокоясь о деталях отправки этой информации по сети. Таким образом, транспортный уровень можно рассматривать как предоставление услуг приложениям с SLA. Многоуровневая архитектура сетевого стека допускает слабую связь.

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

Источник: Компьютерные сети: подход сверху вниз