rfc9623v5.txt | rfc9623.txt | |||
---|---|---|---|---|
skipping to change at line 506 ¶ | skipping to change at line 506 ¶ | |||
useTemporaryLocalAddress would eliminate IPv4 options since IPv4 does | useTemporaryLocalAddress would eliminate IPv4 options since IPv4 does | |||
not support temporary addresses. | not support temporary addresses. | |||
4.1.1.2. Network Paths | 4.1.1.2. Network Paths | |||
If a client has multiple network paths available to it, e.g., a | If a client has multiple network paths available to it, e.g., a | |||
mobile client with interfaces for both Wi-Fi and Cellular | mobile client with interfaces for both Wi-Fi and Cellular | |||
connectivity, it can attempt a connection over any of the paths. | connectivity, it can attempt a connection over any of the paths. | |||
This represents a branch point in the Connection establishment. | This represents a branch point in the Connection establishment. | |||
Similar to a derived endpoint, the paths should be ranked based on | Similar to a derived endpoint, the paths should be ranked based on | |||
preference, System Policy, and performance. Attempts should be | preference, policy, and performance. Attempts should be started on | |||
started on one path (e.g., a specific interface) and then | one path (e.g., a specific interface) and then successively on other | |||
successively on other paths (or interfaces) after delays based on the | paths (or interfaces) after delays based on the expected path RTT or | |||
expected path RTT or other available metrics. | other available metrics. | |||
1 [192.0.2.1:443, any path, TCP] | 1 [192.0.2.1:443, any path, TCP] | |||
1.1 [192.0.2.1:443, Wi-Fi, TCP] | 1.1 [192.0.2.1:443, Wi-Fi, TCP] | |||
1.2 [192.0.2.1:443, LTE, TCP] | 1.2 [192.0.2.1:443, LTE, TCP] | |||
The same approach applies to any situation in which the client is | The same approach applies to any situation in which the client is | |||
aware of multiple links or views of the network. A single interface | aware of multiple links or views of the network. A single interface | |||
may be shared by multiple network paths, each with a coherent set of | may be shared by multiple network paths, each with a coherent set of | |||
addresses, routes, DNS server, and more. A path may also represent a | addresses, routes, DNS server, and more. A path may also represent a | |||
virtual interface service such as a Virtual Private Network (VPN). | virtual interface service such as a Virtual Private Network (VPN). | |||
skipping to change at line 602 ¶ | skipping to change at line 602 ¶ | |||
where a lower number indicates higher precedence and, therefore, | where a lower number indicates higher precedence and, therefore, | |||
higher placement in the tree. Branching between paths is the first | higher placement in the tree. Branching between paths is the first | |||
in the list because results across multiple interfaces are likely not | in the list because results across multiple interfaces are likely not | |||
related to one another: endpoint resolution may return different | related to one another: endpoint resolution may return different | |||
results, especially when using locally resolved host and service | results, especially when using locally resolved host and service | |||
names and the protocols that are supported and preferred may differ | names and the protocols that are supported and preferred may differ | |||
across interfaces. Thus, if multiple paths are attempted, the | across interfaces. Thus, if multiple paths are attempted, the | |||
overall Connection establishment process can be seen as a race | overall Connection establishment process can be seen as a race | |||
between the available paths or interfaces. | between the available paths or interfaces. | |||
Protocol options are next checked in order. Whether or not a set of | Protocol Options are next checked in order. Whether or not a set of | |||
protocols, or protocol-specific options, can successfully connect is | protocols, or protocol-specific options, can successfully connect is | |||
generally not dependent on which specific IP address is used. | generally not dependent on which specific IP address is used. | |||
Furthermore, the Protocol Stacks being attempted may influence or | Furthermore, the Protocol Stacks being attempted may influence or | |||
altogether change the Endpoint Identifiers being used. Adding a | altogether change the Endpoint Identifiers being used. Adding a | |||
proxy to a connection's branch will change the Endpoint Identifier to | proxy to a connection's branch will change the Endpoint Identifier to | |||
the proxy's IP address or hostname. Choosing an alternate protocol | the proxy's IP address or hostname. Choosing an alternate protocol | |||
may also modify the ports that should be selected. | may also modify the ports that should be selected. | |||
Branching for derived endpoints is the final step and may have | Branching for derived endpoints is the final step and may have | |||
multiple layers of derivation or resolution, such as DNS service | multiple layers of derivation or resolution, such as DNS service | |||
skipping to change at line 1883 ¶ | skipping to change at line 1883 ¶ | |||
special meaning. The data is sent whenever the Connection is | special meaning. The data is sent whenever the Connection is | |||
Ready. | Ready. | |||
Ready: A UDP connection is ready once the system has reserved a | Ready: A UDP connection is ready once the system has reserved a | |||
local port and has a path to send to the Remote Endpoint. | local port and has a path to send to the Remote Endpoint. | |||
EstablishmentError: UDP connections can only generate errors on | EstablishmentError: UDP connections can only generate errors on | |||
initiation due to port conflicts on the local system. | initiation due to port conflicts on the local system. | |||
ConnectionError: UDP connections can only generate Connection errors | ConnectionError: UDP connections can only generate Connection errors | |||
in response to Abort ations. (Once in use, UDP connections can | in response to Abort actions. (Once in use, UDP connections can | |||
also generate SoftError events (ERROR.UDP) upon receiving ICMP | also generate SoftError events (ERROR.UDP) upon receiving ICMP | |||
notifications indicating failures in the network.) | notifications indicating failures in the network.) | |||
Listen: LISTEN.UDP. Calling Listen for UDP binds a local port and | Listen: LISTEN.UDP. Calling Listen for UDP binds a local port and | |||
prepares it to receive inbound UDP datagrams from peers. | prepares it to receive inbound UDP datagrams from peers. | |||
ConnectionReceived: UDP Listeners will deliver new connections once | ConnectionReceived: UDP Listeners will deliver new connections once | |||
they have received traffic from a new Remote Endpoint. | they have received traffic from a new Remote Endpoint. | |||
Clone: Calling Clone on a UDP connection creates a new Connection | Clone: Calling Clone on a UDP connection creates a new Connection | |||
End of changes. 3 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |