Сетевые интерфейсы и протоколы

TTY

Интерфейс TTY с токовой петлей впервые был применен в телеграфии. В настоящее время его все еще можно встретить в программируемых логических контроллерах (ПЛК) и принтерах. Как для передачи, так и для приема данных необходимо по одной паре линий, при этом линии должны быть попарно скручены. Передача данных осуществляется в дуплексном режиме с программным квитированием. Линии передачи управляющих сигналов не предусмотрены. Значение тока 20 мА в петле соответствует состоянию логическая «I». Если цепь тока разорвана, это воспринимается как состояние логический «0». В каждой петле требуется формирующий ток источник, который может быть подключен либо на передающей, либо на принимающей стороне. Сторона, формирующая ток, считается «активной», «пассивная» же находится всегда напротив активной. Различают три конфигурации интерфейса:

  1. Полностью активные интерфейсы TTY с источниками тока как ветви передатчика, так и в ветви приемника.
  2. Пассивные интерфейсы TTY без соответствующих источников стабилизированного тока.
  3. Полуактивные интерфейсы TTY с источником тока только на стороне передачи (TD).

Приемник (RD) является пассивным. Каждая токовая петля может работать лишь с одним источником тока. Разрешены только комбинации «полностью активный/пассивный» и «полуактивный/полуактивный». Такая передача данных может быть реализована на расстояния до 1000 м. Максимальная скорость передачи составляет 19200 бит/с.

Линия связи

Для начала проанализируем особенности отдельной линии связи,
без приемника и передатчика.

Амплитудно-частотная характеристика (АЧХ)

Общий вид.

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

Это позволяет описать линии связи амплитудно-частотной
характеристикой (АЧХ). На этой характеристике по оси абсцисс (f)
откладываются значения частот, а по оси ординат (A) затухание
сигнала на это частоте. Другими словами, она показывает, насколько уменьшится
сигнал на выходе по сравнению с сигналом на входе при подаче на линию связи
сигнала соответствующей частоты.

Преимущества и применение UDP

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

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

Область применения UDP — это системы, которые работают в режиме запрос-ответ и обмениваются между собой короткими сообщениями. 

Применение UDP: DNS

В качестве применения UDP рассмотрим систему доменных имен DNS. DNS позволяют определить по доменному имени соответствующий ему IP-адрес. Например к доменному имени www.cisco.com соответствует вот такой IP адрес 184.86.0.170. Система DNS использует протокол UDP, порт 53. 

Рассмотрим пример сетевого взаимодействия в DNS. В системе DNS есть сервер, который знает какие IP-адреса соответствуют доменным именам и клиент, который хочет получить такую информацию. Клиент DNS направляет запрос серверу, какой IP у доменного имени www.cisco.com? Сервер DNS получает такой запрос, находит соответствующий IP-адрес и отправляет ответ (184.86.0.170) взаимодействие происходит с использованием протокола UDP и для получения IP-адреса достаточно всего две дейтаграммы. 

Если бы для запроса IP-адреса использовался протокол TCP, то необходимо было бы передать гораздо больше сообщений. Перед тем как запрашивать IP-адрес необходимо было бы установить соединение TCP. Для этого нужно 3 сообщения, затем запросить IP-адрес, получить ответ (еще 2 сообщения) и после того, как ответ получен нужно разорвать соединение, для этого нужно 3 или 4 сообщения.  

Как это выглядит у нас внутри?

  • Пользователи по одному из протоколов загружают оригинал видео на наши upload-сервера.
  • Там мы разворачиваем протокол.
  • По RTMP отправляем на один из серверов трансформации видео.
  • Оригинал всегда сохраняем в распределенное хранилище, чтобы ничего не пропало.
  • После этого все видео поступают на сервер раздачи.
  • Upload-сервера распределены по разным дата-центрам, стоят за разными IP.
  • Пользователи приходят, по DNS получают IP.
  • Upload-сервер отправляет видео на серверы нарезки, те нарезают и отдают серверам раздачи.
  • Под более популярные трансляции мы начинаем добавлять большее количество серверов раздачи.
  • Все, что пришло от пользователя, сохраняем в хранилище, чтобы потом создать архив трансляций и ничего не потерять.
  • Хранилище отказоустойчивое, распределенное по трем дата-центрам.

ZooKeeperЧто при этом произойдет?

  • Пользователь на DNS возьмет следующий IP другого upload-сервера.
  • К этому времени ZooKeeper поймет, что сервер в том дата-центре умер, и выберет для другой сервер нарезки.
  • Download-серверы узнают, кто теперь отвечает за трансформацию этого стрима и будут это раздавать.

Транспортный уровень

Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм
Пользователя (User Datagram Protocol — UDP). ТСР обеспечивает
транспортировку данных с установлением соединения, в то время как
UDP работает без установления соединения.

Transmission Control Protocol (TCP) обеспечивает полностью
дублированные, с подтверждением и управлением потоком данных,
услуги для протоколов высших уровней. Он перемещает данные в
непрерывном неструктурированном потоке, в котором байты
идентифицируются по номерам последовательностей. ТСР может также
поддерживать многочисленные одновременные диалоги высших уровней.
Формат пакета ТСР представлен на Рис. 18-8.

Поле «порт источника» (source port) обозначает точку, в которой
конкретный процесс высшего уровня источника принимает услуги ТСР;
поле «порт пункта назначения» (destination port) обозначает порт
процесса высшего уровня пункта назначения для услуг ТСР.

Поле «номер последовательности» (sequence number) обычно обозначает
номер, присвоенный первому байту данных в текущем сообщении. В
некоторых случаях оно может также использоваться для обозначения
номера исходной последовательности, который должен использоваться в
предстоящей передаче.

Поле «номер подтверждения» (acknowledgement number) содержит номер
последовательности следующего байта данных, которую отправитель пакета
ожидает для приема.

Поле «сдвиг данных» (data offset) обозначает число 32-битовых слов
в заголовке ТСР.

Поле «резерв» (reserved) зарезервировано для использования
разработчиками протокола в будущем.

Поле «флаги» (flags) содержит различную управляющую информацию.

Поле «окно» (window) обозначает размер окна приема отправителя
(буферный об’ем, доступный для поступающих данных).

Поле «контрольная сумма» (checksum) указывает, был ли заголовок
поврежден при транзите.

Поле «указатель срочности» (urgent pointer) указывает на первый
байт срочных данных в пакете.

Поле «опции» (options) обозначает различные факультативные возможности
ТСР.

Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда
мощные механизмы обеспечения надежности протокола ТСР не обязательны.
Заголовок UDP имеет всего четыре поля: поле порта источника (source
port
), поле порта пункта назначения (destination port),
поле длины
(length) и поле контрольной суммы UDP (checksum UDP).
Поля порта
источника и порта назначения выполняют те же функции, что и в заголовке
ТСР. Поле длины обозначает длину заголовка UDP и данных; поле
контрольной суммы обеспечивает проверку целостности пакета.
Контрольная сумма UDP является факультативной возможностью.

Протоколы передачи видео

  1. потоковые протоколы;
  2. cегментные протоколы.

Потоковые протоколыRTMP, webRTC, RTSP/RTPсегментных протоколов

Потоковые протоколы

он использует TCPгарантирует доставку и последовательность пакетовизъять их оттуда нельзяTCP крайне не подходит для стриминга

  • 1,1 Мбит/с трафика;
  • 0,1% packet loss;
  • 300 мс средний RTT.

среднедневной процент потери пакетов более 3%на TCP делать не будемПротокол WebRTCпренебрегает потерямиRTP-стримингНо это очень сложно

Сегментные протоколы

MPEG-DashHLS188 байт26 млн пакетоввсегда появляется задержкарешение использовать фрагментный стриминг для трансляции не очень хорошее

  • latency, который они дают между трансляцией и смотрящим;
  • complexity (сложность).

Что мы хотим?

Какие есть еще варианты?

  1. Многопоточность, то есть мы имеем несколько потоков — управляющий, видео, аудио.
  2. Опциональная гарантия доставки — управляющий поток имеет 100% гарантию, видео нам нужно меньше всего — мы там можем дропать фрейм, аудио нам все-таки бы хотелось.
  3. Приоритезация потоков — чтобы аудио уходило вперед, а управляющий вообще летел.
  4. Опциональное шифрование: или все данные, или только заголовки и критичные данные.

чем меньше время ожидания, тем хуже качество

Пример переноса данных в IP-сети

На примере IP-сети (рис. 2) покажем перенос данных оконечной станции А локальной вычислительной сети (подсети) Ethernet в оконечную станцию В сети (подсети) АТМ. Как видно из рисунка в эту составную сеть еще входит сеть (подсеть) Frame Relay. В основу приведенного упрощенного описания положен пример межсетевого взаимодействия сетей Ethernet и АТМ, приведенный в работе. Дополнительно в эту составную сеть введена сеть (подсеть) Frame Relay. Принцип маршрутизации и краткое описание протоколов маршрутизации в сети Интернет приведены в следующей главе. Для того, чтобы технология TCP/IP могла решать задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных подсетях. Таким адресом является IP-адрес, состоящий из адреса подсети (префикса) и адреса оконечного устройства (хоста). Приведем пример адресации подсети и хоста. IP-адрес 200.15.45.126/25 означает, что 25 старших бит из выделенных 4-х байт под адресацию являются адресом подсети, а оставшиеся 7 бит означают адрес хоста в этой сети.

Как видно из предыдущих глав, глобальные сети Frame Relay и АТМ имеют различные системы нумерации, которые отличаются от системы нумерации локальной вычислительной сети (ЛВС) технологии Ethernet. Каждый компьютер Ethernet имеет уникальный физический адрес, состоящий из 48 бит. Этот адрес называется МАС-адресом и относится к канальному уровню — управлению доступом к среде MAC (Media Access Control). Для организации межсетевого взаимодействия подсетей различной технологии и адресации используются маршрутизаторы, включающие IP-пакеты. В состав этих пакетов входят глобальные IP-адреса.
Каждый интерфейс маршрутизатора IP-сети и оконечного устройства включает два адреса – локальный адрес оконечного устройства подсети и IP-адрес.


Рис. 2. Пример взаимодействия двух устройств

Рассмотрим продвижение IP-пакета в сети (рис. 2).

  1. Пользователь компьютера А сети Ethernet, имеющий IP-адрес (IP-адрес 1), обращается по протоколу передачи файла FTP к компьютеру В, подключенному к сети АТМ и имеющий IP-адрес (IP-адрес 6).
  2. Компьютер А формирует кадр Ethernet для отправки IP-пакета. По таблице маршрутизации в компьютере А на основании IP-адресов А и В определятся маршрутизатор М1 и входящий интерфейс для передачи этого IP-пакета. При этом становится известен IP-адрес интерфейса маршрутизатора М1(IP-адрес 2).
  3. Компьютер А отправляет по сети Ethernet IP-пакет, инкапсулированный в кадр Ethernet и включающий следующие поля (рис. 3).

    Рис. 3. Кадр Ethernet с инкапсулированным в него IP пакетом
    МАС-адрес в заголовке кадра Ethernet занимает 6 байт. С помощью протокола разрешения адресов ARP (Address Resolution Protocol) определяются локальные адреса МАС-адрес 1 и МАС-адрес 2 по известным IP-адресам (IP-адрес 1 и IP-адрес 2).

  4. Кадр принимается на входном интерфейсе маршрутизатора М1 в соответствии с протоколом Ethernet. Протокол Ethernet извлекает из принятого кадра IP-пакет, инкапсулированный в него. Из этого IP-пакета маршрутизатор М1 извлекает IP-адрес назначения (IP-адрес 6).
  5. С помощью таблицы маршрутизации в М1 определяются IP-адреса выходного интерфейса из М1 и входного интерфейса маршрутизатора М2, т.е. IP-адрес 3 и IP-адрес 4.
  6. По глобальным адресам IP-адрес 3 и IP-адрес 4 определяются соответственно локальные адреса подсети Frame Relay FR-адрес 1 и FR-адрес 2.
  7. IP-пакет передается по виртуальному каналу сети Frame Relay, используя при этом локальные адреса FR-адрес 1 и FR-адрес 2. Этот IP-пакет инкапсулирован в кадр FR.
  8. Кадр FR принимается на входном интерфейсе маршрутизатора М2 в соответствии с протоколом сети Frame Relay. Извлекается принятый IP-пакет, сбросив заголовок принятого кадра FR. Извлекается IP-адрес назначения (IP-адрес 6).
  9. С помощью таблицы маршрутизации в М2 определяется IP-адреса выходного интерфейса (IP-адрес 5) маршрутизатора М2 и IP-адрес назначения (IP-адрес 6). При этом глобальным адресам определяются соответствующие им локальные адреса АТМ-адрес 1 и АТМ-адрес 2. IP-пакет передается по виртуальному каналу сети АТМ, используя эти локальные адреса.
  10. В результате IP-пакет из компьютера А поступает в компьютер В.

Будущее стандартизации сетевого мира

Несмотря на обновление в 1994 году, семиуровневая модель взаимодействия открытых систем OSI явно проиграла войну против TCP/IP. Только некоторые крупные доминирующие производители сохраняют модель, но многие специалисты считают, что она будет исчезать все быстрее, поскольку Интернет взрывает TCP/IP. И, тем не менее, модель OSI останется в использовании, поскольку это одно из первых крупных усилий по стандартизации сетевого мира.

OSI также будет существовать по другой причине: даже если TCP/IP используется на практике, то OSI применяют в качестве текущей модели эталонной сети. Фактически, TCP/IP и OSI имеют очень похожие структуры, и в основном это стандартизация OSI, которая обусловила путаницу между двумя моделями. TCP/IP обычно рассматривается как фактическая реализация OS.

Если пользователь осваивает новую специальность, чтобы стать сетевым инженером, или просто заинтересован в концепциях высокого уровня, модель OSI — отличная модель для изучения. Независимо от того, в какой субобласти ИТ он планирует работать, система поможет решить ему даже самые сложные задачи.

Библиографическая справка

В середине 1970 гг. Агентство по Внедрению Научно-исследовательских
Проектов Передовой технологии при Министерстве обороны (DARPA)
заинтересовалось организацией сети с коммутацией пакетов для
обеспечения связи между научно-исследовательскими институтами в США.
DARPA и другие правительственные организации понимали, какие
потенциальные возможности скрыты в технологии сети с коммутацией
пакетов; они только что начали сталкиваться с проблемой, с которой
сейчас приходится иметь дело практически всем компаниям, а именно с
проблемой связи между различными компьютерными системами.

Поставив задачу добиться связности гетерогенных систем, DARPA
финансировала исследования, проводимые Стэнфордским университетом и
компаниями Bolt, Beranek и Newman (BBN) с целью создания ряда
протоколов связи. Результатом этих работ по разработке, завершенных
в конце 1970 гг., был комплект протоколов Internet, из которых наиболее
известными являются Transmission Control Protocol (TCP) и
Internet Protocol (IP).

Протоколы Internet можно использовать для передачи сообщений через
любой набор об’единенных между собой сетей. Они в равной мере пригодны
для связи как в локальных, так и в глобальных сетях. Комплект
протоколов Internet включает в себя не только спецификации низших
уровней (такие, как ТСР и IP), но также спецификации для таких общих
применений, как почта, эмуляция терминалов и передача файлов. На
Рис. 18-1 представлены некоторые из наиболее важных протоколов
Internet и их связь с эталонной моделью OSI.

Процесс разработки и выдачи документации протоколов Internet скорее
напоминает академический исследовательский проект, чем что-либо другое.
Протоколы определяются в документах, называемых Requests for Comments
(RFC) (Запросы для Комментария). RFC публикуются, а затем рецензируются
и анализируются специалистами по Internet. Уточнения к протоколам
публикуются в новых RFC. Взятые вместе, RFC обеспечивают красочную
историю людей, компаний и направлений, которые формировали разработку
компекта протоколов для открытой системы, который сегодня является
самым популярным в мире.

Кодирование/декодирование видео

  • I-frame — это просто jpg. По сути, это опорный кадр, он ни от кого не зависит и содержит четкую картинку.
  • P-frame зависит исключительно от предыдущих кадров.
  • Хитрые B-frame могут зависеть от будущего. Это означает, что чтобы посчитать b-frame, нужно, чтобы с камеры пришли еще и будущие кадры. Только тогда с некоторой задержкой можно декодировать b-frame.

B-кадры вредны

  1. Если вы стримите с мобильного устройства, можно попробовать включить профайл baseline. Он отключит B-frame.
  2. Можно попробовать настроить кодек и уменьшить задержку на будущие кадры, чтобы кадры приходили быстрее.
  3. Еще одна важная штука в тюнинге кодека — это включение CBR (константного битрейта).

Надо включать CBRzerolatency

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

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