Как данные передаются по сети с одного компьютера на другой

Фоновый контекст

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

  • Определение. Модель OSI – это стандартизированная теоретическая/концептуальная эталонная модель, описывающая работу компьютерных сетей; то есть, как информация из программного приложения на одном компьютере передается в программное приложение на другом компьютере по сети.
  • Цель. Модель OSI облегчает связь между различными системами, не требуя изменений в логике их базового программного и аппаратного обеспечения.
  • Уровни. Модель OSI состоит из 7 уровней. Их цель — разбить процессы компьютерной сети на более управляемые компоненты.

Чтобы понять, как взаимодействуют компьютеры в сети, нам нужно последовательно пройти 7 уровней модели OSI:

Уровни модели OSI

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

Уровень 7: прикладной уровень

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

Существуют десятки протоколов прикладного уровня, которые составляют основу различных сетевых служб. Вот некоторые из них:

  • Для передачи файлов через Интернет — протокол передачи файлов (FTP)
  • Веб-серфинг — протокол передачи гипертекста (HTTP/s)
  • Отправка электронных писем — Простой протокол передачи почты (SMTP)
  • и т. д.

Уровень 6: уровень представления

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

Уровень представления также отвечает за шифрование данных. Он использует протокол Secure Sockets Layer (SSL) для шифрования данных, что предотвращает их интерпретацию в случае их перехвата злоумышленником в сети. На стороне получателя, когда данные попадают на этот уровень, они расшифровываются по тому же протоколу.

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

Уровень 5: Сеансовый уровень

Сеансовый уровень отвечает за установление, поддержание и завершение соединений между компьютерами в сети. Он использует различные API, которые позволяют подключаться к другому компьютеру в сети.

При установлении соединения с другим компьютером сеансовый уровень определяет некоторые параметры обмена, которые будут использоваться во время соединения. Например; какой номер порта UDP будет использоваться, метод кодирования и т. д.

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

И, наконец, сеансовый уровень завершает соединение после завершения связи.

Уровень 4: транспортный уровень

Транспортный уровень контролирует надежность связи посредством:

  • Сегментация. Транспортный уровень получает данные от сеансового уровня и делит их на более мелкие блоки данных, называемые сегментами. Каждый сегмент содержит исходный и конечный номер порта, который помогает направить сегмент на правильное приложение на стороне получателя, и порядковый номер, который помогает переставить сегменты в правильном порядке для формирования правильного сообщение на стороне получателя.
  • Управление потоком. Транспортный уровень управляет объемом передаваемых данных в зависимости от разницы в скорости, с которой устройства могут передавать (исходное устройство) и получать (целевое устройство) данные, чтобы поддерживать производительность системы.
  • Контроль ошибок: Например; в случае, если некоторые данные не доходят до места назначения.

Существует два типа протоколов передачи, связанных с транспортным уровнем:
1. Протокол управления передачей() TCP

Это передача, ориентированная на соединение, которая обеспечивает обратную связь о том, действительно ли данные были доставлены, поэтому потерянные данные могут быть переданы повторно. Этот протокол используется, например, там, где необходима полная доставка данных; электронная почта, передача файлов и т. д.

2. Протокол пользовательских дейтаграмм (UDP)

Это передача без установления соединения, которая быстрее, чем TCP, поскольку не обеспечивает никакой обратной связи. Этот протокол используется в ситуациях, когда не имеет значения, получили ли мы все данные; например, при передаче голосовых или видео пакетов по сети в случае потоковых онлайн-сервисов.

Уровень 3: сетевой уровень

  • Это уровень, отвечающий за логическую адресацию: сетевой уровень получает сегменты данных от транспортного уровня и назначает IP-адреса каждому сегменту для формирования пакета. — Гарантирует, что каждый пакет достигает нужного устройства в сети, для которого он предназначен.
  • Это также уровень, на котором работают маршрутизаторы: сетевой уровень также отвечает за маршрутизацию — метод перемещения пакетов данных от источника к месту назначения на основе формата логического адреса в IP. адресация.
  • Определение пути: компьютер может быть подключен к другому в сети несколькими способами. Устройства уровня 3 используют разные протоколы для определения наилучшего пути доставки данных от источника к месту назначения на основе этих различных подключений.

Уровень 2: Уровень канала передачи данных

Канальный уровень выполняет две основные функции:

  1. Разрешить верхним уровням модели OSI доступ к среде (в данном случае среда относится к кабелям Ethernet, оптоволокну или воздуху) через Фрейминг:

Канальный уровень получает пакеты данных от сетевого уровня, а затем добавляет к пакету физическую адресацию для формирования фрейма. Каждый компьютер имеет сетевую интерфейсную карту. (NIC)». В каждую карту встроен MAC-адрес — 12-значный буквенно-цифровой номер, который однозначно ее идентифицирует. Канальный уровень добавляет этот MAC-адрес к пакетам данных, чтобы определить, куда будет отправлен этот конкретный пакет.

2. Управляйте размещением и получением данных из мультимедиа:

Управление доступом к среде. Этот метод используется на уровне канала передачи данных — специальный протокол для определения того, как кадр попадает в носитель и выходит из него. Чем это полезно? Ну, как пример; когда несколько компьютеров, подключенных к одной и той же сети, отправляют данные одновременно, протокол управления доступом к среде исключает возможность конфликта между этими различными сообщениями/данными в сети. Доступны различные методы/протоколы управления доступом к среде. Посмотрите их здесь.

Уровень 1: физический уровень

Этот уровень связан с фактическим физическим соединением между устройствами.

Физический уровень получает данные от уровня канала передачи данных в виде битов — последовательности двоичных единиц и нулей. Затем он преобразует эти биты в сигналы в зависимости от типа носителя, используемого для подключения устройств в этой конкретной сети, то есть:

  • Электрические сигналы в случае медных кабелей/кабелей LAN
  • Световые сигналы в случае оптоволоконных кабелей
  • Радиосигналы в случае Air

Затем эти сигналы физически передаются через эти носители к нужному компьютеру на другом конце коммуникационного обмена.

Теперь помните, что каждый уровень представляет собой пакет протоколов? Это относится и к физическому уровню — например; одно устройство, связанное с физическим уровнем, представляет собой разъем RJ45. Теперь способ соединения проводов в разъеме RJ45, то есть цветовая маркировка, основан на стандарте — протоколе, которому должны следовать все компьютеры в сети, чтобы передача данных между ними работала. Помимо этого, существует несколько других протоколов, которые определяют, как сигналы на этом уровне передаются и принимаются между устройствами.

Получатель

У приемника:

  • Физический уровень получает сигналы от отправителя через носитель (кабели Ethernet и т. д.)
  • Преобразует эти сигналы в биты и передает их на канальный уровень в виде кадра.
  • Этот кадр подвергается дальнейшей декапсуляции по мере перемещения данных на верхние уровни.
  • Когда данные попадают на прикладной уровень, протоколы прикладного уровня делают сообщение отправителя видимым в приложениях на экране компьютера получателя.

Заключение

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