Subject: [multipathtcp] Reasons DSS checksum including covered data

From: Nigel Williams <[email-masked]>
Date: Thu, 19 Jul 2012 20:13:23 +1000

Hi all,

Since this is my first post, a quick introduction. My name is Nigel 
Williams and I'm currently working at Swinburne University on our newTCP 
project [1]. As part of this project I am working on an implementation 
of MPTCP for FreeBSD.

After looking through the draft [2] section on Data Sequence Mapping 
(3.3.1), it still isn't clear to me as to why a checksum needs to be 
calculated over the DSS psuedo header plus the data for that mapping. I 
understand why the pseudo header might require a checksum, just not why 
the data covered by the mapping needs it (given that the TCP checksum 
covers the payload in each transmitted packet).

A similar question was raised in a previous thread as part of a 
different discussion [3], but going through the replies I wasn't able to 
find an exact answer:

 >> [GH] I was under the impression that the checksum applies to the packet
 >> only. In my opinion this would make things much simpler. Is there a
 >> specific reason to apply the checksum to the entire bulk rather than
 >> solely the packet? Things would get much simpler if the checksum were
 >> packet-specific.

 >If the DSS-mapping covers multiple packets, the checksum in the 
DSS-option is
 >on the whole payload of these packets plus the pseudo-header.

I might be missing something here, so if anyone has some further detail 
that would be great.

regards,
nigel

[1] caia.swin.edu.au/newtcp
[2] draft-ietf-mptcp-multiaddressed-09
[3] http://www.ietf.org/mail-archive/web/multipathtcp/current/msg01483.html

---

From: Olivier Bonaventure <[email-masked]>
Date: Thu, 19 Jul 2012 13:16:15 +0200

Nigel,
> project [1]. As part of this project I am working on an implementation

Nice to see this project started.

> different discussion [3], but going through the replies I wasn't able to

The main motivation for having a DSS checksum that covers the payload is
to handle NATs with an ALG.

Consider a NAT that performs ALG for FTP.

If MPTCP passes through this NAT, the ALG might modify the payload of
the control connection of ftp to change the IP addresses. If the private
address is 10.0.0.1 and the public one 123.145.167.189, then the payload
will need to be expanded since ftp sends IP addresses in ASCII in the
ftp-control connection. This would change the mapping between the
subflow sequence number and the MPTCP DSS...

The checksum is there to detect this case (and similar ones with other
protocols than FTP)

You can find an explanation of some of the design decisions for MPTCP in
our NSDI12 paper
https://www.usenix.org/conference/nsdi12/how-hard-can-it-be-designing-and-implementing-deployable-multipath-tcp

Olivier

-- 
INL, ICTEAM, UCLouvain, Belgium, http://inl.info.ucl.ac.be

---

From: "Hampel, K Georg (K Georg)" <[email-masked]>
Date: Thu, 19 Jul 2012 12:12:50 +0000

Nigel, Olivier, all,

Are there any other examples apart from FTP where payload rewriting is done? Are there any trials that show payload-rewriting?

Thanks,
Georg

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Olivier Bonaventure
Sent: Thursday, July 19, 2012 7:16 AM
To: Nigel Williams
Cc: multipathtcp
Subject: Re: [multipathtcp] Reasons DSS checksum including covered data

Nigel,

Olivier

_______________________________________________
multipathtcp mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/multipathtcp