Abstract:
An electronic device includes an address generator module that generates a source address for each traffic class to be sent using a network interface. The source address includes a Unique Local Address (ULA) prefix and an interface identifier having a traffic class identifier as one or more most significant bits and a randomly generated remainder. The address generator module generates a destination address having the ULA prefix and the traffic class identifier. When a processor of the electronic device is selecting a source address for the traffic class according to rules of a network layer protocol (e.g., IPv6), including a rule that a longest matching address of possible source addresses to the given destination is selected as the source address, the generated source address is selected due to the one or more most significant bits of the interface identifier matching with the traffic class identifier of the destination address.
Abstract:
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Abstract:
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Abstract:
An electronic device includes an address generator module that generates a source address for each traffic class to be sent using a network interface. The source address includes a Unique Local Address (ULA) prefix and an interface identifier having a traffic class identifier as one or more most significant bits and a randomly generated remainder. The address generator module generates a destination address having the ULA prefix and the traffic class identifier. When a processor of the electronic device is selecting a source address for the traffic class according to rules of a network layer protocol (e.g., IPv6), including a rule that a longest matching address of possible source addresses to the given destination is selected as the source address, the generated source address is selected due to the one or more most significant bits of the interface identifier matching with the traffic class identifier of the destination address.
Abstract:
Techniques are disclosed relating to communicating, via IPv6-only networks, with devices on IPv4 networks. In some embodiments, a mobile device stores program instructions executable to: generate a request to access a network server that specifies an IPv4 literal, query a DNS server using a reserved name to determine an IPv6 prefix, synthesize an IPv6 address using the prefix and the IPv4 literal, create a transport layer connection to the network server using the synthesized IPv6 address, and transmit multiple packets using the connection, without re-translating the IPv4 literal for the packets. These per-connection translation techniques may reduce power consumption and/or processing time relative to per-packet translation, in some embodiments.