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
|
Internet Engineering Task Force (IETF) R. Johnson
Request for Comments: 6656 K. Kinnear
Category: Informational M. Stapp
ISSN: 2070-1721 Cisco Systems, Inc.
July 2012
Description of Cisco Systems' Subnet Allocation Option for DHCPv4
Abstract
This memo documents a DHCPv4 option that currently exists and was
previously privately defined for the operation and usage of the Cisco
Systems' Subnet Allocation Option for DHCPv4. The option is passed
between the DHCPv4 Client and the DHCPv4 Server to request dynamic
allocation of a subnet, give specifications of the subnet(s)
allocated, and report usage statistics. This memo documents the
current usage of the option in agreement with RFC 3942, which
declares that any preexisting usages of option numbers in the range
128-223 should be documented and that the working group will try to
officially assign those numbers to those options.
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 Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are 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/rfc6656.
Johnson, et al. Informational [Page 1]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
Copyright Notice
Copyright (c) 2012 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. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Johnson, et al. Informational [Page 2]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Subnet Allocation Option Format . . . . . . . . . . . . . . . 5
3.1. Subnet-Request Suboption Format . . . . . . . . . . . . . 5
3.2. Subnet-Information Suboption Format . . . . . . . . . . . 7
3.2.1. Subnet Prefix Information Block Format . . . . . . . . 8
3.3. Subnet-Name Suboption Format . . . . . . . . . . . . . . . 9
3.4. Suggested-Lease-Time Suboption Format . . . . . . . . . . 10
4. Requesting Allocation of a Subnet . . . . . . . . . . . . . . 10
4.1. Client DHCPDISCOVER Message . . . . . . . . . . . . . . . 11
4.2. Server DHCPOFFER Message . . . . . . . . . . . . . . . . . 11
4.3. Client DHCPREQUEST Message . . . . . . . . . . . . . . . . 12
4.4. Server DHCPACK Message . . . . . . . . . . . . . . . . . . 13
5. Client Renewal of Subnet Lease . . . . . . . . . . . . . . . . 13
5.1. Client RENEW DHCPREQUEST Message . . . . . . . . . . . . . 13
5.2. Server RENEW DHCPREQUEST Response . . . . . . . . . . . . 14
5.3. Client DHCPRELEASE Message . . . . . . . . . . . . . . . . 14
5.4. Server DHCPFORCERENEW Message . . . . . . . . . . . . . . 15
6. Client Requesting Previously Allocated Subnet Information . . 15
6.1. Initial Client DHCPDISCOVER Message . . . . . . . . . . . 15
6.2. Initial Server DHCPOFFER Response . . . . . . . . . . . . 16
6.3. Additional Client DHCPDISCOVER Messages . . . . . . . . . 16
6.4. Additional Server DHCPOFFER Responses . . . . . . . . . . 16
7. DHCP Server Subnet Allocation Method . . . . . . . . . . . . . 17
8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . . . 19
9. Differences from DHCPv6 Prefix Delegation . . . . . . . . . . 21
10. Security Considerations . . . . . . . . . . . . . . . . . . . 22
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
12.1. Normative References . . . . . . . . . . . . . . . . . . . 23
12.2. Informative References . . . . . . . . . . . . . . . . . . 23
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 23
Johnson, et al. Informational [Page 3]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
1. Introduction
This memo documents a DHCP option [RFC2132], the Subnet Allocation
option, that was developed by Cisco and allows a DHCP Client to
allocate a subnet given information from a DHCP Server. This
protocol makes use of DHCP option number 220, one of the option
numbers reclassified by [RFC3942]. That RFC specifies in Section 4,
procedure 2, "Vendors that currently use one or more of the
reclassified options have 6 months following this RFC's publication
date to notify the DHC WG and IANA that they are using particular
options numbers and agree to document that usage in an RFC". This
memo serves as that documentation. The DHC WG has had no input into
any of the details of the protocol operation and makes no statement
about the correctness or any other aspect of the protocol. The WG
also has seen no interest in further implementation or deployment of
this protocol other than privately, and therefore has decided to
publish this document solely for informational purposes.
The Subnet Allocation option provides a straightforward way to
allocate a subnet from DHCP, useful for a simple Dial-in Aggregation
box, or to implement a Hierarchical chain of DHCP Servers, each one
in turn leasing one or more subnets to the next DHCP Server down the
chain. This option is specified in such a way as to use one DHCP
option number, while using suboption numbers for each function.
2. Conventions
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 [RFC2119].
This document also uses the following terms:
DHCP Client: DHCP Client or "Client" is an Internet host using DHCP
to obtain configuration parameters such as a network address.
DHCP Server: A DHCP Server or "Server" is an Internet host that
returns configuration parameters to DHCP Clients.
Johnson, et al. Informational [Page 4]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
3. Subnet Allocation Option Format
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Code | Len | Flags | Suboptions ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Code = Subnet Allocation option code (1 octet): 220
Len = Length of the entire option including all suboptions
(1 octet)
Flags = Various flags: (None currently defined)
One or more suboptions may be specified as described below.
3.1. Subnet-Request Suboption Format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | Len | Flags :i:h| Prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Len = Length of the suboption (always 2 for this suboption)
(1 octet)
Flags = Flags field. (all unused bits must be zero)
'h' = Hierarchical flag
1 : Client will be allocating addresses from this subnet.
0 : Client will be relaying DHCP requests to the Server
from this subnet.
'i' = Information flag
1 : Client is seeking information about previously
allocated subnets.
0 : Client is seeking a new subnet allocation.
Prefix = Network prefix length requested
(0 means no suggested length is given) (1 octet)
The DHCP Server SHOULD NOT include the Subnet Request suboption in
any replies to the DHCP Client. Enough information will be present
in the Subnet-Information suboption, such that the Subnet Request
suboption is not needed in replies to the Client.
The DHCP Server SHOULD allocate a subnet with prefix length [RFC4632]
less than or equal to the "Prefix" field length specified in the
request. In other words, a subnet containing a number of addresses
at least the size indicated by the prefix length requested and
Johnson, et al. Informational [Page 5]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
possibly more. The DHCP Server MAY allocate a subnet with a prefix
length greater than that specified in the request (or a subnet with a
number of addresses less than requested), but this is not encouraged.
A "Prefix" field size of 0 MAY be specified by the DHCP Client. In
this case, no suggested prefix length is given.
Multiple Subnet-Request suboptions in a DHCP packet indicate that
multiple subnets are being requested. Note that multiple occurrences
of this suboption MUST NOT be concatenated in the sense of [RFC3396].
Each Subnet-Request suboption MUST result in no more than one Subnet-
Information suboption in the DHCPOFFER message from the Server, and
may result in no Subnet-Information suboptions.
The Client MAY also include the Subnet-Information suboption in order
to request a particular subnet. In this case, the Client SHOULD only
include one Subnet-Request suboption, since it would otherwise be
unclear which Subnet-Information suboption referred to which Subnet-
Request suboption. Multiple subnet requests can be made by sending
multiple DHCPDISCOVER packets.
Setting the 'h' flag to 1 indicates the Client will be allocating
addresses from the allocated subnet(s) itself. This can be thought
of as a "Hierarchical DHCP" design in that control of allocation for
the subnet(s) will be passed to the Client.
Setting the 'h' flag to 0 indicates the Client wants the DHCP Server
to retain control over allocation of addresses from the subnet(s).
Any address allocation requests on the subnet will be relayed back to
the DHCP Server.
Setting the 'i' flag to 1 indicates the Client is NOT seeking
allocation of any subnets, but is simply seeking information from the
Server as to what subnet(s) have been allocated (or reserved) for
this Client. If the 'i' flag is set to 1, then the "Prefix" field
SHOULD be set to 0 and MUST be ignored by the Server. In this case,
the conversation between the Client and the Server will only progress
to the DHCPOFFER packet from the Server, giving the information, as
described in Section 6 below.
Any undefined flags (those other than 'i' and 'h', mentioned above)
should be ignored by the DHCP Server.
Johnson, et al. Informational [Page 6]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
3.2. Subnet-Information Suboption Format
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| 2 | Len | Flags :c:s| SP1, SP2, ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Len = Length of the suboption (min. length of 8) (1 octet)
Flags = Various flags that apply to ALL Subnet Prefix
Information fields specified in this suboption.
Unused flags must be zero.
'c' : Client flag (explained below)
1 : This information is in response to a Client request
(or has been echoed back by the Client, when asking
for the next previously allocated subnet from the
Server).
0 : Otherwise.
's' : Server flag (explained below)
1 : Server has additional subnet information for this
Client.
0 : Otherwise.
SP1, SP2, ... Subnet Prefix Information blocks as specified below
(variable size)
Setting the 'c' flag to 1 indicates this Subnet-Information suboption
is in response to a Client request for information from the Server as
to what subnet(s) have been allocated. This flag is used in response
to a Subnet-Request suboption with the 'i' flag set and should be 0
in other Server responses. Note, the flag is echoed back from the
Client to the Server when requesting the "next previously allocated
subnet". Another way to think of the 'c' bit would be that it
indicates that the subnet information contained in this suboption
does not represent a new allocation by the Server or a new request
for allocation by the Client, but instead represents previously
allocated subnet information.
Setting the 's' flag to 1 indicates the Server has additional subnet
information for the Client.
Any undefined flags (those other than 'c' and 's', mentioned above)
should be ignored by the DHCP Server.
Johnson, et al. Informational [Page 7]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
The Subnet-Information suboption is used by the DHCP Server in order
to return information as to what subnets are offered (in the case of
a DHCPOFFER packet) or allocated (in the case of a DHCPACK packet).
As is indicated above, multiple subnets may be returned in one
Subnet-Information suboption.
The Subnet-Information suboption is also used by the DHCP Client in
order to request allocation of specific subnets in a DHCPREQUEST
packet. In this case, the "Network", "Prefix", and "Flags" fields
contained in the associated Subnet Prefix Information blocks MUST NOT
be changed from the information that was received in the DHCPOFFER
packet from the Server. The Client MAY, however, use multiple
Subnet-Information suboptions in order to request subnets that were
originally specified by the Server inside one Subnet-Information
suboption.
3.2.1. Subnet Prefix Information Block Format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Network |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix | Flags :h:d| Stat-len | Optional stats...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Network = IPv4 network number (4 octets)
Prefix = Prefix length (1 octet)
Flags = Flags field (Undefined bits must be zero) (1 octet)
'd' = Deprecate flag (explained below)
1 : Deprecation of this subnet is requested.
0 : No deprecation is needed.
'h' = Hierarchical flag (explained below)
1 : Client will be allocating addresses from this subnet.
0 : Client will be relaying DHCP requests to the Server
from this subnet.
Stat-len = Length of the optional statistics information field
(zero if no statistics are included) (1 octet)
The 'd' flag may only be returned by the Server to the Client (inside
a DHCPACK packet, in response to a DHCP RENEW). Its presence means
that the Client should prepare to give up the subnet. For example,
if the Client is assigning addresses from this subnet to other
Clients, it should cease doing so immediately and should not renew
Johnson, et al. Informational [Page 8]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
any leases when Clients ask for renewal. As soon as all addresses in
the subnet are unallocated, the Client should send a DHCPRELEASE
message to the Server, including a Subnet Prefix Information block
for the subnet in order to release the subnet. The format of this
message is described farther below.
The 'h' flag tells the Client how the Server intends for the Client
to use the allocated subnet. It is interpreted in the same manner as
that in the Subnet-Request suboption. In response to a Subnet-
Request, the Server should normally specify the 'h' flag in the same
manner as it was in the Subnet-Request suboption from the Client.
The Server MAY, however, change the 'h' flag from that specified in
the Subnet-Request suboption if it has been configured to override
the Client's request.
Any undefined flags (those other than 'd' and 'h', mentioned above)
should be ignored by the DHCP Server.
If any usage statistics information is to be included, then the
"Stat-len" field specifies the number of bytes of statistics
information that is included. See below for more information. If no
statistics information is included, then this byte MUST be zero. The
"Stat-len" field SHOULD always be zero when this suboption is sent by
the DHCP Server. The usage statistics information is intended for
use only to report usage statistics from the Client to the Server.
3.2.1.1. Subnet Usage Statistics
The Subnet-Information suboption may also include usage statistics
information. If this information is included, then the "Stat-len"
(Statistics length) field MUST be set to the number of bytes of
statistics information that is being included. The statistics
information MUST be in the following form and order:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| High water |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Currently in use |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Unusable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
"High water" refers the to "high-water mark" of allocated addresses
within the subnet. That is, the largest number of addresses that
were ever allocated at one time from the subnet.
Johnson, et al. Informational [Page 9]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
"Currently in use" refers to the number of addresses currently
allocated in the subnet.
"Unusable" refers to the number of addresses that are currently
unusable for any reason (such as a Client returning a DHCPDECLINE, or
finding the address already in use).
Additional statistics may be added to this option in the future. If
so, they MUST be appended immediately after the already defined
statistics fields. All statistics fields MUST remain in the same
order. Use the all ones value (0xffff) in order to skip reporting a
number for a particular field. Fewer fields may be included than
what is specified above; for example, if "Stat-len" is "4", then the
"Unusable" field has not been included. All fields that are included
MUST remain in order specified here.
3.3. Subnet-Name Suboption Format
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| 3 | Len | Name ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Len = length of the suboption (min. length of 1) (1 octet)
The Subnet-Name suboption may be used in order to pass a subnet name
to the Server for use during allocation. This name may be used for
any purpose but is intended to tell the Server something extra about
the needed subnet; for example, "sales department", "customer 1002",
"address pool FOO", or some such. The "name" should NOT be NULL
terminated since the "len" field already specifies the length of the
name. The "Name" in this suboption MUST be given using UTF-8
[RFC3629].
3.4. Suggested-Lease-Time Suboption Format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 4 | Len (4) | t1 | t2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| t3 | t4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Len = length of the suboption (always 4 for this suboption) (1
octet)
Johnson, et al. Informational [Page 10]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
The Suggested-Lease-Time suboption MAY be included by the Server in
order to suggest the lease time to be used by the Client when
allocating addresses from the subnet allocated. The 4-octet value of
the lease time is in the same format as that of the "IP Address Lease
Time" option (option 51), as described in [RFC2132].
If included, this suboption MUST appear only once. (Inclusion of
multiple such suboptions would result in ambiguity as to which
applied to which subnet.) If different suggested lease times are
needed, the Server SHOULD, instead, reply with only one offered
subnet and should set the "Server flag" in the Subnet-Information
suboption to indicate to the Client that it should send another
subnet request to gather the others.
The Client SHOULD use a lease time, when allocating addresses from
the subnet, that is the lesser of the remaining lease time of the
subnet itself and the Suggested-Lease-Time suboption.
4. Requesting Allocation of a Subnet
4.1. Client DHCPDISCOVER Message
The DHCP Client creates a DHCPDISCOVER message including the Subnet
Allocation option, and its set of suboptions, to request allocation
of a subnet. The DHCP Client should include the Subnet-Request
suboption, specifying the prefix length of the subnet requested. The
'h' bit should be set to 1 if the Client intends to control
allocation of addresses within the subnet itself, or 0 if the Server
should retain control of addresses within the subnet. More than one
Subnet Allocation option may appear in a DHCPDISCOVER message;
however, the Client SHOULD limit the number of requests, noting that
the DHCP replies will need to include the Subnet-Information
suboption, which takes up more space than the Subnet-Request
suboption.
If more than one subnet is being requested, multiple Subnet-Request
suboptions MAY be included or multiple DHCPDISCOVER messages MAY be
sent instead. The prefix length field of each Subnet-Request
suboption MUST be either 0, or in the range of 1 to 30 inclusive.
The DHCP "IP address lease time" option (code 51) MAY be included in
the DHCPDISCOVER message to specify the lease time the Client is
requesting for the subnet. If not present, no suggested lease time
is given.
The DHCP "Client ID" option (code 61) MAY be included in the
DHCPDISCOVER message as it may be used by the Server in performing
the subnet allocation.
Johnson, et al. Informational [Page 11]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
4.2. Server DHCPOFFER Message
Upon receiving a DHCPDISCOVER containing the Subnet Allocation
option, the DHCP Server SHOULD respond with a DHCPOFFER message
including the Subnet-Information suboption in order to specify the
subnet(s) that it is willing to allocate to the Client in order to
fulfill the request(s).
The Server need not reserve the subnets that are being offered, but
SHOULD not offer the same subnets to another DHCP Client until a
reasonable time period (implementation dependent) has passed. (This
is similar to normal DHCP address allocation.)
The Server MUST NOT include the Subnet-Request suboption in the
DHCPOFFER. The same information is already present in the Subnet
Information suboption(s) that SHOULD be included in the DHCPOFFER.
The Server SHOULD also include the IP address lease time option
(option 51) in the DHCPOFFER message. This gives the lease time for
all subnets given in all Subnet-Request suboptions contained in the
DHCPOFFER message. The Server MAY also include the Renewal and/or
Rebinding options in order to further control the "T1" and "T2" lease
timers of the Client. There MUST be exactly one IP address lease
time (and optionally one Rebinding and/or one Renewal option) in the
DHCPOFFER message.
The Server MAY set the "Server flag" ('s') to 1 to indicate that it
would like to allocate one or more additional subnet(s) to the
Client. This indicates that the Client should send another
DHCPDISCOVER message specifying a prefix length field, P, of zero in
order to request the additional subnet allocation(s) information.
This may be necessary if the subnets are to be allocated with
different lease times, for example.
The "Client flag" ('c') MUST be set to 0 to indicate this is a Server
response to a Client request for a new subnet allocation and not a
response to a request for information about already allocated
subnets.
If the packet contains a Subnet Allocation option, the Server SHOULD
set the DHCP yiaddr value to all zeros (0.0.0.0) and the Client MUST
ignore fields having to do with address assignment. In other words,
a DHCP packet exchange cannot provide subnet allocation and address
assignment simultaneously.
Johnson, et al. Informational [Page 12]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
4.3. Client DHCPREQUEST Message
When sending a DHCPREQUEST, the Client MUST NOT modify any fields of
any Subnet-Information suboptions received from the Server. However,
the Client MAY choose not to include some Subnet-Information
suboptions when issuing the DHCPREQUEST. Subnet-Request suboptions
MUST NOT be included in the DHCPREQUEST message; only the Subnet-
Information suboption(s) should be included.
4.4. Server DHCPACK Message
The DHCP Server, upon receipt of the Client's DHCPREQUEST message,
MAY refuse allocation of any subnets (for example, if they have been
allocated elsewhere in the meantime); however, since the Server
should have set aside the subnets offered for a short period of time,
and since the Client should have requested the subnets within a short
period of time after receiving the offer(s) from the Server(s), this
last minute rejection should be rare. The DHCP Server MUST NOT
change the network number(s) or prefix length(s); however, it MAY
remove some Subnet-Information suboptions from the list.
The Server SHOULD include the IP address lease time option specifying
the lease period for all subnet(s) in the DHCPACK. All subnets
allocated in one DHCP message will have the same lease time, and only
one IP address lease time option must appear in the DHCP message.
If the Server has internal information that states that the Client
should be allocated more subnets than were requested, the Server MAY
set the 's' bit in the last Subnet-Information suboption to indicate
that the Client needs to request more subnets (as described above).
The allocable unit is the tuple (network number, prefix length).
Multiple subnets may be allocated in one DHCPACK; however, since
there can be only one Lease-time option, each subnet allocated is
assigned the same lease time. Each subnet lease tuple (network
number, prefix length) MAY be renewed or released individually.
5. Client Renewal of Subnet Lease
5.1. Client RENEW DHCPREQUEST Message
The Client MUST renew all subnets allocated with a lease time in much
the same manner as renewing an allocated IP address. Renewal timers
need not be set in exactly the same manner, however. If Renewal
and/or Rebinding options were included in the DHCPACK of the subnet
allocation, then these "T1" and "T2" timers should be used just as
they would be in the case of address allocation timers.
Johnson, et al. Informational [Page 13]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
The DHCPREQUEST message MUST include a Subnet-Information suboption
for which the Client is seeking renewal of the lease. This Subnet-
Information suboption may optionally include subnet usage statistics,
as described above in Section 3.2 ("Subnet-Information Suboption
Format").
The subnet network number field ("Network") and subnet prefix length
field ("Prefix") MUST agree with the values as they were originally
allocated to the Client by the Server. In any of the statistics
fields (High water, Currently in use, Unusable), a value of all ones
(0xffff) SHOULD be used if the Client has no information to report
for a statistic.
5.2. Server RENEW DHCPREQUEST Response
The Server MAY respond to a subnet RENEW with either a DHCPACK or
DHCPNAK response. If a DHCPNAK response is given, the Client MUST
immediately stop using the subnet(s) specified and, if possible,
notify all Clients with addresses allocated from this subnet that
their addresses are no longer valid. The Client MAY, of course, send
a DHCPDISCOVER message containing the Subnet Allocation option and
the Subnet-Request suboption in order to acquire another subnet for
use. In general, the Server should ask the Client to deprecate
subnets by using the 'd' bit of the Subnet-Information suboption in a
DHCPACK message (see below).
If a DHCPACK response is given, the "Deprecate" ('d') bit of the
Flags field in the Subnet-Information suboption may also be set.
This indicates the DHCP Client should prepare to stop using this
subnet. If the Client is allocating IP addresses for other Clients
from this subnet (e.g., via DHCP), the Client SHOULD immediately stop
allocating such addresses. Once all allocated addresses in the
subnet have been released, the Client SHOULD send a DHCPRELEASE
message, including the Subnet-Information suboption (with optional
usage statistics) in order to release the subnet(s) back to the
Server.
5.3. Client DHCPRELEASE Message
The DHCP Client SHOULD send a DHCPRELEASE message in order to release
allocated subnet(s) back to the Server when it is finished using
them. This message MUST NOT include the Subnet-Request suboption,
but MUST include one or more Subnet-Information suboptions, and may
optionally include usage statistics.
The Client MUST release the same subnet(s) of the same prefix length
("Prefix"), as were originally allocated. The Client MAY release a
subset of the subnets that were allocated originally. In other
Johnson, et al. Informational [Page 14]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
words, the allocable unit is the tuple (network number, prefix
length). Multiple subnets may be allocated in one DHCPACK; however,
each subnet MAY be released individually.
5.4. Server DHCPFORCERENEW Message
The DHCP Server MAY issue a DHCPFORCERENEW [RFC3203] message
containing the Subnet Allocation option and the Subnet-Information
suboption. Upon receiving this message, the DHCP Client MUST issue a
DHCPREQUEST message to the DHCP Server in order to renew the lease on
the subnet mentioned. No other subnets allocated to the Client are
affected. As is the case with all DHCP RENEW messages, the Client
may include subnet usage information in the Subnet-Information
suboption in order to report subnet usage statistics, or set the
"Stat-len" field to 0 if no statistics are to be reported.
If the Server responds to this DHCPREQUEST with a DHCPNAK message,
then the Client MUST immediately stop using the subnet(s) and, if
possible, notify all Clients with addresses allocated from this/these
subnet(s) that their addresses are no longer valid. The Client MAY,
of course, send a DHCPDISCOVER message containing the Subnet
Allocation option and the Subnet-Request suboption in order to
acquire another subnet for use.
6. Client Requesting Previously Allocated Subnet Information
A DHCP Client MAY request from the DHCP Server a list of what subnets
are currently allocated to the Client. This may be used to recover
from a restart if the Client does not have local storage in order to
retain the information itself. (For an example of this, see
Section 8.2 below.)
6.1. Initial Client DHCPDISCOVER Message
The DHCP Client DHCPDISCOVER message, when used to discover already
allocated subnet information, SHOULD contain a Subnet-Request
suboption with the "Prefix" field set to 0 and with the 'i' flag set
to 1 to indicate that the Client is seeking already allocated subnet
information from the Server. No Subnet-Information suboptions should
be included in this message. Note, no Subnet-Information suboption
is included in this message, since the Client would not know of any
subnet to request at that point.
This DHCPDISCOVER message MAY be unicast to a particular DHCP Server,
or broadcast in the normal fashion.
Johnson, et al. Informational [Page 15]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
6.2. Initial Server DHCPOFFER Response
Any DHCP Server that has allocated subnets to the Client SHOULD
respond to the DHCPDISCOVER message with a DHCPOFFER message. The
DHCPOFFER message should contain one or more Subnet-Information
suboption(s) telling the prefix of the subnet(s) allocated to the
Client.
The Server SHOULD, internally, retain an ordered list of subnets that
are allocated to each Client. In response to an initial DHCPDISCOVER
message requesting allocated subnet information (i.e., one with the
'i' flag set to 1, but not carrying a Subnet-Information suboption),
the Server returns in the DHCPOFFER message the subnet information
for the first subnet(s) from this list. If the end of the list has
been reached, then the 's' bit of the last Subnet-Information
suboption included in the message MUST be set to 0. If there are
more subnets in the list, the 's' bit MUST be set to 1 to indicate to
the Client that more information is available. Since this
information is in response to a Client request for previously
allocated subnet information, the 'c' bit MUST be set to 1.
6.3. Additional Client DHCPDISCOVER Messages
The Client, upon receiving any Server DHCPOFFER messages containing
Subnet Information suboption information with the 'c' ("Client") bit
set, SHOULD gather the network number ("Network") and prefix length
("Prefix") information from the message.
If the 's' bit is set in the last of the Subnet-Information
suboptions included in the message, then the Client SHOULD construct
a new DHCPDISCOVER message containing the Subnet Allocation option
and the last Subnet-Information suboption from the Server's message.
This message SHOULD then be sent back to the same DHCP Server
originating the DHCPOFFER message. The 'c' and 's' bits MUST retain
the same settings they had from the Server's DHCPOFFER message and
the network number ("Network") and prefix length ("Prefix") fields
MUST be unaltered as well.
If the 's' bit in all of the Subnet-Information suboptions from the
Server was 0, then it indicates the Server has no more information
about subnets allocated to the Client.
6.4. Additional Server DHCPOFFER Responses
The Server, upon receiving from a Client an additional DHCPDISCOVER
message for allocated subnet information retrieval, with the 'i' flag
set to 1 and containing one or more Subnet Information suboptions
with the 'c' and the 's' bits set, MUST use the network number
Johnson, et al. Informational [Page 16]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
("Network") and prefix length ("Prefix") fields contained in the last
such Subnet Information suboption. This is in order to locate the
position in the internal table of allocated subnets for this Client.
Then, the Server MUST return an DHCPOFFER message containing a
Subnet-Information suboption giving information about the next set of
subnets allocated to this Client. If this finishes the list in the
table for this Client, then the 's' bit MUST be set to 0 to indicate
there is no more information. Any Subnet Information suboptions
encountered without both the 'c' and 's' bits set should be ignored
by the Server.
7. DHCP Server Subnet Allocation Method
The actual method of allocating subnets on the DHCP Server, as well
as the configuration of what networks may be subnetted and how, is
left up to the implementation.
8. Examples
Only the Subnet Allocation option and accompanying suboptions are
displayed in these examples. All other fields in the DHCP messages
are described in [RFC2131].
8.1. Example 1
A DHCP Client requesting a subnet with prefix length 24 from which
the Client will allocate addresses to other Clients. The Server
responds with an allocation of exactly the size requested:
The Client sends a DHCPDISCOVER message including a Subnet Allocation
option with the Subnet-Request suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 5 | 0 | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 |0|0| 24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Server responds with a DHCPOFFER message including a Subnet
Allocation option with a Subnet-Information suboption, offering the
subnet 10.0.1.0/24.
Johnson, et al. Informational [Page 17]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | 0 |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
The Client sends a DHCPREQUEST including a Subnet Allocation option
with a Subnet-Information suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | 0 |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
The Server responds with a DHCPACK message including a Subnet
Allocation option with a Subnet-Information suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | 0 |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
Later, the Client sends a DHCPRELEASE message including a Subnet
Allocation option with a Subnet-Information suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | 0 |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 1 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
Johnson, et al. Informational [Page 18]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
8.2. Example 2
A DHCP Client requesting two subnets, each with prefix length 24:
The Client sends a DHCPDISCOVER message including a Subnet Allocation
option with a Subnet-Request suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 9 | 0 | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 |0|0| 24 | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 |0|0| 24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Server responds with a DHCPOFFER message including a Subnet
Allocation option with a Subnet-Information suboption:
The DHCPOFFER specifies one subnet of size 24 and one subnet of size
28.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 18 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 15 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 | 10 | 0 | 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 | 28 | |0|0| 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Client sends a DHCPREQUEST message including a Subnet Allocation
option with a Subnet-Information suboption:
The Client decides that the subnet of size 28 is not sufficient so it
doesn't include that subnet in the DHCPREQUEST message.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
Johnson, et al. Informational [Page 19]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
The Server responds with a DHCPACK message including a Subnet
Allocation option with a Subnet-Information suboption:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
Later, the Client sends a DHCPREQUEST message in order to renew the
lease on the one subnet and includes subnet usage information. It
reports that a maximum of 10 addresses were allocated from the subnet
since the last report, 7 addresses are currently allocated, and 2
addresses were found to be unusable.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 17 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 14 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 6 | 0 | 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 7 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Server responds with a DHCPACK message; however, it signals to
the Client that the subnet should be deprecated.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
The Client reloads at this point and, upon completion of the reload,
sends a DHCPDISCOVER asking for information about all subnets that
were allocated to it.
Johnson, et al. Informational [Page 20]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 5 | 0 | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | |1|0| 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Server responds with a DHCPOFFER, giving the subnet information
about the one subnet that is allocated to the Client. Also, the
Server specifies that the one allocated subnet should be immediately
deprecated. Note that the 's' ("Server") bit is 0, thus indicating
that there is no more information available for this Client.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | |1|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
The Client responds with a DHCPRELEASE message after having
deprecated the subnet:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 220 | 11 | 0 | SIS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 8 | |0|0| 10 | 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2 | 0 | 24 | |0|0|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 0 |
+-+-+-+-+-+-+-+-+
9. Differences from DHCPv6 Prefix Delegation
The following differences may be noticed between Subnet Allocation as
described in this document and DHCPv6 Prefix Delegation as described
in [RFC3633]:
o This option does not use anything like an "IA_PD" as is used in
DHCPv6.
o If the Server cannot allocate a subnet, it remains silent, instead
of returning a special response saying nothing is available.
Johnson, et al. Informational [Page 21]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
o DHCPv6 Prefix Delegation has no mechanism for returning subnet/
prefix usage statistics.
o DHCPv6 has no equivalent to the "subnet deprecation" flag as
described here.
o DHCPv6 Prefix Delegation makes no mention of what Client actions
should result from receiving a DHCPNAK during a RENEW of a
delegation.
o DHCPv6 has no equivalent of the subnet allocation "Network name"
suboption, which may be used by the Server for various purposes,
such as to specify a pool to use when allocating a subnet.
o DHCPv6 Prefix Delegation corresponds to "Hierarchical Subnet
Allocation" (setting the 'h' flag in the Prefix Information
block). There is no v6 equivalent of clearing the 'h' flag, in
which the Server retains authority over allocation of addresses
from the subnet.
o DHCPv6 Prefix Delegation has nothing to correspond to the
Suggested-Lease-Time suboption.
10. Security Considerations
Potential exposures to attack are discussed in Section 7 of the DHCP
protocol specification [RFC2131]. The Subnet Allocation option can
be used to hoard all allocable subnets on a network.
Implementations should consider using the DHCP Authentication option
[RFC3118] in order to provide a higher level of security if it is
deemed necessary in their environment.
11. IANA Considerations
IANA has assigned DHCP option number 220 for this option, in
accordance with [RFC3942].
No assignment of values for the suboption codes need be made at this
time. New values may only be defined by IETF Consensus, as described
in [RFC5226]. Basically, this means that they are defined by RFCs
approved by the IESG.
Johnson, et al. Informational [Page 22]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
Extensions", RFC 2132, March 1997.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003.
[RFC3942] Volz, B., "Reclassifying Dynamic Host Configuration
Protocol version 4 (DHCPv4) Options", RFC 3942,
November 2004.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
12.2. Informative References
[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP
Messages", RFC 3118, June 2001.
[RFC3203] T'Joens, Y., Hublet, C., and P. De Schrijver, "DHCP
reconfigure extension", RFC 3203, December 2001.
[RFC3396] Lemon, T. and S. Cheshire, "Encoding Long Options in the
Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
November 2002.
[RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
Host Configuration Protocol (DHCP) version 6", RFC 3633,
December 2003.
[RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing
(CIDR): The Internet Address Assignment and Aggregation
Plan", BCP 122, RFC 4632, August 2006.
Johnson, et al. Informational [Page 23]
^L
RFC 6656 Cisco Systems' DHCP Subnet Alloc Option July 2012
Appendix A. Acknowledgments
The authors gratefully acknowledge the contributions of Jay
Kumarasamy.
Authors' Addresses
Richard A. Johnson
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
US
Phone: +1 408 526 4000
EMail: raj@cisco.com
Kim Kinnear
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
US
Phone: +1 408 526 4000
EMail: kkinnear@cisco.com
Mark Stapp
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
US
Phone: +1 408 526 4000
EMail: mjs@cisco.com
Johnson, et al. Informational [Page 24]
^L
|