PSPUPV IMPLEMENTATION FOR DOCSIS ACCESS NETWORK
FIELD
The present principles relate to communications in a network setting, specifically, they relate to a method to individually address network devices that have the same internet protocol address.
BACKGROUND
The disclosure describes some methods to achieve Per Service Per User Per VLAN (PSPUPV) infrastructure for coaxial cable access network based on DOCSIS technology. PSPUPV uses a unique virtual local area network (VLAN) addressing for each type of service from each subscriber.
The use of PSPUPV provides a dedicated VLAN serving for each type of service for each subscriber, every subscriber gets different set of VLANs for the services to which they have subscribed; one VLAN for one service. Different subscribers use different VLAN even for the same type of service.
PSPUPV is a dominant access network infrastructure in telecom operator networks since it’s advocated by a broadband forum. The major principle of PSPUPV is to use a VLAN to isolate different service traffic from different residential houses to avoid security problems that are common for ethernet based layer 2 network such as broadcast storm, ARP spoofing, malicious sniffing.
PSPUPV has been wildly deployed in telecom operator networks. But for cable multiple system operators (MSO) , their access network mostly relies on coaxial cable based on Data Over Cable Service Interface Specification (DOCSIS) technology standardized by Cablelabs. DOCSIS standards focus on the radio frequency (RF) interface specification between head-end device called a cable modem termination system (CMTS) and the home customer premises equipment (CPE) such as a cable modem (CM) . CMTS normally resides in a central office room, it is implemented as a layer 3 IP router device for most cases, which makes no demands of a PSPUPV requirement. However, there is a layer 2 virtual private network (L2VPN) standard from Cablelabs to specify a layer 2 forwarding mode for CMTS to use a VLAN to separate traffic from different service flows. But L2VPN is developed for business virtual private network (VPN) user case. It is very difficult to achieve PSPUPV dynamically, to assign different VLAN for each service of each residential customer, the different L2VPN encoding parameters in a CM configuration file must be prepared beforehand. The CM configuration file is a configuration file in every cable modem and is
specific to the particular CM. As such, adjusting the CM configuration file is too much burden for casual operation for PSPUPV.
Since the emergence of the China DOCSIS (C-DOCSIS) standards, layer 2 forwarding mode of CMTS is demanded for cable operator on coaxial cable access network. A cable media converter (CMC) is a mini size CMTS which mostly has layer 2 forwarding mode to bridge frames between DOCSIS based RF interface and ethernet based Network Side Interface (NSI) . In most implementation, the CMC removes all the advanced layer 3 routing functionalities, and resides at fiber node location to serve only few hundred cable modems.
Since CMC is layer 2 device for access network, the demand of PSPUPV increases for cable networks. But CMC is still a CMTS in nature that is inherently hard to implement the PSPUPV feature. The disclosure addresses some different ways to implement PSPUPV in CMC to satisfy different user scenarios during deployment.
SUMMARY
This summary is provided to introduce a selection of concepts in a simplified form as a prelude to the more detailed description that is presented later. The summary is not intended to identify key or essential features, nor is it intended to delineate the scope of the claimed subject matter.
In one aspect of the disclosure, a method to assign a virtual local area network (VLAN) identifier for a per service, per user, per VLAN system in a VLAN mapping device, includes allocating a first VLAN pool of identifiers for a first characterization criterion and allocating a second VLAN pool of identifiers for a second characterization criterion, wherein additional VLAN pools of identifiers are allocated for each additional characterization criteria. The VLAN mapping device then receives, from a gateway or cable modem having multiple client devices, a message that triggers assignment of VLAN identifiers to characterization criteria. The VLAN mapping device assign a first VLAN identifier to a first client device classified by the first characterization criterion from the first VLAN pool of identifiers and assigns a second VLAN identifier to a second client device classified by a second characterization criterion from the second pool of identifiers. Access to a network is then granted to the first client device classified by the first characterization criterion based on the assigned first VLAN identifier and access to a network is then granted to the second client device into the second characterization criterion based on the assigned second VLAN identifier.
In other aspects of the disclosure, subsequent client devices are classified into a first characterization criterion from a first cable modem connected to the VLAN mapping
device are assigned to one VLAN identifier from the first VLAN pool of identifiers. Client devices that are classified into a first characterization criterion from different cable modems are assigned a unique VLAN identifier from the first VLAN pool of identifiers. Subsequent client devices classified into a second characterization criterion from a second cable modem connected to the VLAN mapping device are assigned to one VLAN identifier from the second VLAN pool of identifiers. Client devices classified into the second characterization criterion from different cable modems are assigned a unique VLAN identifiers from the second VLAN pool of identifiers.
According to aspects of the disclosure, allocating a first VLAN pool of identifiers for a first characterization criterion and allocating a second VLAN pool of identifiers for a second characterization criterion includes allocating a first VLAN pool of identifiers for a first device type and allocating a second VLAN pool of identifiers for a second device type. Receiving a message that triggers assignment of VLAN identifiers includes receiving a dynamic host configuration protocol (DHCP) message.
If the messaged received by the VLAN mapping device is a registration message, then allocating a first VLAN pool of identifiers for a first characterization criterion and allocating a second VLAN pool of identifiers for a second characterization criterion includes allocating a first VLAN pool of identifiers for a first service flow and allocating a second VLAN pool of identifiers for a second service flow. In another embodiment, if the messaged received by the VLAN mapping device is a registration message, then allocating a first VLAN pool of identifiers for a first characterization criterion and allocating a second VLAN pool of identifiers for a second characterization criterion includes allocating a first VLAN pool of identifiers for a first service flow reference ID and allocating a second VLAN pool of identifiers for a second service flow reference ID.
In one embodiment, an apparatus that assigns a virtual local area network (VLAN) identifier for a per service, per user, per VLAN system includes a processor to allocate a first VLAN pool of identifiers for a first characterization criterion and allocating a second VLAN pool of identifiers for a second characterization criterion, wherein additional VLAN pools of identifiers are allocated for each additional characterization criteria. The VLAN mapping apparatus includes a receiver that receives a message that triggers assignment of VLAN identifiers to characterization criteria, the message transmitted by a gateway or cable modem to the apparatus. Subsequent to receiving the message, the processor assigns a first VLAN identifier to a first client device classified by the first characterization criterion from the first VLAN pool of identifiers, assigns a second VLAN identifier to a second client device classified by a second characterization criterion from the second pool of identifiers. The
apparatus also includes a receiver/transmitter communicating with a network interface device, the receiver/transmitter communicating a message that grants access to the first client device classified by the first characterization criterion based on the assigned first VLAN identifier, and communicating a message that grants access to the second client device into the second characterization criterion based on the assigned second VLAN identifier.
In a further aspect, the processor to allocates a VLAN pool of identifiers for one of a device type, a service flow, and a service flow ID. If the processor allocated a VLAN pool of identifiers per device type, then the message received is a Dynamic Host Configuration Protocol (DHCP) message to trigger assignment of VLAN identifiers to client devices. If the processor allocated a VLAN pool of identifiers per service flow or service flow reference identifier, then the message received is a registration message to trigger assignment of VLAN identifiers to client devices.
Additional features and advantages will be made apparent from the following detailed description of illustrative embodiments which proceeds with reference to the accompanying figures. The drawings are for purposes of illustrating the concepts of the disclosure and is not necessarily the only possible configuration for illustrating the disclosure. Features of the various drawings may be combined unless otherwise stated.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing summary, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example, and not by way of limitation with regard to the present principles. In the drawings, like numbers represent similar elements.
Figure 1A is a depiction of a headend environment in which aspects of the disclosure may operate;
Figure 1B is a depiction of a destination end environment in which aspects of the disclosure may operate;
Figure 2 is a further depiction of a destination end environment in which aspects of the disclosure may operate;
Figure 3 depicts a flow diagram of a method using device type as a characterization criterion according to an aspect of the disclosure;
Figure 4 depicts a flow diagram of a method using service flow as a characterization criterion according to an aspect of the disclosure;
Figure 5 depicts a flow diagram of a method using service flow reference identifier as a characterization criterion according to an aspect of the disclosure;
Figure 6 depicts a flow diagram of a method that incorporates aspects of Figures 3, 4, and 5 according to an aspect of the disclosure;
Figure 7 is a block diagram of an apparatus that can execute the methods of Figures 2-6.
DETAILED DISCUSSION OF THE EMBODIMENTS
In the following description of various illustrative embodiments, reference is made to the accompanying drawings, which form a part thereof, and in which is shown, by way of illustration, how various embodiments may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modification may be made without departing from the scope of the present principles.
In this disclosure, 3 different implementations of PSPUPV in a VLAN mapping device are described. A fourth method uses common elements of the three methods. Some of the methods can classify traffic from different service flows to different service VLAN, some methods can even classify traffic from same service flow to different service VLAN, without the tedious and error-prone CM configuration file manipulation. The VLAN assignment policy for certain traffic is very flexible to meet PSPUPV deployment requirement.
Figure 1 A and 1B depict a system 100 for the VLAN assignment along the DOCSIS network path using a VLAN mapping device, such as a CMC, for layer 2 forwarding mode. Figure 1A is the headend VLAN assignment path and Figure 1B is the destination end VLAN assignment path. Different VLANs are assigned to each service from various subscribers to form a PSPUPV infrastructure. Figure 1 A depicts three services Internet 105, VoIP 110 and IP TV 115. A broadband remote access server (BRAS) 120, also referred to as a Broadband Network Gateway (BNG) , is a headend device that distributes the services to users downstream. The BRAS 120 is connected to an optical line terminal (OLT) 130 for optical line distribution of headend communications to downstream users. Box 125 of Figure 1A depicts traffic on the communication line 122 between the BRAS 120 and the OLT 130.
Figure 1B depicts equipment at the distribution end of the system 100 of Figure 1A. the optical network unit (ONU) 135 receives optical signal from the OLT 130 of Figure 1A. The ONU 135 is also called an optical network terminal (ONT) . The ONU 135 receives and distributes communications to a VLAN Mapping device via communication line 137. In
this disclosure, the VLAN mapping device 145 will henceforth be referred to as a CMC 145. One of skill in the art will recognize that the VLAN mapping device 145 can be referred to with other nomenclature, but is generally defined as having a VLAN mapping function for multiple cable gateways or cable modems.
The traffic box 140 of Figure 1B is used to depict traffic on the communication line 137 between the ONU 135 and the CMC 145. The CMC 145 communicates with cable gateway 1 (or cable modem 1) 160 and cable gateway 2 (or cable modem 2) 165. Each cable gateway communicates with their respective users. Box 150 of Figure 1B depicts traffic on the communication line 147 between the CMC 145 and the cable gateway 160. Box 155 of Figure 1B depicts traffic on the communication line 149 between the CMC 145 and the cable gateway 165.
As shown in Figure 1B, 3 different service flow requests are generated from both cable gateways 160 and 165. Each cable gateway 160, 165 have a Data Service Flow, a VoIP service flow and an IPTV service flow as shown in traffic flow boxes 150 and 155 respectively. As shown in traffic box 140, the three service flows from cable gateway 160 are mapped to VLAN 1, 2, 3 respectively, while the 3 service flows from cable gateway 165 are mapped to VLAN 4, 5, 6 respectively in the CMC 145. The VLAN tagged ethernet frames are then forwarded to the ONU 135. The ONU 135 transmits the VLAN mapped frames to the OLT 130 where the OLT adds additional service VLAN tag (SVLAN) outside the VLAN tag added by CMC 145 as shown in traffic box 125 of Figure 1A.
So, the frames from OLT 130 to BRAS 120 have double VLAN tags which is called QinQ encapsulation. In this way, each service flow from the cable gateways 160, 165 to BRAS 120 is carried on a logical VLAN point-to-point link between them. Every service traffic is completely isolated by the VLAN mapping technology.
The QinQ encapsulation performed by OLT 130 is outside of this disclosure. The current disclosure describes how to map traffic from cable gateway 160, 165 (or cable modems) to different VLAN tags. Various ways are conceived to meet different user scenarios and are presented below.
Figure 2 is an extension of Figure 1B showing the cable media converter (CMC) 145 connected to cable gateway or cable modem 160 and cable gateway or cable modem 165. Each cable modem is shown with three client devices. Cable gateway 160 has client devices 1, 2, 3 205, 210, and 215 respectively. Cable gateway or cable modem 165 has a different set of client devices. They are client devices 4, 5, and 6 220, 225, and 230 respectively. The techniques used to map services in a PSPUPV manner is discussed below.
DHCP triggered PSPUPV
According to an embodiment of the disclosure, a first technique of achieving PSPUPV in a DOCSIS network is discussed herein. In a DOCSIS based network, dynamic host configuration protocol (DHCP) is the fundamental and important mechanism to assign IP address for cable modem provisioning and service configuration. Every time a cable modem boots up, it must get IP address via DHCP in order to download a CM configuration file from a provisioning server by trivial file transfer protocol (TFTP) . Once a cable modem is operational, the CPEs attached to cable modem use DHCP to get IP addresses before they can access each kind of service.
Since DHCP is almost always used for every device including the cable modem itself and home network devices to access a DOCSIS network, DHCP can be used to classify different device and service traffic pattern, so that traffic frames can be mapped to VLAN in terms of VLAN policy.
DHCP protocol uses option 60 named "Vendor Class Identifier" to identify the device type of the device from which the DHCP client is initiated. The following table lists the common device types used in DOCSIS networks and their corresponding DHCP option 60 prefix in ASCII format.
| Device Type |
DHCP option 60 prefix |
| Cable modem |
“docsis” |
| eMTA |
“pktc” |
| eRouter |
“eRouter” |
| eSTB |
“eSTB” |
| Others |
Doesn’t care |
| |
|
The DHCP snooping function is introduced in a VLAN mapping device, such as a CMC, to monitor all DHCP transactions between devices behind cable modem (or gateways 160, 165) and the DHCP server hosted in a central office. By that, every DHCP request can be examined, each home network device behind cable modem or gateway can be associated with certain device type by a specific DHCP option 60 value. The source media access control (MAC) address of a DHCP client is persistent per the nature of the device. When the device type is identified, the MAC address is therefore associated with device type also.
The CMC 145 (VLAN mapping device) can be populated with different VLAN assignment policy according to the device type. For example, as the following table shows, for each type of device, there is a dedicated VLAN pool with multiple VLAN ID resources available for each device type learned by the DHCP snooping process.
Multiple DHCP clients sharing the same device type behind the same cable modem (subscriber client, such as client devices 205, 210, and 215) is always assigned the same VLAN ID because the VLAN assignment is based on the device type; it is not device specific. For each VLAN pool entry, the “PUPV? ” field indicates if the unique VLAN for each subscriber with this device type is required, If “PUPV? ” is no, the default VLAN will be used for all devices with this device type no matter which subscriber it belongs to. If “PUPV? ” is yes, each unique VLAN for each subscriber is selected from the VLAN pool to assign to all devices with the device type from this subscriber. The “overflow action” field indicates how to continue if the VLAN pool is exhausted when devices from a new subscriber arrives and the “PUPV? ” is yes. The “drop” entry means to drop all traffic with the device type from this subscriber because no more VLAN ID resources are available. In this instance, certain notification messages must be generated to inform an administrator of the failure events. The “default” entry option resorts to using the default VLAN when VLAN ID resource is exhausted. However, using this mode, PUPV service is not guaranteed.
The VLAN assignment in CMC 145 for each device type from each subscriber is triggered by the first DHCP message from the first DHCP client behind the cable modem 160, 165. When the DHCP client has a DHCP option value matching one VLAN pool entry, the VLAN ID is selected from the pool according to the decision-making mechanism described above. Once the VLAN ID is decided for this device type from this subscriber, the VLAN ID is fixed, subsequent different DHCP clients having this device type property from the same subscriber will be assigned this fixed VLAN also and there’s no new VLAN selection procedure taking place. At the end, the CMC 145 will finally have a VLAN ID assignment table completed for each device type from each subscriber as shown in the following table, i.e., Per Service Per User Per VLAN is achieved. This VLAN assignment table is also kept persistently to survive from CMC 145 reboot.
| |
Type |
|
| 1 |
eMTA |
2 |
| 1 |
eRouter |
1001 |
| 1 |
eSTB |
2001 |
| 1 |
others |
3001 |
| 2 |
eMTA |
3 |
| 2 |
eRouter |
1002 |
| 2 |
eSTB |
2002 |
| 2 |
others |
3003 |
For every DHCP request received from the device, according to the decision making described before, the DHCP message is either accepted by assigning a VLAN ID or dropped due to resource outage. When the VLAN ID is assigned, the source MAC address in the DHCP message is also associated with the assigned VLAN. The DHCP message is then tagged with this VLAN ID and forwarded upstream towards network of Figure 1A by CMC 145. In this instance, the CMC 145 establishes the MAC address learning table as following example. The mapping data can be populated by the CMC as the data becomes available.
Since then, the following traffic from the same device, i.e., same source MAC address is treated according to this MAC address learning table, so all traffic from this device will be tagged with the same VLAN ID constantly. In the opposite downstream direction, CMC 145 receives VLAN tagged ethernet frames from the upstream (headend) network and searches the MAC address learning table to find out which cable modem the frames should be forwarded to downstream.
DHCP triggered PSPUPV implementation works well until in some cases, the DHCP is not used for IP assignment for home network devices. For instance, the device may be provisioned by static IP address or point-to-point protocol over ethernet (PPPoE) is used instead of DHCP for an IP configuration.
Figure 3 depicts an example flow diagram 300 of using DHCP as a trigger for PSPUPV. The flow diagram 300 represents a first example technique to assign a virtual local area network (VLAN) identifier (ID) for a per service, per user, per VLAN (PSPUPV) system in a cable media converter (CMC) (VLAN mapping device) . The technique assigns VLAN addresses to client devices served by cable modems (CMs) that communicate with the CMC.
At step 305, a first VLAN pool is defined that serves certain type of CPE (client device) . For example, a device type DT1, the CPE type can be identified by DHCP options such as option 60 or others. A second VLAN pool is defined that serves another certain type of CPE (client device) . For example, a device type DT2, the CPE type can be identified by DHCP options such as option 60 or others. As many VLAN pools are defined for each device type. Two device types are used in the example technique, but more device types can be accommodated. Repeating the VLAN pool definition is accomplished for each type of CPE such that each device type has a dedicated VLAN pool.
At step 310, a first dynamic host configuration protocol (DHCP) message is received from a client of certain type DT1, such as device 205 from cable modem CM1 or gateway 160. At step 315, a unique VLAN identifier (ID) VLAN1 is assigned from the related VLAN pool for device type DT1 according to the device type of the client device 205 for cable modem CM1 (160) . Any subsequent client device, such as client device 210 with the same device type DT1 behind cable modem CM1 160 will be assigned to the same VLAN1. The assignment is recorded and kept persistent.
In parallel with steps 310 and 315, or subsequent to those steps, steps 320 and 325 may be enacted. At step 320, a first dynamic host configuration protocol (DHCP) message is received from a client device, such as client device 220, of certain type DT1 from cable modem CM2 165. At step 325, the a unique VLAN identifier (ID) VLAN2 is assigned from the related VLAN pool for device type DT1 according to the device type of the client device 220 for this cable modem CM2 165. Any subsequent client device, such as client device 225 with the same device type DT1 behind cable modem CM2 165 will be assigned to the same VLAN2. The assignment is recorded and kept persistent. For each device type DT1 from a different cable modem, a unique VLAN ID form the VLAN pool for DT1 is assigned, the assignment is recorded and kept persistent. The VLAN assignment goes through the same procedure for VLAN pool for device type DT2 and other device types. After DHCP triggering of device type and assignment of VLAN identifier according to device type and cable modem relationship, then at step 330, access is granted to the network services to each client device from different cable modems based on the assigned VLAN ID.
Thus, in one example, for a system with two client device types: DT1 and DT2 having two cable modems CM! and CM2, then VLAN pool 1 is generated for DT1 and VLAN pool 2 is generated for DT2. The following example VLAN ID assignments are made:
VLAN1 from VLAN pool 1 for DT1 for CM1 from any client device connected to CM1.
VLAN2 from VLAN pool 1 for DT1 for CM2 from any client device connected to CM2.
VLAN3 from VLAN pool 2 for DT2 for CM1 from any client device connected to CM1.
VLAN4 from VLAN pool 2 for DT2 for CM2 from any client device connected to CM2.
Service Flow ID Based PSPUPV
According to an embodiment of the disclosure, a second technique of achieving PSPUPV in a DOCSIS network is discussed herein. In the CMC implementation (VLAN mapping device) for a service flow ID based PSPUPV, each cable modem (i.e. 160, 165) can have maximum of 8 upstream service flows supported. Each service flow is assigned unique ID from 0 to 7, the service flow ID is not the same thing as SFID defined in DOCSIS standard. In CMC 145, service flow ID is carried in the IEEE 802.1ad header priority field. The service flow ID reflects the order of service flow definition in the CM configuration file of the specific cable modem 160, 165 (or gateway) . So, the first upstream service flow in a CM configuration file will get service flow ID 0, the second upstream service flow in CM configuration file will get service flow ID 1, and so on until the 8th service flow gets service flow ID 7. Every cable modem 160, 165 has 8 service flow IDs, ranging from 0 to 7.
Based on such background, in order to achieve PSPUPV, the CM configuration file must be manipulated to describe different service flows for each kind of service. The correct service flow classification rules must be present to facilitate a particular cable modem to classify different traffic from various home network devices, such as client devices 205, 210, and 215, or client devices 220-230, to the correct service flows towards the CMC 145. Even though this method counts on a CM configuration file to help service flow classification, all the CMs 160, 165 can share the same CM configuration file but finally get different VLAN ID for their services respectively.
Service flow ID based PSPUPV relies on the cable modem 160, 165 to perform the correct service flow classification. So the job of CMC 145 to do PSPUPV assignment can be achieved. The CMC 145 can be populated with a different VLAN assignment policy according to service flow ID. For example, as the following table shows, for each service flow ID, there is a dedicated VLAN pool with multiple VLAN ID resources available for any devices belonging to the service flow. Here the service flow ID is used to represent service type from each subscriber.
For each VLAN pool entry, the “PUPV? ” field indicates if the unique VLAN is required for devices with this service type from each subscriber. If “PUPV? ” is no, the default VLAN ID will be used for all devices with this service type no matter which subscriber it belongs to. If “PUPV? ” is yes, each unique VLAN for each subscriber is selected from the VLAN pool to assign to devices with this service type from this subscriber. The “Overflow Action” field indicates how to continue if the VLAN pool is exhausted when devices from a new subscriber arrives and the “PUPV? ” is yes. The “drop” entry means to drop all traffic with this service type from this subscriber because no more VLAN ID resources are available, of course in this case certain notification messages must be generated to inform an administrator of the failure events. The “default” entry option resorts to use the default VLAN when VLAN ID resource is exhausted. In this instance, PSPUPV is not guaranteed.
The VLAN assignment for each cable modem takes place only once for all 8 service types. It happens when the cable modem tries to get online. When cable modem 160, 165 registers with CMC 145, it conveys all its service flow definition information to CMC 145, so that CMC 145 can learn the service flows’ definition and assign specific VLAN for each service flow according to the VLAN pool entry.
The CMC will finally have a VLAN ID assignment table completed for each service type from each subscriber as shown in the following table, i.e., Per Service Per User Per VLAN is achieved. This VLAN assignment table is also kept persistently to survive from CMC reboot.
| Cable Modem |
Service Type | VLAN | |
| 1 |
0 |
10 |
| 1 |
1 |
501 |
| 1 |
2 |
1001 |
| 1 |
3 |
1501 |
| 1 |
4 |
2001 |
| 1 |
5 |
2501 |
| 1 |
6 |
3001 |
| 1 |
7 |
3501 |
| 2 |
0 |
10 |
| 2 |
1 |
502 |
| 2 |
2 |
1002 |
| 2 |
3 |
1502 |
| 2 |
4 |
2002 |
| 2 |
5 |
2502 |
| 2 |
6 |
3002 |
| 2 |
7 |
3502 |
Although all upstream VLAN tagging and forwarding are simply based on the VLAN assignment policy, the CMC 145 still needs to perform source MAC address learning as following table indicates, in order to forward opposite downstream traffic back to the right cable modem. The mapping data can be populated by the CMC as the data becomes available.
One aspect about the service flow ID based PSPUPV method is that service flow ID is the service flow definition order in the CM configuration file. As such, there might be the case that service flow definition with same order position in the CM configuration file has a different meaning for different cable modems. For instance, the first service flow in CM configuration file for cable modem 160 could be for VoIP service, while the first service flow in the CM configuration file for cable modem 165 could actually be for IPTV service. However, because they are all the service flow at the first position in CM configuration file, they are matched to same VLAN assignment policy because they have the same service flow ID. This is not expected for PSPUPV. The next technique can be used if this situation is met.
Figure 4 depicts an example flow diagram 400 of using a registration request message of a cable modem as a trigger for PSPUPV. The technique relies on the identification of service flows. The flow diagram 400 represents a second example technique to assign a virtual local area network (VLAN) identifier (ID) for a per service, per user, per VLAN (PSPUPV) system performed by a cable media converter (CMC) (VLAN mapping device) . The technique assigns VLAN addresses to client devices served by cable modems (CMs) that communicate with the CMC.
At step 405, a VLAN pool is defined that serves a certain service flow, such as a service flow labeled SF1. The service flow SF1 is defined in the CM configuration file of a cable modem. Also, a VLAN pool that serves another certain service flow labeled SF2 is defined. The service flow is defined in the CM configuration file of a cable modem. The
VLAN pool definition is repeated for each service flow such that each service flow has a dedicated VLAN pool.
At step 410, a registration request is received from cable modem CM1 160, the service flow definition information for CM1 is conveyed from cable modem CM1 160 to CMC 145. At step 415, a unique VLAN identifier (ID) VLAN1 is assigned from related VLAN pool for service flow SF1 from cable modem CM1 160. Any client device that is classified into service flow SF1 by cable modem CM1 160 will be assigned to the same VLAN1, the assignment is recorded and kept persistent.
In parallel with steps 410 and 415, or subsequent to those steps, steps 420 and 425 may be enacted. At step 420, a registration request is received from cable modem CM2 165. The service flow definition information for CM2 165 is conveyed from cable modem to CMC 145. At step 425, a unique VLAN identifier (ID) VLAN2 is assigned from related VLAN pool for service flow SF1 from the cable modem CM2 165. Any client device that is classified into service flow SF1 by cable modem CM2 165 will be assigned to the same VLAN2, the assignment is recorded and kept persistent. For each service flow SF1 from different cable modem, a unique VLAN ID form the VLAN pool for SF1 is assigned, the assignment is recorded and kept persistent. The VLAN assignment goes through the same procedure for VLAN pool for service flow SF2 and other service flows. After registration triggering of a cable modem and assignment of VLAN identifier according to service flow, then at step 430, access is granted to the network services to each client device from different cable modems based on the assigned VLAN ID.
Thus, in one example, for a system with two service flows: SF1 and SF2 having two cable modems, then VLAN pool 1 is generated for SF1 and VLAN pool 2 is generated for SF2. The following example VLAN ID assignments are made:
VLAN1 from VLAN pool 1 for SF1 for CM1 from any client device connected to CM1.
VLAN2 from VLAN pool 1 for SF1 for CM2 from any client device connected to CM2.
VLAN3 from VLAN pool 2 for SF2 for CM1 from any client device connected to CM1.
VLAN4 from VLAN pool 2 for SF2 for CM2 from any client device connected to CM2.
Service Flow Reference ID Based PSPUPV
According to an embodiment of the disclosure, a third technique of achieving PSPUPV in a DOCSIS network is discussed herein. In a CM configuration file, for every service flow defined, there is a unique service flow reference ID specified. No matter at which order the service flow definition is specified, the service flow reference ID can be used to indicate the desired service type. Using this technique, the PSPUPV in CMC is very similar
to the method based on service flow ID, but it decouples the service flow definition from where it is defined in the CM configuration file. The service flow for each service type can be explicitly identified by its reference ID in the CM configuration file.
In order to achieve PSPUPV, the CM configuration file is manipulated to describe different service flows for each kind of service, and the correct service flow classification rules are present to facilitate the cable modem 160.165 to classify different traffic from various home network devices, such as client 205-230, to the correct service flow towards CMC 145 (VLAN mapping device) . Among different cable modem configuration files used by a different subscriber, for each service flow that describes certain type of service, the service flow reference ID in the CM configuration file stays the same even though they are not present at the same definition order position.
The CMC 145 can be populated with different VLAN assignment policy according to service flow reference ID. For example, as the following table shows, for each service flow reference ID, there’s a dedicated VLAN pool with multiple VLAN ID resources available for any devices (such as client devices 205-230) belonging to the service flow. Here we use the service flow reference ID to represent service type.
The CMC 145 can be populated with different VLAN assignment policy according to service flow reference ID. For each VLAN pool entry, the “PUPV? ” field indicates if the unique VLAN is required for client devices with this service type from each subscriber. If “PUPV? ” is no, the default VLAN will be used for all devices with this service type no matter which subscriber it belongs to. If “PUPV? ” is yes, each unique VLAN for each subscriber is selected from the VLAN pool to assign to devices with this service type from this subscriber. The entry labeled “Overflow Action” indicates how to continue if the VLAN pool is exhausted when client devices from new subscriber arrives and the “PUPV? ” is yes. The
entry “drop” indicates a rule to drop all traffic with this service type from this subscriber because no more VLAN ID resource is available. In this instance, certain notification messages are generated to inform an administrator the failure events. The “default” entry option resorts to use the default VLAN when the VLAN ID resource is exhausted. In this instance, PSPUPV is not guaranteed.
The VLAN assignment for each cable modem 160, 165 takes place only once for all service types represented by service flow reference ID. It happens when the cable modem 160, 165 tries to get online. When cable modem 160, 165 registers with CMC 145, it conveys all its service flow definition information to CMC 145, so that CMC 145 can learn the service flows’ reference ID and assign specific VLAN for each service flow according to the VLAN pool entry.
In the end, CMC 145 will finally have a VLAN ID assignment table completed for each service type from each subscriber as shown in the following table, i.e., Per Service Per User Per VLAN is achieved. This VLAN assignment table is also kept persistently to survive from CMC reboot.
Although all upstream VLAN tagging and forwarding are simply based on the VLAN assignment policy, CMC 145 still needs to perform source MAC address learning as
following table indicates, in order to forward opposite downstream traffic back to the right cable modem. The mapping data can be populated by the CMC as the data becomes available.
| Source MAC address of device |
From cable modem |
VLAN ID |
| |
|
|
| |
|
|
| |
|
|
One observation about this method is that the CM configuration files between cable modems 160, 165 must be correlated, the service flow for same service type in different CM configuration files must have same service flow reference ID in order to match the correct service related VLAN assignment policy entry.
Figure 5 depicts an example flow diagram 500 of using a registration of a cable modem as a trigger for PSPUPV. The technique relies on the identification of service flows reference identifiers. The flow diagram 500 represents a third example technique to assign a virtual local area network (VLAN) identifier (ID) for a per service, per user, per VLAN (PSPUPV) system performed by a cable media converter (CMC) VLAN mapping device) . The technique assigns VLAN addresses to client devices served by cable modems (CMs) that communicate with the CMC.
At step 505, a VLAN pool is defined that serves a certain service flow reference ID, such as a service flow labeled SFR1. The service flow and reference ID are defined in the CM configuration file of a cable modem. Also, a VLAN pool that serves another certain service flow reference ID labeled SFR2 is defined. The service flow is defined in the CM configuration file of a cable modem. The VLAN pool definition is repeated for each service flow reference ID such that each service flow reference ID has a dedicated VLAN pool.
At step 510, a registration request is received from cable modem CM1 160, the service flow reference ID information for CM1 is conveyed from cable modem CM1 160 to CMC 145. At step 515, a unique VLAN identifier (ID) VLAN1 is assigned from related VLAN pool for service flow reference ID SFR1 from cable modem CM1 160. Any client device that is classified into service flow reference ID SFR1 by cable modem CM1 160 will be assigned to the same VLAN1, the assignment is recorded and kept persistent.
In parallel with steps 510 and 515, or subsequent to those steps, steps 520 and 525 may be enacted. At step 520, a registration request is received from cable modem CM2 165. The service flow reference ID information for CM2 165 is conveyed from cable modem to CMC 145. At step 525, a unique VLAN identifier (ID) VLAN2 is assigned from related
VLAN pool for service flow reference ID SFR1 from the cable modem CM2 165. Any client device that is classified into service flow reference ID SFR1 by cable modem CM2 165 will be assigned to the same VLAN2, the assignment is recorded and kept persistent. For each service flow reference ID SFR1 from different cable modem, a unique VLAN ID form the VLAN pool for SFR1 is assigned, the assignment is recorded and kept persistent. The VLAN assignment goes through the same procedure for VLAN pool for service flow reference ID SFR2 and other service flow reference IDs. After registration triggering of a cable modem and assignment of VLAN identifier according to service flow reference ID, then at step 530, access is granted to the network services to each client device from different cable modems based on the assigned VLAN ID.
Thus, in one example, for a system with two service flow reference IDs: SFR1 and SFR2 having two cable modems, then VLAN pool 1 is generated for SFR1 and VLAN pool 2 is generated for SFR2. The following example VLAN ID assignments are made:
VLAN1 from VLAN pool 1 for SFR1 for CM1 from any client device connected to CM1.
VLAN2 from VLAN pool 1 for SFR1 for CM2 from any client device connected to CM2.
VLAN3 from VLAN pool 2 for SFR2 for CM1 from any client device connected to CM1.
VLAN4 from VLAN pool 2 for SFR2 for CM2 from any client device connected to CM2.
There is commonality in the methods described in Figures 3, 4, and 5. They all relate to techniques for assigning a VLAN identifier for a PSPUPV system. Thus, the figures can be combined into an overall method depicted in Figure 6. Figure 6 is an overall method for assigning VLAN identifiers to client devices served by cable modems (CMs) that communicate with a CMC (VLAN mapping device) . The flow diagram 600 represents an overall example technique to assign a virtual local area network (VLAN) identifier (ID) for a per service, per user, per VLAN (PSPUPV) system performed by a cable media converter (CMC) .
At step 605, VLAN pools are defined that serves one of multiple characterization criteria. The criteria are device type, service flow, and service flow reference ID. As such, normally one of the criteria are selected as the basis for establishing separate VLAN pools of identifiers. For example, if device type is selected, then the VLAN pools are generated according to device type; one dedicated VLAN pool for each device type. If service flow is selected, then the VLAN pools are generated according to service flow; one dedicated VLAN pool for each service flow. If service flow reference ID is selected, then VLA pools are generated according to service flow reference ID; one dedicated VLAN pool for each service flow reference ID.
At step 610, a triggering event message is received from cable modem, such as CM1 160. The triggering event is either a DHCP message or a registration request message. The DHCP message is the trigger event when the characterization criterion is a device type and the trigger event is a registration request message when the characterization criteria is either a service flow or a service flow reference ID. The trigger event causes the specific characterization criterion (device type, service flow, or service flow reference ID) to be transmitted from the cable modem CM1 160 to the CMC 145.
At step 615, a unique VLAN identifier (ID) , such as VLAN1, is assigned from a VLAN pool that was generated according to the characterization criteria. For example, if the characterization criterion is device type, then a VLAN ID, such as VLAN1, is selected from the VLAN pool generated according to device type. If the characterization criterion is service flow, then a VLAN ID, such as VLAN1, is selected from the VLAN pool generated according to service flow. If the characterization criterion is service flow reference ID, then a VLAN ID, such as VLAN1, is selected from the VLAN pool generated according to service flow reference ID. It is noted that any client device, such as client device 205-215, that is classified into the characterization criteria of step 605 behind by cable modem CM1, such as CM1 160, will be assigned to the same VLAN1, the assignment is recorded and kept persistent.
In parallel with steps 610 and 615, or subsequent to those steps, steps 620 and 625 may be enacted. At step 620, a triggering event message is received from cable modem, such as CM2 165. The triggering event is the same as that for step 610. The trigger event causes the characterization criterion to be transmitted from the cable modem CM2 165 to the CMC 145.
At step 625, a unique VLAN identifier (ID) , such as VLAN2, is assigned from a VLAN pool that was generated according to the characterization criterion used in step 610. It is noted that any client device, such as client device 220-230, that is classified into the characterization criteria of step 605 behind by cable modem CM2, such as CM2 165, will be assigned to the same VLAN2, the assignment is recorded and kept persistent.
For each instance of characterization criterion that is present in step 605 from a different cable modem, a unique VLAN ID form the VLAN pool that was generated is assigned, the assignment is recorded and kept persistent. After receiving the triggering event of step 610 or 620, then at step 630, access is granted to the network services to each client device attached to different cable modems based on the assigned VLAN ID. Access is granted to network resources based on the assignment generated by the CMC (VLAN mapping device) .
Overall, a method performed by a VLAN mapping device includes the method allocating (605) each of a plurality of VLAN pools of identifiers to a respective
characterization criterion, receiving (610, 620) , from a gateway or cable modem having multiple client devices, each client device being classified by a respective characterization criterion, an indication to trigger assignment of VLAN identifiers to one or more of the client devices, assigning (615, 625) to one or more of the client devices a respective VLAN identifier from the VLAN pool corresponding to the respective criterion of the client device, and granting access (630) to the client devices to a network based on the respective assigned VLAN identifier.
Figure 7 is an example embodiment of a VLAM mapping apparatus, such as CMC 145, to perform the techniques of Figures 3, 4, 5, or 6. The apparatus of Figure 7 can be either a special-purpose machine, or part of a larger machine that performs other tasks. Here, for simplicity, the description can follow that of a CMC apparatus, but other devices are also possible as is well understood by those of skill in the art.
The VLAN mapping device 145 of Figure 7 includes a transmitter/receiver interface 702 providing connectivity to a network interface device, such as the ONU 135 of Figure 2. The interface 702 connects to the bus interface 704 which allows access to the internal bus 724. Other non-bus implementations are also possible as is well known to those of skill in the art. Present on bus 724 are a storage device 706 which can be used for any general storage such as retrieved or requested data and network management data, parameters, and programs. Storage device 706 may also serve as disk or solid-state storage of the device/appliance profile information. Main program or utility and other programs are under the control of controller/processor 708.
This controller/processor 708 may be a single processor or a multiplicity of processors performing the tasks of sensor data acquisition, user interface control, and resource management. Controller/processor 708 can perform the methods described in Figures 3, 4, 5, or 6. For example, one or more network communication messages having a respective VLAN identifier for a corresponding client device are transmitted via transmitter/receiver interface 702 to the network interface device 135 to grant access to network resources for the respective client devices connected to the cable modem or gateways shown in Figure 1. Control memory 710 can supply program instruction and configuration control for controller/processor 708. The status indicators are a user interface 718 and allows a user, system owner, or system manager to see a status of the apparatus 145. Such indicators may include a display, LEDs, printer interface, or data logging interface. An input/output (I/O) interface 716 allows the CMC 145 to connect to a personal computer or other device that can be used to configure and control the CMC functionality. The I/O interface 716 may be a hardline interface, such as an Ethernet interface or may operationally be substituted with an RF interface so that the CMC
145 can communicate with a PC via a protocol driven interface, such as IEEE 802.11. Other interfaces that are possible via I/O interface 716 are an interactive interface which may include the use of a display device, keyboard, mouse, light pen, and the like.
CMC apparatus 145 (VLAN mapping device) has a network interface 712 which allows access to and from the cable modems CM1 and CM2 or equivalent gateways. Such an interface includes all elements to control a network connection, including the use of the utilized network protocols. The network interface includes a receiver to receive cable modem or gateway information and a transmitter to transmit relevant information. The controller/processor 708 of the CMC 145 of Figure 4 is configured to provide processing services for the steps of the method of Figures 3, 4, 5, or 6. For example, the controller processor can provide instruction control to monitor and control the network interface 702, the I/O interface 716 and 718 status indicators and display, and the network interface 712.
The implementations described herein may be implemented in, for example, a method or process, an apparatus, or a combination of hardware and software. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method) , the implementation of features discussed may also be implemented in other forms. For example, implementation can be accomplished via a hardware apparatus, hardware and software apparatus. An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to any processing device, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device.
Additionally, the methods may be implemented by instructions being performed by a processor, and such instructions may be stored on a processor or computer-readable media such as, for example, an integrated circuit, a software carrier or other storage device such as, for example, a hard disk, a compact diskette ( “CD” or “DVD” ) , a random-access memory ( “RAM” ) , a read-only memory ( “ROM” ) or any other magnetic, optical, or solid-state media. The instructions may form an application program tangibly embodied on a non-transitory computer-readable medium such as any of the media listed above or known to those of skill in the art. The instructions thus stored are useful to execute elements of hardware and software to perform the steps of the method described herein.