rfc7594v8.txt | rfc7594.txt | |||
---|---|---|---|---|
skipping to change at page 13, line 48 | skipping to change at page 13, line 48 | |||
1. What problem is the protocol trying to address? | 1. What problem is the protocol trying to address? | |||
2. What messages are being transmitted and what do they mean? | 2. What messages are being transmitted and what do they mean? | |||
3. What are the important, but not obvious [sic], features of the | 3. What are the important, but not obvious [sic], features of the | |||
protocol? | protocol? | |||
An LMAP system goes through the following phases: | An LMAP system goes through the following phases: | |||
o a bootstrapping process before the MA can take part in the other | o a Bootstrapping process before the MA can take part in the other | |||
three phases. | three phases. | |||
o a Control Protocol, which delivers Instruction Messages from a | o a Control Protocol, which delivers Instruction Messages from a | |||
Controller to an MA (amongst other things). | Controller to an MA (amongst other things). | |||
o the actual Measurement Tasks, which measure some performance or | o the actual Measurement Tasks, which measure some performance or | |||
reliability parameter(s) associated with the transfer of packets. | reliability parameter(s) associated with the transfer of packets. | |||
o a Report Protocol, which delivers Reports containing the | o a Report Protocol, which delivers Reports containing the | |||
Measurement Results from an MA to a Collector. | Measurement Results from an MA to a Collector. | |||
skipping to change at page 14, line 39 | skipping to change at page 14, line 39 | |||
5.1. Bootstrapping Process | 5.1. Bootstrapping Process | |||
The primary purpose of bootstrapping is to enable an MA to be | The primary purpose of bootstrapping is to enable an MA to be | |||
integrated into a Measurement System. The MA retrieves information | integrated into a Measurement System. The MA retrieves information | |||
about itself (like its identity in the Measurement System) and about | about itself (like its identity in the Measurement System) and about | |||
the Controller, the Controller learns information about the MA, and | the Controller, the Controller learns information about the MA, and | |||
they learn about security information to communicate (such as | they learn about security information to communicate (such as | |||
certificates and credentials). | certificates and credentials). | |||
Whilst this memo considers the bootstrapping process, it is beyond | Whilst this memo considers the Bootstrapping process, it is beyond | |||
the scope of initial LMAP work to define a Bootstrap mechanism, as it | the scope of initial LMAP work to define a Bootstrap mechanism, as it | |||
depends on the type of device and access. | depends on the type of device and access. | |||
As a result of the bootstrapping process, the MA learns the following | As a result of the Bootstrapping process, the MA learns the following | |||
information ([LMAP-INFO] defines the consequent list of information | information ([LMAP-INFO] defines the consequent list of information | |||
elements): | elements): | |||
o its identifier, either its MA-ID or a device identifier such as | o its identifier, either its MA-ID or a device identifier such as | |||
one of its Media Access Controls (MACs) addresses or both. | one of its Media Access Controls (MACs) addresses or both. | |||
o (optionally) a Group-ID, shared by several MAs and could be useful | o (optionally) a Group-ID, shared by several MAs and could be useful | |||
for privacy reasons. For instance, reporting the Group-ID and not | for privacy reasons. For instance, reporting the Group-ID and not | |||
the MA-ID could hinder tracking of a mobile device. | the MA-ID could hinder tracking of a mobile device. | |||
o the Control Channel, which is defined by: | o the Control Channel, which is defined by: | |||
* the address that identifies the Control Channel, such as the | * the address that identifies the Control Channel, such as the | |||
Controller's FQDN (Fully Qualified Domain Name) [RFC1035]). | Controller's FQDN (Fully Qualified Domain Name) [RFC1035]). | |||
* security information (for example, to enable the MA to decrypt | * security information (for example, to enable the MA to decrypt | |||
the Instruction Message and encrypt messages sent to the | the Instruction Message and encrypt messages sent to the | |||
Controller). | Controller). | |||
The details of the bootstrapping process are device/access specific. | The details of the Bootstrapping process are device/access specific. | |||
For example, the information could be in the firmware, manually | For example, the information could be in the firmware, manually | |||
configured, or transferred via a protocol like that described in | configured, or transferred via a protocol like that described in | |||
TR-069 [TR-069]. There may be a multi-stage process where the MA | TR-069 [TR-069]. There may be a multi-stage process where the MA | |||
contacts a 'hard-coded' address, which replies with the bootstrapping | contacts a 'hard-coded' address, which replies with the bootstrapping | |||
information. | information. | |||
The MA must learn its MA-ID before getting an Instruction, either | The MA must learn its MA-ID before getting an Instruction, either | |||
during Bootstrapping or via Configuration (Section 5.2.1). | during Bootstrapping or via Configuration (Section 5.2.1). | |||
5.2. Control Protocol | 5.2. Control Protocol | |||
skipping to change at page 15, line 39 | skipping to change at page 15, line 39 | |||
Measurement Results (Section 5.2.2). The Measurement Agent then acts | Measurement Results (Section 5.2.2). The Measurement Agent then acts | |||
on the Instruction autonomously. The Control Protocol also enables | on the Instruction autonomously. The Control Protocol also enables | |||
the MA to inform the Controller about its Capabilities and any | the MA to inform the Controller about its Capabilities and any | |||
Failure and Logging Information (Section 5.2.3). Finally, the | Failure and Logging Information (Section 5.2.3). Finally, the | |||
Control Protocol allows the Controller to update the MA's | Control Protocol allows the Controller to update the MA's | |||
Configuration. | Configuration. | |||
5.2.1. Configuration | 5.2.1. Configuration | |||
Configuration allows the Controller to update the MA about some or | Configuration allows the Controller to update the MA about some or | |||
all of the information that it obtained during the bootstrapping | all of the information that it obtained during the Bootstrapping | |||
process: the MA-ID, the (optional) Group-ID, and the Control Channel. | process: the MA-ID, the (optional) Group-ID, and the Control Channel. | |||
Figure 2 outlines the Configuration process. The Measurement System | Figure 2 outlines the Configuration process. The Measurement System | |||
might use Configuration for several reasons. For example, the | might use Configuration for several reasons. For example, the | |||
bootstrapping process could 'hard code' the MA with details of an | Bootstrapping process could 'hard code' the MA with details of an | |||
initial Controller, and then the initial Controller could configure | initial Controller, and then the initial Controller could configure | |||
the MA with details about the Controller that sends Instruction | the MA with details about the Controller that sends Instruction | |||
Messages. (Note that an MA only has one Control Channel, so it is | Messages. (Note that an MA only has one Control Channel, so it is | |||
associated with only one Controller, at any moment.) | associated with only one Controller, at any moment.) | |||
Note that an implementation may choose to combine Configuration | Note that an implementation may choose to combine Configuration | |||
information and an Instruction Message into a single message. | information and an Instruction Message into a single message. | |||
+-----------------+ +-------------+ | +-----------------+ +-------------+ | |||
| | | Measurement | | | | | Measurement | | |||
skipping to change at page 19, line 23 | skipping to change at page 19, line 23 | |||
o if the Suppression information includes neither a set of | o if the Suppression information includes neither a set of | |||
Measurement Tasks nor a set of Measurement Schedules, then the MA | Measurement Tasks nor a set of Measurement Schedules, then the MA | |||
does not begin new Measurement Tasks that have the boolean flag | does not begin new Measurement Tasks that have the boolean flag | |||
set to suppress; however, the MA does begin new Measurement Tasks | set to suppress; however, the MA does begin new Measurement Tasks | |||
that have the flag set to do-not-suppress. | that have the flag set to do-not-suppress. | |||
o a start time, at which Suppression begins. If absent, then | o a start time, at which Suppression begins. If absent, then | |||
Suppression begins immediately. | Suppression begins immediately. | |||
o an end time, at which Suppression ends. If absent, then | o an end time, at which Suppression ends. If absent, then | |||
Suppression continues until the MA receives an un-suppress | Suppression continues until the MA receives an Un-suppress | |||
message. | message. | |||
o a demand that the MA immediately end on-going Measurement Task(s) | o a demand that the MA immediately end on-going Measurement Task(s) | |||
that are tagged for Suppression. (Most likely it is appropriate | that are tagged for Suppression. (Most likely it is appropriate | |||
to delete the associated partial Measurement Result(s).) This | to delete the associated partial Measurement Result(s).) This | |||
could be useful in the case of a network emergency so that the | could be useful in the case of a network emergency so that the | |||
operator can eliminate all inessential traffic as rapidly as | operator can eliminate all inessential traffic as rapidly as | |||
possible. If absent, the MA completes on-going Measurement Tasks. | possible. If absent, the MA completes on-going Measurement Tasks. | |||
An un-suppress message instructs the MA to no longer suppress, | An Un-suppress message instructs the MA to no longer suppress, | |||
meaning that the MA once again begins new Measurement Tasks, | meaning that the MA once again begins new Measurement Tasks, | |||
according to its Measurement Schedule. | according to its Measurement Schedule. | |||
Note that Suppression is not intended to permanently stop a | Note that Suppression is not intended to permanently stop a | |||
Measurement Task (instead, the Controller should send a new | Measurement Task (instead, the Controller should send a new | |||
Measurement Schedule), nor to permanently disable an MA (instead, | Measurement Schedule), nor to permanently disable an MA (instead, | |||
some kind of management action is suggested). | some kind of management action is suggested). | |||
+-----------------+ +-------------+ | +-----------------+ +-------------+ | |||
| | | Measurement | | | | | Measurement | | |||
| Controller |==============================| Agent | | | Controller |==============================| Agent | | |||
+-----------------+ +-------------+ | +-----------------+ +-------------+ | |||
Suppress: | Suppress: | |||
[(Measurement Task), -> | [(Measurement Task), -> | |||
(Measurement Schedule), | (Measurement Schedule), | |||
(start time), | (start time), | |||
(end time), | (end time), | |||
(on-going suppressed?)] | (on-going suppressed?)] | |||
un-suppress -> | Un-suppress -> | |||
Figure 4: Outlines of Suppression | Figure 4: Outline of Suppression | |||
5.2.3. Capabilities, Failure, and Logging Information | 5.2.3. Capabilities, Failure, and Logging Information | |||
The Control Protocol also enables the MA to inform the Controller | The Control Protocol also enables the MA to inform the Controller | |||
about various information, such as its Capabilities and any Failures. | about various information, such as its Capabilities and any Failures. | |||
Figure 5 outlines the process for Capabilities, Failure, and Logging | Figure 5 outlines the process for Capabilities, Failure, and Logging | |||
Information. It is also possible to use a device-specific mechanism, | Information. It is also possible to use a device-specific mechanism, | |||
which is beyond the scope of the initial LMAP work. | which is beyond the scope of the initial LMAP work. | |||
Capabilities are information about the MA that the Controller needs | Capabilities are information about the MA that the Controller needs | |||
skipping to change at page 22, line 17 | skipping to change at page 22, line 17 | |||
| Controller |==================================| Agent | | | Controller |==================================| Agent | | |||
+-----------------+ +-------------+ | +-----------------+ +-------------+ | |||
(Request Capabilities), | (Request Capabilities), | |||
(Request Failure Information), | (Request Failure Information), | |||
(Request Logging Information), | (Request Logging Information), | |||
(Request Instruction) -> | (Request Instruction) -> | |||
<- (Capabilities), | <- (Capabilities), | |||
(Failure Information), | (Failure Information), | |||
(Logging Information), | (Logging Information), | |||
(Instruction) | (Instruction) | |||
Figure 5: Outline of Capabilities, Failure, and Logging Information | Figure 5: Outline of Capabilities, Failure, and Logging Information | |||
5.3. Operation of Measurement Tasks | 5.3. Operation of Measurement Tasks | |||
This LMAP framework is neutral to what the actual Measurement Task | This LMAP framework is neutral to what the actual Measurement Task | |||
is. It does not define Metrics and Measurement Methods; these are | is. It does not define Metrics and Measurement Methods; these are | |||
defined elsewhere. | defined elsewhere. | |||
The MA carries out the Measurement Tasks as instructed, unless it | The MA carries out the Measurement Tasks as instructed, unless it | |||
skipping to change at page 41, line 46 | skipping to change at page 41, line 46 | |||
been compromised. Likewise, all devices on the paths used for | been compromised. Likewise, all devices on the paths used for | |||
control, reporting, and measurement are also observers. | control, reporting, and measurement are also observers. | |||
8.4.1. MA Bootstrapping | 8.4.1. MA Bootstrapping | |||
Section 5.1 provides the communication model for the Bootstrapping | Section 5.1 provides the communication model for the Bootstrapping | |||
process. | process. | |||
Although the specification of mechanisms for bootstrapping the MA are | Although the specification of mechanisms for bootstrapping the MA are | |||
beyond the scope of the initial LMAP work, designers should recognise | beyond the scope of the initial LMAP work, designers should recognise | |||
that the bootstrapping process is extremely powerful and could cause | that the Bootstrapping process is extremely powerful and could cause | |||
an MA to join a new or different LMAP system with a different | an MA to join a new or different LMAP system with a different | |||
Controller and Collector, or simply install new Metrics with | Controller and Collector, or simply install new Metrics with | |||
associated Measurement Methods (for example, to record DNS queries). | associated Measurement Methods (for example, to record DNS queries). | |||
A Bootstrap attack could result in a breach of the LMAP system with | A Bootstrap attack could result in a breach of the LMAP system with | |||
significant sensitive information exposure depending on the | significant sensitive information exposure depending on the | |||
capabilities of the MA, so sufficient security protections are | capabilities of the MA, so sufficient security protections are | |||
warranted. | warranted. | |||
The bootstrapping process provides sensitive information about the | The Bootstrapping process provides sensitive information about the | |||
LMAP system and the organisation that operates it, such as | LMAP system and the organisation that operates it, such as | |||
o the MA's identifier (MA-ID) | o the MA's identifier (MA-ID) | |||
o the address that identifies the Control Channel, such as the | o the address that identifies the Control Channel, such as the | |||
Controller's FQDN | Controller's FQDN | |||
o Security information for the Control Channel | o Security information for the Control Channel | |||
During the Bootstrap process for an MA located at a single | During the Bootstrap process for an MA located at a single | |||
skipping to change at page 44, line 9 | skipping to change at page 44, line 9 | |||
the Measurement Peer to MA, MA to Measurement Peer, or both. | the Measurement Peer to MA, MA to Measurement Peer, or both. | |||
Similarly, a second (or more) MAs may be involved. (Note: For | Similarly, a second (or more) MAs may be involved. (Note: For | |||
simplicity, Figure 11 and the description don't show the non-LMAP | simplicity, Figure 11 and the description don't show the non-LMAP | |||
functionality that is associated with the transfer of the Measurement | functionality that is associated with the transfer of the Measurement | |||
Traffic and is located at the devices with the MA and MP.) | Traffic and is located at the devices with the MA and MP.) | |||
_________________ _________________ | _________________ _________________ | |||
| | | | | | | | | | |||
|Measurement Peer |=========== NAT ? ==========|Measurement Agent| | |Measurement Peer |=========== NAT ? ==========|Measurement Agent| | |||
|_________________| |_________________| | |_________________| |_________________| | |||
<- (Key Negotiation & | <- (Key Negotiation & | |||
Encryption Setup) | Encryption Setup) | |||
(Encrypted Channel -> | (Encrypted Channel -> | |||
Established) | Established) | |||
(Announce capabilities -> | (Announce capabilities -> | |||
& status) | & status) | |||
<- (Select capabilities) | <- (Select capabilities) | |||
ACK -> | ACK -> | |||
<- (Measurement Request | <- (Measurement Request | |||
(MA+MP IPAddrs,set of | (MA+MP IPAddrs,set of | |||
Metrics, Schedule)) | Metrics, Schedule)) | |||
ACK -> | ACK -> | |||
Measurement Traffic <> Measurement Traffic | Measurement Traffic <> Measurement Traffic | |||
(may/may not be encrypted) (may/may not be encrypted) | (may/may not be encrypted) (may/may not be encrypted) | |||
<- (Stop Measurement Task) | <- (Stop Measurement Task) | |||
Measurement Results -> | Measurement Results -> | |||
(if applicable) | (if applicable) | |||
<- ACK, Close | <- ACK, Close | |||
Figure 11: Interactions between Measurement Peer and Measurement | Figure 11: Interactions between Measurement Peer and Measurement | |||
Agent | Agent | |||
This exchange primarily exposes the IP addresses of measurement | This exchange primarily exposes the IP addresses of measurement | |||
devices and the inference of measurement participation from such | devices and the inference of measurement participation from such | |||
traffic. There may be sensitive information on key points in a | traffic. There may be sensitive information on key points in a | |||
service provider's network included. There may also be access to | service provider's network included. There may also be access to | |||
measurement-related information of interest such as the Metrics, | measurement-related information of interest such as the Metrics, | |||
Schedule, and intermediate results carried in the Measurement Traffic | Schedule, and intermediate results carried in the Measurement Traffic | |||
End of changes. 17 change blocks. | ||||
18 lines changed or deleted | 18 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |