RFC 4280
Dynamic Host Configuration Protocol (DHCP) Options for Broadcast and Multicast Control Servers
Dynamic Host Configuration Protocol (DHCP) Options for Broadcast and Multicast Control Servers π
okay bestie, this is RFC 4280 and it's giving DHCP options for finding BCMCS controllers π
RFC 4280 is a Standards Track document from the Network Working Group, published in November 2005 π . The authors are K. Chowdhury (Starent Networks), P. Yegani (Cisco Systems), and L. Madour (Ericsson) π«Ά. Its header has no Obsoletes or Updates line, so it doesn't replace or change any other RFC π¦.
Here's the full table of contents, copied exactly:
1. Motivation ......................................................2
2. Overview of the 3GPP2 BCMCS Network .............................3
3. Terminology .....................................................4
4. Broadcast and Multicast Service Controller Options ..............4
4.1. Broadcast and Multicast Service Controller Domain
Name List for DHCPv4 .......................................4
4.2. Broadcast and Multicast Service Controller Domain
Name List Option for DHCPv6 ................................5
4.3. Broadcast and Multicast Service Controller IPv4
Address Option for DHCPv4 ..................................6
4.4. Broadcast and Multicast Service Controller IPv6
Address Option for DHCPv6 ..................................6
4.5. Consideration for Client Operation .........................7
4.6. Consideration for Server Operation .........................7
5. Security Considerations .........................................8
6. IANA Considerations .............................................8
7. Acknowledgements ................................................8
8. Normative References ............................................9
Status of This Memo π
so this doc is an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions to make it better π. For the official standardization state and status of this protocol, go check the current edition of "Internet Official Protocol Standards" (STD 1) β¨. Distribution of this memo is unlimited π .
Copyright Notice β
Copyright (C) The Internet Society (2005).
Abstract π¦
this document defines new options for discovering the Broadcast and Multicast Service (BCMCS) controller in an IP network π. BCMCS is being built for Third generation (3G) cellular telephone networks, and users of the service talk to a controller in the network through the Mobile Node (MN) to get the info they need to receive Broadcast and Multicast Service π‘. DHCP can be used to configure the MN so it can access a particular controller π. This document defines the related options and option codes π«Ά.
1. Motivation β¨
okay so DHCP ([RFC2131] and [RFC3315]) can configure all kinds of non-IP-address parameters πΈ. Those parameters are needed for normal operation of the services that run over an IP network π.
BCMCS is one of those services, and it's being standardized by a bunch of mobile wireless standards bodies: Third Generation Partnership Project 2 (3GPP2), Open Mobile Alliance (OMA), and 3GPP π. You can find a description of BCMCS as defined in 3GPP2 in [BCMCS] π.
here's the tea π΅: DHCP already has tons of options for device configuration, but there's no option for setting up a mobile device to use BCMCS π. This memo adds extensions for both DHCPv4 and DHCPv6 so DHCP can hand a mobile device the config info it needs about the BCMCS controllers π§.
DHCP is used in 3GPP2 to help Mobile Nodes (MNs) find the BCMCS Controller in a mobile operator's IP network π. The BCMCS has a controller component that manages the service by talking to the MN and other network entities π . In this document, we'll call it a BCMCS controller π₯.
the next section gives an overview of the 3GPP2 BCMCS architecture, with just enough info to get the basics of how 3GPP2 BCMCS operates π·. Readers are encouraged to check out [BCMCS] for a more detailed description π.
Here's the main idea π: the MNs are required to know the IPv4 or IPv6 address of the BCMCS controller entity so they can download all the necessary info about a desired broadcast and/or multicast program πΊ. In a roaming environment, static configuration of the BCMCS controller's IP address is unrealistic π. So DHCP is considered a way to dynamically configure MNs with the IP address or the fully qualified domain name (FQDN) of the BCMCS controller in 3G cellular telephone networks π¦.
To let MNs discover BCMCS controllers, the MNs request the appropriate option codes from the DHCP server π. The DHCP servers need to return the matching configuration options that carry either the BCMCS controller's IP address or its FQDN, depending on configuration π. This document defines the necessary options and option codes β¨.
2. Overview of the 3GPP2 BCMCS Network π§
the Broadcast and Multicast Service architecture in a 3G cellular telephone network like 3GPP2 has this model π:
+------------+ +--------+
| BCMCS | | |
| Controller | | DHCP |
| | | Server |
+------------+ +--------+
^
Control|
Info|
|
|
V
+----+ +------------+ +------------+
| | | | | |
| MN/| bearer | Radio | | BCMCS |
|User|<-------| Access |<---| Content |
| | | Network | | Server |
+----+ +------------+ +------------+
the figure is just there so you get the basic idea of how Broadcast and Multicast Service works in a 3G cellular telephone network π«Ά. The only network elements that matter to this document are the MN/user and the DHCP server. The rest aren't relevant to the text here π.
The MN talks to the BCMCS Controller to request broadcast/multicast program info from the network, like scheduled time, multicast IP address, and port numbers πΊ. The MN may also get authenticated by the BCMCS Controller while it downloads program-security info, such as an encryption key π. These interactions may happen over HTTP and XML, as defined in [BCMCS] π». There may be more than one BCMCS controller in the network π―. The MN should find the right BCMCS controller to request the relevant program info π―. For the full details of Broadcast and Multicast Service operation in 3GPP2, see [BCMCS] π.
3. Terminology π
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] π.
4. Broadcast and Multicast Service Controller Options π
this section defines the configuration option for the BCMCS controller of the Broadcast and Multicast Service πΈ.
4.1. Broadcast and Multicast Service Controller Domain Name List for DHCPv4 π¦
here's the general format of the BCMCS Controller Domain list option for DHCPv4 π:
Code Len FQDN(s) of BCMCS Controller
+-----+-----+-----+-----+-----+-----+-----+--
| 88 | n | s1 | s2 | s3 | s4 | s5 | ...
+-----+-----+-----+-----+-----+-----+-----+--
the option MAY contain multiple domain names π, but those domain names MAY NOT be queried one by one for A records. Instead, they SHOULD be used to build Service Record (SRV) lookups as specified in [BCMCS] β¨. The client can try any or ALL of the domain names to build the SRV lookups π. The list of domain names MAY contain the domain name of the access provider and its partner networks that also offer Broadcast and Multicast Service π«Ά.
Let's make it concrete π§. Say the access provider has a few partners or resellers, often called MVNOs (Mobile Virtual Network Operators), for Broadcast and Multicast Service π±. In that case, the access provider should be able to use the same DHCP option to send several of those domain names (the MVNOs) π. Picture an operator with a reseller agreement with two MVNOs, mvno1 and mvno2 π―. Then the Broadcast and Multicast Service Controller Domain Name list for the DHCPv4 option will hold three domain names: operator.com, mvno1.com, and mvno2.com π. When the BCMCS client gets this option, it may pick one of the domain names to fetch the right BCMCS controller address, based on the user's preference or configuration π . If none of the preferred domain names shows up in the list, the client should fall back to a default setting, like using the first one in the list π.
Ohh, and here's the size limit π¨: if the domain list is longer than the max length allowed in a single option (254 octets), then the domain list MUST be represented in the DHCPv4 message as specified in [RFC3396] β οΈ. Here's an example where two controller domain names, example.com and example.net, get returned π°:
+----+----+----+----+----+----+----+----+----+----+----+
| 88 | 26 | 7 | 'e'| 'x'| 'a'| 'm'| 'p'| 'l'| 'e'| 3 |
+----+----+----+----+----+----+----+----+----+----+----+
+----+----+----+----+----+----+----+----+----+----+----+
|'c' |'o' | 'm'| 0 | 7 | 'e'| 'x'| 'a'| 'm'| 'p'| 'l'|
+----+----+----+----+----+----+----+----+----+----+----+
+----+----+----+----+----+----+
|'e' | 3 | 'n'| 'e'| 't'| 0 |
+----+----+----+----+----+----+
that's the first half, bestie! π Part 2 picks up with 4.2 (the DHCPv6 version) and carries on from there π
4.3. Broadcast and Multicast Service Controller IPv4 Address Option for DHCPv4
okay so the Len byte is followed by a list of IPv4 addresses, and those are the BCMCS controller IPv4 addresses π The BCMCS controllers MUST be listed in order of preference, no exceptions bestie π The minimum length is 4, and the length MUST be a multiple of 4. Here's the DHCPv4 format β¨
Code Len Address 1 Address 2
+-----+-----+-----+-----+-----+-----+-----+--
| 89 | n | a1 | a2 | a3 | a4 | a1 | ...
+-----+-----+-----+-----+-----+-----+-----+--
4.4. Broadcast and Multicast Service Controller IPv6 Address Option for DHCPv6
this DHCPv6 option MUST carry one or more 128-bit IPv6 address(es) of the BCMCS Controller in an operator's network π¦ The layout looks like this:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_BCMCS_SERVER_A | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| BCMCS Control server-1 address (IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| BCMCS Control server-2 address (IPv6 address) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code: OPTION_BCMCS_SERVER_A (34).
option-length: Length of the 'BCMCS Control Server IPv6 address' field in octets; variable.
4.5. Consideration for Client Operation
for DHCPv4, the client MAY request either or both of the BCMCS Controller Domain Name List and the IPv4 Address options in the Parameter Request List option (code 55) as defined in [RFC2132] π
for DHCPv6, the client MAY request either or both of the BCMCS Controller Domain Name List and the IPv6 Address options in the Options Request Option (ORO) as described in [RFC3315] πΈ
okay this part is so important π If the client receives both the BCMCS Controller Domain Name List and IPv6 or IPv4 Address options, it SHOULD use the Domain Name List option. In this case, the client SHOULD NOT use the BCMCS Controller IPv6 or IPv4 Address option unless the server(s) in the BCMCS Controller Domain Name List cannot be resolved or reached. Main character energy, the domain name list wins π«Ά
4.6. Consideration for Server Operation
a server MAY send a client either the BCMCS Controller Domain Name List Option or the BCMCS Controller IPv6 Address/IPv4 Address options if the server is configured to do so π§
if a client requests both the options and the server is configured with both types of information, the server MAY send the client only one of the options if it is configured to do so. In this case, the server SHOULD send the BCMCS Controller Domain Name List option π
a server configured with the BCMCS Controller IPv6 or IPv4 Address information MUST send a client the BCMCS Controller IPv6 or IPv4 Address option if that client requested only the BCMCS Controller IPv6 or IPv4 Address option and not the BCMCS Controller Domain Name List option in the ORO or Parameter Request List option π
if a client requests for the BCMCS Controller IPv6 or IPv4 Address option and the server is configured only with the domain name(s), the server MUST return the Domain Name List and vice versa π
the domain names MUST be concatenated and encoded using the technique described in Section 3.3 of "Domain Names - Implementation and Specification" [RFC1035]. DNS name compression MUST NOT be used π«β¨
here's the server's response table, summed up π
Client sends in ORO/
Parameter Request List Domain Name List IPv6/IPv4 Address
__________________________________________________________________
Neither option SHOULD MAY
Domain Name List MUST MAY
IPv6/IPv4 Address MAY MUST
Both options SHOULD MAY
5. Security Considerations π
this document does not introduce any new security concerns beyond those specified in the basic DHCP [RFC2131] and DHCPv6 [RFC3315] specifications. Okay but listen π without message integrity protection for these options, an attacker could modify the option values to divert requests for broadcast service. That is a genuinely scary situation, so please take it seriously, bestie π
6. IANA Considerations π
the following option codes for the Broadcast and Multicast Service Controller option have been assigned by IANA:
- The BCMCS Controller Domain Name list (Section 4.1) has been assigned a value of 88 from the DHCPv4 option space.
- The BCMCS Controller Domain Name list (Section 4.2) has been assigned a value of 33 from the DHCPv6 option space, and a name of OPTION_BCMCS_SERVER_D.
- The BCMCS Controller IPv4 Address option (Section 4.3) has been assigned a value of 89 from the DHCPv4 option space.
- The BCMCS Controller IPv6 Address option (Section 4.4) has been assigned a value of 34 from the DHCPv6 option space, and a name of OPTION_BCMCS_SERVER_A.
7. Acknowledgements π«Ά
thanks to the following people for their review and constructive comments during the development of this document:
AC Mahendran, Jun Wang, Raymond Hsu, Jayshree Bharatia, Ralph Droms, Ted Lemon, Margaret Wasserman, Thomas Narten, Elwyn Davies, Pekka Savola, Bert Wijnen, David Kessens, Brian E. Carpenter, and Stig Venaas. You all ate π
8. Normative References π
[BCMCS] 3GPP2, www.3gpp2.org,
http://www.3gpp2.org/Public_html/specs/tsgx.cfm, "X.S0022,
Broadcast and Multicast Service in cdma2000 Wireless IP
Network.", December 2005.
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[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.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3396] Lemon, T. and S. Cheshire, "Encoding Long Options in the
Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
November 2002.
Authors' Addresses ποΈ
Kuntal Chowdhury
Starent Networks
30 International Place
Tewksbury, MA 01876
US
Phone: +1 214-550-1416
EMail: kchowdhury@starentnetworks.com
Parviz Yegani
Cisco Systems
3625 Cisco Way
San Jose, CA 95134
US
Phone: +1 408-832-5729
EMail: pyegani@cisco.com
Lila Madour
Ericsson
8400, Decarie Blvd
Town of Mount Royal, Quebec H4P 2N2
CANADA
Phone: +1 514-345-7900
EMail: Lila.Madour@ericsson.com
Full Copyright Statement Β©
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property π
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society. And that's the whole spec, bestie β¨π¦
π¦ where this page comes from
- ietf: rfc4280 2005-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms