Abstract:
The present invention discloses a method of selecting services provided by different NSPs in an access network, the access network comprises a subscriber terminal and a broadband access equipment, the method includes the steps of: setting up a session between said subscriber terminal and said broadband access equipment to determine an appropriate NSP; sending a data packet to said broadband access equipment by said subscriber terminal; and after receiving said data packet, searching for the route of said data packet based on said determined NSP and forwarding said data packet according to the found route by said broadband access equipment.

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S)  
       [0001]     This application is based on the Chinese Patent Application No. 200410054237.4 filed on Sep. 2, 2004, the disclosure of which is hereby incorporated by reference thereto in its entirety, and the priority of which is hereby claimed under 35 U.S.C. §119.  
       FIELD OF THE INVENTION  
       [0002]     The present invention relates to the communication field, and more particularly, to a method of selecting services provided by different Network Service Providers (NSPs) in an access network.  
       BACKGROUND OF THE INVENTION  
       [0003]     In order to reduce the network cost and improve the network performance, broadband access equipment will undertake more and more functions which are originally provided by Broadband Remote Access Server (BRAS). One of such major functions is the termination of a Point-to-Point Protocol (PPP) session.  
         [0004]     For the purpose of convenience, the broadband access equipment here refers to the Internet Protocol based Digital Subscriber Line Access Multiplexer (IP-DSLAM). Of course, those skilled in the art should appreciate that the broadband access equipment is not limited to the IP-DSLAM.  
         [0005]     In the current broadband access network, a PPP session is usually terminated at BRAS. However, terminating a PPP session at IP-DSLAM boasts the following advantages. Firstly, IP-DSLAM is allowed to perform Layer 3 or IP Layer data forwarding, so that IP level Quality of Service (QoS) can be provided to a subscriber terminal. Secondly, only the IP-DSLAM&#39;s Media Access Control (MAC) address will be propagated in an Ethernet-based Metropolitan Area Network (E-MAN), while the MAC address of the subscriber terminal will not be propagated to an Ethernet switch in the MAN. This will significantly reduce the size of a Layer 2 address forwarding table in the Ethernet switches of the MAN. And thirdly, occupation of resources of Virtual Local Area Network (VLAN), for example, VLAN IDs (currently, there is only 4096 VLAN IDs) will be greatly decreased. Where a PPP session is terminated at IP-DSLAM, NSP can allocate one VLAN for each IP-DSLAM and Edge Router pair instead of allocating a unique VLAN for each subscriber terminal. In such a case, it is not necessary to support a VLAN stacking mechanism. This will significantly improve the network scalability.  
         [0006]     However, where multiple NSPs simultaneously provide network services, terminating a PPP session at IP-DSLAM will be faced up with the problems as to: how to enable different subscriber terminals to select correctly services provided by different NSPs; and how the IP-DSLAM forwards data of different subscriber terminals to corresponding NSPs.  
         [0007]     In such a case, there is therefore a need for a method of selecting services provided by different NSPs; so as to enable different subscriber terminals to select services provided by different NSPs and to forward data of different subscriber terminals to corresponding NSPs.  
       SUMMARY OF THE INVENTION  
       [0008]     So far, there has not been a method of selecting services provided by different NSPs by broadband access based subscriber terminals.  
         [0009]     Therefore, the present invention proposes a method of selecting services provided by different NSPs in an access network, said access network comprising a subscriber terminal and a broadband access equipment, said method includes the steps of: setting up a session between said subscriber terminal and said broadband access equipment to determine an appropriate NSP; sending a data packet to said broadband access equipment by said subscriber terminal; and after receiving said data packet, searching for the route of said data packet based on said determined NSP and forwarding said data packet according to the found route by said broadband access equipment.  
         [0010]     Preferably, said step of setting up a session to determine an appropriate NSP includes the steps of: sending a discovery initialization message to said broadband access equipment by said subscriber terminal; after receiving said discovery initialization message, sending a discovery response message to said subscriber terminal by said broadband access equipment; after receiving said discovery response message, sending a discovery request message to said broadband access equipment by said subscriber terminal; and after receiving said discovery request message, sending a discovery session confirmation message to said subscriber terminal by said broadband access equipment.  
         [0011]     Preferably, said discovery initialization message includes name of NSP, or parameters related to services which NSPs can provide.  
         [0012]     Preferably, said discovery response message includes one or more virtual server MAC addresses corresponding to NSPs.  
         [0013]     Preferably, said discovery request message includes a virtual server MAC address corresponding to the NSP selected by said subscriber terminal, and said data packet sent by said subscriber terminal to said broadband access equipment contains the virtual server MAC address corresponding to the NSP selected by said subscriber terminal.  
         [0014]     Preferably, said discovery session confirmation message includes a session ID which is generated by said broadband access equipment and is unique therein, and the data packet sent by said subscriber terminal to said broadband access equipment contains the session ID.  
         [0015]     Preferably, the step of forwarding said data packet includes: selecting a virtual forwarding table (VFT) in said broadband access equipment according to the virtual server MAC address in said data packet; searching in the selected virtual forwarding table for a forwarding route according to the destination address of said data packet; and forwarding said data packet according to the found forwarding route.  
         [0016]     Preferably, the step of forwarding said data packet includes: extracting the session ID contained in said data packet; selecting a virtual forwarding table in said broadband access equipment according to said session ID; searching the selected virtual forwarding table for a forwarding route according to the destination address of said data packet; and forwarding said data packet according to the found forwarding route.  
         [0017]     Preferably, the communication between said subscriber terminal and said broadband access equipment is based on the Point-to-Point Protocol (PPP) or PPP over Ethernet (PPPoE).  
     
    
     BRIEF DESCRIPTION ON THE DRAWINGS  
       [0018]     Here, the embodiments of the present invention are illustrated with reference to the accompanying drawings which form a part of the description, and the principle of the present invention is explained in conjunction with the explanatory portion thereof:  
         [0019]      FIG. 1  shows a schematic diagram of network architecture according to the present invention;  
         [0020]      FIG. 2  shows a schematic diagram of broadband access equipment used in the present invention;  
         [0021]      FIG. 3  shows a schematic diagram of a NSP mapping table stored on storage means  23  of the broadband access equipment according to the present invention;  
         [0022]      FIG. 4  shows a flow chart according to the present invention;  
         [0023]      FIG. 5  shows a schematic diagram of a VFT; and  
         [0024]      FIG. 6  shows a schematic diagram of a mapping tale between PPP session IDs and VFTs. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0025]     Hereinafter, the preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.  
         [0026]      FIG. 1  shows a schematic diagram of network system architecture according to the present invention. As shown in  FIG. 1 , the network system comprises subscriber terminals  11  and  12 , a broadband access equipment (IP-DSLAM)  13 , an Ethernet based Metropolitan Area Network (E-MAN)  14 , an Ethernet switch  15 , Broadband Remote Access Servers/Edge Routers (BRASs/ERs)  16  and  17 , and Network Service Providers (NSPs)  18  and  19 . The subscriber terminals  11  and  12  are respectively connected via conventional lines to the IP-DSLAM  13 , which is connected via the Ethernet switch  15  to the E-MAN  14 . Besides, the E-MAN  14  is connected via the BRASs/ERs  16  and  17  to the NSPs  18  and  19 . In other words, the IP-DSLAM  13  is connected via the E-MAN  14  to different NSPs  18  and  19 .  
         [0027]      FIG. 2  shows a schematic diagram of broadband access equipment used in the present invention. For the purpose of convenience, the broadband access equipment refers to the IP-DSLAM below. Of course, those skilled in the art should understand that the broadband access equipment is not limited to the IP-DSLAM. As shown in  FIG. 2 , the IP-DSLAM comprises: receiving means  21 , for receiving data from subscriber terminals; processing means  22 , for processing the data received by the receiving means  21 ; storage means  23 , for storing information; and sending means  24 , for sending the data processed by the processing means  22 .  
         [0028]      FIG. 3  shows a schematic diagram of a NSP mapping table stored on the storage means  23  of the IP-DSLAM according to the present invention. As shown in  FIG. 3 , the first column  31  is the name of NSP, in which there are stored names of the NSPs; the second column  32  is index of VFT, in which there are stored VFT&#39;s indices; the third column  33  is the MAC address of virtual PPP/PPPoE (PPP over Ethernet) server, in which there are stored MAC addresses; the fourth column  34  is the IP address of virtual PPP/PPPoE server, in which there are stored IP addresses; the fifth column  35  is service name, in which there are stored service names which can be provided by corresponding NSPs; and the sixth column  36  is QoS, in which there are stored QoSs which can be provided by corresponding NSPs. As shown in this figure, each NSP has a corresponding VFT and a virtual PPP/PPPoE server, each virtual PPP/PPPoE server having its own MAC address and IP address, and the service level or QoS the NSP can provide. Of course, those skilled in the art should understand that the table mentioned above is only as an example.  
         [0029]      FIG. 4  shows a flow chart according to the present invention.  
         [0030]     When a subscriber terminal wants to acquire network services from one NSP, it will start the process of setting up a PPP session. First, the flow goes to step  41 , in which the subscriber terminal sends a Discovery Initialization message to the IP-DSLAM, the message contains the name of a NSP from where the subscriber terminal wants to acquire network services. After the receiving means  21  of the IP-DSLAM receives the message, it sends the message to the processing means  22 . After receiving the message, the processing means  22  extracts the NSP name contained in the message, searches for the NSP mapping table on the storage means  23  according to the NSP name, finds out the virtual PPP/PPPoE server MAC address corresponding to the NSP name, extracts the MAC address from the table and sends the MAC address to the sending means  24 .  
         [0031]     Next, the flow goes to step  42 , in which the sending means  24  sends a Discovery Response message to the subscriber terminal. The source MAC address contained in the message is the virtual PPP/PPPoE server MAC address corresponding to the NSP name found in step  41 .  
         [0032]     After the subscriber terminal receives the Discovery Response message, the flow goes to step  43 . In step  43 , the subscriber terminal sends a Discovery Request message to the IP-DSLAM. The destination MAC address contained in the message is the virtual PPP/PPPoE server MAC address acquired in step  42 .  
         [0033]     After the receiving means  21  of the IP-DSLAM receives the Discovery Request message, the flow goes to step  44 . In step  44 , the processing means  22  generates a PPP session ID. Afterwards, the sending means  24  sends a Discovery Session Confirmation message to the subscriber terminal. The Discovery Session Confirmation message contains the PPP session ID generated by the processing means  22 . In general, the PPP session ID is unique in the IP-DSLAM.  
         [0034]     In another embodiment according to the present invention, what is contained in the Discovery Initialization message sent by the subscriber terminal to the IP-DSLAM in step  41  is not the name of a NSP from where the subscriber terminal wants to acquire network services, but some other information, e.g. service names which the NSP can provide, or QoS and the like. In this case, after the receiving means  21  of the IP-DSLAM receives the Discovery Initialization message and sends it to the processing means  22 , the processing means  22  extracts the service names or QoS and the like contained in the message, searches for the NSP mapping table on the storage means  23  according to these information, finds out the virtual PPPoE/PPP server MAC addresses of NSPs corresponding to these information, extracts the MAC addresses from the table and sends them to the sending means  24 . Here, there might be a plurality of NSPs corresponding to these information, thereby a plurality of virtual PPPoE/PPP server MAC addresses are obtained. The processing means  22  extracts all the matched virtual PPPoE/PPP server MAC addresses from the NSP mapping table and sends them to the sending means  24 .  
         [0035]     Then, the sending means  24  sends a plurality of Discovery Response messages to the subscriber terminal in step  42 . The source MAC address contained in each of the messages is one of the virtual PPPoE/PPP server MAC addresses of the plurality of NSPs corresponding to the service names or QoS and the like.  
         [0036]     After the subscriber terminal receives the plurality of Discovery Response messages, the flow goes to step  43 . In step  43 , the subscriber terminal selects the optimum NSP from NSPs corresponding to the plurality of Discovery Response messages, acquires from one of the Discovery Response messages the virtual PPPoE/PPP server MAC address corresponding to the selected NSP, and then sends a Discovery Request message to the IP-DSLAM. The destination MAC address contained in the Discovery Request message is the virtual PPPoE/PPP server MAC address corresponding to the above-mentioned selected NSP.  
         [0037]     Similarly, after the receiving means  21  of the IP-DSLAM receives the Discovery Request message, the flow goes to step  44 . In step  44 , the processing means  22  generates a PPP session ID. Afterwards, the sending means  24  sends a Discovery Session Confirmation message to the subscriber terminal. The Discovery Session Confirmation message contains the PPP session ID generated by the processing means  22 . In general, the PPP session ID is unique in the IP-DSLAM.  
         [0038]     Through the above-described four steps, the PPP session is set up between the subscriber terminal and the IP-DSLAM, and standard PPP configuration steps and data sending can be performed between them. It should be note that the aforesaid PPP session ID keeps unchanged at long while performing standard PPP configuration steps and data sending.  
         [0039]     After the PPP session is set up between the subscriber terminal and the IP-DSLAM, the flow goes to step  45 . In step  45 , the subscriber terminal starts to send a data packet to the IP-DSLAM.  
         [0040]     In one embodiment of the present invention, upon receipt of the data packet, the receiving means  21  of the IP-DSLAM sends the data packet to the processing means  22 . Then, the processing means  22  extracts the destination MAC address contained in the data packet. Next, the processing means  22  searches for the Virtual Forwarding Table (VFT) index corresponding to the destination MAC address in the NSP mapping table on the storage means  23  according to the destination MAC address. For instance, as shown in  FIG. 3 , when the destination MAC address is C 1 . B 2 . D 5 .  67 .  38 .  5 E, the VFT corresponding to index  1  is selected; if the destination MAC address is C2. 5B. A7. 68. E3. 4A, the VFT corresponding to index  2  is selected, and the rest can be reasoned out by analogy.  
         [0041]      FIG. 5  shows a schematic diagram of a VFT which is stored on the storage means  23 . In the VFT, the first column  51  is destination IP address, and the second column  52  is IP address of the next-hop router. When the destination IP address is 210.82.3.5, the IP-DSLAM forwards the data packet of the subscriber terminal to the next-hop router whose IP address is 210.82.3.1. When the destination IP address is 221.136.5.115, the IP-DSLAM forwards the data packet of the subscriber terminal to the next-hop router whose IP address is 221.136.0.1. And the rest can be reasoned out by analogy.  
         [0042]     After the processing means  22  finds the matched VFT, it extracts the IP packet encapsulated in the subscriber terminal&#39;s data packet. Then, the processing means  22  selects the next-hop router according to the selected matched VFT and the destination IP address of the IP packet, and sends the data packet to the sending means  24 . Afterwards, the sending means  24  sends the data packet to the selected next-hop router, and thus finally sends it to a correct NSP network.  
         [0043]     According to its own routing table and the destination IP address contained in the data packet, the next-hop router searches for a new route and forwards the data packet to a matched router until the data packet of the subscriber terminal arrives at the destination.  
         [0044]     In another embodiment according to the present invention, while the processing means  22  generates a PPP session ID in step  44 , it also generates a mapping table between the PPP session ID and the VFT and stores the table on the storage means  23 .  
         [0045]      FIG. 6  shows a schematic diagram of a mapping table between PPP session IDs and VFTs, in which the first column  61  is PPP session ID and the second column  62  is VFT index.  
         [0046]     In another embodiment according to the present invention, upon receipt of the data packet, the receiving means  21  of the IP-DSLAM sends the data packet to the processing means  22 . Then, the processing means  22  extracts the PPP session ID contained in the data packet. Next, the processing means  22  searches for the Virtual Forwarding Table (VFT) index corresponding to the PPP session ID in the mapping table between PPP session IDs and VFTs on the storage means  23  according to the PPP session ID.  
         [0047]     As shown in  FIG. 6 , if the PPP session ID is 0×0001, the VFT corresponding to index  1  is selected. If the PPP session ID is O×0002, the VFT corresponding to index  2  is selected. The rest can be reasoned out by analogy.  
         [0048]     After the processing means  22  finds the matched VFT, it extracts the IP packet encapsulated in the subscriber terminal&#39;s data packet. Then, the processing means  22  selects the next-hop router according to the selected matched VFT and the destination IP address of the IP packet, and sends the data packet to the sending means  24 . Afterwards, the sending means  24  sends the data packet to the selected next-hop router, and thus finally sends it to a correct NSP network.  
         [0049]     Since a PPP session ID is valid during communication only and the corresponding PPP session ID becomes invalid once the communication is terminated, the mapping table between PPP session IDs and VFTs on the storage means  23  should be dynamically updated.  
         [0050]     By the above-described embodiments, it is achieved that a subscriber terminal selects services provided by different NSPs and the IP-DSLAM forwards data of the subscriber terminal to the corresponding NSP.  
         [0051]     Of course, those of ordinary skilled in the art should appreciate that the above description is merely illustrative. Various changes and alternations can be made without departing from the concept and scope of the present invention. It should be understood that the present invention is not limited to the specific embodiments, and the scope thereof is defined by the claims as appended.