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
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
|
Internet Architecture Board (IAB) D. Thaler
Request for Comments: 6250 May 2011
Category: Informational
ISSN: 2070-1721
Evolution of the IP Model
Abstract
This RFC attempts to document various aspects of the IP service model
and how it has evolved over time. In particular, it attempts to
document the properties of the IP layer as they are seen by upper-
layer protocols and applications, especially properties that were
(and, at times, still are) incorrectly perceived to exist as well as
properties that would cause problems if changed. The discussion of
these properties is organized around evaluating a set of claims, or
misconceptions. Finally, this document provides some guidance to
protocol designers and implementers.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Architecture Board (IAB)
and represents information that the IAB has deemed valuable to
provide for permanent record. Documents approved for publication by
the IAB are not a candidate for any level of Internet Standard; see
Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6250.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Thaler & IAB Informational [Page 1]
^L
RFC 6250 Evolution of the IP Model May 2011
Table of Contents
1. Introduction ....................................................3
2. The IP Service Model ............................................4
2.1. Links and Subnets ..........................................5
3. Common Application Misconceptions ...............................5
3.1. Misconceptions about Routing ...............................5
3.1.1. Claim: Reachability is symmetric ....................5
3.1.2. Claim: Reachability is transitive ...................6
3.1.3. Claim: Error messages can be received in
response to data packets ............................7
3.1.4. Claim: Multicast is supported within a link .........7
3.1.5. Claim: IPv4 broadcast is supported ..................8
3.1.6. Claim: Multicast/broadcast is less expensive
than replicated unicast .............................8
3.1.7. Claim: The end-to-end latency of the first
packet to a destination is typical ..................8
3.1.8. Claim: Reordering is rare ...........................9
3.1.9. Claim: Loss is rare and probabilistic, not
deterministic .......................................9
3.1.10. Claim: An end-to-end path exists at a
single point in time ..............................10
3.1.11. Discussion ........................................10
3.2. Misconceptions about Addressing ...........................11
3.2.1. Claim: Addresses are stable over long
periods of time ....................................11
3.2.2. Claim: An address is four bytes long ...............12
3.2.3. Claim: A host has only one address on one interface 12
3.2.4. Claim: A non-multicast/broadcast address
identifies a single host over a long period of time 13
3.2.5. Claim: An address can be used as an
indication of physical location ....................14
3.2.6. Claim: An address used by an application is
the same as the address used for routing ...........14
3.2.7. Claim: A subnet is smaller than a link .............14
3.2.8. Claim: Selecting a local address selects
the interface ......................................15
3.2.9. Claim: An address is part of an on-link
subnet prefix ......................................15
3.2.10. Discussion ........................................15
3.3. Misconceptions about Upper-Layer Extensibility ............16
3.3.1. Claim: New transport-layer protocols can
work across the Internet ...........................16
3.3.2. Claim: If one stream between a pair of
addresses can get through, then so can another .....17
3.3.3. Discussion .........................................17
3.4. Misconceptions about Security .............................17
3.4.1. Claim: Packets are unmodified in transit ...........17
Thaler & IAB Informational [Page 2]
^L
RFC 6250 Evolution of the IP Model May 2011
3.4.2. Claim: Packets are private .........................18
3.4.3. Claim: Source addresses are not forged .............18
3.4.4. Discussion .........................................18
4. Security Considerations ........................................18
5. Conclusion .....................................................19
6. Acknowledgements ...............................................20
7. IAB Members at the Time of This Writing ........................20
8. IAB Members at the Time of Approval ............................20
9. References .....................................................20
9.1. Normative References ......................................20
9.2. Informative References ....................................21
1. Introduction
Since the Internet Protocol was first published as [IEN028] in 1978,
IP has provided a network-layer connectivity service to upper-layer
protocols and applications. The basic IP service model was
documented in the original IENs (and subsequently in the RFCs that
obsolete them). However, since the mantra has been "Everything Over
IP", the IP service model has evolved significantly over the past 30
years to enable new behaviors that the original definition did not
envision. For example, by 1989 there was already some confusion and
so [RFC1122] clarified many things and extended the model. In 2004,
[RFC3819] advised link-layer protocol designers on a number of issues
that affect upper layers and is the closest in intent to this
document. Today's IP service model is not well documented in a
single place, but is either implicit or discussed piecemeal in many
different RFCs. As a result, today's IP service model is actually
not well known, or at least is often misunderstood.
In the early days of IP, changing or extending the basic IP service
model was easier since it was not as widely deployed and there were
fewer implementations. Today, the ossification of the Internet makes
evolving the IP model even more difficult. Thus, it is important to
understand the evolution of the IP model for two reasons:
1. To clarify what properties can and cannot be depended upon by
upper-layer protocols and applications. There are many
misconceptions on which applications may be based and which are
problematic.
2. To document lessons for future evolution to take into account.
It is important that the service model remain consistent, rather
than evolving in two opposing directions. It is sometimes the
case in IETF Working Groups today that directions are considered
or even taken that would change the IP service model. Doing this
without understanding the implications on applications can be
dangerous.
Thaler & IAB Informational [Page 3]
^L
RFC 6250 Evolution of the IP Model May 2011
This RFC attempts to document various aspects of the IP service model
and how it has evolved over time. In particular, it attempts to
document the properties of the IP layer, as seen by upper-layer
protocols and applications, especially properties that were (and at
times still are) incorrectly perceived to exist. It also highlights
properties that would cause problems if changed.
2. The IP Service Model
In this document, we use the term "IP service model" to refer to the
model exposed by IP to higher-layer protocols and applications. This
is depicted in Figure 1 by the horizontal line.
+-------------+ +-------------+
| Application | | Application |
+------+------+ +------+------+
| |
+------+------+ +------+------+
| Upper-Layer | | Upper-Layer |
| Protocol | | Protocol |
+------+------+ +------+------+
| |
------------------------------------------------------------------
| |
+--+--+ +-----+ +--+--+
| IP | | IP | | IP |
+--+--+ +--+--+ +--+--+
| | |
+-----+------+ +-----+------+ +-----+------+
| Link Layer | | Link Layer | | Link Layer |
+-----+------+ +--+-----+---+ +-----+------+
| | | |
+---------------------+ +--------------------+
Source Destination
IP Service Model
Figure 1
The foundation of the IP service model today is documented in Section
2.2 of [RFC0791]. Generally speaking, IP provides a connectionless
delivery service for variable size packets, which does not guarantee
ordering, delivery, or lack of duplication, but is merely best effort
(although some packets may get better service than others). Senders
can send to a destination address without signaling a priori, and
receivers just listen on an already provisioned address, without
signaling a priori.
Thaler & IAB Informational [Page 4]
^L
RFC 6250 Evolution of the IP Model May 2011
Architectural principles of the IP model are further discussed in
[RFC1958] and in Sections 5 and 6 of [NEWARCH].
2.1. Links and Subnets
Section 2.1 of [RFC4903] discusses the terms "link" and "subnet" with
respect to the IP model.
A "link" in the IP service model refers to the topological area
within which a packet with an IPv4 Time to Live (TTL) or IPv6 Hop
Limit of 1 can be delivered. That is, where no IP-layer forwarding
(which entails a TTL/Hop Limit decrement) occurs between two nodes.
A "subnet" in the IP service model refers to the topological area
within which addresses from the same subnet prefix are assigned to
interfaces.
3. Common Application Misconceptions
Below is a list of properties that are often assumed by applications
and upper-layer protocols, but which have become less true over time.
3.1. Misconceptions about Routing
3.1.1. Claim: Reachability is symmetric
Many applications assume that if a host A can contact a host B, then
the reverse is also true. Examples of this behavior include request-
response patterns, which require reverse reachability only after
forward reachability, as well as callbacks (e.g., as used by the File
Transfer Protocol (FTP) [RFC0959]).
Originally, it was the case that reachability was symmetric (although
the path taken may not be), both within a link and across the
Internet. With the advent of technologies such as Network Address
Translators (NATs) and firewalls (as in the following example
figure), this can no longer be assumed. Today, host-to-host
connectivity is challenging if not impossible in general. It is
relatively easy to initiate communication from hosts (A-E in the
example diagram) to servers (S), but not vice versa, nor between
hosts A-E. For a longer discussion on peer-to-peer connectivity, see
Appendix A of [RFC5694].
Thaler & IAB Informational [Page 5]
^L
RFC 6250 Evolution of the IP Model May 2011
__________ ___ ___
/ \ ___ ___ / \ ____|FW |__A
/ \ ___ / \ _____|NAT|__| | |___|
| |__|NAT|__| | |___| | |__B
| | |___| | |__C \___/
| | \___/ ___
S__| Internet | ___ ___ / \
| | ___ / \ _____|NAT|__| |__D
| |__|FW |__| | |___| | |
| | |___| | |__E \___/
\ / \___/
\__________/
Figure 2
However, it is still the case that if a request can be sent, then a
reply to that request can generally be received, but an unsolicited
request in the other direction may not be received. [RFC2993]
discusses this in more detail.
There are also links (e.g., satellite) that were defined as
unidirectional links and hence an address on such a link results in
asymmetric reachability. [RFC3077] explicitly addresses this problem
for multihomed hosts by tunneling packets over another interface in
order to restore symmetric reachability.
Finally, even with common wireless networks such as 802.11, this
assumption may not be true, as discussed in Section 5.5 of
[WIRELESS].
3.1.2. Claim: Reachability is transitive
Many applications assume that if a host A can contact host B, and B
can contact C, then host A can contact C. Examples of this behavior
include applications and protocols that use referrals.
Originally, it was the case that reachability was transitive, both
within a link and across the Internet. With the advent of
technologies such as NATs and firewalls and various routing policies,
this can no longer be assumed across the Internet, but it is often
still true within a link. As a result, upper-layer protocols and
applications may be relying on transitivity within a link. However,
some radio technologies, such as 802.11 ad hoc mode, violate this
assumption within a link.
Thaler & IAB Informational [Page 6]
^L
RFC 6250 Evolution of the IP Model May 2011
3.1.3. Claim: Error messages can be received in response to data
packets
Some upper-layer protocols and applications assume that ICMP error
messages will be received in response to packets sent that cannot be
delivered. Examples of this include the use of Path MTU Discovery
[RFC1191] [RFC1981] relying on messages indicating packets were too
big, and traceroute and the use of expanding ring search [RFC1812]
relying on messages indicating packets reached their TTL/Hop Limit.
Originally, this assumption largely held, but many ICMP senders then
chose to rate-limit responses in order to mitigate denial-of-service
attacks, and many firewalls now block ICMP messages entirely. For a
longer discussion, see Section 2.1 of [RFC2923].
This led to an alternate mechanism for Path MTU Discovery that does
not rely on this assumption being true [RFC4821] and guidance to
firewall administrators ([RFC4890] and Section 3.1.1 of [RFC2979]).
3.1.4. Claim: Multicast is supported within a link
[RFC1112] introduced multicast to the IP service model. In this
evolution, senders still just send to a destination address without
signaling a priori, but in contrast to the original IP model,
receivers must signal to the network before they can receive traffic
to a multicast address.
Today, many applications and protocols use multicast addresses,
including protocols for address configuration, service discovery,
etc. (See [MCAST4] and [MCAST6] for those that use well-known
addresses.)
Most of these only assume that multicast works within a link and may
or may not function across a wider area. While network-layer
multicast works over most link types, there are Non-Broadcast Multi-
Access (NBMA) links over which multicast does not work (e.g., X.25,
ATM, frame relay, 6to4, Intra-Site Automatic Tunnel Addressing
Protocol (ISATAP), Teredo) and this can interfere with some protocols
and applications. Similarly, there are links such as 802.11 ad hoc
mode where multicast packets may not get delivered to all receivers
on the link. [RFC4861] states:
Note that all link types (including NBMA) are expected to provide
multicast service for applications that need it (e.g., using
multicast servers).
and its predecessor [RFC2461] contained similar wording.
Thaler & IAB Informational [Page 7]
^L
RFC 6250 Evolution of the IP Model May 2011
However, not all link types today meet this expectation.
3.1.5. Claim: IPv4 broadcast is supported
IPv4 broadcast support was originally defined on a link, across a
network, and for subnet-directed broadcast, and it is used by many
applications and protocols. For security reasons, however, [RFC2644]
deprecated the forwarding of broadcast packets. Thus, since 1999,
broadcast can only be relied on within a link. Still, there exist
NBMA links over which broadcast does not work, and there exist some
"semi-broadcast" links (e.g., 802.11 ad hoc mode) where broadcast
packets may not get delivered to all nodes on the link. Another case
where broadcast fails to work is when a /32 or /31 is assigned to a
point-to-point interface (e.g., [RFC3021]), leaving no broadcast
address available.
To a large extent, the addition of link-scoped multicast to the IP
service model obsoleted the need for broadcast. It is also worth
noting that the broadcast API model used by most platforms allows
receivers to just listen on an already provisioned address, without
signaling a priori, but in contrast to the unicast API model, senders
must signal to the local IP stack (SO_BROADCAST) before they can send
traffic to a broadcast address. However, from the network's
perspective, the host still sends without signaling a priori.
3.1.6. Claim: Multicast/broadcast is less expensive than replicated
unicast
Some applications and upper-layer protocols that use multicast or
broadcast do so not because they do not know the addresses of
receivers, but simply to avoid sending multiple copies of the same
packet over the same link.
In wired networks, sending a single multicast packet on a link is
generally less expensive than sending multiple unicast packets. This
may not be true for wireless networks, where implementations can only
send multicast at the basic rate, regardless of the negotiated rates
of potential receivers. As a result, replicated unicast may achieve
much higher throughput across such links than multicast/broadcast
traffic.
3.1.7. Claim: The end-to-end latency of the first packet to a
destination is typical
Many applications and protocols choose a destination address by
sending a message to each of a number of candidates, picking the
first one to respond, and then using that destination for subsequent
communication. If the end-to-end latency of the first packet to each
Thaler & IAB Informational [Page 8]
^L
RFC 6250 Evolution of the IP Model May 2011
destination is atypical, this can result in a highly non-optimal
destination being chosen, with much longer paths (and hence higher
load on the Internet) and lower throughput.
Today, there are a number of reasons this is not true. First, when
sending to a new destination there may be some startup latency
resulting from the link-layer or network-layer mechanism in use, such
as the Address Resolution Protocol (ARP), for instance. In addition,
the first packet may follow a different path from subsequent packets.
For example, protocols such as Mobile IPv6 [RFC3775], Protocol
Independent Multicast - Sparse Mode (PIM-SM) [RFC4601], and the
Multicast Source Discovery Protocol (MSDP) [RFC3618] send packets on
one path, and then allow immediately switching to a shorter path,
resulting in a large latency difference. There are various proposals
currently being evaluated by the IETF Routing Research Group that
result in similar path switching.
3.1.8. Claim: Reordering is rare
As discussed in [REORDER], [RFC2991], and Section 15 of [RFC3819],
there are a number of effects of reordering. For example, reordering
increases buffering requirements (and jitter) in many applications
and in devices that do packet reassembly. In particular, TCP
[RFC0793] is adversely affected by reordering since it enters fast-
retransmit when three packets are received before a late packet,
which drastically lowers throughput. Finally, some NATs and
firewalls assume that the initial fragment arrives first, resulting
in packet loss when this is not the case.
Today, there are a number of things that cause reordering. For
example, some routers do per-packet, round-robin load balancing,
which, depending on the topology, can result in a great deal of
reordering. As another example, when a packet is fragmented at the
sender, some hosts send the last fragment first. Finally, as
discussed in Section 3.1.7, protocols that do path switching after
the first packet result in deterministic reordering within the first
burst of packets.
3.1.9. Claim: Loss is rare and probabilistic, not deterministic
In the original IP model, senders just send, without signaling the
network a priori. This works to a degree. In practice, the last hop
(and in rare cases, other hops) of the path needs to resolve next hop
information (e.g., the link-layer address of the destination) on
demand, which results in queuing traffic, and if the queue fills up,
some traffic gets dropped. This means that bursty sources can be
problematic (and indeed a single large packet that gets fragmented
becomes such a burst). The problem is rarely observed in practice
Thaler & IAB Informational [Page 9]
^L
RFC 6250 Evolution of the IP Model May 2011
today, either because the resolution within the last hop happens very
quickly, or because bursty applications are rarer. However, any
protocol that significantly increases such delays or adds new
resolutions would be a change to the classic IP model and may
adversely impact upper-layer protocols and applications that result
in bursts of packets.
In addition, mechanisms that simply drop the first packet, rather
than queuing it, also break this assumption. Similar to the result
of reordering, they can result in a highly non-optimal destination
being chosen by applications that use the first one to respond. Two
examples of mechanisms that appear to do this are network interface
cards that support a "Wake-on-LAN" capability where any packet that
matches a specified pattern will wake up a machine in a power-
conserving mode, but only after dropping the matching packet, and
MSDP, where encapsulating data packets is optional, but doing so
enables bursty sources to be accommodated while a multicast tree is
built back to the source's domain.
3.1.10. Claim: An end-to-end path exists at a single point in time
In classic IP, applications assume that either an end-to-end path
exists to a destination or that the packet will be dropped. In
addition, IP today tends to assume that the packet delay is
relatively short (since the "Time"-to-Live is just a hop count). In
IP's earlier history, the TTL field was expected to also be
decremented each second (not just each hop).
In general, this assumption is still true today. However, the IRTF
Delay Tolerant Networking Research Group is investigating ways for
applications to use IP in networks where this assumption is not true,
such as store-and-forward networks (e.g., packets carried by vehicles
or animals).
3.1.11. Discussion
The reasons why the assumptions listed above are increasingly less
true can be divided into two categories: effects caused by attributes
of link-layer technologies and effects caused by network-layer
technologies.
RFC 3819 [RFC3819] advises link-layer protocol designers to minimize
these effects. Generally, the link-layer causes are not
intentionally trying to break IP, but rather adding IP over the
technology introduces the problem. Hence, where the link-layer
protocol itself does not do so, when specifying how IP is defined
over such a link protocol, designers should compensate to the maximum
extent possible. As examples, [RFC3077] and [RFC2491] compensate for
Thaler & IAB Informational [Page 10]
^L
RFC 6250 Evolution of the IP Model May 2011
the lack of symmetric reachability and the lack of link-layer
multicast, respectively. That is, when IP is defined over a link
type, the protocol designers should attempt to restore the
assumptions listed in this document. For example, since an
implementation can distinguish between 802.11 ad hoc mode versus
infrastructure mode, it may be possible to define a mechanism below
IP to compensate for the lack of transitivity over such links.
At the network layer, as a general principle, we believe that
reachability is good. For security reasons ([RFC4948]), however, it
is desirable to restrict reachability by unauthorized parties; indeed
IPsec, an integral part of the IP model, provides one means to do so.
Where there are issues with asymmetry, non-transitivity, and so
forth, which are not direct results of restricting reachability to
only authorized parties (for some definition of authorized), the IETF
should attempt to avoid or solve such issues. Similar to the
principle outlined in Section 3.9 of [RFC1958], the general theme
when defining a protocol is to be liberal in what effects you accept,
and conservative in what effects you cause.
However, in being liberal in what effects you accept, it is also
important to remember that diagnostics are important, and being too
liberal can mask problems. Thus, a tussle exists between the desire
to provide a better experience to one's own users or applications and
thus be more successful ([RFC5218]), versus the desire to put
pressure on getting problems fixed. One solution is to provide a
separate "pedantic mode" that can be enabled to see the problems
rather than mask them.
3.2. Misconceptions about Addressing
3.2.1. Claim: Addresses are stable over long periods of time
Originally, addresses were manually configured on fixed machines, and
hence addresses were very stable. With the advent of technologies
such as DHCP, roaming, and wireless, addresses can no longer be
assumed to be stable for long periods of time. However, the APIs
provided to applications today typically still assume stable
addresses (e.g., address lifetimes are not exposed to applications
that get addresses). This can cause problems when addresses become
stale.
For example, many applications resolve names to addresses and then
cache them without any notion of lifetime. In fact, the classic name
resolution APIs do not even provide applications with the lifetime of
entries.
Thaler & IAB Informational [Page 11]
^L
RFC 6250 Evolution of the IP Model May 2011
Proxy Mobile IPv6 [RFC5213] tries to restore this assumption to some
extent by preserving the same address while roaming around a local
area. The issue of roaming between different networks has been known
since at least 1980 when [IEN135] proposed a mobility solution that
attempted to restore this assumption by adding an additional address
that can be used by applications, which is stable while roaming
anywhere with Internet connectivity. More recent protocols such as
Mobile IPv6 (MIP6) [RFC3775] and the Host Identity Protocol (HIP)
[RFC4423] follow in this same vein.
3.2.2. Claim: An address is four bytes long
Many applications and protocols were designed to only support
addresses that are four bytes long. Although this was sufficient for
IPv4, the advent of IPv6 made this assumption invalid and with the
exhaustion of IPv4 address space this assumption will become
increasingly less true. There have been some attempts to try to
mitigate this problem with limited degrees of success in constrained
cases. For example, "Bump-In-the-Stack" [RFC2767] and "Bump-in-the-
API" [RFC3338] attempt to provide four-byte "IPv4" addresses for IPv6
destinations, but have many limitations including (among a number of
others) all the problems of NATs.
3.2.3. Claim: A host has only one address on one interface
Although many applications assume this (e.g., by calling a name
resolution function such as gethostbyname and then just using the
first address returned), it was never really true to begin with, even
if it was the common case. Even [RFC0791] states:
... provision must be made for a host to have several physical
interfaces to the network with each having several logical
Internet addresses.
However, this assumption is increasingly less true today, with the
advent of multiple interfaces (e.g., wired and wireless), dual-IPv4/
IPv6 nodes, multiple IPv6 addresses on the same interface (e.g.,
link-local and global), etc. Similarly, many protocol specifications
such as DHCP only describe operations for a single interface, whereas
obtaining host-wide configuration from multiple interfaces presents a
merging problem for nodes in practice. Too often, this problem is
simply ignored by Working Groups, and applications and users suffer
as a result from poor merging algorithms.
One use of protocols such as MIP6 and HIP is to make this assumption
somewhat more true by adding an additional "address" that can be the
one used by such applications, and the protocol will deal with the
complexity of multiple physical interfaces and addresses.
Thaler & IAB Informational [Page 12]
^L
RFC 6250 Evolution of the IP Model May 2011
3.2.4. Claim: A non-multicast/broadcast address identifies a single
host over a long period of time
Many applications and upper-layer protocols maintain a communication
session with a destination over some period of time. If that address
is reassigned to another host, or if that address is assigned to
multiple hosts and the host at which packets arrive changes, such
applications can have problems.
In addition, many security mechanisms and configurations assume that
one can block traffic by IP address, implying that a single attacker
can be identified by IP address. If that IP address can also
identify many legitimate hosts, applying such a block can result in
denial of service.
[RFC1546] introduced the notion of anycast to the IP service model.
It states:
Because anycasting is stateless and does not guarantee delivery of
multiple anycast datagrams to the same system, an application
cannot be sure that it is communicating with the same peer in two
successive UDP transmissions or in two successive TCP connections
to the same anycast address.
The obvious solutions to these issues are to require applications
which wish to maintain state to learn the unicast address of their
peer on the first exchange of UDP datagrams or during the first
TCP connection and use the unicast address in future
conversations.
The issues with anycast are further discussed in [RFC4786] and
[ANYCAST].
Another mechanism by which multiple hosts use the same address is as
a result of scoped addresses, as defined for both IPv4 [RFC1918]
[RFC3927] and IPv6 [RFC4007]. Because such addresses can be reused
within multiple networks, hosts in different networks can use the
same address. As a result, a host that is multihomed to two such
networks cannot use the destination address to uniquely identify a
peer. For example, a host can no longer use a 5-tuple to uniquely
identify a TCP connection. This is why IPv6 added the concept of a
"zone index".
Yet another example is that, in some high-availability solutions, one
host takes over the IP address of another failed host.
See [RFC2101], [RFC2775], and [SHARED-ADDRESSING] for additional
discussion on address uniqueness.
Thaler & IAB Informational [Page 13]
^L
RFC 6250 Evolution of the IP Model May 2011
3.2.5. Claim: An address can be used as an indication of physical
location
Some applications attempt to use an address to infer some information
about the physical location of the host with that address. For
example, geo-location services are often used to provide targeted
content or ads.
Various forms of tunneling have made this assumption less true, and
this will become increasingly less true as the use of IPv4 NATs for
large networks continues to increase. See Section 7 of
[SHARED-ADDRESSING] for a longer discussion.
3.2.6. Claim: An address used by an application is the same as the
address used for routing
Some applications assume that the address the application uses is the
same as that used by routing. For example, some applications use raw
sockets to read/write packet headers, including the source and
destination addresses in the IP header. As another example, some
applications make assumptions about locality (e.g., whether the
destination is on the same subnet) by comparing addresses.
Protocols such as Mobile IPv6 and HIP specifically break this
assumption (in an attempt to restore other assumptions as discussed
above). Recently, the IRTF Routing Research Group has been
evaluating a number of possible mechanisms, some of which would also
break this assumption, while others preserve this assumption near the
edges of the network and only break it in the core of the Internet.
Breaking this assumption is sometimes referred to as an "identifier/
locator" split. However, as originally defined in 1978 ([IEN019],
[IEN023]), an address was originally defined as only a locator,
whereas names were defined to be the identifiers. However, the TCP
protocol then used addresses as identifiers.
Finally, in a liberal sense, any tunneling mechanism might be said to
break this assumption, although, in practice, applications that make
this assumption will continue to work, since the address of the
inside of the tunnel is still used for routing as expected.
3.2.7. Claim: A subnet is smaller than a link
In the classic IP model, a "subnet" is smaller than, or equal to, a
"link". Destinations with addresses in the same on-link subnet
prefix can be reached with TTL (or Hop Count) = 1. Link-scoped
multicast packets, and all-ones broadcast packets will be delivered
(in a best-effort fashion) to all listening nodes on the link.
Thaler & IAB Informational [Page 14]
^L
RFC 6250 Evolution of the IP Model May 2011
Subnet broadcast packets will be delivered (in a best effort fashion)
to all listening nodes in the subnet. There have been some efforts
in the past (e.g., [RFC0925], [RFC3069]) to allow multi-link subnets
and change the above service model, but the adverse impact on
applications that have such assumptions recommend against changing
this assumption.
[RFC4903] discusses this topic in more detail and surveys a number of
protocols and applications that depend on this assumption.
Specifically, some applications assume that, if a destination address
is in the same on-link subnet prefix as the local machine, then
therefore packets can be sent with TTL=1, or that packets can be
received with TTL=255, or link-scoped multicast or broadcast can be
used to reach the destination.
3.2.8. Claim: Selecting a local address selects the interface
Some applications assume that binding to a given local address
constrains traffic reception to the interface with that address, and
that traffic from that address will go out on that address's
interface. However, Section 3.3.4.2 of [RFC1122] defines two models:
the Strong End System (or strong host) model where this is true, and
the Weak End System (or weak host) model where this is not true. In
fact, any router is inherently a weak host implementation, since
packets can be forwarded between interfaces.
3.2.9. Claim: An address is part of an on-link subnet prefix
To some extent, this was never true, in that there were cases in IPv4
where the "mask" was 255.255.255.255, such as on a point-to-point
link where the two endpoints had addresses out of unrelated address
spaces, and no on-link subnet prefix existed on the link. However,
this didn't stop many platforms and applications from assuming that
every address had a "mask" (or prefix) that was on-link. The
assumption of whether a subnet is on-link (in which case one can send
directly to the destination after using ARP/ND) or off-link (in which
case one just sends to a router) has evolved over the years, and it
can no longer be assumed that an address has an on-link prefix. In
1998, [RFC2461] introduced the distinction as part of the core IPv6
protocol suite. This topic is discussed further in [ON-OFF-LINK],
and [RFC4903] also touches on this topic with respect to the service
model seen by applications.
3.2.10. Discussion
Section 4.1 of RFC 1958 [RFC1958] states: "In general, user
applications should use names rather than addresses".
Thaler & IAB Informational [Page 15]
^L
RFC 6250 Evolution of the IP Model May 2011
We emphasize the above point, which is too often ignored. Many
commonly used APIs unnecessarily expose addresses to applications
that already use names. Similarly, some protocols are defined to
carry addresses, rather than carrying names (instead of or in
addition to addresses). Protocols and applications that are already
dependent on a naming system should be designed in such a way that
they avoid or minimize any dependence on the notion of addresses.
One challenge is that many hosts today do not have names that can be
resolved. For example, a host may not have a fully qualified domain
name (FQDN) or a Domain Name System (DNS) server that will host its
name.
Applications that, for whatever reason, cannot use names should be
IP-version agnostic.
3.3. Misconceptions about Upper-Layer Extensibility
3.3.1. Claim: New transport-layer protocols can work across the
Internet
IP was originally designed to support the addition of new transport-
layer protocols, and [PROTOCOLS] lists many such protocols.
However, as discussed in [WAIST-HOURGLASS], NATs and firewalls today
break this assumption and often only allow UDP and TCP (or even just
HTTP).
Hence, while new protocols may work from some places, they will not
necessarily work from everywhere, such as from behind such NATs and
firewalls.
Since even UDP and TCP may not work from everywhere, it may be
necessary for applications to support "HTTP failover" modes. The use
of HTTP as a "transport of last resort" has become common (e.g.,
[BOSH] among others) even in situations where it is sub-optimal, such
as in real-time communications or where bidirectional communication
is required. Also, the IETF HyBi Working Group is now in the process
of designing a standards-based solution for layering other protocols
on top of HTTP. As a result of having to support HTTP failover,
applications may have to be engineered to sustain higher latency.
Thaler & IAB Informational [Page 16]
^L
RFC 6250 Evolution of the IP Model May 2011
3.3.2. Claim: If one stream between a pair of addresses can get
through, then so can another
Some applications and protocols use multiple upper-layer streams of
data between the same pair of addresses and initiated by the same
party. Passive-mode FTP [RFC0959], and RTP [RFC3550], are two
examples of such protocols, which use separate streams for data
versus control channels.
Today, there are many reasons why this may not be true. Firewalls,
for example, may selectively allow/block specific protocol numbers
and/or values in upper-layer protocol fields (such as port numbers).
Similarly, middleboxes such as NATs that create per-stream state may
cause other streams to fail once they run out of space to store
additional stream state.
3.3.3. Discussion
Section 5.1 of [NEWARCH] discusses the primary requirements of the
original Internet architecture, including Service Generality. It
states:
This goal was to support the widest possible range of
applications, by supporting a variety of types of service at the
transport level. Services might be distinguished by speed,
latency, or reliability, for example. Service types might include
virtual circuit service, which provides reliable, full-duplex byte
streams, and also datagram service, which delivers individual
packets with no guarantees of reliability or ordering. The
requirement for datagram service was motivated by early ARPAnet
experiments with packet speech (using IMP Type 3 messages).
The reasons that the assumptions in this section are becoming less
true are due to network-layer (or higher-layer) techniques being
introduced that interfere with the original requirement. Generally,
these are done either in the name of security or as a side effect of
solving some other problem such as address shortage. Work is needed
to investigate ways to restore the original behavior while still
meeting today's security requirements.
3.4. Misconceptions about Security
3.4.1. Claim: Packets are unmodified in transit
Some applications and upper-layer protocols assume that a packet is
unmodified in transit, except for a few well-defined fields (e.g.,
TTL). Examples of this behavior include protocols that define their
own integrity-protection mechanism such as a checksum.
Thaler & IAB Informational [Page 17]
^L
RFC 6250 Evolution of the IP Model May 2011
This assumption is broken by NATs as discussed in [RFC2993] and other
middleboxes that modify the contents of packets. There are many
tunneling technologies (e.g., [RFC4380]) that attempt to restore this
assumption to some extent.
The IPsec architecture [RFC4301] added security to the IP model,
providing a way to address this problem without changing
applications, although transport-mode IPsec is not currently widely
used over the Internet.
3.4.2. Claim: Packets are private
The assumption that data is private has never really been true.
However, many old applications and protocols (e.g., FTP) transmit
passwords or other sensitive data in the clear.
IPsec provides a way to address this problem without changing
applications, although it is not yet widely deployed, and doing
encryption/decryption for all packets can be computationally
expensive.
3.4.3. Claim: Source addresses are not forged
Most applications and protocols use the source address of some
incoming packet when generating a response, and hence assume that it
has not been forged (and as a result can often be vulnerable to
various types of attacks such as reflection attacks).
Various mechanisms that restore this assumption include, for example,
IPsec and Cryptographically Generated Addresses (CGAs) [RFC3972].
3.4.4. Discussion
A good discussion of threat models and common tools can be found in
[RFC3552]. Protocol designers and applications developers are
encouraged to be familiar with that document.
4. Security Considerations
This document discusses assumptions about the IP service model made
by many applications and upper-layer protocols. Whenever these
assumptions are broken, if the application or upper-layer protocol
has some security-related behavior that is based on the assumption,
then security can be affected.
Thaler & IAB Informational [Page 18]
^L
RFC 6250 Evolution of the IP Model May 2011
For example, if an application assumes that binding to the IP address
of a "trusted" interface means that it will never receive traffic
from an "untrusted" interface, and that assumption is broken (as
discussed in Section 3.2.8), then an attacker could get access to
private information.
As a result, great care should be taken when expanding the extent to
which an assumption is false. On the other hand, application and
upper-layer protocol developers should carefully consider the impact
of basing their security on any of the assumptions enumerated in this
document.
It is also worth noting that many of the changes that have occurred
over time (e.g., firewalls, dropping directed broadcasts, etc.) that
are discussed in this document were done in the interest of improving
security at the expense of breaking some applications.
5. Conclusion
Because a huge number of applications already exist that use TCP/IP
for business-critical operations, any changes to the service model
need to be done with extreme care. Extensions that merely add
additional optional functionality without impacting any existing
applications are much safer than extensions that change one or more
of the core assumptions discussed above. Any changes to the above
assumptions should only be done in accordance with some mechanism to
minimize or mitigate the risks of breaking mission-critical
applications. Historically, changes have been done without regard to
such considerations and, as a result, the situation for applications
today is already problematic. The key to maintaining an
interoperable Internet is documenting and maintaining invariants that
higher layers can depend on, and being very judicious with changes.
In general, lower-layer protocols should document the contract they
provide to higher layers; that is, what assumptions the upper layer
can rely on (sometimes this is done in the form of an applicability
statement). Conversely, higher-layer protocols should document the
assumptions they rely on from the lower layer (sometimes this is done
in the form of requirements).
We must also recognize that a successful architecture often evolves
as success brings growth and as technology moves forward. As a
result, the various assumptions made should be periodically reviewed
when updating protocols.
Thaler & IAB Informational [Page 19]
^L
RFC 6250 Evolution of the IP Model May 2011
6. Acknowledgements
Chris Hopps, Dow Street, Phil Hallam-Baker, and others provided
helpful discussion on various points that led to this document. Iain
Calder, Brian Carpenter, Jonathan Rosenberg, Erik Nordmark, Alain
Durand, and Iljitsch van Beijnum also provided valuable feedback.
7. IAB Members at the Time of This Writing
Loa Andersson
Gonzalo Camarillo
Stuart Cheshire
Russ Housley
Olaf Kolkman
Gregory Lebovitz
Barry Leiba
Kurtis Lindqvist
Andrew Malis
Danny McPherson
David Oran
Dave Thaler
Lixia Zhang
8. IAB Members at the Time of Approval
Bernard Aboba
Marcelo Bagnulo
Ross Callon
Spencer Dawkins
Russ Housley
John Klensin
Olaf Kolkman
Danny McPherson
Jon Peterson
Andrei Robachevsky
Dave Thaler
Hannes Tschofenig
9. References
9.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5,
RFC 1112, August 1989.
Thaler & IAB Informational [Page 20]
^L
RFC 6250 Evolution of the IP Model May 2011
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[RFC1546] Partridge, C., Mendez, T., and W. Milliken, "Host
Anycasting Service", RFC 1546, November 1993.
[RFC2461] Narten, T., Nordmark, E., and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461,
December 1998.
[RFC2644] Senie, D., "Changing the Default for Directed Broadcasts
in Routers", BCP 34, RFC 2644, August 1999.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
September 2007.
9.2. Informative References
[ANYCAST] McPherson, D. and D. Oran, "Architectural Considerations
of IP Anycast", Work in Progress, February 2010.
[BOSH] Paterson, I., Smith, D., Saint-Andre, P., and J. Moffitt,
"Bidirectional-streams Over Synchronous HTTP (BOSH)",
XEP 0124, 2010,
<http://xmpp.org/extensions/xep-0124.html>.
[IEN019] Shoch, J., "A note on Inter-Network Naming, Addressing,
and Routing", IEN 19, January 1978,
<http://www.rfc-editor.org/ien/ien19.txt>.
[IEN023] Cohen, D., "On Names, Addresses and Routings", IEN 23,
January 1978, <http://www.rfc-editor.org/ien/ien23.txt>.
[IEN028] Postel, J., "Draft Internetwork Protocol Specification",
IEN 28, February 1978,
<http://www.rfc-editor.org/ien/ien28.pdf>.
[IEN135] Sunshine, C. and J. Postel, "Addressing Mobile Hosts in
the ARPA Internet Environment", IEN 135, March 1980,
<http://www.rfc-editor.org/ien/ien135.txt>.
[MCAST4] Internet Assigned Numbers Authority, "IPv4 Multicast
Addresses",
<http://www.iana.org/assignments/multicast-addresses>.
Thaler & IAB Informational [Page 21]
^L
RFC 6250 Evolution of the IP Model May 2011
[MCAST6] Internet Assigned Numbers Authority, "INTERNET PROTOCOL
VERSION 6 MULTICAST ADDRESSES",
<http://www.iana.org/assignments/
ipv6-multicast-addresses>.
[NEWARCH] Clark, D., et al., "New Arch: Future Generation Internet
Architecture", Air Force Research Laboratory Technical
Report AFRL-IF-RS-TR-2004-235, August 2004, <http://
www.dtic.mil/cgi-bin/
GetTRDoc?AD=ADA426770&Location=U2&doc=GetTRDoc.pdf>.
[ON-OFF-LINK]
Singh, H., Beebee, W., and E. Nordmark, "IPv6 Subnet
Model", Work in Progress, February 2008.
[PROTOCOLS]
Internet Assigned Numbers Authority, "Protocol Numbers",
<http://www.iana.org/assignments/protocol-numbers>.
[REORDER] Bennett, J., Partridge, C., and N. Shectman, "Packet
reordering is not pathological network behavior", IEEE/ACM
Transactions on Networking, Vol. 7, No. 6, December 1999.
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, September 1981.
[RFC0925] Postel, J., "Multi-LAN address resolution", RFC 925,
October 1984.
[RFC0959] Postel, J. and J. Reynolds, "File Transfer Protocol",
STD 9, RFC 959, October 1985.
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
November 1990.
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers",
RFC 1812, June 1995.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996.
[RFC1958] Carpenter, B., "Architectural Principles of the Internet",
RFC 1958, June 1996.
[RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery
for IP version 6", RFC 1981, August 1996.
Thaler & IAB Informational [Page 22]
^L
RFC 6250 Evolution of the IP Model May 2011
[RFC2101] Carpenter, B., Crowcroft, J., and Y. Rekhter, "IPv4
Address Behaviour Today", RFC 2101, February 1997.
[RFC2491] Armitage, G., Schulter, P., Jork, M., and G. Harter, "IPv6
over Non-Broadcast Multiple Access (NBMA) networks",
RFC 2491, January 1999.
[RFC2767] Tsuchiya, K., HIGUCHI, H., and Y. Atarashi, "Dual Stack
Hosts using the "Bump-In-the-Stack" Technique (BIS)",
RFC 2767, February 2000.
[RFC2775] Carpenter, B., "Internet Transparency", RFC 2775,
February 2000.
[RFC2923] Lahey, K., "TCP Problems with Path MTU Discovery",
RFC 2923, September 2000.
[RFC2979] Freed, N., "Behavior of and Requirements for Internet
Firewalls", RFC 2979, October 2000.
[RFC2991] Thaler, D. and C. Hopps, "Multipath Issues in Unicast and
Multicast Next-Hop Selection", RFC 2991, November 2000.
[RFC2993] Hain, T., "Architectural Implications of NAT", RFC 2993,
November 2000.
[RFC3021] Retana, A., White, R., Fuller, V., and D. McPherson,
"Using 31-Bit Prefixes on IPv4 Point-to-Point Links",
RFC 3021, December 2000.
[RFC3069] McPherson, D. and B. Dykes, "VLAN Aggregation for
Efficient IP Address Allocation", RFC 3069, February 2001.
[RFC3077] Duros, E., Dabbous, W., Izumiyama, H., Fujii, N., and Y.
Zhang, "A Link-Layer Tunneling Mechanism for
Unidirectional Links", RFC 3077, March 2001.
[RFC3338] Lee, S., Shin, M-K., Kim, Y-J., Nordmark, E., and A.
Durand, "Dual Stack Hosts Using "Bump-in-the-API" (BIA)",
RFC 3338, October 2002.
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
Jacobson, "RTP: A Transport Protocol for Real-Time
Applications", STD 64, RFC 3550, July 2003.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552,
July 2003.
Thaler & IAB Informational [Page 23]
^L
RFC 6250 Evolution of the IP Model May 2011
[RFC3618] Fenner, B. and D. Meyer, "Multicast Source Discovery
Protocol (MSDP)", RFC 3618, October 2003.
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004.
[RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D.,
Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L.
Wood, "Advice for Internet Subnetwork Designers", BCP 89,
RFC 3819, July 2004.
[RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic
Configuration of IPv4 Link-Local Addresses", RFC 3927,
May 2005.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, March 2005.
[RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and
B. Zill, "IPv6 Scoped Address Architecture", RFC 4007,
March 2005.
[RFC4380] Huitema, C., "Teredo: Tunneling IPv6 over UDP through
Network Address Translations (NATs)", RFC 4380,
February 2006.
[RFC4423] Moskowitz, R. and P. Nikander, "Host Identity Protocol
(HIP) Architecture", RFC 4423, May 2006.
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", RFC 4601, August 2006.
[RFC4786] Abley, J. and K. Lindqvist, "Operation of Anycast
Services", BCP 126, RFC 4786, December 2006.
[RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU
Discovery", RFC 4821, March 2007.
[RFC4890] Davies, E. and J. Mohacsi, "Recommendations for Filtering
ICMPv6 Messages in Firewalls", RFC 4890, May 2007.
[RFC4903] Thaler, D., "Multi-Link Subnet Issues", RFC 4903,
June 2007.
[RFC4948] Andersson, L., Davies, E., and L. Zhang, "Report from the
IAB workshop on Unwanted Traffic March 9-10, 2006",
RFC 4948, August 2007.
Thaler & IAB Informational [Page 24]
^L
RFC 6250 Evolution of the IP Model May 2011
[RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.
[RFC5218] Thaler, D. and B. Aboba, "What Makes For a Successful
Protocol?", RFC 5218, July 2008.
[RFC5694] Camarillo, G. and IAB, "Peer-to-Peer (P2P) Architecture:
Definition, Taxonomies, Examples, and Applicability",
RFC 5694, November 2009.
[SHARED-ADDRESSING]
Ford, M., Boucadair, M., Durand, A., Levis, P., and P.
Roberts, "Issues with IP Address Sharing", Work
in Progress, March 2011.
[WAIST-HOURGLASS]
Rosenberg, J., "UDP and TCP as the New Waist of the
Internet Hourglass", Work in Progress, February 2008.
[WIRELESS]
Kotz, D., Newport, C., and C. Elliott, "The mistaken
axioms of wireless-network research", Dartmouth College
Computer Science Technical Report TR2003-467, July 2003, <
http://www.cs.dartmouth.edu/cms_file/SYS_techReport/337/
TR2003-467.pdf>.
Authors' Addresses
Dave Thaler
One Microsoft Way
Redmond, WA 98052
USA
Phone: +1 425 703 8835
EMail: dthaler@microsoft.com
Internet Architecture Board
EMail: iab@iab.org
Thaler & IAB Informational [Page 25]
^L
|