Сетевой протокол и видеонаблюдение

Слои протоколов

Передача цифровых данных модемом реализована в 1940 году. Сети появились 25 лет спустя.

Усложняющиеся системы связи потребовали введения новых методик описания процесса взаимодействия компьютерных систем. Концептуальная модель OSI вводит понятие протокольных (абстрактных, реально не существующих) слоев. Структура создана усилиями инженеров Международной организации по стандартизации (ISO), регламентирована стандартом ISO/IEC 7498-1. Параллельную работу вел французский комитет CCITT. В 1983 году разработанные документы объединили, получив модель протокольных слоев.

Концепция 7-слойной структуры представлена работами Чарльза Бэчмана. Модель OSI включает опыт разработки АRPANET, EIN, NPLNet, CYCLADES. Линейка полученных слоев взаимодействует по вертикали с соседями: верхний использует возможности нижнего.

В компьютерных линиях совокупность протоколов подразделяют на слои. Бывают:

  1. Физический (биты): USB, RS-232, 8P8C.
  2. Канальный (кадры): PPP (включая PPPoE, PPPoA), IEEE 802.22, Ethernet, DSL, ARP, LP2P. Устаревшие: Token Ring, FDDI, ARCNET.
  3. Сетевой (паеты): IP, AppleTalk.
  4. Транспортный (датаграммы, сегменты): TCP, UDP, PORTS, SCTP.
  5. Сеансовый: RPC, PAP.
  6. Представительский: ASCII, JPEG, EBCDIC.
  7. Прикладной: HTTP, FTP, DHCP, SNMP, RDP, SMTP.

Физический слой

Зачем разработчикам сто стандартов? Многие документы появились эволюционно, согласно возрастающим требованиям. Физический слой реализуют набором коннекторов, проводов, интерфейсов. Например, экранированная витая пара способна передавать высокие частоты, делая возможным реализацию протоколов битрейтом 100 Мбис/с. Оптоволокно пропускает свет, производится дальнейшее расширение спектра, возникают гигабитные сети.

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

Канальный слой

Каждый порт управляется собственными машинными командами. Канальный слой показывает, как реализовать передачу форматированной информации, используя имеющееся железо. Например, PPPoЕ содержит рекомендации организации протокола PPP средствами сетей Ethernet, используемый традиционно порт – 8P8C. Эволюционной борьбой «эфирная сеть» смогла подавить соперников. Изобретатель концепции, основатель компании 3СОМ, Роберт Меткалф, сумел убедить несколько крупных производителей (Интел, DEC, Ксерокс) объединить усилия.

Попутно совершенствовались каналы: коаксиальный кабель → витая пара → оптическое волокно. Изменения преследовали цели:

  • удешевления;
  • повышения надежности;
  • внедрения дуплексного режима;
  • повышения помехоустойчивости;
  • гальванической развязки;
  • питания устройств посредством сетевого кабеля.

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

Сетевой

Общепринятый IP-протокол определяет структуру пакета, вводит специфический адрес из четырех групп цифр, известных сегодня каждому. Некоторые маски зарезервированы. Владельцам ресурсов присваиваются имена соответственно базам серверов DNS. Конфигурация сети во многом безразлична. Вводятся слабые ограничения. Как например, Ethernet требовал уникальности MAC-адреса. Протокол IP урезает максимальное число ПК 4,3 млрд штук. Человечеству пока что хватает.

Сетевой адрес принято делить на домены. По техническим причинам единое соответствие четырем группам цифр отсутствует. Сам интернет обозначает аббревиатура www (сокращенное название world wide web, иначе – всемирная паутина). Сегодня единообразный адрес (URL) опускает тривиальные буквы. Подразумевая – человек, открывший браузер, явно намеревается бороздить с компьютера всемирную паутину.

Транспортный

Слой далее расширяет структуру формата. Формирование сегмента TCP производит объединение пакетов, упрощая поиск потерявшейся информации, гарантируя восстановление.

Прикладной, представительский

Иерархия выше транспортного уровня может нарушаться. Например, RPC иногда опирается на HTTP. Концепция Р2P касается пиринговых одноранговых сетей. В противовес этому HTTP вводит иерархию клиент-сервер. Представительский слой раскрывает способы кодирования информации, оцифровку, сжатие, шифрование.

Протоколы уровня 5 Session layer (Сеансовый уровень)

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

  • 9P — протокол распределённой файловой системы, разработанный как часть Plan 9
  • NCP NetWare Core Protocol
  • NFS — Network File System сетевая файловая система
  • SMB Server Message Block
  • SOCKS «SOCKet Secure»

Термины

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

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

Каналы (способы)

Информация, распространяясь, преодолевает среду:

  • Медный кабель: RS-232 (1969), FireWire (1995), USB (1996).
  • Оптическое волокно.
  • Эфир (беспроводная передача).
  • Шины компьютера.

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

Долгое время разные частоты считали явлениями несвязными: свет, тепло, электричество, магнетизм

Важно понять: набор сред рожден эволюцией техники. Наверняка откроют иные методы передачи данных

Реализации сред различны, набор стандартов определен спецификой. Локальные соединения часто пользуются технологией WiFi, опирающейся на протокол канального уровня IEEE 802.11. Сотовые операторы применяют совершенно иные – GPS, LTE. Причем мобильные сети активно начинают внедрять IP, замыкая круг, унифицируя стиль использования цифрового оборудования.

Зачем много протоколов? Особенности реализации передачи данных через WiFi бессильны покрыть значительные расстояния. Лимитированы мощности передатчиков, структуры пакетов иные. Bluetooth вовсе ограничивает основные возможности передачей пары файлов с компьютера на телефон.

Форматирование

Физики быстро убедились: напрямую информация передается средой плохо. Медный провод может нести речь, однако эфир быстро убивает низкочастотные колебания. Попов первым догадался модулировать несущую полезной информацией – азбукой Морзе. Смысл включает изменение амплитуды радиоволны согласно закону сообщения так, чтобы принимающий абонент мог послание извлечь, воспроизвести.

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

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

Основу сетей заложил американский ARPANET. С ПК на ПК стали передавать пакеты. Тогда в сети начали применяться первые цифровые протоколы. Сегодня IP захватывает сегмент мобильной связи. Телефоны получают собственные адреса.

Учимся записывать и считывать данные

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

TCP vs self-made UDP

  • С перегрузками, когда пакетов очень много и некоторые из них дропаются из-за перегрузки каналов или оборудования.
  • Высокоскоростные с большими round-trip (например когда сервер располагается относительно далеко).
  • Странные — когда в сети вроде бы ничего не происходит, но пакеты все равно пропадают просто потому-что Wi-Fi точка доступа находится за стенкой.
  • Профиль Видео, когда вы подключаетесь и стримите тот или иной контент. Скорость соединения увеличивается, как на верхнем графике. Требования к этому протоколу: низкие задержки и адаптация битрейта.
  • Вариант просмотра Ленты: импульсная загрузка данных, фоновые запросы, промежутки простоя. Требования к этому протоколу: получаемые данные мультиплексируются и приоритизируются, приоритет пользовательского контента выше фоновых процессов, есть отмена загрузки.

Отличия HTTP 2.0

  • бинарный, сжатие заголовков;
  • мультиплексирование данных;
  • приоритизация;
  • возможна отмена загрузки;
  • server push

Высокоприоритетный контент загружается раньше.Server pushReset stream

  • Профилях сети: Wi-Fi, 3G, LTE.
  • Профилях потребления: cтриминг (видео), мультиплексирование и приоритизация с отменой загрузки (HTTP/2) для получения контента ленты. 

Размер буфера

  • пакеты 1 и 2 уже отправлены, для них получено подтверждение;
  • пакеты 3, 4, 5, 6 отправлены, но результат доставки неизвестен (on-the-fly packets);
  • остальные пакеты находятся в очереди.

Вывод:

Congestion control

  • Flow control — это некий механизм защиты от перегрузки. Получатель говорит, на какое количество данных у него реально есть место в буфере, чтобы он был готов их принять. Если передать сверх flow control или recv window, то эти пакеты просто будут выкинуты. Задача flow control — это back pressure от нагрузки, то есть просто кто-то не успевает вычитывать данные.
  • У congestion control совершенно другая задача. Механизмы схожие, но задача — спасти сеть от перегрузки.
  • Если TCP window = 1, то данные передаются как на схеме слева: дожидаемся acknowledgement, отправляем следующий пакет и т.д. 
  • Если TCP window = 4, то отправляем сразу пачку из четырех пакетов, дожидаемся acknowledgement и дальше работаем.
  • На верхней схеме сеть, в которой все хорошо. Пакеты отправляются с заданной частотой, с такой же частотой возвращаются подтверждения. 
  • Во второй строке начинается перегруз сети: пакеты идут чаще, acknowledgements приходят с задержкой. 
  • Данные копятся в буферах на маршрутизаторах и других устройствах и в какой-то момент начинают пропускать пакеты, acknowledgements на эти пакеты не приходят (нижняя схема).
  • Cubic — дефолтный Congestion Control с Linux 2.6. Именно он используется чаще всего и работает примитивно: потерял пакет — схлопнул окно.
  • BBR — более сложный Congestion Control, который придумали в Google в 2016 году. Учитывает размер буфера.

BBR Congestion Control

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

jitterHighLoad++

Какой Congestion control выбрать

Выводы про congestion control:

  • Для видео всегда хорош BBR. 
  • В остальных случаях, если мы используем свой UDP-протокол, можно взять congestion control с собой.
  • С точки зрения TCP можно использовать только congestion control, который есть в ядре. Если хотите реализовать свой congestion control в ядро, нужно обязательно соответствовать спецификации TCP. Невозможно раздуть acknowledgement, сделать изменения, потому что просто их нет на клиенте.

Уровни протоколов

Здесь представлен неполный список сетевых протоколов, отсортированных по ближайшим им уровням модели Open Systems Interconnection (OSI). Однако, многие из данных протоколов изначально основаны на стеке протоколов TCP/IP и прочих моделях, поэтому они не могут быть однозначно соотнесены с уровнями модели OSI.

Наиболее распространённой системой классификации сетевых протоколов является так называемая модель OSI. В соответствии с ней протоколы делятся на 7 уровней по своему назначению — от физического (формирование и распознавание электрических или других сигналов) до прикладного (API для передачи информации приложениями):

Система адресации

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

Однако большую известность имеет DNS (Domain Name System — система доменных имен). Ее задача — обеспечить уникальность каждого адреса в Сети, без необходимости запоминания чисел. Именно сервер DNS производит преобразование символьных (буквенных) адресов в числовые. Система образования доменных имен также логична и проста.

Адрес любого web-сервера начинается с аббревиатуры http, обозначающей вид протокола передаваемых данных — в данном случае это HyperText Transmission Protocol (Протокол передачи гипертекста). Далее следует двоеточие, две косые черты и латинские буквы www, после которых ставится точка. Затем идет конкретный адрес, содержащий название учреждения, персоны или аббревиатуру и, через точку, — указание на организационную или географическую принадлежность объекта.

Организационная принадлежность, указываемая преимущественно для американских серверов, обозначается тремя символами, интуитивно понятными знающим английский язык: gov — правительственные, edu — образовательные, com — коммерческие, org — неправительственные и некоммерческие учреждения, mil — военные, net — сами сети. Географическая принадлежность выражается, как правило, двумя символами: .ru — Россия, .uk — Великобритания, .ca — Канада, .nl — Нидерланды и т. д.

В течение всех 90-х годов описанная система имен оставалась неизменной. Но к началу нынешнего века гигантские темпы развития Интернет привели к тому, что адресное пространство в рамках описанной системы было практически исчерпано. Особо “тесно” стало в доменах .com, .net и .org в которых была разрешена регистрация не только американских, но любых других фирменных или персональных сайтов представителей любой страны мира.

С целью разгрузить данные домены Корпорация по распределению в Интернет доменных имен и IP-номеров (Internet Corporation for Assigned Names and Numbers. ICANN) дополнила существующую сетку новыми доменами первого уровня. В их число вошли: .biz, .info, .pro, .aero, .coop, .museum, .name.

Распределение этих имен было произведено следующим образом: .biz — коммерческие компании и проекты; .info — учреждения, для которых информационная деятельность является ведущей (библиотеки, средства массовой информации); .pro — сайты сертифицированных профессионалов таких областей деятельности как врачи, юристы, бухгалтеры, а также представители других профессий, в которых персональный аспект имеет ключевое значение (pro от слов profession, professional); .aero — компании и персоны, непосредственно связанные с авиацией; .coop — корпорации, использующие совместный капитал (от слова cooperative); .museum — только музеи, архивы, выставки; .name — персональные сайты, состоящие, как правило, из двух частей: имени и фамилии: www.bruce.edmonds.name.

Помимо деятельности ICANN, весьма своеобразную работу по расширению адресного пространства Интернет провели некоторые частные компании. Их действия выразились в перекупке доменных имен у малых стран. Таким образом, в частное использование отошли домены .cc — Кокосовые острова, .tv — Тувалу, .ws — Самоа, .bz — Белиз, .nu — Ниуи. Сайты в этих доменах ныне могут использоваться любым желающим, независимо от страны или вида деятельности.

Бывают статические и динамические адреса. Статические присвоены компьютеру постоянно, а динамические выдаются специальным сервером лишь на время работы компьютера в сети.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector