SCTP Programmer's Guide

under-utilization of the network link. Depending on the severity of the error, the sender
can remain in a state of congestion, which affects the performance of the association.
SCTP contains the PKTDROP chunk that discovers packets that are dropped because of
errors other than congestion. After receiving the PKTDROP chunk, an SCTP endpoint
can inform its peer that it has received an SCTP packet with an incorrect CRC32C or
Adler-32 checksum. The peer can then retransmit the SCTP packet without modifying
the congestion window.
For information on packet drop scenarios, see draft-stewart-sctp-pktdrprep-02.txt
(Stream Control Transmission Protocol (SCTP) Packet Drop Reporting) at:
http://tools.ietf.org/html/draft-stewart-sctp-pktdrprep-02
Support for ECN-Nonces in SCTP
With the increased deployment of real-time applications and transport services that
are sensitive to the delay and loss of packets, relying on packet loss alone as indicative
of congestion is not sufficient. SCTP's congestion management algorithms have built-in
techniques, such as Fast Retransmit and Fast Recovery, to minimize the impact of losses.
These mechanisms consider the network as a black box and continue to send packets
till packets are dropped because of congestion. However, these mechanisms are not
intended to help applications that are sensitive to the delay or loss of one or more
individual packets.
With the inclusion of active queue management techniques in the Internet infrastructure,
routers can assist in managing congestion. When a congestion occurs and the sender
continues to send packets, the number of packets in the queue in the router increases
and causes a bottleneck in the router. In such a case, the router marks the packets with
congestion experienced (CE) bits and sends them to the receiver to indicate congestion,
instead of dropping the packets. Explicit Congestion Notification (ECN) is a congestion
management algorithm that uses a similar method to handle congestion. ECN uses the
ECN field and the congestion experienced (CE) field in the IP header to mark the packets.
The ECN field contains the ECN-Capable Transport (ECT) field, which is set by the
data sender to indicate that the endpoints are ECN-capable. The CE bit is set by the
router to indicate congestion. The ECT code points range from 00 to 01. Senders use
the ECT (0) or ECT(1) code point to indicate ECT for each packet.
ECN uses the following information to provide congestion notifications:
Negotiation between the endpoints during connection setup to determine whether
they are both ECN-capable.
An ECN-Echo (ECNE) flag in the the IP header, which enables the data receiver to
inform the data sender when a CE packet is received.
A congestion window reduced (cwr) flag in the IP header, which enables the data
sender to inform the data receiver that the congestion window has been reduced.
The drawback in ECN is that a poorly implemented receiver or an intermediate network
element, such as router, firewall, intrusion detection system, can erase the ECNE flag
34 Introduction