Re: [Int-area] MPT Network Layer Multipath Library (draft-lencse-tsvwg-mpt-00.txt)
Gabor Lencse <gabor-l@is.naist.jp> Wed, 26 July 2017 03:56 UTC
Return-Path: <gabor-l@is.naist.jp>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83866128AB0 for <int-area@ietfa.amsl.com>; Tue, 25 Jul 2017 20:56:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d_PSO0KJk6Jc for <int-area@ietfa.amsl.com>; Tue, 25 Jul 2017 20:56:41 -0700 (PDT)
Received: from mailrelay32.naist.jp (mailrelay32.naist.jp [IPv6:2001:200:16a:d26::152]) by ietfa.amsl.com (Postfix) with ESMTP id 409F1126557 for <int-area@ietf.org>; Tue, 25 Jul 2017 20:56:40 -0700 (PDT)
Received: from mailpost32.naist.jp (mailscan32.naist.jp [163.221.12.157]) by mailrelay32.naist.jp (Postfix) with ESMTP id 11A195FE; Wed, 26 Jul 2017 12:56:38 +0900 (JST)
Received: from [IPv6:2001:200:16a:1010:ec23:f810:1955:42af] (unknown [IPv6:2001:200:16a:1010:ec23:f810:1955:42af]) by mailpost32.naist.jp (Postfix) with ESMTPSA id F187B5FC; Wed, 26 Jul 2017 12:56:37 +0900 (JST)
To: int-area@ietf.org
References: <4515c18c-b2f7-a5c8-8471-299422092e43@is.naist.jp> <3ADAA55B-AED3-47E1-8BF9-A69700F40006@apple.com>
Cc: David Schinazi <dschinazi@apple.com>, Gabor Lencse <gabor-l@is.naist.jp>, Szilagyi Szabolcs <szilagyi.szabolcs@inf.unideb.hu>, Marius Georgescu <marius.georgescu@rcs-rds.ro>, Fejes Ferenc <fejes@openmailbox.org>
From: Gabor Lencse <gabor-l@is.naist.jp>
Message-ID: <18bbeaa7-a7a9-60f4-090d-bc0ca4b1670c@is.naist.jp>
Date: Wed, 26 Jul 2017 12:56:37 +0900
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <3ADAA55B-AED3-47E1-8BF9-A69700F40006@apple.com>
Content-Type: multipart/alternative; boundary="------------76928BA6FD7CC4B43EF6DFDF"
X-TM-AS-MML: disable
X-TM-AS-Product-Ver: IMSS-7.1.0.1808-8.1.0.1062-23218.003
X-TM-AS-Result: No--20.256-7.0-31-10
X-imss-scan-details: No--20.256-7.0-31-10
X-TMASE-MatchedRID: tRcutRVVeFmhMED/6x0ppshGzBIb6Jpryjcw+jQixVhF0vHVf0FWQDMV Y5itbDoDLVdieW1lpmcwPc056E+qJnGGEKfcJAliJoswqQpTupzx5KZMlKYS/dIv4RV84lHTV6K WY8jugmXcv5ZWOrA+iskedzoet6eP5pZ/l0Abezm6lIBLPjRk6Res/RxhysDblxClX9Ey45Ztv4 +aU05V+/rGSMtEVYY9tyJkrp9ElhMcXqYXbVvibWwvoWYqMw6Bk3rl+MaNgxDSde/CNbaZJe5an ar5bqNu4NbWfxcgpeXFxDoHLv3qJDkKSFihQCWxXmtgg1SwHyMAKzYLecaUGCTbbsi+pqSFBNbO kII96c0UQ7CeFrI30YXxGAZtNHQZdgvRpLBFObDpUhdxxt+sdQPZZctd3P4Bgs2Y99lqecyna6U 74e0+qG0LQpmjB9pjPavUKmAA72f2EY6UlCIXig9FV6kNYiPHMSjlkes0Ka/NUTeBBPKQKg2Y8x yy93kWuEworDHWZ6b1oMtVOTRE4ppdRSjt6VGPn7/cTzCWv4OFtdXfaNUsul7OZ6hrwwnzleulF 3zlkFg3ufkyVLUl7YM0UI/wsMx+x2fPo79As2C+DiWkn7vel0j2sPWKvtn0ojQrbrPpzzphugTj /RcylqtYXNbyT8atVZOEYEsHFBsA/9TZj3+cM/tAPEfr8cPbxZQoGMRGhhOB01driWko20S/boW SGMtdmIwEEdLVZ0ny6jv8ITOMb+XeVMmB/JqBRdfDoOsKexv5wpfrIJDXe8kv13FaE99hM/dZg2 GSzOXzb5kmgp405ST9NCas8YSAD5YpuZ75ik5ccQ8eam5EfRRFJJyf5BJetOt1ofVlaoJ5WX6jI 4oJVxir9Ak4ADTtSQQofLPVHA1nPQAAZZiCoqDmii8RYWYpF5zaa6d2vTb9WfTyK/HCUMyAYCu6 BJNHAJ2WJuKZfv0QRFSW+P8kjQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/HrxytzL5SPLeAbg0ymtxG4cVZaY>
Subject: Re: [Int-area] MPT Network Layer Multipath Library (draft-lencse-tsvwg-mpt-00.txt)
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Jul 2017 03:56:44 -0000
Dear David, Thank you very much for your answer. Please find my answers inline. On 7/25/2017 8:03 PM, David Schinazi wrote: > Hi Gabor, > > I don't think the problem space is quite as simple: > > 1) Many content providers will return different DNS results based on > where you're querying from. For this reason you need to perform DNS > and your transport protocol on the same interface to be efficient. You are completely right. Unfortunately the deployment scenarios are completely missing from the draft. I plan to include them into version "-01". As for the current examples, I would call the applicable scenario as "MPT service provider scenario", which is the following: - The client side MPT server is executed on my laptop (or smartphone). - The service provider side MPT server is executed by an "MPT service provider". (*) - An MPT tunnel is set up between the two above MPT servers using all the available paths (WiFi, LTE) - Client software (in our case Meetecho, Skype, Viber, etc.) uses the tunnel IP for all communication (both for sending DNS queries and VoIP data). (*) In my case it would be an MPT server at NAIST. In general, there are two conditions: (1) it should be close to the client (2) it should have high speed Internet connection Of course, what I can achieve is not as good as if I would sit in my room at NAIST and use the Gigabit Ethernet connection, but the reliability of the solution is better than that of using WiFi only, and the price of the solution is less than that of using LTE only. In general, an "MPT service provider" can be an independent provider or some ISPs also may provide this service. Multipath resilience and throughput aggregation apply only to the section between the two MPT servers. This is the most problematic part by means of unreliability and cost. Other possible scenarios would include MPT servers at data center sites interconnected by several independent high speed paths... > 2) Congestion properties can differ greatly per link, for that reason > you'll need to have separate per-link congestion control to avoid > starving one link or risking congestion collapse on the other. Yes, this is another issue, which has not been addressed yet. I add this also to the "ToDo" list. > For these reasons, transport-layer solutions like MPTCP or MPQUIC are > preferable: you perform DNS on your favorite link and connect there, > the server provides you with extra addresses and the client host can > then open up different paths via link selection or source address > selection. The problem with this solution is that MPTCP provides only TCP. Its retransmission mechanism is probably disadvantageous for real-time traffic. (Sometimes loss may be better than very long delay, which applies for all the following data.) > Don't get me wrong, in general I'm a very big proponent of using IP as > our narrow waist to allow innovation at the above and below layers. > However, in this case I don't think you can build a safe and efficient > solution exclusively at the IP layer, because what you're trying to > improve is transport-layer performance (again the only motivation I > see in the draft is "throughput" and "resilience" [Abstract] which I > don't see as main goals for a networking stack, latency is still the > first priority [1]. Whereas I agree with the main message of [1], I would say that Delay, Throughput and Resilience (or Reliability) are all important and none of them may be neglected. (Since the time when we used modems, there was a huge development in the transmission rates, and it has its results: currently about 75% of the Internet traffic is video and it is increasing. -- I could not dream of video calling of my wife from Japan to Hungary without this development.) > You may have solved these issues, but I couldn't find that in the > draft. For example, in draft-lencse-tsvwg-mpt-00 section 5.2, you > mention that "(E.g. WiFi is used for Torrent traffic and LTE is used > for VoIP calls.)" without specifying how the IP layer can > differentiate these various types of traffic. Section 5.2 is still "Under construction". Our idea is that the usual 5-tuple (source IP address, source port number, destination IP address, destination port number, and protocol number (TCP or UDP)) could be used for the identification of the flows. (Yes, this method uses more than just IP layer header information. Perhaps calling MPT as "Network Layer Multipath" solution is questionable. By calling MPT so, we would like to emphasize that we use a tunnel IP layer over which both TCP or UDP may be used.) But the details are missing. (E.g. how to describe the flows, how they can be efficiently identified, etc.) > And when it comes to per-packet mappings, sending a percentage of > packets on various links and then adding delay to reorder at the MPT > server will add buffer bloat to match the worst link. Our experience shows that it is worth aggregating only the capacity of the links with similar speeds and delay. Otherwise it is worth sending the traffic through the better link and use the other link as "spinning reserve" for resiliency purposes, if the better link fails. > I may be missing something, but after reading the draft I think this > proposal will be harmful to users as it exclusively focuses on > throughput at the expense of many other priorities. > While it's commonly assumed we can solve any problem by introducing an > extra level of indirection or IP headers, I don't think tunnels are > the solution to all woes. > > [1] http://www.stuartcheshire.org/rants/latency.html > > Thanks, > David Schinazi > Whereas I try to "defend" our draft, and I hope that our conversation will result in a better draft, which will be useful for many people, I also admit, that there may be fundamental flaws in our concept, which we do not see. I honestly thank you for pointing them out in the past and in the future, too. And if the final outcome will be that we shell abandon the draft, I will still be grateful to you for saving us possibly years spent with something unusable. So, I really appreciate your reply and wait for further comments from you and from anyone else interested in our draft. Best regards, Gabor > >> On Jul 25, 2017, at 08:59, Gabor Lencse <gabor-l@is.naist.jp >> <mailto:gabor-l@is.naist.jp>> wrote: >> >> Dear INTAREA WG members, >> >> I am Gabor Lencse, the first author of a "-00" draft about the MPT >> Network Layer Multipath Library: >> https://tools.ietf.org/html/draft-lencse-tsvwg-mpt-00 >> >> It was introduced to the INTAREA WG by our co-author Marius Georgescu >> at IETF 99. >> >> I would like to elaborate on the feedback we received during the >> presentation. >> >> Q1 (David, from Apple): What is the motivation, what you are trying >> to solve? Why are you trying to use multiple interfaces? >> >> A1: Throughput aggregation between two sites. (E.g. between data centers) >> >> My answer: >> >> The problem to be solved is the following. Due to the design of the >> TCP/IP protocol stack and its socket interface, even if a device has >> multiple network interfaces, only one of them can be used for a >> communications session. And it is a serious limitation many times! >> >> Example: Somebody is remotely participating at an IETF meeting using >> Meetecho on his laptop using WiFi connection (to save costs). When he >> receives permission to ask a question, the WiFi connection brakes. By >> the time he manages to switch over to LTE, it is too late. -- >> According to our tests, MPT can do the switchover seamlessly. >> >> How common is this situation? I think many people have smartphones, >> with WiFi and LTE, and uses WiFi when available in order to save >> costs. Many of them use free video calls (e.g. by Skype, Viber, >> WhatsApp, etc.) and would be happy if the free WiFi could be backed >> up by seamless switchover to LTE during the calls. >> >> There are a number of multi path solutions, which shows that the >> problem is real, but I contend that MPT differs from them and MPT can >> be more suitable for certain purposes than they for different reasons: >> >> - MPTCP [RFC6824] is good, but it is "built together" with TCP. Some >> applications, e.g. DNS resolution or RTP use UDP. (They can work well >> with MPT.) >> >> - Huawei's GRE Tunnel Bonding Protocol [RFC8157] was designed for >> this very purpose, but it uses GRE, which is filtered out in many >> networks. (MPT uses GRE-in-UDP, thus MPT behaves as a standard UDP >> application in the carrier networks.) >> >> - BANANA >> https://tools.ietf.org/html/draft-leymann-banana-data-encap-00 aims >> to do bandwidth aggregation, but it also uses GRE and not GRE-in-UDP. >> And I am not sure if it is able to provide a resilient tunnel (that >> is switching over from a given underlying path to another one). >> >> - Load Sharing for SCTP >> https://tools.ietf.org/html/draft-tuexen-tsvwg-sctp-multipath-14 is >> also a multipath solution, but it is very specific. MPT provides an >> IP tunnel, which can be used for any purpose. >> >> All in all, I could not find any other solutions that would provide >> such flexible, multipurpose IP tunnel (providing both IPv4 and IPv6), >> which is both resilient and can aggregate the transmission capacity >> of several (even high number of) underlying paths, and which can be >> used in any networks, where UDP is carried over either IPv4 or IPv6. >> I would be interested in hearing about any similar solutions. >> >> And I would like to receive your feedback about MPT. All your >> questions, comments, suggestions, etc. >> >> Best regards, >> >> Gabor >> >> >> _______________________________________________ >> Int-area mailing list >> Int-area@ietf.org <mailto:Int-area@ietf.org> >> https://www.ietf.org/mailman/listinfo/int-area >
- [Int-area] MPT Network Layer Multipath Library (d… Gabor Lencse
- Re: [Int-area] MPT Network Layer Multipath Librar… David Schinazi
- Re: [Int-area] MPT Network Layer Multipath Librar… Gabor Lencse