명시적 혼잡 알림

명시적 혼잡 알림(ECN, Explicit Congestion Notification)은 인터넷 프로토콜과 전송 제어 프로토콜의 확장이며 RFC 3168(2001)에 정의되어 있다. ECN을 사용하면 패킷 삭제 없이 네트워크 정체에 대한 단대단 알림이 가능하다. ECN은 기본 네트워크 인프라에서도 지원하는 경우 두 ECN 지원 엔드포인트 간에 사용할 수 있는 선택적 기능이다.

일반적으로 TCP/IP 네트워크는 패킷을 삭제하여 정체 신호를 보낸다. ECN이 성공적으로 협상되면 ECN 인식 라우터는 임박한 혼잡을 알리기 위해 패킷을 삭제하는 대신 IP 헤더에 표시를 설정할 수 있다. 패킷 수신자는 혼잡 표시를 발신자에게 에코하여 마치 손실된 패킷을 감지한 것처럼 전송 속도를 줄인다.

제대로 응답하거나 비트를 무시하는 대신 일부 오래되거나 결함이 있는 네트워크 장비는 ECN 비트가 설정된 패킷을 삭제하거나 변조한 적이 있다. 2015년 현재 측정 결과에 따르면 ECN 설정으로 인해 네트워크 연결이 차단되는 공용 인터넷의 웹 서버 비율은 1% 미만으로 감소했다.

수동 지원은 Ubuntu Linux 12.04부터, Windows Server에서는 2012년부터 존재했다. 가장 인기 있는 웹 사이트의 수동 지원은 2012년 8.5%에서 2017년 5월 70% 이상으로 증가했다. 이제 인터넷을 통한 채택을 위해서는 클라이언트가 ECN을 적극적으로 요청해야 한다. 2015년 6월, 애플은 업계 전반에 걸쳐 ECN 신호 채택을 촉진하기 위해 지원되는 제품과 향후 제품에서 ECN이 기본적으로 활성화될 것이라고 발표했다.

같이 보기 
 혼잡 제어

외부 링크 
 ECN web page by Sally Floyd
  (BCP 124), Specifying Alternate Semantics for the Explicit Congestion Notification (ECN) Field, S. Floyd, (November 2006)
 Linux kernel support for defining a per-route/destination congestion control algorithm (merged in Linux kernel 4.0)

전송 계층 프로토콜