-
Notifications
You must be signed in to change notification settings - Fork 2
/
draft-reddy-add-enterprise-split-dns-07.xml
582 lines (496 loc) · 30 KB
/
draft-reddy-add-enterprise-split-dns-07.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-reddy-add-enterprise-split-dns-07"
ipr="trust200902">
<front>
<title abbrev="Split-Horizon DNS Configuration">Split-Horizon DNS
Configuration</title>
<author fullname="Tirumaleswar Reddy" initials="T." surname="Reddy">
<organization>Akamai</organization>
<address>
<postal>
<street>Embassy Golf Link Business Park</street>
<city>Bangalore</city>
<region>Karnataka</region>
<code>560071</code>
<country>India</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Dan Wing" initials="D." surname="Wing">
<organization abbrev="Citrix">Citrix Systems, Inc.</organization>
<address>
<postal>
<street>4988 Great America Pkwy</street>
<city>Santa Clara</city>
<region>CA</region>
<code>95054</code>
<country>USA</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Kevin Smith" initials="K." surname="Smith">
<organization abbrev="Vodafone">Vodafone Group</organization>
<address>
<postal>
<street>One Kingdom Street</street>
<city>London</city>
<country>UK</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<date />
<workgroup>ADD</workgroup>
<abstract>
<t>When split-horizon DNS is deployed by a network, certain domains are
only resolvable by querying the network-designated DNS server rather
than a public DNS server. DNS clients which use DNS servers not provided
by the network need to route those DNS domain queries to the
network-designated DNS server. This document informs DNS clients of
split-horizon DNS, their DNS domains, and is compatible with encrypted
DNS.</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>Historically, an endpoint would utilize network-designated DNS
servers upon joining a network (e.g., DHCP OFFER, IPv6 Router
Advertisement). While it has long been possible to configure endpoints
to ignore the network's suggestions and use a public DNS server on the
Internet, this was seldom used because some networks block UDP/53 in
order to enforce their own DNS policies. Also, there has been an
increase in the availability of "public resolvers" <xref
target="RFC8499"></xref> which DNS clients may be pre-configured to use
instead of the default network resolver for a variety of reasons (e.g.,
offer a good reachability, support an encrypted transport, provide a
claimed privacy policy, (lack of) filtering). With the advent of DoT and
DoH, the endpoint is unable to properly resolve split-horizon DNS
domains which must query the network-designated DNS server.</t>
<t>This document specifies a mechanism to indicate which DNS zones are
used for split-horizon DNS. DNS clients can discover and authenticate
DNS servers provided by the network, for example using the techniques
proposed in <xref target="I-D.ietf-add-dnr"></xref> and <xref
target="I-D.ietf-add-ddr"></xref>.</t>
<t>The scope of the specification is split-horizon DNS names, which are
not domains reserved for special use like ".local". Using these domains
are difficult because bookmarks, advertising, and human behavior would
need to change so that the special domains only work when connected to
the correct network, which is difficult for users to discern on most
endpoints. Furthermore, as special domains cannot obtain certificates
from a public CA, authenticated TLS connections to those servers are
fraught with (Trust on First Use) and certificate warnings, a
longstanding problem in the industry.</t>
</section>
<section anchor="notation" title="Terminology">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
<xref target="RFC2119"></xref><xref target="RFC8174"></xref> when, and
only when, they appear in all capitals, as shown here.</t>
<t>This document makes use of the terms defined in <xref
target="RFC8499"></xref>. The terms "Private DNS", "Global DNS" and
"Split DNS" are defined in <xref target="RFC8499"></xref>.</t>
<t>'Encrypted DNS' refers to a DNS protocol that provides an encrypted
channel between a DNS client and server (e.g., DoT, DoH, or DoQ).</t>
</section>
<section anchor="split-horizon" title="Split DNS">
<t><xref target="RFC2826"></xref> "does not preclude private networks
from operating their own private name spaces" but notes that if private
networks "wish to make use of names uniquely defined for the global
Internet, they have to fetch that information from the global DNS naming
hierarchy".</t>
<t>There are various DNS deployments outside of the global DNS,
including "split horizon" deployments and DNS usages on private (or
virtual private) networks. In a split horizon, an authoritative server
gives different responses to queries from the Internet than they do to
network-designated DNS servers; while some deployments differentiate
internal queries from public queries by the source IP address, the
concerns in Section 3.1.1 of <xref target="RFC6950"></xref> relating to
trusting source IP addresses apply to such deployments.</t>
<t>When the internal address space range is private <xref
target="RFC1918"></xref>, this makes it both easier for the server to
discriminate public from private and harder for public entities to
impersonate nodes in the private network. The use cases that motivate
split-horizon DNS typically involve restricting access to some network
services -- intranet resources such as internal web sites, development
servers, or directories, for example -- while preserving the ease of use
offered by domain names for internal users.</t>
<t>A typical use case is an Enterprise network that requires one or more
DNS domains to be resolved via network-designated DNS servers. This can
be a special domain, such as "corp.example.com" for an enterprise that
is publicly known to use "example.com". In this case, the endpoint needs
to be informed what the private domain names are and what the IP
addresses of the network-designated DNS servers are. An Enterprise can
also run a different version of its global domain on its internal
network. In that case, the client is instructed to send DNS queries for
the enterprise public domain (e.g., "example.com") to the
network-designated DNS servers. A configuration for this deployment
scenario is referred to as a Split DNS configuration. Another use case
for split-horizon DNS is Cellular and Fixed-access networks (ISPs)
typically offer private domains, including account status/controls, and
free education initiatives <xref target="INS"></xref>.</t>
</section>
<section anchor="dnsZones" title="Provisioning Domains dnsZones">
<t>As discussed in <xref target="split-horizon"></xref>, internal
resources in a network tend to have private DNS names. A network can
also run a different version of its global domain on its internal
network, and require the use of network-designated DNS servers to get
resolved.</t>
<t>Provisioning Domains (PvDs) are defined in <xref
target="RFC7556"></xref> as sets of network configuration information
that clients can use to access networks, including rules for DNS
resolution and proxy configuration. The PvD Key dnsZones is defined in
<xref target="RFC8801"></xref>. The PvD Key dnsZones adds support for
DNS domains for which the network claims authority, and which are
intended to be resolved using network-designated DNS servers. The
private domains in dnsZones are only reachable by devices attached and
authenticated to the network. The global domains specified in the
dnsZones key have a different version in the internal network. DNS
resolution for other domains remains unchanged.</t>
<t>For each dnsZones entry, the client can use the network-designated
DNS servers to resolve the listed domains and its subdomains. Other
domain names may be resolved using some other DNS servers that are
configured independently. For example, if the dnsZones key specifies
"example.test", then "example.test", "www.example.test", and
"mail.eng.example.test" can be resolved using the network-designated DNS
resolver(s), but "otherexample.test" and "ple.test" can be resolved
using the system's public resolver(s).</t>
<t><xref target="RFC8801"></xref> defines a mechanism for discovering
multiple Explicit PvDs on a single network and their Additional
Information by means of an HTTP-over-TLS query using a URI derived from
the PvD ID. This set of additional configuration information is referred
to as a Web Provisioning Domain (Web PvD). The PvD RA option defined in
<xref target="RFC8801"></xref> SHOULD set the H-flag to indicate that
Additional Information is available. This Additional Information JSON
object SHOULD include the "dnsZones" key to define the DNS domains for
which the network claims authority.</t>
<section anchor="Authority" title="Authority over the Domains">
<t>To comply with <xref target="RFC2826"></xref> the split-horizon DNS
zone must either not exist in the global DNS hierarchy or must be
authoritatively delegated to the split-horizon DNS server to answer.
The DNS root zone (".") MUST be ignored if it appears in dnsZones.
Other generic or global domains, such as Top-Level Domains (TLDs),
similarly MUST be ignored if they appear in dnsZones.</t>
<t>The client can use the mechanism described in <xref
target="I-D.ietf-add-dnr"></xref> to discover the network-designated
resolvers. To determine if the network-designated encrypted resolvers
are authoritative over the domains in DnsZones, the client performs
the following steps for each domain in DnsZones:</t>
<t><list style="numbers">
<t>The client sends an NS query for the domain in DnsZones. This
query MUST only be sent over encrypted DNS session to a public
resolver that is configured independently. A DNSSEC-validating
client SHOULD apply the same validation policy to the NS query as
it does to other queries. A client that does not validate DNSSEC
SHOULD apply the same policy (if any) to the NS query as it does
to other queries.</t>
<t>The client checks that the NS RRset matches any one of the
Authentication Domain Names (ADNs) of the discovered
network-designated encrypted DNS resolvers. <list style="letters">
<t>If the match fails and no ADN of the discovered
network-designated encrypted DNS resolvers is a subdomain of
NS RRset, the client determines the network is not
authoritative for the indicated domain. It might log an error,
reject the network entirely (because the network lied about
its authority over a domain) or other action.</t>
<t>If the match fails but any one of the ADNs of the
discovered network-designated encrypted DNS resolvers is a
subdomain of NS RRset, the client can then establish a TLS
connection to that network-designated resolver. The client
follows the mechanism discussed in Section 8 of <xref
target="RFC8310"></xref> to authenticate the DNS server
certificate using the ADN and checks if at least one of the
values in subjectAltName matches NS RRset. If the server
certificate validation and match succeeds, the client can
subsequently resolve the domains in that subtree using the
network-designated resolver. If the server certificate does
not validate or match fails, the client can proceed as
discussed in step 2 (A).</t>
<t>If the match succeeds, the client can then establish a TLS
connection to that network-designated resolver. The client
follows the mechanism discussed in Section 8 of <xref
target="RFC8310"></xref> to authenticate the DNS server
certificate using the ADN.<list style="symbols">
<t>If the server certificate does not validate and a
secure connection cannot be established to the network
designated resolver, the client can proceed as discussed
in step 2 (A).</t>
<t>If the server certificate validation is successful and
a secure connection is established, the client can
subsequently resolve the domains in that subtree using the
network-designated resolver.</t>
</list></t>
</list></t>
<t>As an exception to this rule, the client need not perform the
above validation for domains reserved for special use <xref
target="RFC6761"></xref> or <xref target="RFC6762"></xref> such as
".home.arpa" or ".local".</t>
<t>Authenticated denial of existence using NSEC3 or NSEC records
can be used by a client to identify that the domain name does not
exist in the global DNS.</t>
</list></t>
<t>For example, if in a network the private domain names are defined
under "internal.corp1.example.com". The DnsZones PvD Key would
indicate that "*.internal.corp1.example.com" are private domain names.
The client can trigger a NS query of "internal.corp1.example.com" and
the NS RRset returns that the nameserver is "ns1.corp2.example.com".
The client would then connect to the network-designated encrypted
resolver whose name is "ns1.corp2.example.com", authenticate it using
server certificate validation in TLS handshake, and use it for
resolving the domains in the subtree of
"*.internal.corp1.example.com".</t>
</section>
</section>
<section title="An example of Split-Horizon DNS Configuration">
<t>In a network the apex domain name is "example.com", which runs a
different version of its global domain on its internal network. Today,
on the Internet it publishes two NS records, "ns1.example.com" and
"ns2.example.com".</t>
<t>To add support for the mechanism described in this document, the
network and endpoints first need to support <xref
target="I-D.ietf-add-dnr"></xref> and <xref target="RFC8801"></xref>.
Then, for each site the administrator would add DNS server names which
end in "ns1.example.com" or "ns2.example.com" (the names published on
the Internet). Also on its internal network, it uses a geographic naming
scheme for its internal nameservers with a "service dot location" naming
scheme. Assuming its two geographies are "us" and "uk". So the UK site
would add "ns1.uk.ns1.example.com" and "ns2.uk.ns2.example.com". Note
that these names can be added in addition to more traditional names that
might already exist for those DNS servers (e.g., the common "service dot
location" such as "ns1.uk.example.com"). All of those names would be
advertised to the endpoints as described in <xref
target="I-D.ietf-add-dnr"></xref>.</t>
<t>The endpoints compliant with this specification can then determine
the network's internal nameservers are owned and managed by the same
entity that has published the NS records on the Internet, as described
in the following paragraphs:</t>
<t>Continuing with the UK site as the example, the endpoint will join
the network, obtain an IPv6 address, and using <xref
target="I-D.ietf-add-dnr"></xref> will discover the resolvers
"ns1.uk.ns1.example.com" and "ns2.uk.ns2.example.com" and their IP
addresses. Using <xref target="RFC8801"></xref> (which utilizes IPv6
Router Advertisments), the endpoint will also discover the PvD FQDN is
"pvd.uk.example.com".</t>
<t>Continuing with the UK site as the example, the endpoint performs the
following steps corresponding with the call flow diagram numbers:</t>
<t><list style="hanging">
<t hangText="Steps 1-2:">The client joins the network, obtain an IP
address, and using <xref target="I-D.ietf-add-dnr"></xref> will
discover the resolvers "ns1.uk.ns1.example.com" and
"ns2.uk.ns1.example.com" and their IP addresses. Using <xref
target="RFC8801"></xref>, the endpoint will also discover the PvD
FQDN is "pvd.uk.example.com".</t>
<t hangText="Steps 3-7:">The client establishes an encrypted DNS
connection with "ns1.uk.ns1.example.com", validates its TLS
certificate, and queries it for "pvd.uk.example.com" to retrieve the
PvD JSON object. Note that <xref target="RFC8801"></xref> in Section
4.1 mandates the PvD FQDN MUST be resolved using the DNS servers
indicated by the associated PvD. The PvD contains:<figure>
<artwork><![CDATA[ {
"identifier": "pvd.uk.example.com",
"expires": "2020-05-23T06:00:00Z",
"prefixes": ["2001:db8:1::/48", "2001:db8:4::/48"],
"dnsZones:": ["example.com"]
}]]></artwork>
</figure>The JSON keys "identifier", "expires", and "prefixes" are
defined in <xref target="RFC8801"></xref>.</t>
<t hangText="Steps 8-9:">The client then uses an encrypted DNS
connection to a public resolver (e.g., 1.1.1.1) to issue NS queries
for the domains in dnsZones. The NS lookup for "example.com" will
return "ns1.example.com" and "ns2.example.com".</t>
<t hangText="Step 10:">As the network-provided nameservers are
subdomains of those names retrieved from the public resolver and the
network-designated resolver's certificate includes at least one of
the names retrieved from the public resolver, the client has
finished validation that the nameservers signaled in <xref
target="I-D.ietf-add-dnr"></xref> and <xref target="RFC8801"></xref>
are owned and managed by the same entity that published the NS
records on the Internet. The endpoint will then use that information
from <xref target="I-D.ietf-add-dnr"></xref> and <xref
target="RFC8801"></xref> to resolve names within dnsZones.</t>
</list></t>
<t><xref target="poex"></xref> is a simple call flow diagram of the
example discussed above.</t>
<figure anchor="poex"
title="An Example of Split-Horizon DNS Configuration">
<artwork><![CDATA[+---------+ +-------------------+ +------------+ +---------+ +---------+
| client | | Network | | Network | | Router | | public |
| | | encrypted resolvr | | PvD server | | | | resolvr |
+---------+ +-------------------+ +------------+ +---------+ +---------+
| | | | |
| Router Solicitation (1) | | | |
|-------------------------------------------------------------->| |
| | | | |
| Router Advertisement with DNR hostnames & PvD FQDN (2) | |
|<--------------------------------------------------------------| |
| -------------------------------------\ | | | |
|-| now knows DNR hostnames & PvD FQDN | | | | |
| |------------------------------------| | | | |
| | | | |
| TLS connection (3) | | | |
|----------------------------------------->| | | |
| ---------------------------\ | | | |
|-| validate TLS certificate | | | | |
| |--------------------------| | | | |
| | | | |
| resolve pvd.uk.example.com (4) | | | |
|----------------------------------------->| | | |
| | | | |
| AAAA records (5) | | | |
|<-----------------------------------------| | | |
| | | | |
| https://pvd.uk.example.com/.well-known/pvd (6) | | |
|--------------------------------------------------->| | |
| | | | |
| 200 OK (JSON Additional Information) (7) | | |
|<---------------------------------------------------| | |
| -----------------------\ | | | |
|-| dnsZones=example.com | | | | |
| |----------------------| | | | |
| | | | |
| TLS connection | | | |
|-------------------------------------------------------------------------->|
| ---------------------------\ | | | |
|-| validate TLS certificate | | | | |
| |--------------------------| | | | |
| | | | |
| NS? example.com (8) | | | |
|-------------------------------------------------------------------------->|
| | | | |
| NS=ns1.example.com, ns2.example.com (9) |
|<--------------------------------------------------------------------------|
| -------------------------------\ | | | |
|-| ns1.uk.ns1.example.com is | | | | |
| | subdomain of ns1.example.com | | | | |
| ----------------------\--------| | | | |
|-| finished validation | | | | |
| |---------------------| | | | |
| | | | |
| use network-designated resolver | | | |
| for example.com (10) | | | |
|----------------------------------------->| | | |
| | | | |
]]></artwork>
</figure>
</section>
<section anchor="VPN" title="Split DNS Configuration for IKEv2">
<t>The split-tunnel Virtual Private Network (VPN) configuration allows
the endpoint to access resources that reside in the VPN <xref
target="RFC8598"></xref> via the tunnel; other traffic not destined to
the VPN does not traverse the tunnel. In contrast, a non-split- tunnel
VPN configuration causes all traffic to traverse the tunnel into the
VPN.</t>
<t>When the VPN tunnel is IPsec, the encrypted DNS resolver hosted by
the VPN service provider can be securely discovered by the endpoint
using the ENCDNS_IP*_* IKEv2 Configuration Payload Attribute Types
defined in <xref target="I-D.btw-add-ipsecme-ike"></xref>. For
split-tunnel VPN configurations, the endpoint uses the discovered
encrypted DNS server to resolve domain names for which the VPN provider
claims authority. For non-split-tunnel VPN configurations, the endpoint
uses the discovered encrypted DNS server to resolve both global and
private domain names. For split-tunnel VPN configurations, the IKE
client can use the steps discussed in <xref target="Authority"></xref>
to determine if the VPN service provider is authoritative over the
INTERNAL_DNS_DOMAIN domains.</t>
<t>Other VPN tunnel types have similar configuration capabilities, not
detailed here.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>The content of dnsZones may be passed to another (DNS) program for
processing. As with any network input, the content SHOULD be considered
untrusted and handled accordingly. The client must perform the steps
discussed in <xref target="Authority"></xref> to determine if the
network-designated encrypted resolvers are authoritative over the
domains in DnsZones. If not, the client can take appropriate action like
disconnecting from the network.</t>
<t>In order to deploy DNSSEC operationally for split-horizon domains,
the first three schemes described in <xref
target="I-D.krishnaswamy-dnsop-dnssec-split-view"></xref> can be used
but not the one discussed in Section 4.1.4. Alternatively, after
validating the network authority over the dnsZones domains <xref
target="Authority"></xref>, a DNSSEC-validating client can reconfigure
its stub resolver to disable DNSSEC validation for the domains in
dnsZones.</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>This document has no IANA actions..</t>
</section>
<section title="Acknowledgements">
<t>Thanks to Mohamed Boucadair, Jim Reid, Ben Schwartz, Tommy Pauly,
Paul Vixie, Paul Wouters and Vinny Parla for the discussion and
comments. The authors would like to give special thanks to Ben Schwartz
for his help.</t>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<references title="Normative References">
<?rfc include='reference.RFC.2119'?>
<?rfc include='reference.RFC.8174'?>
<?rfc include='reference.RFC.8801'?>
<?rfc include='reference.RFC.2826'?>
<?rfc include='reference.RFC.1918'?>
<?rfc include='reference.RFC.6761'?>
<?rfc include='reference.RFC.6762'?>
<?rfc include='reference.RFC.8310'?>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.8499'?>
<?rfc include='reference.RFC.8598'?>
<?rfc include='reference.RFC.6950' ?>
<?rfc include='reference.RFC.7556' ?>
<?rfc include='reference.I-D.ietf-add-dnr'?>
<?rfc include='reference.I-D.btw-add-ipsecme-ike'?>
<?rfc include='reference.I-D.krishnaswamy-dnsop-dnssec-split-view'?>
<?rfc include='reference.I-D.ietf-add-ddr' ?>
<!-- not yet in XML library <?rfc include='reference.I-D.ietf-add-ddr'?>
<?rfc include='reference.I-D.ietf-add-dnr'?> -->
<reference anchor="INS"
target="https://www.vodafone.com/about/vodafone-foundation/focus-areas/instant-schools">
<front>
<title>Vodafone Foundation Instant Schools for Sub-Saharan
Africa</title>
<author>
<organization>The Unicode Consortium</organization>
</author>
<date day="" month="" year="" />
</front>
</reference>
<!---->
</references>
</back>
</rfc>