Найти в Дзене
Илья Фисханов

Работа с сетью

Оглавление

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

Что такое сеть?
Это совокупность устройств и систем, которые подключены друг к другу и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем.

Протоколы

Протокол — файл с записями в хронологическом порядке о каких-либо событиях: файл регистрации, журнал событий. Протоколы делятся на два вида — физические и логические.

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

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

Каждая сеть должна следовать определенным правилам - протоколам при передаче данных от одного компьютера к другому

В сети сам поток информации представляется пакетами определенного размера. В частности каждый такой пакет содержит информацию: о своем размере, о том, где начало информации и какое место направления (т.е. кому в сети этот пакет предназначен). Устройства сети, которые получают такой пакет, смотрят по этим данным, куда его направить.

Существует множество протоколов и мы их рассмотрим ниже. Самые популярные из них - это TCP, UDP, IP и ICMP, также есть протоколы сети интернет более высокого уровня, например, HTTP и FTP.

Сетевые модели

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

Модель (в этом случае) — это сборник протоколов и других вещей, которые вместе помогают решать более сложные задачи, чем-то, на что способен один конкретный протокол.

Сокет

Сетевой сокет - это программная структура внутри сетевого узла компьютерной сети, которая служит конечной точкой для отправки и приема данных по сети. Структура и свойства сокета определяются интерфейсом прикладного программирования (API) для сетевой архитектуры.

Иными словами «сокет» - это «розетка» конкретного процесса, в которую нам надо подключиться, чтобы этому процессу передать какую-либо информацию. Будит ли работать эта, «розетка» в сети описывается двумя параметрами – IP-адресом и Портом подключения.

Работа с данными на уровне приложений

В адресной строке браузера вы наверняка видели буквы http или https. Это протоколы прикладного уровня, которые описывают уже не пакеты и адреса сетевых устройств, а правила формирования набора данных для передачи того или иного формата. Часто http ассоциируется с небезопасным сайтом, многие браузеры сообщают нам об этом.

Применение HTTPS внесло ряд новых правил обработки данных, которые отныне не должны передаваться в открытом виде, а должны шифроваться. В протоколе HTTP используется TCP в качестве транспортного протокола, который совсем никак не защищает данные. Если подключиться к одному из сетевых устройств, через которое проходят пакеты, то можно прочитать их содержимое. Протокол HTTPS использует другой протокол транспортного уровня — TLS, который подразумевает шифрование пакетов. Данные пользователя передаются в зашифрованном виде.

Вывод

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