Осуществлять работы с сетевыми протоколами

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

Чем отличаются соединения в Интернете и в локальной сети? Как компьютеры обмениваются данными, и как можно это отследить?

Кратко

Скопировать ссылку «Кратко» Скопировано

Передача данных в компьютерных сетях происходит благодаря протоколам. Протокол — это набор правил, по которым работают все сетевые устройства. Сетевыми устройствами могут быть компьютеры, маршрутизаторы, концентраторы, сетевые шлюзы, файерволы, точки доступа и прочие. Данные от одного сетевого устройства к другому передаются пакетами, размер и состав которых определяется конкретным протоколом.

У сетевого устройства обязательно есть адрес. Сеть устроена так, что пакеты постоянно пытаются найти сетевое устройство с целевым адресом. На сетевом устройстве можно прописать правила о том, что нужно делать c пакетами, как их обрабатывать или куда отправлять дальше по сети. Эти правила определяются настройками сетевой службы. Сетевая служба — это специальное приложение, иногда включённое в состав операционной системы, которое позволяет другим приложениям пользоваться сетевыми сервисами. Сетевые сервисы — это набор функций устройств, которыми можно воспользоваться через сеть. Например, сервис печати или сервис обмена файлов с файловым хранилищем.

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

Передача файла по сети в виде пакетов

Как понять

Скопировать ссылку «Как понять» Скопировано

Чтобы работать с сетью, необходимо представлять себе, как работает сетевой протокол. Например, чтобы отобразить страницу в браузере, нужно задействовать протокол HTTP. Это протокол прикладного уровня (согласно модели OSI), который позволяет передавать данные между клиентом и сервером, как показано на рисунке:

Клиент-серверная архитектура на примере работы протокола HTTP

Протокол HTTP и модель OSI подробно описаны в статьях:

Разберём примерный сценарий работы протокола HTTP:

  1. Пользователь набирает адрес страницы (имя домена и внутренний путь на сайте) в адресной строке браузера и запускает загрузку страницы.
  2. Браузер обращается к сетевой службе на компьютере и формирует сетевой запрос. Запрос состоит из текстовой информации о целевой странице.
  3. Запрос разбивается на пакеты и отправляется путешествовать по сети Интернет. Адресом целевого сетевого устройства будет ближайший DNS-сервер (DNS — Domain Name System). DNS-сервер — это специальный сервер, который знает, на каких сетевых адресах расположен сайт.
  4. DNS-сервер меняет адрес целевого сетевого устройства на адрес сервера, на котором расположен запрашиваемый пользователем сайт, и отправляет пакеты дальше по сети.
  5. Запрос в виде пакетов доходит до сетевой службы сервера, собирается из пакетов и обращается к веб-серверу.
  6. Веб-сервер по запросу от пользователя формирует ответ — запрашиваемую HTML-страницу.
  7. HTML-страница и информация об адресе компьютера пользователя отдаются сетевой службе, которая разбивает всё на пакеты и отправляет в сеть.
  8. Сетевая служба пользователя принимает набор пакетов с HTML-страницей, объединяет их в один файл и отдаёт браузеру.
  9. Браузер отображает HTML-страницу. Ресурсы этой страницы (шрифты, картинки, видео, стили, JavaScript) догружаются по похожей схеме.
Читайте также:  Топология сети звезда в здании

Работа сетевых устройств

Скопировать ссылку «Работа сетевых устройств» Скопировано

У каждого сетевого устройства есть собственный сетевой адрес. В Интернете это IP-адрес (Internet Protocol — межсетевой протокол). Благодаря этому протоколу пакеты, которые отправляются по сети, находят наиболее короткий путь от источника к адресату.

Кроме IP-адреса используются ещё и порты. Порт — это число, которое обозначает номер соединения. Порт необходим для того, чтобы определить программу или драйвер устройства в сети, которые будут обрабатывать пришедший пакет или отсылать исходящий. Количество портов ограничено и находится в диапазоне от 1 до 65 535.

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

Протоколы с проверкой целостности данных используются для передачи веб-страниц или файлов. Они проверяют целостность данных, запрашивают утерянные пакеты или пакеты, в которых была найдена ошибка. Самые распространённые — TCP (Transmission Control Protocol — протокол управления передачей) и TLS (Transport Layer Security — протокол защиты транспортного уровня).

Протоколы без проверки целостности используются для передачи видео или аудио, потому что они позволяют передавать больше данных, но с потерями. Пример такого протокола — это UDP (User Datagram Protocol — протокол пользовательских датаграмм), который не обращает внимания на утерянные пакеты или пакеты с ошибками.

Пары TCP/IP, TLS/IP или UDP/IP обеспечивают передачу пакетов между сетевыми устройствами и обычно называются стеками протоколов передачи данных. В современных операционных системах служба для работы с пакетами, адресами и портами часто реализуется на уровне ядра. Правила же обработки пакетов можно настраивать.

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

Скопировать ссылку «Работа с данными на уровне приложений» Скопировано

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

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

Читайте также:  Глобальная компьютерная сеть включает

Подробнее о том, как защитить пользователей веб-приложений, читайте в статье «Безопасность веб-приложений и распространённые атаки».

Браузер — это одно из приложений на компьютере. Он использует один или несколько сетевых портов для отправки данных на сервер и их получения через протоколы HTTP/HTTPS, UDP и другие. Так же работает и почтовый клиент, только по другим протоколам — IMAP, POP3, SMTP. Мессенджеры тоже используют определённые протоколы для обмена сообщениями, и эти протоколы активно развиваются. Некогда популярные протоколы ICQ и IRQ сменились мессенджерами на основе протокола XMPP (прежнее название Jabber). Протоколы прикладного уровня лишь определяют формат передаваемых данных.

Сетевая служба и сетевые сервисы

Скопировать ссылку «Сетевая служба и сетевые сервисы» Скопировано

Сетевая служба организует передачу данных на уровне операционной системы. Она обеспечивает создание соединения (сокета) для сетевого сервиса и привязку его к определённому порту. После того как такое соединение создано, сетевая служба посылает все пакеты от сервиса или к сервису через указанный порт. Сетевые сервисы — это конкретные приложения, службы, демоны, которые работают в качестве поставщика данных: веб-серверы, серверы для обмена электронной почтой, серверы сообщений для мессенджеров, FTP-серверы, VPN-серверы, серверы для IP-телефонии и прочее.

Например, в браузере для передачи веб-страниц через протокол HTTPS по умолчанию используется порт 443, то есть https://example.com и https://example.com:443 эквивалентны. Поэтому браузер подставляет :443, даже не отображая это в интерфейсе. Порт даёт понять сетевой службе на сервере, какой сервис будет использоваться для обработки данных, которые приходят в виде пакетов.

Существуют стандарты от IANA (Internet Assigned Numbers Authority — «Администрация адресного пространства Интернет»), в которых описаны номера портов и соответствующие им сетевые сервисы. В стандартах также описаны диапазоны адресов, которые можно использовать для любых задач. Например, локальные веб-серверы запускают на порте 8080 или 8000.

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

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

Читайте также:  Бизнес с компьютерными сетями

В этой статье рассматриваются не все инструменты для работы с сетевым окружением. Существуют утилиты для анализа трафика, мониторинга состояния сетевых интерфейсов. Для быстродействия веб-приложения важен детальный анализ не только структуры сети, но и пакетов, которые передаются по сети. Инструменты для проведения такого анализа рассмотрены в статье «Протоколы TCP/UDP».

На практике

Скопировать ссылку «На практике» Скопировано

Источник

Работа с сетевыми протоколами

фото

Чтобы сервер мог выходить в сеть, вы должны установить протокол TCP/IP и сетевой адаптер. В качестве протокола глобальной сети (WAN) в Windows Server 2008 по умолчанию используется TCP/IP. Обычно сеть настраивается во время установки ОС. Вы также вольны настроить сеть TCP/IP при помощи окна свойств подключения по локальной сети.
Протоколы TCP и IP позволяют компьютерам обмениваться данными через различные сети и Интернет, используя сетевые адаптеры. В Windows Server 2008, как и в Windows Vista, используется двойная ІР-архитектура с поддержкой IPv4 и IPv6 с общими транспортным и кадровым уровнями. В IPv4 — основе большинства современных сетей — используются 32-разрядные адреса. В IPv6 — сетевом протоколе следующего поколения — используются 128-разрядные адреса.

32-разрядные адреса IPv4 обычно записываются в виде четырех десятичных чисел, разделенных точками, например, 127.0.0.1 или 192.168.10.52. Эти числа называют октетами, поскольку каждое из них представляет 8 битов 32-разрядного числа.

Стандартный одноадресный IPv4-адрес разделяется на идентификатор сети и идентификатор хоста, причем разделение адреса на идентификаторы в каждой сети может быть своим. IРv4-адрес хоста и аппаратный (МАС) адрес адаптера никак не связаны между собой.

128-разрядные IPv6-адресса делятся на восемь 16-разрядных блоков, разделяемых двоеточиями. Каждый блок записывается в шестнадцатиричном формате, например, FEC0:0:0:02BG:FF:BEGB:FE4F:961D. В стандартном одноадресном IРv6-адресе первые 64 бита представляют собой идентификатор сети, вторые 64 бита — сетевой интерфейс. Многие блоки IPv6-адресов заполнены пулями, и для них предусмотрена специальная нотация: непрерывный набор нулей можно заменить двумя двоеточиями («::»). В приведенном выше примере можно «сжать» два нулевых блока — FEC0::02BC:FF:BECB:FE4F:961D. Таким же образом можно сократить и большее количество нулевых блоков. Например, адрес FFE8:0:0:0:0:0:0:1 записывается как FFE8::1.

Если во время установки операционной системы обнаружено сетевое оборудование, по умолчанию включаются как IPv4, так и IPv6, т.е. устанавливать отдельный компонент для поддержки IPv6 не нужно. Модернизированная ІР-архитектура Windows Vista и Windows Server 2008 называется стеком TCP/IP нового поколения (Next Generation TCP/IP stack). В ней усовершенствованы многие аспекты использования IPv4 и IPv6.

Источник

Оцените статью
Adblock
detector