Deliverable D3.3 Extended Transport System and Transparent Support of Non-NEAT Applications

Total Page:16

File Type:pdf, Size:1020Kb

Deliverable D3.3 Extended Transport System and Transparent Support of Non-NEAT Applications NEAT A New, Evolutive API and Transport-Layer Architecture for the Internet H2020-ICT-05-2014 Project number: 644334 Deliverable D3.3 Extended Transport System and Transparent Support of Non-NEAT Applications Editor(s): Karl-Johan Grinnemo Contributor(s): Zdravko Bozakov, Anna Brunstrom, Maria Isabel Sanchez Bueno, Thomas Dreibholz, Kristian Evensen, Gorry Fairhurst, Karl-Johan Grinnemo, Audun Fosselie Hansen, David Hayes, Per Hurtig, Mohammad Rajiullah, Tom Jones, David Ros, Tomasz Rozensztrauch, Michael Tüxen, Eric Vyncke Work Package: 3 / Extended Transport System Revision: 1.0 Date: November 30, 2017 Deliverable type: R (Report) Dissemination level: Confidential, only for members of the consortium (including the Commission Services) D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 Abstract This deliverable summarises and concludes our work in Work Package 3 (WP3) to extend the transport services provided by the NEAT System developed in Work Package 2, and to enable non-NEAT applications to harness the transport services offered by NEAT. We have demonstrated how a policy- and information-based selection of transport pro- tocol by NEAT could provide a more efficient transport service for web applications. The information on which NEAT makes its transport selection decisions resides in the Charac- teristics Information Base (CIB). The CIB is populated by various CIB sources, and in WP3 we have designed, implemented, and evaluated various CIB sources, including meta data from mobile broadband networks, passive measurements, IPv6 Provisioning Domain pro- tocols and the Happy Eyeballs mechanism, which caches the outcome of its connection attempts. A key property of NEAT is that it not only “vertically” decouples applications from transport protocols, but also “horizontally”. Particularly, it enables applications to harness information about resource availability and policies from Software Defined Net- working (SDN) controllers in managed networks, without these applications actually being SDN-aware. To extend the use of NEAT to non-NEAT applications, we have implemented a BSD- compatible sockets API on top of NEAT and a NEAT proxy that intercepts and replaces stan- dard TCP connections with NEAT flows, i.e., with the transport solutions deemed most ap- propriate by NEAT. We have also proposed a way for non-NEAT applications to make use of NEAT through the deployment of NEAT-enabled virtual appliances in SDN-controlled net- works: connections from these applications are routed via an SDN-controlled proxy that terminates the original connection and replaces it with a NEAT-selected connection. Participant organisation name Short name Simula Research Laboratory AS (Coordinator) SRL Celerway Communication AS Celerway EMC Information Systems International EMC MZ Denmark APS Mozilla Karlstads Universitet KaU Fachhochschule Münster FHM The University Court of the University of Aberdeen UoA Universitetet i Oslo UiO Cisco Systems France SARL Cisco 2 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 Contents List of Abbreviations 5 1 Introduction 9 2 Extensions to the transport system 10 2.1 New transports for web browsing................................ 11 2.1.1 Multi-streaming for Web traffic............................. 11 2.1.2 The QUIC protocol.................................... 18 2.1.3 Role in NEAT and next steps............................... 19 2.2 Extended policy system and transport selection........................ 19 2.2.1 CIB sources........................................ 20 2.2.2 Transport selection and configuration......................... 25 2.2.3 Role in NEAT and next steps............................... 28 2.3 SDN controller integration.................................... 29 2.3.1 Integration strategies................................... 29 2.3.2 NEAT external interfaces................................. 31 2.3.3 Selected implementation scenario........................... 33 2.3.4 SDN controller integration................................ 35 2.3.5 Role in NEAT and next steps............................... 36 2.4 PvD integration.......................................... 36 2.4.1 Detailed description................................... 37 2.4.2 Getting PvD information into NEAT.......................... 38 2.4.3 PvD JSON format and properties............................ 38 2.4.4 Deployment scenarios.................................. 39 2.4.5 Role in NEAT and next steps............................... 39 3 Transparent support of non-NEAT applications 41 3.1 NEAT proxy solutions....................................... 41 3.1.1 Traffic identification................................... 43 3.2 SDN middleware......................................... 45 3.2.1 Network Hypervisor Integration............................. 45 3.2.2 Next Steps......................................... 46 3.3 NEAT Sockets API......................................... 46 3.3.1 Implementation...................................... 47 3.3.2 Usage examples...................................... 48 3.3.3 with_neat......................................... 49 4 Conclusions 50 References 57 A NEAT Terminology 58 B Paper: Evaluating the Impact of Transport Mechanisms on Web Performance 61 3 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 C Paper: Raising the Datagram API to Support Transport Protocol Evolution 73 D Paper: A Datagram API for Evolving Networks Beyond 5G 80 E Paper: A NEAT Approach to Mobile Communication 83 F Paper: A NEAT Framework for Enhanced End-Host Integration in SDN Environments 90 G Demo: A NEAT framework for application-awareness in SDN environments 98 H NEAT Sockets API: list of API function calls 101 I Internet Draft: NEAT Sockets API 104 4 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 List of abbreviations AAA Authentication, Authorisation and Accounting AAAA Authentication, Authorisation, Accounting and Auditing API Application Programming Interface BE Best Effort BLEST Blocking Estimation-based MPTCP CC Congestion Control CCC Coupled Congestion Controller CDG CAIA Delay Gradient CIB Characteristics Information Base CM Congestion Manager DA-LBE Deadline Aware Less than Best Effort DAPS Delay-Aware Packet Scheduling DCCP Datagram Congestion Control Protocol DNS Domain Name System DNSSEC Domain Name System Security Extensions DPI Deep Packet Inspection DSCP Differentiated Services Code Point DTLS Datagram Transport Layer Security ECMP Equal Cost Multi-Path EFCM Ensemble Flow Congestion Manager ECN Explicit Congestion Notification ENUM Electronic Telephone Number Mapping E-TCP Ensemble-TCP FEC Forward Error Correction FLOWER Fuzzy Lower than Best Effort FSE Flow State Exchange FSN Fragments Sequence Number GUE Generic UDP Encapsulation 5 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 H1 HTTP/1 H2 HTTP/2 HE Happy Eyeballs HoLB Head of Line Blocking HTTP HyperText Transfer Protocol IAB Internet Architecture Board ICE Internet Connectivity Establishment ICMP Internet Control Message Protocol IETF Internet Engineering Task Force IF Interface IGD-PCP Internet Gateway Device – Port Control Protocol IoT Internet of Things IP Internet Protocol IRTF Internet Research Task Force IW Initial Window IW10 Initial Window of 10 segments JSON JavaScript Object Notation KPI Kernel Programming Interface LAG Link Aggregation LAN Local Area Network LBE Less than Best Effort LEDBAT Low Extra Delay Background Transport LRF Lowest RTT First MBB Mobile Broadband MBC Model Based Control MID Message Identifier MIF Multiple Interfaces MPTCP Multipath Transmission Control Protocol MPT-BM Multipath Transport-Bufferbloat Mitigation MTU Maximum Transmission Unit 6 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 NAT Network Address (and Port) Translation NEAT New, Evolutive API and Transport-Layer Architecture NIC Network Interface Card NUM Network Utility Maximization OF OpenFlow OS Operating System OTIAS Out-of-order Transmission for In-order Arrival Scheduling OVSDB Open vSwitch Database PCP Port Control Protocol PDU Protocol Data Unit PHB Per-Hop Behaviour PI Policy Interface PIB Policy Information Base PID Proportional-Integral-Differential PLUS Path Layer UDP Substrate PM Policy Manager PMTU Path MTU POSIX Portable Operating System Interface PPID Payload Protocol Identifier PRR Proportional Rate Reduction PvD Provisioning Domain QoS Quality of Service QUIC Quick UDP Internet Connections RACK Recent Acknowledgement RFC Request for Comments RSerPool Reliable Server Pooling RTT Round Trip Time RTP Real-time Protocol RTSP Real-time Streaming Protocol SCTP Stream Control Transmission Protocol 7 of 141 Project no. 644334 D3.3 Confidential Extended Transport System and Transparent Support of Non-NEAT Applications Rev. 1.0/ November 30, 2017 SCTP-CMT Stream Control Transmission Protocol – Concurrent Multipath Transport SCTP-PF Stream Control Transmission Protocol – Potentially Failed SCTP-PR Stream Control Transmission Protocol – Partial Reliability SDN Software-Defined Networking SDT Secure Datagram Transport SIMD Single Instruction
Recommended publications
  • (IETF) D. Wing Request for Comments: 6555 A
    Internet Engineering Task Force (IETF) D. Wing Request for Comments: 6555 A. Yourtchenko Category: Standards Track Cisco ISSN: 2070-1721 April 2012 Happy Eyeballs: Success with Dual-Stack Hosts Abstract When a server's IPv4 path and protocol are working, but the server's IPv6 path and protocol are not working, a dual-stack client application experiences significant connection delay compared to an IPv4-only client. This is undesirable because it causes the dual- stack client to have a worse user experience. This document specifies requirements for algorithms that reduce this user-visible delay and provides an algorithm. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6555. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
    [Show full text]
  • Ipv4 Exhaustion: NAT and Transition to Ipv6 for Service Providers
    BRKSPG-2602 IPv4 Exhaustion: NAT and Transition to IPv6 for Service Providers Rajiv Asati, Distinguished Engineer, Cisco Cisco Spark Questions? Use Cisco Spark to communicate with the speaker after the session How 1. Find this session in the Cisco Live Mobile App 2. Click “Join the Discussion” 3. Install Spark or go directly to the space 4. Enter messages/questions in the space cs.co/ciscolivebot#BRKSPG-2602 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public Hmmm……..CGNAT issue or something else ? IPv4 – Classic But spare parts have run out BRKSPG-2602 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 5 IPv6 – Next Gen Getting to full parity and end-end use takes time Caution: New road may be needed BRKSPG-2602 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 6 Transition Technologies Driving your classic IPv4 (or next gen IPv6) around BRKSPG-2602 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 7 Abstract • Any service provider that has exhausted its IPv4 address pool, will not only have to deploy/offer IPv6, but also employ IPv4 sharing. This is because chunk of content may be reachable only via IPv4 internet, even though majority is available via IPv6 internet. • This session discusses few mechanisms such as MAP-T/E, 464XLAT, DS-Lite and CGN 64/44 etc. that facilitate IPv4 sharing with and without IPv6. It contrasts stateful and stateless translation techniques as well. • 6rd is included for reference as well. • This session is intended for Service Providers. BRKSPG-2602 © 2018 Cisco and/or its affiliates.
    [Show full text]
  • BRKRST-3304.Pdf
    #CLUS Hitchhikers Guide to Ipv6 Nicole Wajer – Chief Stroopwafel Officer BRKRST-3304 #CLUS Cisco Webex Teams Questions? Use Cisco Webex Teams (formerly Cisco Spark) to chat with the speaker after the session How 1 Find this session in the Cisco Events App 2 Click “Join the Discussion” 3 Install Webex Teams or go directly to the team space 4 Enter messages/questions in the team space Webex Teams will be moderated cs.co/ciscolivebot#BRKRST-3304 by the speaker until June 18, 2018. #CLUS © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 3 Nicole Nicole Wajer Technical Solutions Architect @vlinder_nl #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 “Space,” it says, “is big. Really big. You just won’t believe how vastly hugely mindboggingly big it is. I mean you may think it’s a long way down the road to the chemist, but that’s just peanuts to space. Listen …” and so on. The Hitchhiker's Guide to the Galaxy #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 5 This Session…. #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 6 This Session…. #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 7 Don’t Panic #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 8 Encyclopaedia Galactica • Easy to miss – Warm up your brain • Neighbor And Router Discovery • Addressing • IPv4 Coexistence And Transition • IPv6-centric Deployments #CLUS BRKRST-3304 © 2018 Cisco and/or its affiliates.
    [Show full text]
  • Happy Eyeballs a Good Servant Or a Bad Master? Radek Zajíc, [email protected] • RIPE NCC::Educa, 2020-06-08 About::Myself
    Happy Eyeballs A Good Servant or a Bad Master? Radek Zajíc, [email protected] • RIPE NCC::Educa, 2020-06-08 about::myself Radek Zajíc Blog: tech.showmax.com Twitter: @ShowmaxDevs 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 2 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 3 IPv6 as we knew it back in 2008 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 4 IPv6 as we knew it back in 2008 6bone phased out 2006/6/6 (RFC 3701) NAT-PT moved to HistoriC status in July 2007 (RFC 4966) A6 DNS reCords were still a thing (for freaks) Dual-Stack reCommended in leaf networks (LANs) 6to4 and Teredo as the only IPv6 for many early adopters Not a lot of content on IPv6 out there 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 5 IPv6 as we knew it back in 2008 Not a lot of content on IPv6 out there ipv6.google.com launChed 12 MarCh 2008 Lorenzo Colitti, IPv6 at Google, RIPE 56, May 2008 https://meetings.ripe.net/ripe-56/presentations/Colitti-IPv6_at_Google.pdf 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 6 IPv6 as we know it today Lots (but not all) of content on IPv6 out there www.google.com IPv6-enabled on 6 June 2012 What has changed between 2008 and 2012? 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 7 2020-06-08 Radek Zajíc, [email protected], RIPE NCC::Educa 8 Connection brokenness in a nutshell IPv6 T+0s T+1s T+3s T+6s T+15s www.example.com T+20s (fallback to IPv4) 2001:db8:dead::1 192.0.2.1 IPv4 Fallback can take from tens of seconds to tens of minutes, depending on a platForm and number of AAAA records.
    [Show full text]
  • Hitchhikers Guide to Ipv6
    BRKRST-3304 Hitchhikers Guide to Ipv6 Nicole Wajer – Chiefstroopwafel Officer @Vlinder_NL Cisco Webex Teams Questions? Use Cisco Webex Teams (formerly Cisco Spark) to chat with the speaker after the session How 1 Find this session in the Cisco Events Mobile App 2 Click “Join the Discussion” 3 Install Webex Teams or go directly to the team space 4 Enter messages/questions in the team space cs.co/ciscolivebot#BRKRST-3304 BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 3 Nicole Nicole Wajer Technical Solutions Architect @vlinder_nl BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 “Space,” it says, “is big. Really big. You just won’t believe how vastly hugely mindboggingly big it is. I mean you may think it’s a long way down the road to the chemist, but that’s just peanuts to space. Listen …” and so on. The Hitchhiker's Guide to the Galaxy BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 5 This Session…. BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 6 This Session…. BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 7 Don’t Panic BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 8 Encyclopaedia Galactica • Easy to miss – Warm up your brain • Neighbor And Router Discovery • Addressing • IPv4 Coexistence And Transition • IPv6-centric Deployments BRKRST-3304 © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public 9 Easy-to-miss configuration knobs EIGRP IPv6 needs “no shutdown” ipv6 router eigrp 1 router-id 192.0.2.1 no shutdown BRKRST-3304 © 2019 Cisco and/or its affiliates.
    [Show full text]
  • Quality of Ipv6 Enablement of Universities: an International Study
    Paper ID #12987 Quality of IPv6 Enablement of Universities: An International Study Dr. John Pickard, East Carolina University Dr. Pickard is an Assistant Professor at East Carolina University in the College of Engineering and Tech- nology. He teaches undergraduate and graduate Information and Computer Technology (ICT) courses within the Department of Technology Systems. Dr. Pickard plays an active role in building positive and sustainable industry relationship between the college, local businesses, and industry partners. Current industry recognized certifications include; Cisco Certified Network Professional, Microsoft Certificated Professional, EMC Information Storage and Management, IPv6 Forum Certified Engineer (Gold), IPv6 Forum Certified Trainer (Gold), and Cisco Certified Academy Instructor. Dr. Pickard received his Ph.D. in Technology Management at Indiana State University. He also holds an MBA from Wayland Baptist Uni- versity and a B.S. in Professional Aeronautics from Embry-Riddle University. Research interests include: IPv6, IPv6 adoption, wireless sensor networks, and industry-academia partnerships. Miss Annie Y. Patrick, East Carolina University Dustin Stocks I am currently pursuing a BS in Information and Computing Technology concentration in Information Security from East Carolina University, graduating in May 2015. My passion is all things IPv6, specif- ically IPv6 Security. I presented at the 2014 North American IPv6 Summit on the Study on the Quality of IPv6 Enablement of US Government Websites, and received the Academic Innovation Award. I am a IPv6 Forum Certified Engineer as well. Dustin Stocks East Carolina University c American Society for Engineering Education, 2015 Quality of IPv6 Enablement of Universities: An International Study Abstract This paper presents the findings of the first known large scale, quantitative study of the quality of IPv6 enablement of university websites.
    [Show full text]
  • LACNIC 32 / LACNOG 2019 October, 2019 Panamá Jordi Palet (Jordi
    Happy Eyeballs v2 RFC8305 LACNIC 32 / LACNOG 2019 October, 2019 Panamá Jordi Palet ([email protected]) - 1 Happy Eyeballs v1 (HEv1) - 1 • Transition is based in preferring IPv6 • RFC6555 (April 2012) – Happy Eyeballs: Success with Dual-Stack Hosts • In dual-stack hots if IPv6 fails apps in the client present delays, compared with IPv4, which can be so high that may ruin the user experience – Up to 21 seconds in every web object • HE sorts it out – Querying for both A y AAAA – Sending TCP SYN to both (IPv4 & IPv6) – Using the faster one, unless difference is small, so still giving preference to IPv6 - 2 Happy Eyeballs v1 (HEv1) - 2 * All figures provided by HEv2 co-authors David Schinazi, Tommy Pauly Apple - 3 Happy Eyeballs v1 (HEv1) - 3 - 4 Happy Eyeballs v2 (HEv2) - 1 • RFC8305 – “Happy Eyeballs Version 2: Better Connectivity Using Concurrency” • Extends HEv1 • HEv2 is already in production since long time ago in many Apple devices • Since some years, they did measurements before publishing the RFC • It accelerates the users experience by “reordering” the address preference, while still trying to keep IPv6 on top - 5 Happy Eyeballs v2 (HEv2) - 2 - 6 Happy Eyeballs v2 (HEv2) - 3 - 7 Happy Eyeballs v2 (HEv2) - 4 • RFC6724 (Default Address Selection for IPv6) vs HEv2 RFC6724 HEv2 - 8 HE good or bad ? • Happy Eyeballs is good for the users • However, “hides” IPv6 failures, so is bad for operators if they don’t have appropriate ways to monitor their correct IPv6 deployment – Big content providers often block IPv6 (by hiding AAAA records) for operators with “bad” IPv6 quality – Consequently, IPv6 traffic will not grow in those networks, which is the main goal – Badly performed IPv6 deployments are counterproductive and may bring bad technical and business decisions - 9 Common IPv6 Failures • IPv6 deployment, is unfortunately, many times, done in a “broken” way because not “unlearning” IPv4, so it creates troubles which reduce the users perceived “QoS” 1.
    [Show full text]
  • Leveraging the Identity Duality in the Internet
    Leveraging the IPv4/IPv6 Identity Duality by using Multi-Path Transport Ioana Livadariu∗, Simone Ferlin∗, Ozg¨ u¨ Alay∗, Thomas Dreibholz∗, Amogh Dhamdherey and Ahmed Elmokashfi∗ ∗Simula Research Laboratory, 1364 Fornebu, Norway Email: fioana,ferlin,ozgu,dreibh,[email protected] y CAIDA/UCSD, La Jolla, CA 92093, U.S.A Email: [email protected] Abstract—With the 20th anniversary of IPv6 nearing quickly, Multi-path transport allows the simultaneous use of multi- a growing number of Internet service providers (ISPs) now offer ple paths in the network to increase end-host robustness and to their customers both IPv6 and IPv4 connectivity. This makes provide bandwidth aggregation [11]–[13]. Today, many devices multi-homing with IPv4 and IPv6 increasingly common even with could in fact support multi-path transport (e.g. smart phones just a single ISP connection. Furthermore, the growing popularity with both 3G/4G and WLAN interface). However, the most of multi-path transport, especially Multi-Path TCP (MPTCP) that prominent transport protocol, i.e. TCP, is still single path. is the extension of the well-known Transmission Control Proto- col (TCP), leads to the question of whether this identity duality Multi-Path TCP (MPTCP) [12] is a major extension of TCP can be utilized for improving application performance in addition that supports multi-path transmission. Its design is motivated to providing resilience. In this paper, we first investigate the AS- by the need to be compatible with network middleboxes level congruency of IPv4 and IPv6 paths in the Internet. We find and hence, it is backward compatible with TCP.
    [Show full text]
  • Multipath Communications Using Names
    MULTIPATH COMMUNICATIONS USING NAMES by Rashmi Purushothama, Master of Science Thesis in Communication systems Communication Networks and Systems laboratory (NETS), Swedish Institute of Computer Science and Telecommunications System Laboratory (TSLAB), Royal Institute of Technology Kista, November 2011 Supervisor Examiner and Supervisor Javier Ubillos, Prof. Peter Sjödin, Swedish Institute of Computer Science School of Information and (SICS), Communication Technology, Kista, Sweden Royal Institute of Technology Table of Contents ABSTRACT ...................................................................................................................................5 ACKNOWLEDGEMENTS ...............................................................................................................6 CHAPTER 1 ..................................................................................................................................7 1. Introduction .................................................................................................................7 1.1 Background ..............................................................................................................7 1.2 Previous work ..........................................................................................................8 1.3 Problem Statement and Investigation ......................................................................9 1.4 Thesis outline .........................................................................................................11
    [Show full text]
  • First Version of Low-Level Core Transport System
    NEAT A New, Evolutive API and Transport-Layer Architecture for the Internet H2020-ICT-05-2014 Project number: 644334 Deliverable D2.1 First Version of Low-Level Core Transport System Editor(s): Naeem Khademi Contributor(s): Zdravko Bozakov, Anna Brunstrom, Dragana Damjanovic, Kristian Riktor Evensen, Gorry Fairhurst, Karl-Johan Grinnemo, Tom Jones, Simone Mangiante, Giorgos Papastergiou, David Ros, Michael Tüxen, Michael Welzl Work Package: 2 / Core Transport System Revision: 1.0 Date: March 1, 2016 Deliverable type: R (Report) Dissemination level: Public D2.1 Public First Version of Low-Level Core Transport System Rev. 1.0/ March 1, 2016 Abstract This document presents the first version of the low-level Core Transport System in NEAT, to be used for development of a reference implementation of the NEAT System. The design of this core transport system takes into consideration the Transport Services and the API defined in Task 1.3 and in close coordination with the overall architecture (Task 1.2). To realise the basic Transport Services provided by the API, a set of low-level transport func- tionalities has to be provided by the NEAT core transport system. These functionalities take the form of several building blocks, or NEAT Components, each representing an associated implementation activity. Some of the components are needed to ensure the basic opera- tion of the NEAT System—e.g., a NEAT Flow Endpoint, a callback-based NEAT API Frame- work, the NEAT Logic and the functionality to Connect to a name. Some other components are needed to ensure connectivity using Middlebox Traversal techniques (e.g., TURN), dis- covery of path support for different transport protocols using Happy Eyeballs mechanisms, offering end-to end Security (e.g., (D)TLS over transport), gather statistics for the users or system administrators, and the ability to apply different policies in order to influence the decision-making process of the transport system.
    [Show full text]
  • The ISP Column Revisiting Apple and Ipv6
    The ISP Column A monthly column on things Internet July 2015 Geoff Huston Revisiting Apple and IPv6 A few weeks ago I wrote about Apple's IPv6 announcements at the Apple Developers Conference (http://labs.apnic.net/?p=637). While I thought that in IPv6 terms Apple gets it, the story was not complete and there were a number of aspects of Apple's systems that were not quite there with IPv6. So I gave them a 7/10 for their IPv6 efforts. Time to reassess that score in the light of a few recent posts from Apple. The first is a public note on the IETF's V6ops mailing list from David Schinazi of Apple (https://www.ietf.org/mail-archive/web/v6ops/current/msg22455.html) concerning contemplated changes to the so-called “Happy Eyeballs” behaviour of iOS and Mac OS X Apple's current behaviour in a dual stack environment is that when there is a choice to use either IPv4 or IPv6 the Apple device will try to connect using what it thinks is the "fastest" protocol. The problem with this approach is that it generates some subtle forms of backward pressure in the IPv6 transition process. If devices have a bias to using IPv6 when possible then the more IPv6 is deployed then the less IPv4 is used. Deploying IPv6 in such an environment will reduce the intensity of pressure of use of address sharing mechanisms such as NATs, as the more IPv6 is used then the lower the level of use of IPv4. If the devices that have dual stack continue to use IPv4 then the use pressure on IPv4 NATs continue largely unabated in spite of an increasing IPv6 deployment.
    [Show full text]
  • Preparing Applications for Ipv6 a SOFTWARE DEVELOPERS GUIDE to WRITING and MIGRATING NETWORKED APPLICATIONS for USE on IPV6 NETWORKS
    Preparing Applications for IPv6 A SOFTWARE DEVELOPERS GUIDE TO WRITING AND MIGRATING NETWORKED APPLICATIONS FOR USE ON IPV6 NETWORKS VERSION 1 TABLE OF CONTENTS Introduction .............................................................................. 3 Who Can Use This Information ................................................ 3 How To Use This Information ................................................... 3 Strategies for apps supporting both IPv4 and IPv6 ........... 4 Sockets ....................................................................................... 5 Proxy and Application Servers ............................................... 6 Format and Comparison ......................................................... 7 Regular Expressions .................................................................... 7 Numeric Expressions ................................................................... 7 Best Common Practices ............................................................. 10 Display and User Input ............................................................... 10 Persistence and Databases ..................................................... 12 MySQL .............................................................................................. 12 PostgreSQL ..................................................................................... 13 Oracle and Other Database Vendors ..................................... 13 URIs/URLs ................................................................................... 14 IPv6
    [Show full text]