Собствен протокол. Собствен софтуер. Сравнение на технологии и протоколи за защитен достъп

Основната разлика между преносимите аудио плейъри от "интернет поколението" и техните предшественици е тясната им интеграция с персонален компютър.

В миналото преносимите плейъри възпроизвеждаха музика от обикновени преносими носители и не трябваше да се свързват към нищо друго освен към слушалки

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

Съдържанието трябва да бъде прехвърлено от компютъра, където обикновено се съхранява на 3,5" твърд диск, към преносими медийни плейъри: флаш памет, 1" и 1,8" твърди дискове.

Следователно трябва да се използва някакъв вид компютърен интерфейс за данни.

Във всеки такъв интерфейс могат да бъдат разграничени две нива. Първият е физически, т.е. директно проводници, конектори, микросхеми и др. Вторият е софтуерът, който е, относително казано, набор от инструкции и алгоритми, според които се обменят данни на физическо ниво. Този софтуерен слой често се нарича протокол. Днес ще говорим основно за него. За потребителя това е „лицето“ на интерфейса, неговите възможности и недостатъци определят удобството или трудността при работа с устройството като цяло.

За пълното функциониране на протокола са необходими два софтуерни компонента. Първо, това е драйвер, който директно свързва преносимо устройство и компютър на ниво софтуер. Второ, това софтуер, което позволява на потребителя да управлява протокола и да го използва за своите нужди. Софтуерът, строго погледнато, не е пряка част от протокола. Но без неговото присъствие самото съществуване на протокола се обезсмисля. Ето защо в тази статия ще разгледаме софтуера като неразделна част от разглежданите протоколи.

Всеки софтуерен протокол използва драйвери и софтуер, въпреки че изпълнението на тези компоненти във всеки конкретен случай може да варира значително. Успехът на протокола може грубо да се изчисли по формулата: възможности минус неудобства. Възможностите се отнасят до набора от налични функции. Недостатъците обикновено включват непрозрачност за използване, неудобна инсталация, трудности при научаване и ограничена съвместимост.

По стандартите на цифровите преносими технологии MP3 плейърите вече са доста стар клас устройства. Те се появиха в момент, когато компютърната инфраструктура беше напълно неподготвена за ролята на компютъра като мултимедиен хост. Както на физическо, така и на софтуерно ниво нямаше масови и стандартизирани решения в тази област; те бяха само в процес на разработка, подготвяха се да навлязат на пазара или съществуваха на бройки. Други свързани класове преносими устройства се оказаха в подобна позиция: мобилни устройства за съхранение, цифрови фотоапарати, Мобилни телефони, PDA. Всички тези видове мобилни технологии се появяват приблизително по едно и също време, през втората половина на 90-те години. Появата им наложи разработването на унифицирани стандартни протоколи за сдвояване на компютри с преносимо оборудване.

На физическо ниво всичко беше сравнително ясно. Първите преносими устройства бяха принудени да използват COM и LPT - просто нямаше други широко достъпни интерфейси по това време.

LPT конекторът все още може да се намери на повечето компютри

По този начин физическият интерфейс LPT беше използван от основателите на MP3 плейъри, Saehan MpMan и Diamond Rio. Този период може да се нарече „ръкоделие“; разработчиците трябваше да използват интерфейси и протоколи, които първоначално бяха създадени за напълно различни задачи.

Въпреки това, новото поколение преносимо аудио не трябваше да страда дълго в оковите на бавните и неудобни интерфейси: още през следващата 1999 г. производителите представиха широка гама от устройства, използващи новия стандарт: USB, Universal Serial Bus.

Известно време имаше подобие на борба между USB и Firewire протокола, често срещан главно на компютрите Apple Macintosh.

войнаFirewire-USB в преносими плейъри: отiPod 1G – самоFirewire - доiPod 5G – самоUSB

Въпреки това по-голямата част от преносимото аудио бързо и безболезнено премина към универсалната серийна шина, затваряйки, поне в рамките на кабелните решения, въпроса за пренос на данни на физическо ниво.

Нещата не се получиха толкова просто за софтуерните протоколи. В това кратък периодКогато производителите бяха принудени да използват COM и LPT, софтуерните протоколи бяха изключително по техен собствен дизайн. Всъщност те не биха могли да бъдат нищо друго, защото... И COM, и LPT интерфейсите са създадени по едно време, естествено, изобщо не за прехвърляне на мултимедийни файлове към преносими цифрови плейъри. Нямаше кой да разработи драйвери и софтуерни обвивки за последните, освен самите разработчици, и изобщо не се говори за стандартизация.

Но появата на USB не реши проблема. Индустрията се занимава основно със създаването на стандартни протоколи за мобилни устройства за съхранение и цифрови фотоапарати. Ситуацията с MP3 плейърите изобщо не беше ясна: ще бъдат ли забранени или не и ако не бъдат забранени, тогава какви функции трябва да имат протоколите, за да може форумът на SDMI да даде зелена светлина. В такива условия разработването на софтуерни протоколи все още пада върху раменете на разработчика на устройството. Това продължи поне четири години, докато най-накрая в играчите започнаха да се появяват стандартни протоколи за пренос на данни. Тези години бяха времето на доминиране на първия тип софтуерни протоколи - патентовани или затворени.

Тяхната характерна черта бяха индивидуалните драйвери и софтуер за всеки производител, а често и за всяко ново поколение играчи в рамките на продуктите на един и същи производител.

Патентован протокол като примерRCA-ТомсънЛира. Използва собствен драйвер (PDP2222.SYS), който трябва да се инсталира отделно на всеки компютър, към който планирате да свържете плейъра

Това създава много неудобства за потребителя. За никаква прозрачност не може да се говори - самият потребител е принуден ръчно да инсталира драйвери и софтуер за своя плейър. В този случай могат да възникнат различни трудности, например, ако купувачът погрешно свърже плейъра към компютъра, преди да инсталира драйверите.

След като обърка процедурата за свързване на плейъра, потребителят рискува да се възхищава на подобно съобщение, дори след като впоследствие инсталира всички необходими драйвери

Също така е по-добре да забравите за съвместимостта: драйверите и софтуерът работят само с даден модел плейър (в най-добрия случай с няколко модела от даден производител), а плейърът може да работи само с компютър, на който са инсталирани тези драйвери и софтуер. Първоначално възможностите на софтуерните черупки бяха много оскъдни и бяха ограничени изключително до копиране на аудио файлове в паметта на плейъра. По-късно се появиха различни начини за копиране на съдържание в плейъра: индивидуално по песен или чрез синхронизиране на съдържанието на паметта на плейъра със съдържанието на библиотека, съставена от аудио файлове, намиращи се на компютър. Някои софтуерни обвивки поддържаха само един от тези методи. С течение на времето софтуерът придоби допълнителни възможности, например копиране на всякакви файлове, а не само поддържаните от плейъра, което направи възможно използването му като устройство за съхранение (функцията беше наречена Data Taxi). Но фактът, че тази операция изисква инсталиране на драйвери и софтуер на компютъра, сериозно намалява полезността на тази функция. По правило изобщо не се говори за високите естетически качества, безупречната работа и добрата ергономичност на черупките. Тогава потребителите бяха в по-голямата си част сурови и неподправени хора: те копираха файлове в плейъра - и това е добре.

Повечето производители преминаха през собствени системи: iriver, Rio Audio, Creative, Cowon, Mpio и др. Всеки от тези производители в даден момент имаше свои собствени драйвери и собствен софтуер, някои по-успешни, други по-малко успешни. Във всеки случай, след като смени играча на устройство от друг производител, потребителят беше принуден да се адаптира към новата обвивка с нейната логика и функции. Много производители продължават да оборудват своите устройства днес с тези програми като алтернатива на MSC/UMS стандартите или MTP решенията.

Собственическичерупка-мениджъри: Iriver Music Manager, Cowon JetAudio, Mpio Manager, Creative Play Center

Зоологическата градина от всякакви черупки не можеше да задоволи потребителите (те все още можеха да се примирят със съществуването на куп пъстри шофьори). Освен това не отговаряше на производителите, особено на малките, които нямаха ресурси за разработване на висококачествен софтуер. Поради това през 1999 г. - началото на 2000-те години използването на черупки на трети страни придоби известна популярност.

Сред тях е програмата MusicMatch Jukebox.

ИнтерфейсMusicMatch Jukebox

Преди появата на iTunes за компютър с Windows, тук се използваше за работа с Apple iPod. Работеше и с плейъри от други производители, като RCA-Thomson.

Програми като MusicMatch Jukebox бяха първите семена на стандартизацията. Те позволиха използването на плейъри от различни производители, без да се инсталира допълнителен софтуер за всеки от тях. Решението не беше безупречно, беше само една стъпка от разнообразни протоколи и черупки до стандартизирани решения. В този случай беше стандартизиран само интерфейсът за управление на протокола; инсталирането на отделни драйвери за всяко устройство беше необходимо. Самите обвивки не бяха част от операционната система; те трябваше да бъдат инсталирани отделно от интернет или от придружаващия компактдиск. Тяхната функционалност, стабилност и удобство често също повдигат въпроси. Не всички плейъри бяха поддържани, което принуди производителите да оборудват своите устройства с плъгини за популярни програмни мениджъри.

Предлага се за изтегляне на уебсайтаRCA-Lyra: основно плъгин заMusicMatchДжубокс и чак след това собствената черупкаЛираDJ

Обикновено с течение на времето програмата „напълняваше“, обрасла с ненужни функции за потребителя, реклама и изискваше все повече и повече ресурси.

Друга популярна черупка в миналото еИстински джубокс

В същото време конкурентният натиск нараства: през 2001 г. Windows Media Player стана стандартен с Windows XP, а през 2003 г. се появи iTunes за Windows. Малките азиатски компании през 2002-2003 г. също намериха добър заместител на този софтуер - отвореният протокол MSC/UMS. В резултат на това обвивки като MusicMatch Jukebox отпаднаха от сцената, за да отстъпят място на протоколите от следващо поколение. Но тяхното наследство не беше напразно: моделът „една обвивка за различни играчи“ беше до голяма степен наследен от системата Microsoft PlaysForSure.

Една характеристика на патентованите системи обаче им позволи да оцелеят по-дълго, отколкото е разумно на определени пазари. Техният затворен характер създаде пречки при използването на плейъра за свободно прехвърляне на данни от компютър на компютър, т.е. според RIAA, когато се използва като инструмент за цифрово пиратство. На проблемни пазари като американския, компаниите, които не желаят да привличат твърде много внимание върху себе си, продължиха да следват патентован подход дори след възхода на генеричните решения.

На сайтаiriver непатентован фърмуер все още е специално отбелязан катоUMS илиMTP

Тук можете да си спомните например iriver или Creative. плеърите iriver обикновено се произвеждат в две версии: за американския пазар - работещи чрез патентован протокол, за други - чрез отворен MSC/UMS. Този „живот след смъртта“ за затворените протоколи продължи до пускането на MTP протокола през 2004 г., който, тъй като беше сравнително универсален, също подхождаше на звукозаписните компании.

Период 2002-2004г беше преход от „тъмните векове“ на затворените системи към относителната отвореност на съвременните протоколи. Днес чистите патентовани протоколи са напълно излезли от употреба.

Вероятно сте чували фразата „трябва да използвате VPN, за да защитите поверителността си“. Сега си мислите: „Добре, но как работи VPN?“

Има много статии в интернет, които предлагат използването на един протокол, но малцина са отделили време да обяснят някои от основните VPN технологии. В тази статия ще обясня какви VPN протоколи има, разликите им и какво трябва да търсите.

Какво е VPN?

Преди да разгледаме конкретни VPN протоколи, нека набързо да обобщим какво е VPN.

По същество VPN ви позволява да осъществявате достъп до публичния интернет чрез частна връзка. Когато щракнете върху връзка в интернет, вашата заявка отива до правилния сървър, като обикновено връща правилното съдържание. Вашите данни по същество преминават безпроблемно от А до Б и уебсайтът или услугата могат да видят вашия IP адрес сред другите идентифициращи данни.

Когато използвате VPN, всички ваши заявки първо се насочват през частен сървър, собственост на доставчика на VPN. Вашата заявка се пренасочва от A към C през B. Можете да получите достъп до всички налични преди това данни (а в някои случаи и повече). Но уебсайтът или услугата има само подробности за доставчика на VPN: техния IP адрес и т.н.

Има много приложения за VPN, включително защита на вашите данни и самоличност, избягване на потискаща цензура и криптиране на вашите комуникации.

Какво представляват VPN протоколите?

VPN протоколът определя точно как вашите данни се маршрутизират между вашия компютър и VPN сървъра. Протоколите имат различни спецификации, предлагайки предимства на потребителите при различни обстоятелства. Например, някои дават приоритет на скоростта, докато други се фокусират върху поверителността и сигурността.

Нека да разгледаме най-често срещаните VPN протоколи.


1. OpenVPN

OpenVPN е VPN протокол с отворен код. Това означава, че потребителите могат да проверяват изходния код за уязвимости или да го използват в други проекти. OpenVPN се превърна в един от най-важните VPN протоколи. OpenVPN е с отворен код и е един от най-сигурните протоколи. OpenVPN позволява на потребителите да защитят своите данни, използвайки по същество неразбиваемо AES-256 ключово криптиране (наред с други), с 2048-битово RSA удостоверяване и 160-битов SHA1.

В допълнение към осигуряването на силно криптиране, OpenVPN също е наличен за почти всяка платформа: Windows, MacOS, Linux, Android, iOS, рутери и др. Дори Windows Phoneи Blackberry може да го използва!

Протоколът OpenVPN беше критикуван в миналото поради ниски скорости. Въпреки това, скорошните внедрявания отбелязаха известно ускорение и фокусът върху сигурността и поверителността е забележителен.


2.L2TP/IPSec

Layer 2 Tunnel Protocol е много популярен VPN протокол. L2TP е наследник на остарелия PPTP (вижте раздела PPTP по-долу за повече подробности), разработен от Microsoft и L2F, разработен от Cisco. Въпреки това L2TP всъщност не предоставя никакво криптиране или поверителност.

Съответно услугите, използващи L2TP, често се свързват с IPsec протокола за сигурност. Веднъж внедрен, L2TP/IPSec се превръща в една от най-сигурните VPN връзки. Той използва AES-256-битово криптиране и няма известни уязвимости (въпреки че IPSec се твърди, че е компрометиран от NSA).

Въпреки това, докато L2TP/IPSec няма известни уязвимости, той има някои незначителни недостатъци. Например, по подразбиране протоколът използва UDP на порт 500. Това улеснява откриването и блокирането на трафика.


3.SSTP

Протоколът за тунелиране на защитени гнезда е друг популярен VPN протокол. SSTP има едно забележително предимство: той е напълно интегриран с всеки операционна система Microsoft след инсталирането на Windows Vista SP1. Това означава, че можете да използвате SSTP с Winlogon или, за допълнителна сигурност, смарт чип. Освен това много доставчици на VPN имат специфични SSTP инструкции, вградени за Windows. Те могат да бъдат намерени на уебсайта на доставчика на VPN.

SSTP използва 2048-битови SSL/TLS сертификати за удостоверяване и 256-битови SSL ключове за криптиране. Като цяло SSTP е доста сигурен.

SSTP е по същество собствен протокол на Microsoft. Това означава, че никой не може да провери напълно основния код. Повечето от тях обаче все още смятат SSTP за защитен.

И накрая, SSTP има собствена поддръжка за Windows, Linux и BSD системи. Android, macOS и iOS поддържат клиенти на трети страни.


4. IKEv2

Internet Key Exchange версия 2 е друг VPN протокол, разработен от Microsoft и Cisco. Самият IKEv2 е тунелен протокол, който осигурява защитена сесия за обмен на ключове. Следователно (подобно на своя предшественик), IKEv2 често се свързва с IPSec за криптиране и удостоверяване.

Въпреки че IKEv2 не е толкова популярен като другите VPN протоколи, той има много мобилни VPN решения. Това се дължи на факта, че той може да се свърже отново в моменти на временна загуба на интернет връзка, както и по време на превключване на мрежа (например от Wi-Fi към мобилни данни).

IKEv2 е патентован протокол с вградена поддръжка за устройства с Windows, iOS и Blackberry. Версиите с отворен код са налични за Linux, а поддръжката за Android е достъпна чрез приложения на трети страни.

За съжаление, докато протоколът ikev2 е чудесен за мобилни комуникацииИма убедителни доказателства, че NSA на САЩ активно използва недостатъците си, за да подкопае IPSec трафика.

5.PPTP

Протоколът за тунелиране от точка до точка е един от най-старите VPN протоколи. Все още се използва на някои места, но повечето услуги отдавна са надградени до по-бързи и по-сигурни протоколи.

PPTP е представен през 1995 г. Всъщност беше интегриран с Windows 95, проектиран да работи с комутируеми връзки. Това беше изключително полезно по това време.

Но VPN технологията напредна и PPTP вече не е защитен. Правителствата и престъпниците отдавна са разбили PPTP криптирането, правейки незащитени всички данни, изпратени с помощта на протокола.

Въпреки това, той все още не е напълно мъртъв... Виждате ли, някои хора смятат, че PPTP дава по-добри скорости на връзката точно поради липсата на функции за сигурност (в сравнение с модерните протоколи). По този начин той все още се използва, тъй като потребителите просто искат да гледат Netflix от друго място.

Нека обобщим VPN протоколите

Разгледахме пет основни VPN протокола. Нека накратко обобщим техните плюсове и минуси.

OpenVPN:е с отворен код, предлага най-силното криптиране, подходящо за всички дейности, има малко по-бавно време за връзка.

L2TP/IPSec:Широко използван протокол, добри скорости, но лесно блокиран поради зависимост от един порт.

SSTP:добра сигурност, трудна за блокиране и откриване.

IKEv2:бързо, удобно за мобилни устройства, с няколко реализации с отворен код (потенциално подкопани от NSA).

PPTP:бърз, широко поддържан, но пълен с дупки в сигурността, използван само за стрийминг и основно уеб сърфиране.

За пълна сигурност и спокойствие изберете VPN доставчик, който ви предлага избор от протоколи. Като алтернатива може да искате да използвате платени VPN решения като ExpressVPN, а не безплатна услуга. Когато плащате за VPN, вие купувате услуга. Когато използвате безплатен VPN, нямате представа какво могат да направят с вашите данни.

Какъв VPN протокол използвате обикновено? Вашият VPN доставчик предлага ли избор? Кажете го в коментарите!

17 юли 2017 г , BIS Journal № 3(26)/2017

Сравнение на технологии и протоколи за защитен достъп

VPN е неразделна част от всички системи за информационна сигурност, включително тези, които защитават информационните системи на финансовите организации. Тази технология е най-простият, разбираем и достъпен начин за безопасно обединяване на географски разпределени сайтове и надеждна защита на информацията, когато се предава през обществени мрежи.

Има много сценарии за използване на VPN: организиране на взаимодействие между отдалечени офиси, свързване на отдалечени служители или клиенти, свързване на банкомати, достъп до центрове за данни, в които са концентрирани ресурсите на информационните системи на банката. В допълнение към задачата за осигуряване на взаимодействие, в някои случаи VPN ви позволява да създадете ясен защитен периметър и да осигурите наличността на сегменти от информационната система.

Въпреки това, преди да започнете да избирате конкретен доставчик на решение, е необходимо и важно да разберете какви VPN технологии съществуват и какви са разликите между тях.

ПРОТОКОЛИ ЗА СОБСТВЕНОСТ

Всички протоколи за предаване на данни са разделени на две категории.

Първата категория, която ще бъде обсъдена, са патентовани (затворени) протоколи и технологии, които са интелектуална собственост на отделни компании. Предимствата на този подход са, че технологията може да бъде сравнително бързо модифицирана, за да отговори на изискванията на производителя на оборудването или желанията на конкретен клиент. Има обаче и редица недостатъци.

Първо, има голяма вероятност клиентът да стане обект на проучване и технически подобрения за своя сметка. За да се намали рискът от архитектурни грешки, е необходимо да се работи възможно най-пълно нова технологиявключвайки възможно най-широк кръг експерти. За съжаление, клиентската база на руски доставчици, използващи патентовани протоколи, не винаги позволява това. Между другото, чуждестранните лидери на ИТ пазара не следват пътя на създаването на патентовани протоколи. Те развиват функционалността на общоприетите протоколи, отварят достъпа до своята технология и я правят публична, достъпна за други производители.

Второ, значителен недостатък е, че нестандартният дизайн на продукта и недокументираното поведение на устройството могат да направят клиента зависим от доставчика на продукта. Ако качеството на услугата или услугите вече не отговарят на клиента, преминаването от патентован протокол към друг може да бъде изключително скъпо или дори невъзможно без цялостна ревизия на системата за сигурност. В най-добрия случай клиентът може да разчита на използване на употребявани хардуерни платформи, на които може да се инсталира нов софтуер. Специалистите от S-Terra CSP вече имаха опит с инсталирането на техния VPN шлюз на платформите на Stonesoft (за който, въпреки че използва стандартни протоколи, е известно, че е прекратил активна дейност на пазара за мрежова сигурност в Русия).

Трето, всеки нестандартен дизайн създава проблеми при отстраняване на неизправности или неизправност на устройства. Необходимо е да има в персонала хора, които познават поведението както на стандартното оборудване, така и специфичната работа на технологиите от даден производител.

И четвърто, трябва да вземете предвид факта, че собственият протокол има минимални шансове за постигане на съвместимост с други производители.

ПУБЛИЧНИ ПРОТОКОЛИ

Втората категория са публични (или стандартни) протоколи, които могат да се използват в оборудване, произведено от различни доставчици. Описание на тези технологии е дадено в специални документи (Искане за коментари, RFC) на Internet Engineering Task Force (IETF). Те са създадени и допълвани от най-добрите експерти в индустрията. За VPN най-често използваните публични протоколи са IPsec и SSL в различни варианти.

SSL (TLS)

Това семейство протоколи е предназначено да осигури отдалечен клиентски достъп и е фокусирано върху конкретни персонализирани приложения. Има няколко опции за използване на SSL (TLS):

Безклиентски режим.Този режим използва еднопосочна автентификация от страна на сървъра към клиента. В този случай потребителят не трябва да инсталира специализиран клиентски софтуер за защита на трафика, достатъчно е да има само крипто доставчик на работната станция. Работата в този режим е възможна само с уеб приложения, а в руските реалности има връзка с не много популярния браузър Internet Explorer. Този режим на работа е подходящ например за ограничен списък от сценарии за защитен достъп до уеб портал.

Клиентски режим.Ако трябва да предоставите достъп до друго приложение, се използва специален SSL (TLS) клиент. В този режим е възможно да се използва двупосочна автентификация.
Едно от основните предимства на протокола е липсата или минималната нужда от персонална клиентска конфигурация. Въпреки това, ако на работната станция е инсталиран нов софтуер или нова услуга, което изисква достъп, потребителят ще трябва да добави тези параметри към настройките на клиента.

Трябва също така да вземете предвид факта, че стандартният SSL работи на ниво приложение и не може да защити трафика от мрежово оборудване или мрежови сегменти. Протоколът DTLS може да реши този проблем, но той също има модел клиент-сървър и не се използва широко сред руските производители.

IPsec работи на по-нисък слой на OSI модела и не изисква поддръжка на приложения, за да работи. Той е идеален за създаване на сигурни връзки както между клонове в географски разпределена мрежа, така и за организиране на защитен отдалечен достъп.

Благодарение на протокола, работещ на ниво мрежа, работата на VPN не изисква промени в софтуера на работното място. Всички потребителски приложения работят „прозрачно“ и не знаят за съществуването на VPN. Протоколът винаги осигурява двупосочна автентификация.

При прилагане на отдалечен достъп е необходима персонализирана клиентска конфигурация за всяка конкретна работна станция. В същото време клиентът защитава всички мрежови взаимодействия между работната станция и отдалечената мрежа. Следователно необходимостта от средства за защита срещу неоторизиран достъп до работните станции на работните места на потребителите е по-спешна, отколкото в случая на SSL.

IPsec е най-известният протокол за изграждане на VPN и продължава да се развива. Появи се втората версия на протокола за разпространение на ключове IKE;

В допълнение към горното, стандартните протоколи IPsec и SSL (TLS) имат определени предимства в руската реалност. Говорим за дейността на техническия комитет по стандартизация „Криптографска защита на информацията“ (TC 26) в областта на разработването на препоръки за използване на унифицирани заместващи възли и параметри на елиптичните криви в руските GOST стандарти за криптография, както и тяхното използване в протоколите за пренос на данни. Тази дейност вече даде плодове - редица руски производители, включително компанията S-Terra SSP, осигуриха съвместимостта на своите сертифицирани решения при използване на протокола IPsec. Разбира се, ако бяха използвани патентовани протоколи, подобни резултати нямаше да бъдат постигнати. Въпреки че подобни процеси не се случват бързо, клиентите имат перспективата да изпълнят своята заветна мечта - появата на техническа съвместимост на различни сертифицирани VPN решения помежду си.

Използването на стандартни протоколи в различни области (Syslog, SNMP, Netflow и др.) ви позволява да комбинирате продукти в една система. Например, тази практика е общоприета при решаване на проблеми с мониторинга и изграждането на SIEM системи.

НИЕ ПРАВИМ ИЗВОДИ

При избора на стандартен протокол клиентът трябва да определи желания случай на използване. Ако му е достатъчно да защити само отделни услуги и е важна лекотата на настройка - SSL (TLS), ако е необходима пълна мрежова свързаност между обектите - неговият избор е IPSec.

В същото време трябва да се помни, че в допълнение към протокола за пренос на данни всяко решение има голям брой различни технологиии функции. Ето защо си струва да оценявате и сравнявате продуктите като цяло, в зависимост от поставената задача.

Днес ще говоря за прекрасен протокол за излъчване RTMFP. Реализира много интересни подходи и има много предразсъдъци относно възможностите му. Искам да събудя интереса към тази тема и да разсея съществуващите илюзии. Не намерих нищо по-добро за предаване на живо, затова реших да напиша този пост.

Заден план

Преди много време в една далечна галактика...
През 2004 г. живееше Amicima, Inc.в който е разработено изпълнението на GPL протокола МФУ - MFPNet. След това ги пуснаха amiciPhone- един от конкурентите на Skype, но поради проблеми с позиционирането нещата не вървят много добре. През 2007 г. те бяха закупени от Adobe, защото се нуждаеха от добър протокол за излъчване в реално време.
Какво не е наред с RTMP?
RTMPне е протокол за излъчване в реално време:
  • проблемът с минимизирането на закъсненията не е решен;
  • излъчването спира при промяна на адреса на устройството;
  • TCP значително увеличава латентността и раздува съобщенията с ненужни проверки за доставка;
  • няма контрол на размера на прозореца.
Като се има предвид скоростта на развитие на мобилните мрежи, закупуването на Amicima беше доста логично и обещаващо решение.
Предубеждения относно RTMFP
  1. Това е патентован протокол
    Adobe реши да го публикува във формата RFC7016за да привлече общественото внимание, но някак си се получи. Колкото и да е странно, това не изглежда като крива RTMP спецификация и прилича повече на MFP.

    Самият протокол е модулен: обменът на сертификати, криптирането и синхронизирането на потока са реализирани като отделен профил. Това, което се случва във Flash, остава във Flash. За разработчици на решения на трети страни, като напр Кумулус,Flash остана черна кутия; някак тихо и неусетно излезе през април 2014г RTMFP профил на Adobe за Flash комуникация.

  2. Това е UDP - което означава, че няма гаранция за доставка
    Доста протоколи в реално време използват UDP и добавят контролна сума на мрежата и селективни проверки за доставка, за да гарантират доставка. Те проверяват само това, което трябва да дойде, а не всичко подред. За аудио/видео контролирането на доставката на пакети няма много по-голям смисъл. Размерът на прозореца (MTU) обикновено е максимален и статичен, което увеличава вероятността от ситуация на празно възпроизвеждане с последващо получаване на неподходящи данни при загуба на пакет.
  3. Нямаме нужда от RTMFP - имаме WebRTC
    WebRTCтова не е протокол, това е технология за браузър - опит за интегриране на SIP с RTP стек в браузър. Ако комбинирате RTP, SRTP, SCTP, RTCP, ZRTP, RTSP, получавате RTMFP. Но в редица случаи такива връзки имат излишък и проблеми с адресирането, които не присъстват в RTMFP.

    RTMFP има пренасочване през NAT, контрол на размера на прозореца, метаданни за потоци с контрол на излишъка от страна на приложението, препращане/пренасочване на сесии и собствен DHT.

    Колко RTP-подобни протокола трябва да капсулирате, за да реализирате всичко това?.. Мисля, че около 4-5 броя.

    Текущото внедряване на протоколи за излъчване наподобява ситуацията:

    „Има 6 протокола, но всички те имат фатален недостатък и ние ще разработим още един...“
    Минава година.
    "Има 7 протокола и всички те имат фатален недостатък..."

    RTMFP не е опит за замяна на съществуващи решения. Това е опит да ги обобщим, да се отървем от излишъка и да ги направим достъпни за потребителите.

RTMFP и OSI модел

И така, нека да разгледаме кои слоеве на OSI модела обхваща протоколът RTMFP.
  • Физически и канал
    Няма краткотрайни енергийни флуктуации от пърхащи пеперуди, но бихме искали излишък чрез пренос на данни в варп подпространства.
  • Мрежа и транспорт
    Това са IP и UDP мултикаст.
    Има откриване на Path MTU и контрол на задръстванията, вече в кутията, за всеки конкретен поток. Има режим на предаване на данни със селективна честота на проверка на доставката - проверяваме го веднъж на всеки N пакета. Всички пакети имат клеймо за време, за да се измери забавянето на доставката. Вградено пръстеновидно хеш адресиране за DHT крайни точки.
  • Презентационен слой
    За Flash това, разбира се, е AMF3 и капсулиран RTMP, но могат да се предават всякакви други данни.

Сигурност в RTMFP

  • Класически обмен на ключове Diffie-Hellman със статични и ефимерни ключове.
  • Бисквитки и сертификати в сесии, с възможност за цифрово подписване на пакети. Вярно е, че по подразбиране неподписаните пакети се считат за валидни
  • AES128 се използва за криптиране, но може да се използва всеки друг блоков алгоритъм.
  • HMAC-SHA256 или мрежови контролни суми.
Удостоверяването и оторизацията на потребителя може да се реализира от страна на приложението. Въпросът с филтрирането на зловреден софтуер остава открит.

Къде е убийствената функция?

Мисля, че всички си спомнят провала на излъчването на най-новата презентация на новия поп телефон IPhone 6 Plus?

Така че представете си, че един клиент получава входящ поток и го излъчва на още двама или повече (ако е възможно) и така нататък - доколкото позволява максималното възможно забавяне. В същото време пермутациите и сортирането се извършват в клиентското дърво в реално време, за да се минимизират закъсненията и да се оптимизира прозорецът на пакета. В резултат на това можете да постигнете многократно намаляване на изходящия трафик на сървъра за излъчване.

И всички ще го видят...

Случаи на употреба

  1. Излъчвайте съдържание в реално време
    Всъщност това е целта на самия протокол и той се справя много добре с тази задача.
    Може да се използва не само за аудио/видео предаване, но и като основен транспорт във Flash игри.
  2. CDN
    Това е P2P и за да изтеглите файл, трябва само да знаете неговото име, хеш и размер.
    Можете да внедрите http2rtmfp gateway - възможностите са доста интересни.
  3. Видеоконференции и чатове
    В ерата след Сноудън RTMFP е достъпен и сигурен P2P транспорт. Освен това основното предимство е възможността да продължите да излъчвате, когато мрежовият адрес на устройството се промени. WebRTC може да падне при смяна на клетки в 3G/4G. RTP стекът не е много подходящ за излъчване в такава среда.
  4. Трансфер на данни в реално време в частни мрежи
    Основното предимство за този случай на използване е възможността за гъвкави политики за маршрутизиране, минимизиране на закъсненията, незадължителна проверка на доставката на пакети и вградени инструменти за приоритизиране на трафика. Всичко това може да се конфигурира индивидуално за всяко конкретно приложение.

Каква е сделката със съществуващите RTMFP решения?

Накратко нещата са много зле. Днес единствената отворена реализация е Cumulus. Развива се много бавно. Въз основа не на RFC, а на първите реверси на Cirrus 1 RTMFP, така че съвместимостта с текущия Cirrus 2 Flash Profile е доста съмнителна. Той реализира повечето полезни функции, включително организиране на резервиране в P2P и излъчване между устройства. Има FMS, но работи като FMS...

Ще се радвам на градивни коментари.

В коментарите, моля, посочете аналози на RTMFP, ако ги знаете.