Steps involved in ECN PLUS - rajitaaa/ECN-plus-algorithm-in-ns3 GitHub Wiki
(Assuming both sender and receiver are ECN Capable)
STEP 1: Sender to Receiver SYN transmission :
* In TCP Header,CWR=1,ECE=1
* In IP Header,ECT AND CE bits:00
STEP 2: Receiver receives SYN packet,and understands that sender is ECN capable.
STEP 3: Receiver sends SYN-ACK,
* In TCP Header,CWR=0 ECE=1
* In IP Header,ECT AND CE bits:01 or 10
STEP 4: If congestion at router:
Router sets IP Bits to 11 (CE Bit is set to 1)
else
IP bits=01 or 10 (remains same)
STEP 5:Sender receives SYN-ACK(understands if router is ECN capable and whether there is congestion)
(Assuming congestion that is IP bits=11)
Case 1:If sender wants to upload:
* Reduces CWND size
* Data and ack piggybacked and sent normally
* IP bits set to 10 or 01
* ECE and CWR bits=0
Case 2:If sender wants to download:
* Set ECE Bit in TCP header to 1 and CWR=0
* ACK sent normally
* IP bits set to 10 or 01
End of TCP 3 way handshake. Further steps are similar to ECN.