draft-ietf-cdni-request-routing-extensions-00.txt | draft-ietf-cdni-request-routing-extensions-01.txt | |||
---|---|---|---|---|
Network Working Group O. Finkelman | Network Working Group O. Finkelman | |||
Internet-Draft Qwilt | Internet-Draft Qwilt | |||
Intended status: Standards Track S. Mishra | Intended status: Standards Track S. Mishra | |||
Expires: April 20, 2019 Verizon | Expires: August 7, 2019 Verizon | |||
October 17, 2018 | February 3, 2019 | |||
CDNI Request Routing Extensions | CDNI Request Routing Extensions | |||
draft-ietf-cdni-request-routing-extensions-00 | draft-ietf-cdni-request-routing-extensions-01 | |||
Abstract | Abstract | |||
The Open Caching working group of the Streaming Video Alliance is | The Open Caching working group of the Streaming Video Alliance is | |||
focused on the delegation of video delivery requests from commercial | focused on the delegation of video delivery requests from commercial | |||
CDNs to a caching layer at the ISP. In that aspect, Open Caching is | CDNs to a caching layer at the ISP. In that aspect, Open Caching is | |||
a specific use case of CDNI, where the commercial CDN is the upstream | a specific use case of CDNI, where the commercial CDN is the upstream | |||
CDN (uCDN) and the ISP caching layer is the downstream CDN (dCDN). | CDN (uCDN) and the ISP caching layer is the downstream CDN (dCDN). | |||
The extensions specified in this document to the CDNI Metadata and | The extensions specified in this document to the CDNI Metadata and | |||
FCI interfaces are derived from requirements raised by Open Caching | FCI interfaces are derived from requirements raised by Open Caching | |||
skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on April 20, 2019. | This Internet-Draft will expire on August 7, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Redirect Target Address Capability Object . . . . . . . . . . 3 | 2. Redirect Target Address Capability Object . . . . . . . . . . 3 | |||
2.1. DnsTarget . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. DnsTarget . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.2. HttpTarget . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.2. HttpTarget . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3. Fallback Target Address Metadata . . . . . . . . . . . . . . 7 | 3. Fallback Target Address Metadata . . . . . . . . . . . . . . 7 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
4.1. CDNI Payload Types . . . . . . . . . . . . . . . . . . . 9 | 4.1. CDNI Payload Types . . . . . . . . . . . . . . . . . . . 9 | |||
4.1.1. CDNI FCI RedirectTarget Payload Type . . . . . . . . 9 | 4.1.1. CDNI FCI RedirectTarget Payload Type . . . . . . . . 9 | |||
4.1.2. CDNI MI FallbackTarget Payload Type . . . . . . . . . 9 | 4.1.2. CDNI MI FallbackTarget Payload Type . . . . . . . . . 9 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | |||
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 10 | 8.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
1. Introduction | 1. Introduction | |||
This document defines objects needed for Open Caching request | This document defines objects needed for Open Caching request | |||
routing. For that purpose it extends CDNI metadata [RFC8006] and | routing. For that purpose it extends CDNI metadata [RFC8006] and | |||
CDNI Footprint and Capabilities [RFC8008]. For consistency, this | CDNI Footprint and Capabilities [RFC8008]. For consistency, this | |||
document follows the CDNI notation of uCDN (the commercial CDN) and | document follows the CDNI notation of uCDN (the commercial CDN) and | |||
dCDN (the ISP caching layer). | dCDN (the ISP caching layer). | |||
skipping to change at page 4, line 11 ¶ | skipping to change at page 4, line 11 ¶ | |||
The Redirect Target capability object is used to indicate the target | The Redirect Target capability object is used to indicate the target | |||
address the uCDN should use in order to redirect a client to the | address the uCDN should use in order to redirect a client to the | |||
dCDN. A target may be attached to a specific uCDN host, a list of | dCDN. A target may be attached to a specific uCDN host, a list of | |||
uCDN hosts, or it can be set globally for all the hosts of the uCDN. | uCDN hosts, or it can be set globally for all the hosts of the uCDN. | |||
When dCDN is attaching the redirect target to a specific uCDN host or | When dCDN is attaching the redirect target to a specific uCDN host or | |||
a list of uCDN hosts, the dCDN MUST advertise the hosts within the | a list of uCDN hosts, the dCDN MUST advertise the hosts within the | |||
Redirect Target Capability object as "redirecting-hosts". In that | Redirect Target Capability object as "redirecting-hosts". In that | |||
case, the uCDN can redirect to that dCDN address, only if the request | case, the uCDN can redirect to that dCDN address, only if the request | |||
is of one of these uCDN hosts. | was directed to one of these uCDN hosts. | |||
A redirect target for DNS redirection is the FQDN to be used as a | A redirect target for DNS redirection is an IP address used as an A | |||
CNAME for the uCDN host (see [RFC1034]). | record response or a FQDN used as an alias in a CNAME record response | |||
(see [RFC1034]) of the uCDN DNS router. Note that DNS routers take | ||||
routing decisions based on either the DNS resolver's IP address or | ||||
the client IP address when EDNS0 client-subnet is used (see | ||||
[RFC7871]). The dCDN may choose to advertise redirect targets and | ||||
footprints to cover both cases. A uCDN DNS router implemenation | ||||
SHOULD prefer routing based on client IP address when it is | ||||
available. | ||||
A redirect target for HTTP redirection is the hostname to be used as | A redirect target for HTTP redirection is the URI to be used as a | |||
the first path segment in an absolute URI which is used as the | value of the Location header of a HTTP redirect 3xx response, | |||
Location header of the HTTP rediret response (see section 7.1.2 of | typically a 302 (Found) (see section 7.1.2 of [RFC7231] and section | |||
[RFC7231]). | 6.4 of [RFC7231]). | |||
Property: redirecting-hosts | Property: redirecting-hosts | |||
Description: One or more uCDN hosts to which this redirect | Description: One or more uCDN hosts to which this redirect | |||
target is attached. A redirecting host SHOULD be a host that | target is attached. A redirecting host SHOULD be a host that | |||
was published in a HostMatch object by the uCDN as defined in | was published in a HostMatch object by the uCDN as defined in | |||
section 4.1.2 of [RFC8006]. | section 4.1.2 of [RFC8006]. | |||
Type: A list of Endpoint objects (see section 4.3.3 of | Type: A list of Endpoint objects (see section 4.3.3 of | |||
[RFC8006]) | [RFC8006]) | |||
Mandatory-to-Specify: No. If not present, or empty, the | Mandatory-to-Specify: No. If not present, or empty, the | |||
redirect target applies to all hosts of the redirecting uCDN. | redirect target applies to all hosts of the redirecting uCDN. | |||
Property: dns-target | Property: dns-target | |||
Description: Target address for DNS CNAME delegation. | Description: Target address for DNS A record or CNAME record. | |||
Type: DnsTarget object (see Section 2.1) | Type: DnsTarget object (see Section 2.1) | |||
Mandatory-to-Specify: No. but at least one of "dns-target" or | Mandatory-to-Specify: No. but at least one of "dns-target" or | |||
"http-target" MUST be present and non empty. | "http-target" MUST be present and non empty. | |||
Property: http-target | Property: http-target | |||
Description: Target URI for HTTP redirect. | ||||
Description: Target URL for HTTP redirect. | ||||
Type: HttpTarget object (see Section 2.2) | Type: HttpTarget object (see Section 2.2) | |||
Mandatory-to-Specify: No. but at least one of "dns-target" or | Mandatory-to-Specify: No. but at least one of "dns-target" or | |||
"http-target" MUST be present and non empty. | "http-target" MUST be present and non empty. | |||
Example of Redirect Target Capability object that advertises a dCDN | Example of Redirect Target Capability object that advertises a dCDN | |||
target address that is attached to a specific list of uCDN | target address that is attached to a specific list of uCDN | |||
"redirecting-hosts". A uCDN host that is included in that list can | "redirecting-hosts". A uCDN host that is included in that list can | |||
redirect to the advertised dCDN redirect target. | redirect to the advertised dCDN redirect target. | |||
{ | ||||
"capabilities": [ | ||||
{ | { | |||
"capabilities": [ | "capability-type": "FCI.RedirectTarget", | |||
{ | "capability-value": { | |||
"capability-type": "FCI.RedirectTarget", | "redirecting-hosts": [ | |||
"capability-value": { | "a.service123.ucdn.example.com", | |||
"redirecting-hosts": [ | "b.service123.ucdn.example.com" | |||
"a.service123.ucdn.example.com", | ] | |||
"b.service123.ucdn.example.com" | "dns-target": { | |||
] | "host": "service123.ucdn.example.dcdn.com" | |||
"dns-target": { | } | |||
"host": "service123.ucdn.example.dcdn.com" | "http-target": { | |||
} | <Properties of an HttpTarget object> | |||
"http-target": { | } | |||
<Properties of an HttpTarget object> | }, | |||
} | "footprints": [ | |||
}, | <Footprint objects> | |||
"footprints": [ | ] | |||
<Footprint objects> | ||||
] | ||||
} | ||||
] | ||||
} | } | |||
] | ||||
} | ||||
2.1. DnsTarget | 2.1. DnsTarget | |||
The DnsTarget object is the target address for CNAME delegation from | The DnsTarget object gives the instructions to construct the target | |||
the uCDN to the dCDN. | address for the DNS response for delegation from the uCDN to the | |||
dCDN. | ||||
Property: host | Property: host | |||
Description: The host property is a hostname, without a port | Description: The host property is a hostname or an IP address, | |||
number. | without a port number. | |||
Type: Endpoint object as defined in section 4.3.3 of [RFC8006] | Type: Endpoint object as defined in section 4.3.3 of [RFC8006] | |||
with the limitation that it MUST only be a hostname, and it | with the limitation that it MUST NOT include a port number. | |||
MUST NOT include a port number. | ||||
Mandatory-to-Specify: Yes. | Mandatory-to-Specify: Yes. | |||
Example of DnsTarget object: | Example of DnsTarget object: | |||
{ | { | |||
"host": "service123.ucdn.example.dcdn.com" | "host": "service123.ucdn.example.dcdn.com" | |||
} | } | |||
Example of a DNS query for uCDN address | Example of a DNS query for uCDN address | |||
"a.service123.ucdn.example.com" and the corresponding CNAME | "a.service123.ucdn.example.com" and the corresponding CNAME | |||
redirection response: | redirection response: | |||
Query: | Query: | |||
a.service123.ucdn.example.com: | a.service123.ucdn.example.com: | |||
type A, class IN | type A, class IN | |||
Response: | Response: | |||
a.service123.ucdn.example.com: | a.service123.ucdn.example.com: | |||
type CNAME, class IN, cname service123.ucdn.example.dcdn.com | type CNAME, class IN, cname service123.ucdn.example.dcdn.com | |||
2.2. HttpTarget | 2.2. HttpTarget | |||
The HttpTarget object is the target address for http redirection from | The HttpTarget object gives the instructions to construct the target | |||
the uCDN to the dCDN. | Location URI for http redirection from the uCDN to the dCDN. | |||
Property: host | Property: host | |||
Description: Hostname or IP address and optional port, i.e., | Description: Hostname or IP address and an optional port, i.e., | |||
the host and port as described in section 3.2 of [RFC3986]. | the host and port of the authority component of the URI as | |||
described in section 3.2 of [RFC3986]. | ||||
Type: Endpoint object as defined in section 4.3.3 of [RFC8006]. | Type: Endpoint object as defined in section 4.3.3 of [RFC8006]. | |||
Mandatory-to-Specify: Yes. | Mandatory-to-Specify: Yes. | |||
Property: path-prefix | Property: path-prefix | |||
Description: A path prefix for the HTTP redirect. The original | Description: A path prefix for the HTTP redirect Location | |||
path is appended after this prefix. | header. The original path is appended after this prefix. | |||
Type: A prefix of a path-absolute as defined in section 3.3 of | Type: A prefix of a path-absolute as defined in section 3.3 of | |||
[RFC3986]. The prefix MUST end with a trailing slash, to | [RFC3986]. The prefix MUST end with a trailing slash, to | |||
indicate the end of the last path segment in the prefix. | indicate the end of the last path segment in the prefix. | |||
Mandatory-to-Specify: No. If this property is absent or empty, | Mandatory-to-Specify: No. If this property is absent or empty, | |||
the uCDN MUST NOT prepend a path prefix to the original content | the uCDN MUST NOT prepend a path prefix to the original content | |||
path. | path, i.e. the original path MUST appear in the location URI | |||
right after the authority component. | ||||
Property: include-redirecting-host | Property: include-redirecting-host | |||
Description: A flag indicating whether or not to include the | Description: A flag indicating whether or not to include the | |||
redirecting host as the first path segment after the path- | redirecting host as the first path segment after the path- | |||
prefix. In case this flag is true and a "path-prefix" is used, | prefix. In case this flag is true and a "path-prefix" is used, | |||
the uCDN redirecting host MUST be added as a separate path | the uCDN redirecting host MUST be added as a separate path | |||
segment after the path-prefix and before the original URL path. | segment after the path-prefix and before the original URL path. | |||
In case this flag is true and there is no path-prefix, the uCDN | In case this flag is true and there is no path-prefix, the uCDN | |||
redirecting host MUST be perpended as the first path segment in | redirecting host MUST be prepended as the first path segment in | |||
the redirect URL. | the redirect URL. | |||
Type: Boolean. | Type: Boolean. | |||
Mandatory-to-Specify: No. Default value is False. | Mandatory-to-Specify: No. Default value is False. | |||
Example of HttpTarget object with a path-prefix and include- | Example of HttpTarget object with a path-prefix and include- | |||
redirecting-host: | redirecting-host: | |||
{ | { | |||
"host": "us-east1.dcdn.com", | "host": "us-east1.dcdn.com", | |||
"path-prefix": "/cache/1/", | "path-prefix": "/cache/1/", | |||
"include-redirecting-host": true | "include-redirecting-host": true | |||
} | } | |||
Example of a HTTP request for content at uCDN host | Example of a HTTP request for content at uCDN host | |||
"a.service123.ucdn.example.com" and the corresponding HTTP response | "a.service123.ucdn.example.com" and the corresponding HTTP response | |||
with Location header used for redirecting the client to the dCDN | with Location header used for redirecting the client to the dCDN | |||
using the the http-target in the above example: | using the the http-target in the above example: | |||
Request: | Request: | |||
GET /vod/1/movie.mp4 HTTP/1.1 | GET /vod/1/movie.mp4 HTTP/1.1 | |||
Host: a.service123.ucdn.example.com | Host: a.service123.ucdn.example.com | |||
skipping to change at page 7, line 47 ¶ | skipping to change at page 8, line 4 ¶ | |||
3. Fallback Target Address Metadata | 3. Fallback Target Address Metadata | |||
Open Caching requires that the uCDN should provide fallback target | Open Caching requires that the uCDN should provide fallback target | |||
server to the dCDN to be used in cases where the dCDN cannot properly | server to the dCDN to be used in cases where the dCDN cannot properly | |||
handle the request. To avoid redirect loops, the fallback target | handle the request. To avoid redirect loops, the fallback target | |||
server's address at the uCDN MUST be differnet than the original | server's address at the uCDN MUST be differnet than the original | |||
address at the uCDN from which the client was redirected to the dCDN. | address at the uCDN from which the client was redirected to the dCDN. | |||
The uCDN MUST avoid further redirection when receiving the client | The uCDN MUST avoid further redirection when receiving the client | |||
request at the fallback target. The fallback target is defined as a | request at the fallback target. The fallback target is defined as a | |||
generic metadata object (see section 3.2 of [RFC8006]) | generic metadata object (see section 3.2 of [RFC8006]) | |||
Use cases | Use cases | |||
o Failover: A dCDN request router receives a request but has no | o Failover: A dCDN request router receives a request but has no | |||
caches to which it can route the request. This can happen in the | caches to which it can route the request. This can happen in the | |||
case of failures or temporary network overload. In these cases, | case of failures or temporary network overload. | |||
the router may choose to redirect the request back to the uCDN | ||||
fallback address. | o No coverage: A dCDN request router receives a request from a | |||
client located in an area inside the footprint but not covered by | ||||
the dCDN caches, or a client located outside the dCDN footprint | ||||
coverage. In such cases, the router may choose to redirect the | ||||
request back to the uCDN fallback address. | ||||
o Error: A cache may receive a request that it cannot properly | o Error: A cache may receive a request that it cannot properly | |||
serve, for example, some of the metadata objects for that service | serve, for example, some of the metadata objects for that service | |||
were not properly acquired. In this case, the cache may resolve | were not properly acquired. In this case, the cache may resolve | |||
to redirect back to uCDN. | to redirect back to uCDN. | |||
The Fallback target metadata object is used to indicate the target | The Fallback target metadata object is used to indicate the target | |||
address the dCDN should use in order to redirect a client back to the | address the dCDN should use in order to redirect a client back to the | |||
uCDN. Fallback target is represented as endpoint objects as defined | uCDN. Fallback target is represented as endpoint objects as defined | |||
in section 4.3.3 of [RFC8006]. | in section 4.3.3 of [RFC8006]. | |||
The uCDN fallback target address may be used as a DNS CNAME in case | The uCDN fallback target address may be used as a DNS A record or | |||
of DNS redirection mode or a host name for HTTP redirect. | CNAME record in case of DNS redirection mode or a host name for HTTP | |||
redirect. | ||||
When using HTTP redirect to route a client request back to the uCDN, | When using HTTP redirect to route a client request back to the uCDN, | |||
it is the dCDN's responsibility to use the original URL path as the | it is the dCDN's responsibility to use the original URL path as the | |||
client would have used for the original uCDN request, stripping, if | client would have used for the original uCDN request, stripping, if | |||
needed, the dCDN path-prefix and the uCDN host name from the redirect | needed, the dCDN path-prefix and the uCDN host name from the redirect | |||
URL that may have been used to request the content from the dCDN. | URL that may have been used to request the content from the dCDN. | |||
Property: host | Property: host | |||
Description: Target address to which the dCDN can redirect the | Description: Target address to which the dCDN can redirect the | |||
client. | client. | |||
Type: Endpoint object as defined in section 4.3.3 of [RFC8006] | Type: Endpoint object as defined in section 4.3.3 of [RFC8006] | |||
with the limitation that in case of DNS delegation, it MUST | with the limitation that in case of DNS delegation, it MUST NOT | |||
only be a hostname, and it MUST NOT include a port number. | include a port number. | |||
Mandatory-to-Specify: Yes. | Mandatory-to-Specify: Yes. | |||
Example of a MI.FallbackTarget Metadata object that designates the | Example of a MI.FallbackTarget Metadata object that designates the | |||
host address the dCDN should use as fallback address to redirect back | host address the dCDN should use as fallback address to redirect back | |||
to the uCDN. | to the uCDN. | |||
{ | { | |||
"generic-metadata-type": "MI.FallbackTarget", | "generic-metadata-type": "MI.FallbackTarget", | |||
"generic-metadata-value": | "generic-metadata-value": | |||
{ | { | |||
"host": "fallback-a.service123.ucdn.example" | "host": "fallback-a.service123.ucdn.example" | |||
} | } | |||
} | } | |||
4. IANA Considerations | 4. IANA Considerations | |||
4.1. CDNI Payload Types | 4.1. CDNI Payload Types | |||
This document requests the registration of the following CDNI Payload | This document requests the registration of the following CDNI Payload | |||
Types under the IANA CDNI Payload Type registry defined in [RFC7736]: | Types under the IANA CDNI Payload Type registry defined in [RFC7736]: | |||
+--------------------+---------------+ | +--------------------+---------------+ | |||
skipping to change at page 11, line 19 ¶ | skipping to change at page 11, line 27 ¶ | |||
[RFC7336] Peterson, L., Davie, B., and R. van Brandenburg, Ed., | [RFC7336] Peterson, L., Davie, B., and R. van Brandenburg, Ed., | |||
"Framework for Content Distribution Network | "Framework for Content Distribution Network | |||
Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336, | Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336, | |||
August 2014, <https://www.rfc-editor.org/info/rfc7336>. | August 2014, <https://www.rfc-editor.org/info/rfc7336>. | |||
[RFC7736] Ma, K., "Content Delivery Network Interconnection (CDNI) | [RFC7736] Ma, K., "Content Delivery Network Interconnection (CDNI) | |||
Media Type Registration", RFC 7736, DOI 10.17487/RFC7736, | Media Type Registration", RFC 7736, DOI 10.17487/RFC7736, | |||
December 2015, <https://www.rfc-editor.org/info/rfc7736>. | December 2015, <https://www.rfc-editor.org/info/rfc7736>. | |||
[RFC7871] Contavalli, C., van der Gaast, W., Lawrence, D., and W. | ||||
Kumari, "Client Subnet in DNS Queries", RFC 7871, | ||||
DOI 10.17487/RFC7871, May 2016, | ||||
<https://www.rfc-editor.org/info/rfc7871>. | ||||
Authors' Addresses | Authors' Addresses | |||
Ori Finkelman | Ori Finkelman | |||
Qwilt | Qwilt | |||
6, Ha'harash | 6, Ha'harash | |||
Hod HaSharon 4524079 | Hod HaSharon 4524079 | |||
Israel | Israel | |||
Phone: +972-72-2221647 | Phone: +972-72-2221647 | |||
Email: orif@qwilt.com | Email: orif@qwilt.com | |||
End of changes. 30 change blocks. | ||||
71 lines changed or deleted | 88 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |