forked from opensourcerouting/drafts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
draft-franke-isis-over-ipv6.xml
239 lines (216 loc) · 10.6 KB
/
draft-franke-isis-over-ipv6.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
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3307 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3307.xml">
<!ENTITY RFC5082 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5082.xml">
<!ENTITY RFC5237 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5237.xml">
<!ENTITY RFC5308 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5308.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="std" docName="draft-franke-isis-over-ipv6-01" ipr="trust200902">
<front>
<!-- The abbreviated title is used in the page header - it is only necessary if the
full title is longer than 39 characters -->
<title abbrev="IS-IS over IPv6">IS-IS over IPv6</title>
<author fullname="Christian Franke" initials="C."
surname="Franke">
<organization>NetDEF</organization>
<address>
<postal>
<street></street>
<!-- Reorder these if your country does things differently -->
<code></code>
<city>Leipzig</city>
<region></region>
<country>DE</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<date day="19" month="October" year="2015" />
<area>Routing</area>
<workgroup>Network Working Group</workgroup>
<keyword>IS-IS IPv6</keyword>
<abstract>
<t>
In this draft, a method to transmit IS-IS PDUs as
IPv6 packets is described. While the default encapsulation of
IS-IS is specified directly on top of the link-layer, making it
necessary for IS-IS to be specified for each link-layer it should
be used on, the proposed method allows for IS-IS to run on any
link-layers supporting IPv6.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
The original specification of IS-IS <xref target="ISO.10589.2002"/> defines that PDUs are transmitted
directly on the link-layer. With this design comes the problem that
specification work is required each time a new link-layer should be
supported by IS-IS.
By transmitting IS-IS PDUs as IPv6 packets, this specification work can
be avoided and any link-layer supporting IPv6 can be used. Among other things,
this allows to route IPv6 with IS-IS <xref target="RFC5308"/> on any link supporting
IPv6.
</t>
<t>
This specification does not make changes to the general operation of
IS-IS and any existing mechanisms should be kept as-is. The only change
made by this draft is the format of IS-IS PDUs on the wire.
</t>
<section title="Requirements Language">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC 2119</xref>.</t>
</section>
</section>
<section title="Transmitting IS-IS PDUs over IPv6">
<section title="Addressing">
<t>
Link-local IPv6 addresses are used to transmit and receive IS-IS PDUs.
Routers SHALL set the source address of transmitted PDUs to the
link-local address of the outgoing interface.
</t>
<t>
IPv6 link-local multicast is used as destination for the packets. The PDUs
that would be sent to ALL-L1-IS when sending them directly on top of the
link-layer MUST be sent to the IPv6 multicast group <TBD1> instead.
Respectively, PDUs that would be sent to ALL-L2-IS MUST be sent to the multicast
group <TBD2>.
</t>
</section>
<section title="IPv6 header">
<t>
The packets SHOULD be transmitted with type of service set to Internetwork control.
</t>
</section>
<section title="Packet format">
<t>
To transmit IS-IS PDUs over IPv6, they are encapsulated as IPv6
payload without any transport layer protocol. For that purpose,
protocol number 124 is used. That number was assigned by IANA for
IS-IS over IPv4. <xref target="I-D.ietf-isis-wg-over-ip" />
The PDUs are transmitted as IPv6 payload starting at the NLPI.
</t>
</section>
</section>
<section title="Considerations for using IS-IS over IPv6">
<section title="SNPA">
<t>
Using the ethernet MAC address as SNPA on LAN links is not practical for this
application since the goal of this extension is to become independent from specific link-layer properties.
</t>
<t>
Therefore, treat the whole 16 byte of the IPv6 address as SNPA. Since the SNPA is only used internally
to each router and not put into any IS-IS PDUs, no protocol datastructures need to be modified for this,
but implemenations need to deal with this new SNPA length internally.</t>
</section>
<section title="MTU">
<t>Hello PDUs that are subject to padding SHALL be padded so that the total IPv6 packet size matches the MTU
of the link they are transmitted over. Fragmentation SHALL NOT be used on hellos, and a system receiving
an IPv6 encapsulated SHALL verify that the hello has not been subject to fragmentation.</t>
<t>Other transmitted PDUs MAY be fragmented to allow the transport of LSPs that result in larger packets than
the IPv6 MTU.</t>
</section>
<section title="Interoperability">
<t>IS-IS implementations supporting IS-IS over IPv6 SHOULD provide a method that allows
to choose between <xref target="ISO.10589.2002"/> and IS-IS over IPv6 encapsulation for
each interface.
Implementations MUST NOT transmit or process ISO 10589:2002 PDUs on
interfaces running in IS-IS over IPv6 mode and they MUST NOT transmit or process
IS-IS over IPv6 PDUs on interfaces running in ISO 10589:2002 mode.
</t>
</section>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>There has been previous work to specify operation of IS-IS over IPv4 <xref target="I-D.ietf-isis-wg-over-ip" />
which has been used as a reference for this work.</t>
</section>
<!-- Possibly a 'Contributors' section ... -->
<section anchor="IANA" title="IANA Considerations">
<t>
For this protocol, IANA should assign two IPv6 multicast group IDs
<TBD1> and <TBD2> in the IPv6 Multicast Address Space Registry.
<xref target="RFC3307"/>
Also, IANA should change the name of protocol 124 in the Internet Protocol Number
registry <xref target="RFC5237"/> from "ISIS over IPv4" to "ISIS".
</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>Routers implementing this encapsulation of IS-IS over IPv6 can be susceptible
to receiving and processing IS-IS over IPv6 packets that have not been originated
by a router that is on-link. For example, someone with malicious intent could send
IS-IS over IPv6 packets to a global unicast address of a router via multiple hops.
</t>
<t>For this reason, routers implementing IS-IS over IPv6 need to verify that the origin
of each received IS-IS over IPv6 packet is indeed on-link.</t>
<t>To do this, routers implementing IS-IS over IPv6 SHALL implement generalized
TTL security as described in <xref target="RFC5082"/>. Since ttl security is mandatory
for IS-IS over IPv6, any packet received with a TTL differing from 255 can be classified
as "Dangerous" and SHALL be dropped.
</t>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries from the citation libraries:
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
Both are cited textually in the same manner: by using xref elements.
If you use the PI option, xml2rfc will, by default, try to find included files in the same
directory as the including file. You can also define the XML_LIBRARY environment variable
with a value containing a set of directories to search. These can be either in the local
filing system or remote ones accessed by http (http://domain/dir/... ).-->
<references title="Normative References">
<reference anchor='ISO.10589.2002'>
<front>
<title>Intermediate system to intermediate system intra-domain-routing routine information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode Network Service (ISO 8473)</title>
<author>
<organization>International Organization for Standardization</organization>
</author>
<date month="" year="2002" />
</front>
<seriesInfo name="ISO" value="Standard 10589" />
</reference>
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
&RFC2119;
&RFC5082;
&RFC5308;
</references>
<references title="Informative References">
&RFC3307;
&RFC5237;
<reference anchor='I-D.ietf-isis-wg-over-ip'>
<front>
<title>IS-IS over IPv4</title>
<author initials='T' surname='Przygienda' fullname='Tony Przygienda'>
<organization>Siara Systems</organization>
</author>
<author initials='A' surname='Patel' fullname='Ajay Patel'>
<organization>Siara Systems</organization>
</author>
<author initials='A' surname='Bansal' fullname='Atul Bansal'>
<organization>FORE Systems</organization>
</author>
<date day="11" month='October' year='1999'/>
</front>
<seriesInfo name='Internet-Draft' value='draft-ietf-isis-wg-over-ip-02' />
<format type='TXT'
target='https://tools.ietf.org/id/draft-ietf-isis-wg-over-ip-02.txt' />
</reference>
</references>
</back>
</rfc>
<!-- vim: sw=2 ts=2 et
-->