Abstract:
An address configuration method, apparatus, and system are disclosed. The method includes: after receiving a neighbor solicitation message sent by a terminal and inclusive of a Link-Local Address (LLA), comparing the LLA with addresses in an Internet Protocol (IP) address cache, and judging whether any address in the IP address cache matches with the LLA; and sending a proxy neighbor advertisement message to the terminal if an address in the IP address cache matches with the LLA, where the message indicates that the LLA is a duplicate address. In the embodiments of the present disclosure, after a neighbor solicitation message is received, duplicate addresses are detected for the LLA; after the Duplicate Address Detection (DAD), an IPv6 address is generated and delivered. In this way, IPv6 stateless address auto-configuration is realized on the terminal.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of International Application No. PCT/CN2009/071012, filed on Mar. 25, 2009, which claims priority to Chinese Patent Application No. 200810102783.9, filed on Mar. 26, 2008, both of which are hereby incorporated by reference in their entireties. 
     
    
     FIELD OF THE DISCLOSURE 
       [0002]    The present disclosure relates to communications technologies, and in particular, to an address configuration method, apparatus, and system. 
       BACKGROUND OF THE DISCLOSURE 
       [0003]    With the development of the Internet technologies, the Internet Protocol version 6 (IPv6) replaces the Internet Protocol version 4 (IPv4) to become the next-generation Internet protocol. IPv6 overcomes many defects of IPv4, for example, scarce addresses, oversized routing tables, and deficiency of supporting mobile devices. An outstanding feature of IPv6 is to support stateless address auto-configuration of network nodes, which simplifies the work of the network administrator massively. The stateless address auto-configuration is an important means of a mobile node to obtain an address. The node uses a neighbor discovery mechanism to obtain a unique and globally routable address automatically. The plug-and-play address configuration mode involves no manual intervention of the user or the service provider, and caters for the Internet access requirements of mobile devices. 
         [0004]    To support IPv6, a terminal needs to support a Duplicate Address Detection (DAD) function. 
         [0005]    In the process of implementing the present disclosure, the inventor finds at least the following defects in the prior art: 
         [0006]    Currently, the Digital Subscriber Line (DSL) network architecture is a point-to-point (P2P) network without sharing media. That is, DSL terminals cannot communicate with each other directly, and the DAD function of the DSL terminal does not work. Therefore, the existing DSL network architecture does not support IPv6 stateless address auto-configuration. 
       SUMMARY OF THE DISCLOSURE 
       [0007]    Embodiments of the present disclosure provide an address configuration method, apparatus and system to implement IPv6 stateless address auto-configuration. 
         [0008]    An address configuration method provided in an embodiment of the present disclosure includes: after receiving a neighbor solicitation message that comprises a Link-Local Address (LLA), the neighbor solicitation message being sent by a terminal, comparing the LLA with addresses in an Internet Protocol (IP) address cache, and judging whether any address in the IP address cache matches with the LLA; if no address in the IP address cache matches with the LLA, storing the LLA into the IP address cache, generating an IPv6 address of the terminal, and sending the IPv6 address to the terminal; and if an address in the IP address cache matches with the LLA, sending a proxy neighbor advertisement message to the terminal, where the message indicates that the LLA is a duplicate address. 
         [0009]    An address configuration apparatus provided in an embodiment of the present disclosure includes: a detecting module configured to after receiving a neighbor solicitation message that includes an LLA, the neighbor solicitation message being sent by a terminal, compare the LLA with addresses in an IP address cache, and judge whether any address in the IP address cache matches with the LLA; a configuring module, configured to: if the detecting module determines that no address in the IP address cache matches with the LLA, store the LLA into the IP address cache, generate an IPv6 address of the terminal, and send the IPv6 address to the terminal; and an advertising module, configured to send a proxy neighbor advertisement message to the terminal if the detecting module determines that an address in the IP address cache matches with the LLA, where the message indicates that the LLA is a duplicate address. 
         [0010]    An address configuration system provided in an embodiment of the present disclosure includes a terminal and an address configuration apparatus. The address configuration apparatus includes: a detecting module, configured to: after receiving a neighbor solicitation message sent by a terminal and inclusive of an LLA, compare the LLA with addresses in a preset IP address cache, and judge whether any address in the IP address cache matches with the LLA; a configuring module, configured to: if the detecting module determines that no address in the IP address cache matches with the LLA, store the LLA into the IP address cache, generate an IPv6 address of the terminal, and send the IPv6 address to the terminal; and an advertising module, configured to send a proxy neighbor advertisement message to the terminal if the detecting module determines that an address in the IP address cache matches with the LLA, where the message indicates that the LLA is a duplicate address. 
         [0011]    Compared with the prior art, the embodiments of the present disclosure has at least the following benefits: 
         [0012]    In the embodiments of the present disclosure, after a neighbor solicitation message is received, duplicate addresses are detected for the LLA; after the DAD, an IPv6 address is generated and delivered. In this way, IPv6 stateless address auto-configuration is realized on the terminal. 
         [0013]    The embodiments of the present disclosure are detailed below with reference to accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  is a flowchart of an address configuration method in a first embodiment of the present disclosure; 
           [0015]      FIG. 2  is a flowchart of an address configuration method in a second embodiment of the present disclosure; 
           [0016]      FIG. 3  is a flowchart of an address configuration method in a third embodiment of the present disclosure; 
           [0017]      FIG. 4  is a flowchart of an address configuration method in a fourth embodiment of the present disclosure; 
           [0018]      FIG. 5  is a flowchart of an address configuration method in a fifth embodiment of the present disclosure; 
           [0019]      FIG. 6  shows a structure of an address configuration apparatus in an embodiment of the present disclosure; and 
           [0020]      FIG. 7  shows a structure of an address configuration system in an embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0021]      FIG. 1  is a flowchart of an address configuration method in the first embodiment of the present disclosure. As shown in  FIG. 1 , the method in this embodiment includes the following steps: 
         [0022]    Step  101 : The terminal configures the LLA automatically. 
         [0023]    Specifically, the terminal derives an LLA through an interface identifier of an Extended Unique Identifier (EUI)-64. The LLA is a tentative address, and is in an experimental state. 
         [0024]    Step  102 : The terminal sends a neighbor solicitation message to perform DAD for the LLA. The neighbor solicitation message carries the tentative LLA. 
         [0025]    Step  103 : After receiving the neighbor solicitation message, a Broadband Network Gateway (BNG) or Broadband Remote Access Server (BRAS) judges whether the tentative LLA is the same as an address stored in its IP address cache. If the tentative LLA is the same as an address stored in its IP address cache, the BNG OR BRAS performs step  104 ; if the tentative LLA is different from any address stored in its IP address cache, the BNG OR BRAS performs step  106  directly. 
         [0026]    The BNG OR BRAS supports proxy DAD of the LLA, and sets up and maintains an IP address cache of the represented user. 
         [0027]    Step  104 : The BNG OR BRAS sends a proxy neighbor advertisement message to the terminal, indicating that the tentative LLA is a duplicate address. 
         [0028]    Step  105 : After receiving the proxy neighbor advertisement message, the terminal stops automatic configuration of addresses, and manual configuration needs to be performed for the host of the terminal. 
         [0029]    Alternatively, the terminal in this step may further generate a new LLA, and repeat steps  101 - 103 . 
         [0030]    Step  106 : The BNG OR BRAS stores the tentative LLA into the IP address cache. 
         [0031]    Step  107 : If the terminal receives no proxy neighbor advertisement message, the terminal sends an IPv6-supported DHCP Solicit (DHCPv6 Solicit) message to discover the available Dynamic Host Configuration Protocol (DHCP) server. 
         [0032]    Step  108 : After receiving the DHCPv6 Solicit message, the DHCP proxy or relay forwards the DHCPv6 Solicit message to the DHCP server. 
         [0033]    Step  109 : After receiving the DHCPv6 Solicit message, any DHCP server that meets the terminal requirements can return an IPv6-supported DHCP Advertise (DHCPv6 Advertise) message to the DHCP proxy or relay. 
         [0034]    Step  110 : The DHCP proxy or relay forwards the DHCPv6 Advertise message to the terminal. 
         [0035]    Step  111 : The terminal receives the DHCPv6 Advertise message, and sends a DHCPv6 Request message to the selected DHCP server through the DHCP proxy or relay. 
         [0036]    Step  112 : After receiving the DHCPv6 Request message, the DHCP proxy or relay forwards the DHCPv6 Request message to the DHCP server selected by the terminal. 
         [0037]    Step  113 : After receiving the DHCPv6 Request message, the selected DHCP server generates an IPv6-supported DHCP Reply (DHCPv6 Reply) message, and sends it to the DHCP proxy or relay. The message carries an IPv6 address allocated to the terminal and the IP host configuration information. 
         [0038]    Step  114 : The DHCP proxy or relay forwards the DHCPv6 Reply message to the terminal. 
         [0039]    Step  115 : The BNG OR BRAS and an Access Node (AN) bind the IPv6 address of the terminal to the Media Access Control (MAC) address through DHCP snooping. 
         [0040]    In this embodiment, the proxy DAD is implemented in the BNG OR BRAS, and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0041]      FIG. 2  is a flowchart of an address configuration method in the second embodiment of the present disclosure. As shown in  FIG. 2 , the method in this embodiment includes the following steps: 
         [0042]    Step  201 : The terminal configures the LLA automatically. 
         [0043]    Specifically, the terminal derives an LLA through an interface identifier of an EUI-64. The LLA is a tentative address, which is in an experimental state. 
         [0044]    Step  202 : The terminal sends a neighbor solicitation message to perform DAD for the LLA. The neighbor solicitation message carries the tentative LLA. 
         [0045]    Step  203 : After receiving the neighbor solicitation message, a BNG OR BRAS judges whether the tentative LLA is the same as an address stored in its IP address cache. If the tentative LLA is the same as an address stored in its IP address cache, the BNG OR BRAS performs step  204 ; if the tentative LLA is different from any address stored in its IP address cache, the BNG OR BRAS performs step  206  directly. 
         [0046]    The BNG OR BRAS supports proxy DAD of the LLA, and sets up and maintains an IP address cache of the represented user. 
         [0047]    Step  204 : The BNG OR BRAS sends a proxy neighbor advertisement message to the terminal, indicating that the tentative LLA is a duplicate address. 
         [0048]    Step  205 : After receiving the proxy neighbor advertisement message, the terminal stops automatic configuration of addresses, and manual configuration needs to be performed for the host of the terminal. 
         [0049]    Alternatively, the terminal in this step may further generate a new LLA, and repeat steps  201 - 203 . 
         [0050]    Step  206 : The BNG OR BRAS stores the tentative LLA into the IP address cache. 
         [0051]    Step  207 : The BNG OR BRAS retrieves an interface identifier from the foregoing LLA, and generates a global IPv6 address of the terminal according to the interface identifier. 
         [0052]    More specifically, the BNG OR BRAS can append the interface identifier to the on-link prefix corresponding to the terminal so as to generate a global IPv6 address. 
         [0053]    Step  208 : If the terminal receives no proxy neighbor advertisement message, the terminal sends a router solicitation message, expecting to receive a router advertisement response from an Access Router (AR) of the BNG OR BRAS to obtain the on-link prefix. 
         [0054]    Step  209 : After receiving the router solicitation message, the BNG OR BRAS returns a router advertisement message to the terminal in place of the AR of the BNG OR BRAS. The router advertisement message carries the foregoing on-link prefix. 
         [0055]    Step  210 : According to the obtained on-link prefix, the terminal configures the global IPv6 address automatically. The terminal may further obtain other configuration information of the IP host by sending DHCPv6 messages. 
         [0056]    Step  211 : The BNG OR BRAS binds the IPv6 address of the terminal to the MAC address. 
         [0057]    Step  212 : The BNG OR BRAS delivers the binding relation between the IPv6 address of the terminal and the MAC address to the terminal through an L2C protocol. 
         [0058]    Step  213 : The IPv6 address of the terminal is bound to the MAC address on the AN. 
         [0059]    In this embodiment, the proxy DAD may also be implemented in the BNG OR BRAS, and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0060]      FIG. 3  is a flowchart of an address configuration method in the third embodiment of the present disclosure. As shown in  FIG. 3 , the method in this embodiment includes the following steps: 
         [0061]    Step  301 : The terminal configures the LLA automatically. 
         [0062]    Specifically, the terminal derives an LLA through an interface identifier of an EUI-64. The LLA is a tentative address, and is in an experimental state. 
         [0063]    Step  302 : The terminal sends a neighbor solicitation message to perform DAD for the LLA. The neighbor solicitation message carries the tentative LLA. 
         [0064]    Step  303 : After receiving the neighbor solicitation message, a Residential Gateway (RG) judges whether the tentative LLA is the same as an address stored in its IP address cache. If the tentative LLA is the same as an address stored in its IP address cache, the RG performs step  304 ; if the tentative LLA is different from any address stored in its IP address cache, the RG performs step  306  directly. 
         [0065]    The RG supports proxy DAD of the LLA, and sets up and maintains an IP address cache of the represented user. 
         [0066]    Step  304 : The RG sends a proxy neighbor advertisement message to the terminal, indicating that the tentative LLA is a duplicate address. 
         [0067]    Step  305 : After receiving the proxy neighbor advertisement message, the terminal stops automatic configuration of addresses, and manual configuration needs to be performed for the host of the terminal. 
         [0068]    Alternatively, the terminal in this step may further generate a new LLA, and repeat steps  301 - 303 . 
         [0069]    Step  306 : The RG stores the tentative LLA into the IP address cache. 
         [0070]    Alternatively, in this step, the RG may forward the neighbor solicitation message of the terminal to the BNG OR BRAS; further, the BNG OR BRAS performs proxy DAD for the LLA. The subsequent steps are the same as steps  101 - 106  in the first embodiment of the address configuration method above, and are not further described. 
         [0071]    Step  307 : If the terminal receives no proxy neighbor advertisement message, the terminal sends a DHCPv6 Solicit message to the RG 
         [0072]    Step  308 : After receiving the DHCPv6 Solicit message, the RG returns a DHCPv6 Advertise message to the terminal. 
         [0073]    Step  309 : After receiving the DHCPv6 Advertise message, the terminal sends a DHCPv6 Request message to the RG 
         [0074]    Step  310 : After receiving the DHCPv6 Request message, the RG returns a DHCPv6 Reply message to the terminal. The DHCPv6 Reply message carries an IPv6 address allocated to the terminal and the IP host configuration information. 
         [0075]    In this embodiment, the proxy DAD is implemented in the RG and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0076]      FIG. 4  is a flowchart of an address configuration method in the fourth embodiment of the present disclosure. As shown in  FIG. 4 , the method in this embodiment includes the following steps: 
         [0077]    Step  401 : The terminal configures the LLA automatically. 
         [0078]    Specifically, the terminal derives an LLA through an interface identifier of an EUI-64. The LLA is a tentative address, and is in an experimental state. 
         [0079]    Step  402 : The terminal sends a neighbor solicitation message to perform DAD for the LLA. The neighbor solicitation message carries the tentative LLA. 
         [0080]    Step  403 : After receiving the neighbor solicitation message, an RG judges whether the tentative LLA is the same as an address stored in its IP address cache. If the tentative LLA is the same as an address stored in its IP address cache, the RG performs step  404 ; if the tentative LLA is different from any address stored in its IP address cache, the RG performs step  406  directly. 
         [0081]    The RG supports proxy DAD of the LLA, and sets up and maintains an IP address cache of the represented user. 
         [0082]    Step  404 : The RG sends a proxy neighbor advertisement message to the terminal, indicating that the tentative LLA is a duplicate address. 
         [0083]    Step  405 : After receiving the proxy neighbor advertisement message, the terminal stops automatic configuration of addresses, and manual configuration needs to be performed for the host of the terminal. 
         [0084]    Alternatively, the terminal in this step may further generate a new LLA, and repeat steps  401 - 403 . 
         [0085]    Step  406 : The RG stores the tentative LLA into the IP address cache. 
         [0086]    Alternatively, in this step, the RG may forward the neighbor solicitation message of the terminal to the BNG OR BRAS; further, the BNG OR BRAS performs proxy DAD for the LLA. The subsequent steps are the same as steps  101 - 106  in the first embodiment of the address configuration method above, and are not further described. 
         [0087]    Step  407 : The RG retrieves an interface identifier from the foregoing LLA, and generates an IPv6 address of the terminal according to the interface identifier. This address may be a private IPv6 address. 
         [0088]    More specifically, the RG can append the interface identifier to the on-link prefix corresponding to the terminal so as to generate the terminal&#39;s IPv6 address, which may be a private IPv6 address. 
         [0089]    Step  408 : If the terminal receives no proxy neighbor advertisement message, the terminal sends a router solicitation message, expecting to receive a router advertisement response from an AR of the RG to obtain an on-link prefix. 
         [0090]    Step  409 : After receiving the router solicitation message, the RG returns a router advertisement message to the terminal in place of the AR of the BNG OR BRAS. The router advertisement message carries the foregoing on-link prefix. 
         [0091]    Step  410 : According to the obtained on-link prefix, the terminal configures the IPv6 address automatically. The terminal may further obtain other configuration information of the IP host by sending DHCPv6 messages. 
         [0092]    In this embodiment, the proxy DAD may also be implemented in the RG and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0093]      FIG. 5  is a flowchart of an address configuration method in the fifth embodiment of the present disclosure. As shown in  FIG. 5 , the method in this embodiment includes the following steps: 
         [0094]    Step  501 : The terminal configures the LLA automatically. 
         [0095]    Specifically, the terminal derives an LLA through an interface identifier of an EUI-64. The LLA is a tentative address, and is in an experimental state. 
         [0096]    Step  502 : The terminal sends a neighbor solicitation message to perform DAD for the LLA. The neighbor solicitation message carries the tentative LLA. 
         [0097]    Step  503 : After receiving the neighbor solicitation message, an RG judges whether the tentative LLA is the same as an address stored in its IP address cache. If the tentative LLA is the same as an address stored in its IP address cache, the RG performs step  504 ; if the tentative LLA is different from any address stored in its IP address cache, the RG performs step  506  directly. 
         [0098]    The RG supports proxy DAD of the LLA, and sets up and maintains an IP address cache of the represented user. 
         [0099]    Step  504 : The RG sends a proxy neighbor advertisement message to the terminal, indicating that the tentative LLA is a duplicate address. 
         [0100]    Step  505 : After receiving the proxy neighbor advertisement message, the terminal stops automatic configuration of addresses, and manual configuration needs to be performed for the host of the terminal. 
         [0101]    Alternatively, the terminal in this step may further generate a new LLA, and repeat steps  501 - 503 . 
         [0102]    Step  506 : The RG stores the tentative LLA into the IP address cache. 
         [0103]    Alternatively, in this step, the RG may forward the neighbor solicitation message of the terminal to the BNG OR BRAS; further, the BNG OR BRAS performs proxy DAD for the LLA. The subsequent steps are the same as steps  101 - 106  in the first embodiment of the address configuration method above, and are not further described. 
         [0104]    Step  507 : If the terminal receives no proxy neighbor advertisement message, the terminal sends a DHCPv6 Solicit message to the RG. 
         [0105]    Step  508 : After receiving the DHCPv6 Solicit message, the RG sends a router solicitation message to the AR, expecting to receive a router advertisement response from an AR of the RG to obtain an on-link prefix. 
         [0106]    Step  509 : After receiving the router solicitation message, the AR of the RG returns a router advertisement message to the RG. The router advertisement message carries the on-link prefix. 
         [0107]    Step  510 : After receiving the router advertisement message, the RG returns a DHCPv6 Advertise message to the terminal. 
         [0108]    Step  511 : According to the obtained on-link prefix, the RG configures the IPv6 address allocated to the terminal automatically. This address may be a global IPv6 address. 
         [0109]    Step  512 : After receiving the DHCPv6 Advertise message, the terminal sends a DHCPv6 Solicit message to the RG 
         [0110]    Step  513 : After receiving the DHCPv6 Solicit message, the RG returns a DHCPv6 Reply message to the terminal. The DHCPv6 Reply message carries an IPv6 address allocated to the terminal and the IP host configuration information. 
         [0111]    In this embodiment, the proxy DAD may also be implemented in the RG and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0112]      FIG. 6  shows a structure of an address configuration apparatus in an embodiment of the present disclosure. The apparatus in this embodiment includes a detecting module  21 , a configuring module  22 , and an advertising module  23 , which are connected sequentially. The detecting module  21  is configured to compare the LLA with addresses in a preset IP address cache and judge whether any address in the IP address cache matches with the LLA after receiving a neighbor solicitation message sent by a terminal and inclusive of an LLA. The configuring module  22  is configured to store the LLA into the IP address cache, generate an IPv6 address of the terminal, and send the IPv6 address to the terminal if the detecting module  21  determines that no address in the IP address cache matches with the LLA. The advertising module  23  is configured to send a proxy neighbor advertisement message if the detecting module  21  determines that an address in the IP address cache matches with the LLA, where the message indicates that the LLA is a duplicate address. 
         [0113]    The address configuration apparatus in this embodiment can implement proxy DAD, and may be set independently or integrated with another network entity in the DSL network architecture such as the BNG OR BRAS or RQ and therefore, the DSL network architecture can support IPv6 stateless address auto-allocation. 
         [0114]      FIG. 7  shows a structure of an address configuration system in an embodiment of the present disclosure. The system in this embodiment includes a terminal  10  and an address configuration apparatus  20  that are interconnected. The address configuration apparatus  20  includes a detecting module  21 , a configuring module  22 , and an advertising module  23 , which are connected sequentially. The detecting module  21  is configured to: after receiving a neighbor solicitation message sent by a terminal and inclusive of an LLA, compare the LLA with addresses in a preset IP address cache, and judge whether any address in the IP address cache matches with the LLA. The configuring module  22  is configured to: if the detecting module  21  determines that no address in the IP address cache matches with the LLA, store the LLA into the IP address cache, generate an IPv6 address of the terminal, and send the IPv6 address to the terminal. The advertising module  23  is configured to send a proxy neighbor advertisement message if the detecting module  21  determines that an address in the IP address cache matches with the LLA, where the message indicates that the LLA is a duplicate address. 
         [0115]    The address configuration apparatus in the address configuration system in this embodiment can implement proxy DAD, and may be set independently or integrated with another network entity in the DSL network architecture such as the BNG OR BRAS or RG, and therefore, the DSL network architecture can support IPv6 stateless LLAs auto-allocation. 
         [0116]    After reading the foregoing embodiments, those skilled in the art are clearly aware that the present disclosure may be implemented through hardware such as a computer with a processor, or through software in addition to a necessary universal hardware platform. The present disclosure may be embodied as a software product. The software product may be stored in a non-volatile storage medium (such as a CD-ROM, a USB flash disk, or a mobile hard disk), and may incorporate several instructions that enable a computer device (such as a personal computer, a server, or a network device) to perform the method specified in any embodiment of the present disclosure. 
         [0117]    The above descriptions are merely some exemplary embodiments of the present disclosure, but not intended to limit the scope of the present disclosure. Any modification, equivalent replacement, or improvement made without departing from the spirit and principles of the present disclosure shall fall within the scope of the present disclosure.