Jump to content

Протокол окостенения

(Перенаправлено с Grease (сети) )

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

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

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

произошла значительная закостенелость К 2005 году в Интернете , и в том же году был опубликован анализ проблемы; [1] Аммар (2018) предполагает, что окостенение стало следствием того, что Интернет достиг глобального масштаба и стал основной коммуникационной сетью. [2]

Multipath TCP был первым расширением основного интернет-протокола, которое серьезно противостояло закостенению протокола во время его разработки. [3]

IETF создал рабочую группу Transport Services (taps) в 2014 году. [4] Его задача — смягчить оссификацию на уровне транспортного протокола . [5]

QUIC — первый транспортный протокол IETF , который намеренно минимизировал свой образ связи, чтобы избежать закостенения. [6]

Совет по архитектуре Интернета определил соображения проектирования, касающиеся раскрытия информации протокола сетевым элементам, как «развивающуюся область» в 2023 году. [7]

Основной причиной окостенения протокола является промежуточного блока . вмешательство [8] аннулирование сквозного принципа . [9] Промежуточные ящики могут полностью блокировать неизвестные протоколы или нераспознанные расширения известных протоколов, мешать согласованию расширений или функций или выполнять более агрессивную модификацию метаданных протокола. [10] Не все модификации промежуточного блока обязательно закостеневают; из тех, которые потенциально опасны, они непропорционально расположены на границе сети . [11] Миддлбоксы развертываются сетевыми операторами в одностороннем порядке для решения конкретных задач. [12] включая оптимизацию производительности, требования безопасности (например, межсетевые экраны), преобразование сетевых адресов или усиление контроля над сетями. [13] Подобные развертывания промежуточных устройств обеспечивают локализованную краткосрочную полезность, но ухудшают глобальную долгосрочную возможность развития Интернета, что является проявлением трагедии общего пользования . [12]

Изменения протокола должны быть допущены всеми посредниками на пути; если желательно широкое распространение изменений в Интернете, то это распространяется на большую часть посредников в Интернете. Промежуточный блок должен терпеть широко используемые протоколы, поскольку они использовались во время его развертывания, но он может не терпеть новые протоколы или изменения существующих, что фактически создает порочный круг , поскольку новые образы проводов не могут получить достаточно широкого распространения, чтобы обеспечить промежуточные устройства терпят новый образ проводной связи по всему Интернету. [9] Даже все участники, допускающие протокол, не являются гарантией использования: в отсутствие механизма согласования или обнаружения конечные точки могут по умолчанию использовать протокол, который считается более надежным. [14]

Помимо промежуточных блоков, окостенение также может быть вызвано недостаточной гибкостью реализации конечной точки. Ядра операционных систем медленно меняются и развертываются. [14] а протоколы, реализованные аппаратно, также могут ненадлежащим образом исправлять детали протокола. [15] Широко используемый API , который делает предположения о работе базовых протоколов, может препятствовать развертыванию протоколов, которые не разделяют эти предположения. [9]

Профилактика и исправление

[ редактировать ]

В 2019 году Совет по архитектуре Интернета рекомендовал заменить неявные сигналы для наблюдателей сигналами, намеренно предназначенными для потребления этими наблюдателями, а сигналы, не предназначенные для их потребления, не должны быть им доступны (например, посредством шифрования); а также, что метаданные протокола должны быть защищены от изменений , чтобы их нельзя было изменить промежуточными устройствами. [16] Однако даже полностью зашифрованные метаданные не могут полностью предотвратить окостенение в сети, поскольку образ протокола все равно может отображать шаблоны, на которые можно положиться. [17] Сетевые операторы используют метаданные для различных целей управления. [18] Интернет-исследования также основаны на данных, собранных из метаданных протокола; [19] Разработчик протокола должен сбалансировать устойчивость к оссификации и наблюдаемость для оперативных или исследовательских нужд. [17] Аркко и др. (2023) дает дополнительные рекомендации по этим соображениям: раскрытие информации по протоколу в сети должно быть преднамеренным, [20] осуществляется с согласия получателя и отправителя, [21] аутентифицированы в той степени, в которой это возможно и необходимо, [22] действовал только в той степени, в которой он заслуживает доверия, [23] и сведены к минимуму и предоставлены минимальному числу субъектов. [24] [25]

Требуется активное использование точек расширения, чтобы они не окостенели. [26] Сокращение количества точек расширения, документирование инвариантов, на которые могут положиться участники протокола, а не случайных деталей, на которые нельзя полагаться, а также быстрое обнаружение проблем в развернутых системах могут помочь в обеспечении активного использования. [27] Однако даже активное использование может задействовать только узкую часть протокола, и оссификация все равно может произойти в тех частях, которые остаются инвариантными на практике, несмотря на теоретическую изменчивость. [28] [29] «Смазка» точки расширения, где в некоторых реализациях указана поддержка несуществующих расширений, может гарантировать, что фактически существующие, но нераспознанные расширения будут допустимы (см. Chaos Engineering ). [30] Заголовки HTTP являются примером точки расширения, которой удалось избежать существенного закостенения, поскольку участники обычно игнорируют нераспознанные заголовки. [31]

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

Помимо промежуточных ящиков, можно противостоять и другим источникам окостенения. в пользовательском пространстве Реализация протоколов может привести к более быстрой эволюции. Если новый протокол инкапсулирован в UDP, возможна реализация в пользовательском пространстве. [34] [35] Если поддержка протоколов неопределенна, участники могут одновременно попробовать альтернативные протоколы за счет увеличения объема отправляемых данных. [36]

При достаточных усилиях и координации оссификацию можно обратить вспять. , День флага когда участники протокола согласованно вносят изменения, может разорвать порочный круг и наладить активное использование. Этот подход использовался для развертывания EDNS , которая раньше не допускалась серверами. [37]

Протокол управления передачей пострадал от окостенения. [38] Одно измерение показало, что треть путей в Интернете сталкивается как минимум с одним посредником, который изменяет метаданные TCP, а 6,5% путей сталкиваются с вредным закостенелющим воздействием со стороны посредников. [39] Затронуты расширения TCP: конструкция MPTCP была ограничена поведением промежуточного блока, [3] [40] и развертывание TCP Fast Open также было затруднено. [41] [38]

Протокол передачи управления потоком мало распространен в Интернете из-за нетерпимости со стороны промежуточных устройств. [9] а также из-за очень распространенного API сокетов BSD, плохо соответствующего его возможностям. [42] На практике TCP и UDP являются единственными используемыми транспортными протоколами Интернета . [43]

Безопасность транспортного уровня (TLS) претерпела окостенение. TLS был исходным контекстом для введения точек расширения смазки. TLS 1.3 в первоначальном виде оказался непригодным для развертывания в Интернете: в промежуточных устройствах параметр версии протокола закостенел. Это было обнаружено на позднем этапе разработки протокола, во время экспериментального развертывания в веб-браузерах . В результате версия 1.3 имитирует образ провода версии 1.2. [44]

QUIC был специально разработан с возможностью развертывания, развития и обеспечения свойств, препятствующих оссификации; [45] это первый транспортный протокол IETF , который намеренно минимизировал образ проводной связи для этих целей. [6] Он смазан, [30] у него явно указаны инварианты протокола, [46] он инкапсулирован в UDP, а его метаданные протокола зашифрованы. [45] Тем не менее, приложения, использующие QUIC, должны быть готовы вернуться к другим протоколам, поскольку UDP блокируется некоторыми промежуточными процессорами. [47]

См. также

[ редактировать ]
  1. ^ Аммар 2018 , с. 57-58.
  2. ^ Аммар 2018 , с. 59.
  3. ^ Jump up to: а б Райчиу и др. 2012 , стр. 1.
  4. ^ «Транспортные услуги (краны) – История группы» . IETF .
  5. ^ «Транспортные услуги – чартер-ietf-taps-02» . IETF .
  6. ^ Jump up to: а б Trammell & Kuehlewind 2019 , с. 2.
  7. ^ Аркко и др. 2023 , 3. Дальнейшая работа.
  8. ^ Папастерджиу и др. 2017 , с. 619.
  9. ^ Jump up to: а б с д Папастерджиу и др. 2017 , с. 620.
  10. ^ Эделин и Доннет 2019 , с. 171.
  11. ^ Эделин и Доннет 2019 , с. 173-175.
  12. ^ Jump up to: а б Эделин и Доннет, 2019 , с. 169.
  13. ^ Хонда и др. 2011 , с. 1.
  14. ^ Jump up to: а б Папастерджиу и др. 2017 , с. 621.
  15. ^ Корбет 2015 .
  16. ^ Харди 2019 , с. 7-8.
  17. ^ Jump up to: а б Fairhurst & Perkins 2021 , 7. Выводы.
  18. ^ Fairhurst & Perkins 2021 , 2. Текущее использование транспортных заголовков в сети.
  19. ^ Fairhurst & Perkins 2021 , 3. Исследования, разработки и внедрение.
  20. ^ Аркко и др. 2023 , 2.1. Преднамеренное распространение.
  21. ^ Аркко и др. 2023 , 2.2. Контроль распространения информации.
  22. ^ Аркко и др. 2023 , 2.3. Защита информации и аутентификация.
  23. ^ Аркко и др. 2023 , 2.5. Ограничение воздействия информации.
  24. ^ Аркко и др. 2023 , 2.4. Минимизируйте информацию.
  25. ^ Аркко и др. 2023 , 2.6. Минимальный набор сущностей.
  26. ^ Томсон и Поли, 2021 , 3. Активное использование.
  27. ^ Томсон и Поли, 2021 , 4. Дополнительные методы.
  28. ^ Томсон и Поли 2021 , 3.1. Зависимость лучше.
  29. ^ Trammell & Kuehlewind 2019 , стр. 7.
  30. ^ Jump up to: а б Томсон и Поли 2021 , 3.3. Фальсификация активного использования.
  31. ^ Томсон и Поли, 2021 , 3.4. Примеры активного использования.
  32. ^ Папастерджиу и др. 2017 , с. 623.
  33. ^ Папастерджиу и др. 2017 , с. 623-4.
  34. ^ Папастерджиу и др. 2017 , с. 630.
  35. ^ Корбет 2016 .
  36. ^ Папастерджиу и др. 2017 , с. 629.
  37. ^ Томсон и Поли, 2021 , 3.5. Восстановление активного использования.
  38. ^ Jump up to: а б Томсон и Поли 2021 , А.5. ПТС.
  39. ^ Эделин и Доннет 2019 , с. 175-176.
  40. ^ Хесманс и др. 2013 , с. 1.
  41. ^ Рыбчинская 2020 .
  42. ^ Папастерджиу и др. 2017 , с. 627.
  43. ^ Маккуистин, Перкинс и Файед, 2016 , стр. 1.
  44. ^ Салливан 2017 .
  45. ^ Jump up to: а б Корбет 2018 .
  46. ^ Thomson 2021 , 2. Исправлены свойства всех версий QUIC.
  47. ^ Kühlewind & Trammell 2022 , 2. Необходимость отступления.

Библиография

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6bdc8611954e3063c85b4a22ea250c11__1721112300
URL1:https://arc.ask3.ru/arc/aa/6b/11/6bdc8611954e3063c85b4a22ea250c11.html
Заголовок, (Title) документа по адресу, URL1:
Protocol ossification - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)