Subject: [multipathtcp] some questions about the closure of MPTCP

From: 王帅 <[email-masked]>
Date: Mon, 13 Mar 2017 16:51:48 +0800 (GMT+08:00)

Hi,

     I am doing a project about MPTCP, but I have some questions about the closure of MPTCP.
     Why does the closure of subflows need FIN?  Is it necessary and compulsory?  When the sender has sent DATA_FIN to the receiver and received DATA_ACK from the receiver, doesn't the data have been transferred from the sender to the receiver completely? So, I wonder whether we can terminate all subflows by sending RST? It will be faster than the FIN, and it can free resources.
     Thank you very much!

Sincerely,
Wang Shuai

---

From: Christoph Paasch <[email-masked]>
Date: Mon, 13 Mar 2017 09:00:53 -0700

Hello,

>      Why does the closure of subflows need FIN?  Is it necessary and compulsory?  When the sender has sent DATA_FIN to the receiver and received DATA_ACK from the receiver, doesn't the data have be…

in theory you are right that the FIN in this scenario is no more needed for
the correctness of the data-stream.

However, this will also mean that if the RST got lost, there is a subflow on
the peer's side that will stay there for quite some time.
And it will not allow for re-use of the 5-tuple for a later connection in
that case.

So it probably depends on what you want. A RST is quick, but FINs are more
deterministic because they are retransmitted when lost.

Christoph