Источник: <Компьютерное Обозрение> от 23.07.2014
В начале 70-х годов прошлого столетия, когда был создан набор протоколов TCP/IP, он стал величайшим достижением, революционизировавшим парадигму передачи цифровой информации. Спустя 40 лет он все еще составляет основу сети Интернет, однако теперь уже мало кто считает его особенно эффективным, гибким или надежным.
В частности, для удачной передачи, получатель должен собрать все пакеты в точном порядке следования. Если хотя бы один из пакетов по каким-либо причинам отсутствует, протокол интерпретирует это как признак загруженности сети, и немедленно снижает скорость передачи вдвое. От этого, идеального в ряде ситуаций решения, в общем случае сильно страдает эффективность, и протокол не обладает интеллектуальными возможностями для оптимального выбора способа действий.
Кроме того, имея теоретически бесконечное количество возможных путей от точки А к точке Б, данные в TCP всегда движутся по одинаковой траектории, что упрощает злоумышленникам задачу перехвата коммуникаций.
Интересным предложением, способным решить эти проблемы, является так называемое сетевое кодирование. В отличие от TCP/IP, узлы кодированной сети помимо простой коммутации по предопределенному пути, могут выполнять более сложные операции с пакетами, перенаправляя и перекодируя их, или даже сохраняя информацию локально.
Исследователи из датского университета в Аалборге, Массачусетского технологического института и Калтеха недавно предложили реализацию такого протокола, обеспечивающую значительный выигрыш в производительности сети. Так, четырехминутный видеоролик в демонстрационном эксперименте загрузился в пять раз быстрее, чем при традиционном протоколе, и, затем, транслировался без задержек.
<В экспериментах с нашим сетевым кодированием трафика Интернета производители оборудования добились скоростей в 5-10 раз выше, чем обычно, - отметил руководитель проекта, профессор Франк Фицек (Frank Fitzek). - И эта технология может быть использована в спутниковых, мобильных и обычных компьютерных интернет-коммуникациях>.
В предложенном Фицеком и его коллегами протоколе содержимое каждого пакета рассматривается как число, и каждый узел составляет систему линейных уравнений, используя как эти числа, так и набор случайным образом генерируемых коэффициентов.
Каждое линейное уравнение формирует <кодированный пакет> с коэффициентами, вынесенными в его заголовок, и неизвестными переменными, составляющими его содержимое. Другими словами, каждый кодированный пакет содержит частичную информацию сразу о нескольких <стандартных> пакетах, но умноженную на различные коэффициенты.
Для нахождения N переменных необходима система из N линейных уравнений. Каждый кодированный пакет содержит одно уравнение, таким образом, получателю нужно собрать N пакетов, чтобы получить возможность декодировать данные.
Такая система более безопасна, чем современные Интернет-протоколы, поскольку взломщику потребуется перехватить все пакеты, чтобы извлечь информацию.
Кроме того, в отличие от TCP/IP, порядок, в котором приходят пакеты, а значит и путь их следования, теперь абсолютно не имеет значения. Подобная гибкость делает систему гораздо более эффективной, поскольку все пакеты взаимозаменяемы. Потерянный пакет больше не приводит к задержке передачи.
Новая технология RLNC (Random Linear Network Coding) может найти применение в телекоммуникациях 5-го поколения (5G), Интернете вещей (IoT), программно определяемых (SDN) и контент-центрических (CCN) сетях, а также при создании интегрированных в сеть систем распределенного хранения.
Для внедрения RLNC изобретателями создан стартап Steinwurf с офисом в Силиконовой Долине и штаб-квартирой в Аалборге.