0 Replies
      Latest reply on Jun 16, 2016 4:39 PM by rtrouton
      rtrouton Level 1 Level 1 (0 points)

        Stuart Cheshire - Apple DEST

         

         

        Update on ECN (Explicit Congestion Notification)

        IPv6

        International text in networking

        Cellular vs. WiFi

        Network Quality of Service (QoS)

         

         

        Recap from WWDC 2015 about ECN (watch video)

         

         

        iOS 9 Launch revealed problem in Germany

         

         

        One German ISP marked all packets "Congestion Experienced"

        Fixed within a couple of weeks

        No other issues seen worldwide

         

         

        In iOS 9.3 and OS X 10.11.5 - 50% of network traffic requested ECN.

         

         

        Time to start doing ECN marking

         

         

        Mark packets instead of dropping

        Reduce packet loss

        Reduce delays and wasted bandwidth

         

         

        IPv6:

         

         

        IPv6 continues to grow, since worldwide launch in 2012.

         

        Starting June 1, 2016, all apps submitted to the App Store must support IPv6-only networking.

         

        Apple took a look at the review process to see if this would cause problems, and there's been no noticeable change in the app acceptance rate as the result of this change.

         

         

         

         

        For IPv6:

         

        Use hostnames, not literal addresses

        - Let DNS64 work

        Use higher-level address-agnostic APIs

         

        For details on NAT64, watch video.

         

         

        Using Literal IPv4 addresses

         

        Supported in selected APIs (watch video)

        Using literal IPv4 addresses will prevent the app from connecting to IPv6 services.

         

         

         

         

        Connecting to devices on the Local Link:

         

        Ideally, devices should support IPv6.

        If not, alternative is for device to support IPv4 link-local addressing

         

         

        If device doesn't support IPv6 or IPv4 link-local addressing and it's not something you can fix:

         

        Let Apple know and they can work with you to get it approved for the App Store.

         

         

         

         

        International Text in Networking:

         

         

        This is not actually a networking issue.

        - It's a font display and text issue.

        Watch video for Unicode information.

         

         

        Best Practices:

         

        • Use UTF-8 for everything
        • Don't worry about DNS' Punycode
        • Be liberal in what text input you accept.

         

         

         

         

        Wi-Fi Assist:

         

         

        Try to use Wi-Fi, if Wi-Fi doesn't work; use Cellular data.

         

        May wind up with large cellular data bill.

         

        Build apps to distinguish between large data downloads and small.

         

        For example, your video streaming app downloads both the streaming video and a thumbnail for the video.

         

        If you're on cellular,allow the thumbnail to download and either:

         

        A. give the user the choice of downloading the streaming video

        B. block the streaming video from downloading until the mobile device is back on Wi-Fi.

         

         

         

         

        New Quality of Service features in iOS 10:

         

         

        New Socket option to select Network Service Type for UDP traffic

        - SO_NET_SERVICE_TYPE

         

         

        Don't try to use the old IP Type Of Service (TOS) bits.

         

         

        Link-Layer QoS Marking

         

         

        Controls packet queueing and scheduling on network interface

         

         

        AC_BK

        AC_BE

        Missed the others; watch video.

         

         

        IP-Layer DSCP QoS Marking

         

         

        Recognizes Cisco Fast Lane network (more details, watch video)

         

         

        IP-Layer DSCP QoS Marking:

         

         

        - Only supported on Cisco networks with compatible hardware

        - Only supported on iOS (not on macOS, watchOS or tvOS)

        - Only supported on Wi-Fi, not ethernet

         

         

         

         

        Choose Network Service Type wisely

        - Most traffic should be Best Effort

        - Large transfers should be in the background

         

        See complete list of session and lab notes here:

        https://forums.developer.apple.com/message/142899