3 ms·
Well, I'm not sure if I mis-configured something, but I was not able to trigger MPTCP traffic from iOS 7. I was using a MPTCP enabled Linux box, serving video f
by songgao 12y ago
Well, I'm not sure if I mis-configured something, but I was not able to trigger MPTCP traffic from iOS 7. I was using a MPTCP enabled Linux box, serving video files over HTTP. But all I saw from iOS was traditional single-path TCP. If my tests were conducted correctly, Apple might have disabled MPTCP for third-party services.
- philsnow 12y agoISTR that Apple enabled it _only_ for Siri, probably (as you said) to reduce perceived ios7 crappiness (likely because users don't care that things are broken through no fault of Apples, they just see brokenness)
- NamTaf 12y agoI had always assumed that it was because Apple controlled both the client and server infrastructure in that case? Whereas with web browsing, they obviously don't control of the servers.
- MBCook 12y agoAs I remember Apple was only using it for Siri (and possibly iCloud/etc) to handle the WiFi/LTE transition more smoothly than "wait for the timeout". I don't think it's enabled for apps, at least my default. You may have to pass special options when creating the connections in your app.
- mhandley 12y agoOur understanding is that Apple have currently only enabled MPTCP for Siri. This probably makes sense - Siri isn't mission critical, but is very delay sensitive. Using both LTE and WiFi for a Siri connection should allow them to get low delay in the case either has a problem. They're using Citrix Netscaler at the server end, which does have MPTCP support. Disclaimer: I'm one of the authors of MPTCP.
- throwaway7767 12y ago> Our understanding is that Apple have currently only enabled MPTCP for Siri. This probably makes sense - Siri isn't mission critical, but is very delay sensitive. I have to disagree that it makes sense to cripple APIs and give preferential treatment to certain software. If the support is there, give developers an API to use it! Also, good job on MPTCP - it's awesome :) EDIT: I'm being downvoted, but I'd really love to hear a justification for why it makes sense for apple to restrict features to use in apple-developed software only.
- ska 12y agoGood engineering practice: you have an untried technology operating in a complicated environment and in-house testing can only get you so far. Looking at this "in the wild" in a constrained way where you control most of the variables is an obvious next step.
- mhandley 12y agoNot sure why you're being downvoted, and I've no direct insight into Apple's deployment decisions. But I'd guess they're concerned that deploying MPTCP could cause problems with middleboxes in some environments. Siri is a good way to test the water. First, they own the servers, so they can ensure there's no problem on their end. Second, Siri isn't mission-critical in the way IMAP or HTTP would be, so if there is a problem, it's less of a PR disaster for them. Personally, I'd also prefer to see an API that developers can use to enable it, but I'm OK with them taking it slow at first. Every cellular and WiFi network on the planet got to see how their middleboxes handle MPTCP, so having them test the water like this makes life so much easier for anyone else later.
- mikeash 12y agoPotentially stupid question: since MPTCP is built on normal TCP connections, does that mean that you could potentially implement MPTCP entirely in an application without cooperation from the kernel? Or does the fact that you need to set special options is the TCP packets mean that kernel support is required?