Explicit Congestion Notification


Explicit Congestion Notification

Explicit Congestion Notification (ECN) — (Явное Уведомление о Перегруженности) — расширение протокола IP, описанное в RFC 3168. ECN позволяет обеим сторонам в сети узнавать о возникновении затора на маршруте к заданному хосту или сети без отбрасывания пакетов. Это дополнительная функция, которая используется только в том случае, когда обе конечные точки обмена информацией сообщают, что они хотят её использовать.

Содержание

Основные понятия

Обычно, узлы TCP/IP сетей сообщают о возникновении затора путем отбрасывания пакетов. Если ECN сессия успешно установлена, поддерживающие расширение ECN маршрутизаторы могут сигнализировать о начале заторов устанавливая биты в заголовке IP, а не удаляя пакеты. Получатель пакетов информирует отправителя о заторе, который должен реагировать так, как будто был обнаружен сброс пакетов.

ECN использует два бита в DiffServ области в заголовке IP, для IPv4 в байте TOS, а в IPv6 в октете класса передачи пакета. Эти два бита могут использоваться для установки в одно из следующих значений:

  • поток поддерживающий ECN: англ. ECN-Capable Transport (ECT)
  • поток не поддерживающий ECN: англ. Not-ECN-Capable Transport (Not-ECT)
  • подтвержденная перегрузка: англ. Congestion Experienced (CE)

Некоторое устаревшее или тестовое сетевое оборудование отбрасывает пакеты с установленными битами ECN, а не игнорирует их [1].

Использование

Для использования ECN требуется его поддержка на транспортном уровне.

Использование в TCP/IP

В дополнение к двум ECN-битам в заголовке IP, TCP использует два флага заголовка TCP для сигнализации отправителю о заторе и сокращения объема информации, которую он посылает.

Использование ECN в соединениях TCP не является обязательным.

Использование в других транспортных протоколах

Расширение ECN также определено для других протоколов транспортного уровня, которые выполняют контроль заторов в сети, в частности DCCP и SCTP. Общий принцип использования похож на TCP, хотя детали кодирования отличаются.

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

Производительность

Использование ECN эффективно только в сочетании с политикой активного управления очередью (AQM), и польза от ECN зависит от правильности использования AQM.


Опытным путем было установлено, что ECN плохо влияет на производительность сильно перегруженной сети, если используются AQM алгоритмы, никогда не отбрасывающие пакеты [2]. Современные реализации AQM позволяют избежать подобной проблемы, заменяя маркировку пакетов на их отбрасывание, в случае критических перегрузок.

Реализация

Многие современные реализации протокола TCP/IP имеют поддержку ECN, однако они обычно поставляются с выключенным ECN.

Поддержка на серверах

Windows Server 2008 и Windows Vista поддерживают расширение ECN, но оно отключена по умолчанию [3]. Поддержка ECN может быть включена с помощью следующей команды:

netsh interface tcp set global ecncapability=enabled 

Mac OS X 10.5 по умолчанию поддерживает ECN. Управление производится с помощью интерфейса sysctl [4] :

net.inet.tcp.ecn_negotiate_in net.inet.tcp.ecn_initiate_out 

Ядро Linux поддерживает расширение ECN уже в течение некоторого времени, однако оно по умолчанию отключено. В большинстве версий ядра, оно может быть активировано через интерфейс Sysctl :

sysctl net.ipv4.tcp_ecn=1

FreeBSD 8.0 поддерживает расширение ECN. Оно может быть активировано через интерфейс Sysctl:

sysctl net.inet.tcp.ecn.enable=1 

Поддержка на маршрутизаторах

Маркировка ECN полей маршрутизаторами зависит в той или иной форме от управления активными очередями. Маршрутизаторы должны быть соответствующим образом настроены для маркировки полей ECN.

Маршрутизаторы Cisco IOS выполняют маркировку ECN , если настроен WRED, начиная с версии 12.2 (8) T.

Примечания

  1. Measuring Interactions Between Transport Protocols and Middleboxes. Alberto Medina, Mark Allman, and Sally Floyd. Internet Measurement Conference 2004, August 2004.
  2. Aleksandar Kuzmanovic. The power of explicit congestion notification. In Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications. 2005
  3. "New Networking Features in Windows Server 2008 and Windows Vista". Архивировано из первоисточника 15 апреля 2012.
  4. "ECN (Explicit Congestion Notification) in TCP/IP". Архивировано из первоисточника 15 апреля 2012.

См. также

Ссылки




Wikimedia Foundation. 2010.

Смотреть что такое "Explicit Congestion Notification" в других словарях:

  • Explicit Congestion Notification — (ECN) is an extension to the Internet Protocol and is defined in RFC 3168 (2001). ECN allows end to end notification of network congestion without dropping packets. It is an optional feature, and is only used when both endpoints signal that they… …   Wikipedia

  • Explicit Congestion Notification — (ECN) ist eine Erweiterung des Netzwerkprotokolls TCP/IP zur Überlastkontrolle und wird in RFC 3168 (2001) beschrieben. Mittels ECN kann ein Router durch eine einfache Markierung eines Bits im IP Header eine drohende Überlast mitteilen. ECN ist… …   Deutsch Wikipedia

  • Explicit Congestion Notification — Pour les articles homonymes, voir ECN. Pile de protocoles 7.  Application 6.  …   Wikipédia en Français

  • Backward Explicit Congestion Notification — bit sent by a frame relay network to data terminal equipment to indicate that the sending device should slow packet transmissions or begin other congestion avoidance procedures (Telecommunications) …   English contemporary dictionary

  • Congestion avoidance — Die Artikel Überlastkontrolle, Network congestion avoidance und Random early detection überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese… …   Deutsch Wikipedia

  • Congestion control — This article concerns telecommunications traffic. For road traffic, see traffic congestion. Congestion control concerns controlling traffic entry into a telecommunications network, so as to avoid congestive collapse by attempting to avoid… …   Wikipedia

  • Network congestion — In data networking and queueing theory, network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates. Typical effects include queueing delay, packet loss or the blocking of new connections. A… …   Wikipedia

  • Taxonomy of congestion control — refers to grouping congestion control algorithms according to their characteristics.Example classificationThe following is one possible classification according to the following properties: #The type and amount of feedback received from the… …   Wikipedia

  • Network Congestion Avoidance — Die Artikel Überlastkontrolle, Network congestion avoidance und Random early detection überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese… …   Deutsch Wikipedia

  • Network congestion avoidance — is a process used in computer networks to avoid congestion.The fundamental problem is that all network resources are limited, including router processing time and link throughput. Eg.: *today s (2006) Wireless LAN effective bandwidth throughput… …   Wikipedia


We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.