Abstract:
Assignment of network addresses, e.g., IP addresses, to network nodes in a passive optical network (PON) may involve assignment of IP addresses within a common subnet scope to network nodes coupled to different optical fiber links and different interface modules in the PON. In this manner, excessive waste of IP addresses can be avoided. Instead of assigning an entire subnet scope of addresses to the nodes coupled to a single optical fiber link, a common subnet can be allocated across a PON having multiple, independent interfaces, increasing the number of subnet IP addresses that are actually used. Accordingly, the IP address space within a subnet scope can be distributed more efficiently. In addition to conserving IP addresses, the number of subnets allocated by ISPs can be reduced, along with the significant expense incurred by ISPs in reserving and maintaining multiple class C subnets.

Description:
This is a continuation of application Ser. No. 10/144,008, filed May 9, 2002, now U.S. Pat. No. 7,020,157 the entire content of which is incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     The invention relates to computer networking and, more particularly, assignment of network addresses such as IP addresses within a passive optical network (PON). 
     BACKGROUND 
     A passive optical network (PON) can deliver voice, video and other data among multiple network nodes using a common optical fiber link. Passive optical splitters and combiners enable a number of network nodes to share the optical fiber link. Each network node terminates the optical fiber link for a residential or business subscriber, and is sometimes referred to as a subscriber premises node. A PON typically includes a PON interface having multiple, independent PON interface modules that serve multiple optical fiber links. In the case of data services, the PON interface receives data packets from an Internet service provider for transmission to network nodes. A PON interface module provides an Ethernet interface for transmission and reception of over a particular optical fiber link that serves a group of network nodes. 
     A group of network nodes ordinarily forms a subnet for purposes of IP addressing. In particular, a PON interface module typically carries a class C network address. Consequently, the group of network nodes served by a PON interface module consumes an entire subnet scope of IP addresses. Unfortunately, the number of network nodes served by a given PON interface module may be much less than the number of available addresses within the subnet scope, e.g., 255 addresses. Dedication of an entire subnet scope to a single PON interface module therefore results in wasted IP addresses, i.e., addresses that are not used within the group of network nodes. Moreover, an Internet service provider (ISP) must allocate an entire subnet to each PON interface module, which can be expensive. 
     SUMMARY 
     In general, the invention is directed to techniques for assignment of IP addresses to network nodes in a PON. The invention enables assignment of IP addresses within a common subnet scope to network nodes coupled to different optical fiber links and different interface modules in the PON. In this manner, the invention permits groups of network nodes coupled to different optical fiber links within the PON to carry IP addresses within a common subnet. In addition, the invention permits ISPs to consume less class C IP address spaces when attaching to multiple, independent PON interface modules. 
     In one embodiment, the invention provides a PON comprising a first group of network nodes and a second group of network nodes. A first interface module transmits information to the first group of nodes via a first optical fiber link. A second interface module transmits information to the second group of nodes via a second optical fiber link. A first dynamic host configuration protocol (DHCP) relay agent, associated with the first interface module, generates DHCP proxy requests for the first group of network nodes. In addition, a second DHCP relay agent, associated with the second interface module, generates DHCP proxy requests for the second group of network nodes. A DHCP server assigns IP addresses to the network nodes in the first and second groups in response to the DHCP proxy requests generated by the first and second DHCP relay agents. At least some of the IP addresses assigned to the network nodes in the first group and at least some of the IP addresses assigned to the network nodes in the second group are within a common subnet scope. 
     In another embodiment, the invention provides a PON comprising a first group of network nodes coupled to a first optical fiber link, and a second group of network nodes coupled to a second optical fiber link, wherein some of the network nodes in the first group and some of the network nodes in the second group have IP addresses within a common subnet scope. 
     In a further embodiment, the invention provides an interface for a PON. The interface comprises a first interface module that transmits information to a first group of nodes via a first optical fiber link, and a second interface module that transmits information to a second group of nodes via a second optical fiber link. A first DHCP relay agent, associated with the first interface module, generates DHCP proxy requests for the first group of network nodes, and a second DHCP relay agent, associated with the second interface module, that generates DHCP proxy requests for the second group of network nodes. 
     In an added embodiment, the invention provides an interface for a PON. The interface comprises an interface module that transmits information to a first group of network nodes coupled to a first optical fiber link, and a DHCP relay agent, associated with the interface module, that generates DHCP proxy requests for assignment of IP addresses to the first group of network nodes. An address resolution protocol (ARP) agent generates proxy ARP requests for the first group of network nodes to determine IP addresses for a second group of network nodes coupled to a second optical fiber link and having IP addresses in a common subnet scope with the IP addresses of the first group of network nodes. 
     In another embodiment, the invention provides a method comprising assigning first IP addresses to a first group of network nodes coupled to a first optical fiber link, and assigning second IP addresses to a second group of network nodes coupled to a second optical fiber link, wherein at least some of the first IP addresses assigned to the network nodes in the first group and at least some of the second IP addresses assigned to the network nodes in the second group are within a common subnet scope. 
     The invention may provide one or more advantages. In particular, the invention can help avoid excessive waste of IP addresses. The invention may be useful for both IPv4 and IPv6 address, but is especially advantageous for conserving the rapidly depleting supply of available 32-bit IPv4 addresses. Instead of assigning an entire subnet scope of addresses to the nodes coupled to a single optical fiber link, the invention permits nodes coupled to different optical fiber links to be addressed as a common subnet. In this manner, the invention enables IP addresses within a common subnet to be allocated across a PON having multiple, independent interfaces, increasing the number of subnet IP addresses that are actually used. Accordingly, the IP address space within a subnet scope can be distributed more efficiently. In addition to conserving IP addresses, the invention can help in reducing the number of subnets allocated by ISPs, and the significant expense incurred by ISPs in reserving and maintaining multiple class C subnets. 
     The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a block diagram illustrating an exemplary PON. 
         FIG. 2  is a block diagram illustrating a PON with groups of network nodes coupled to multiple optical fiber links. 
         FIG. 3  is a block diagram illustrating a PON with a DHCP relay agent feature that permits allocation of IP addresses within the same subnet scope to different groups of network nodes. 
         FIG. 4  is a block diagram illustrating a PON as shown in  FIG. 3  with an ARP agent feature. 
         FIG. 5  is a block diagram further illustrating the arrangement of a PON as shown in  FIG. 3 . 
         FIG. 6  is a flow diagram illustrating interaction of various PON components to allocate IP addresses. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram illustrating a passive optical network (PON)  10 . As will be described, various components of PON  10  may incorporate features that enable IP addresses within a common subnet scope to be assigned to network nodes coupled to different optical fiber links and different interface modules. As shown in  FIG. 1 , PON  10  can be arranged to deliver voice, data and video content (generally “information”) to a number of network nodes via optical fiber links  11 . Exemplary components for implementing a PON are commercially available from Optical Solutions, Inc., of Minneapolis, Minn., and designated by the tradename Fiberpath 400™, including the Fiberdrive™ headend bay interface and the Fiberpoint™ subscriber premise nodes. 
     A PON interface  12  may receive voice information, for example, from the public switched telephone network (PSTN)  14  via a switch facility  16 . In addition, PON interface  12  may be coupled to one or more Internet service providers (ISP&#39;s) on Internet  18  via a router  20 . As further shown in  FIG. 1 , PON interface  12  may receive video content  22  from video content suppliers via a streaming video headend  24 . In each case, PON interface  12  receives the information, and distributes it along optical fiber links  11 A,  11 B (collectively  11 ) to groups  26 A,  26 B (collectively  26 ) of network nodes  28 A,  28 B,  28 C,  28 D (collectively  28 ). Each group  26  is coupled to a particular optical fiber link  11 . 
     Network nodes  28  include hardware for receiving information from PON  10  via optical fiber links  11 , and delivering the information to one or more devices within a local area network (LAN) associated with the node. For example, each network node  28  may serve as a PON access point for one or more computers, network appliances, televisions, wireless devices, or the like. PON interface  12  may be located near or far from a group  26  of network nodes  28 . In some existing networks, however, PON interface  12  may reside in a central office situated within approximately ten miles from each network node  28 . 
     A network node  28  may be located at any of a variety of locations, including residential or business sites. In addition, a single network node  28  may operate on a shared basis to deliver information to two or more closely located residences or businesses via copper or additional optical fiber connections, either directly or via a network hub, router or switch. A group  26  of network nodes  28  may refer to nodes served by PON interface  12  via a common optical fiber link  11 . Each group  26  in  FIG. 1  contains two network nodes  28  for purposes of illustration. However, a group  26  may include a single network node, or numerous network nodes  28 . 
     Network nodes  28  also may include hardware for transmitting information over PON  10 . For example, a network node  28  may transmit voice information over PSTN  14  via PON interface  12  and switch facility  16  in the course of a telephone conversation. In addition, a network node  28  may transmit data to a variety of network nodes on the Internet via ISP  18 , router  20  and PON interface  12 . Multiple network nodes  28  typically transmit over a common optical fiber link  11  using time division multiplexing techniques. 
     Each network node  28  has an IP address that is used to route packets to and from the node. The IP address may be an IPv4 address or an IPv6 address, although conservation of IP addresses is generally a much greater concern for the 32-bit IPv4 addresses. As will be explained, network nodes  28  in different groups  26  served by different optical fiber links  11  may be assigned IP addresses within a common subnet scope, thereby conserving IP addresses and promoting increased IP address usage. 
       FIG. 2  is a block diagram illustrating a PON with groups  26  of network nodes  28  coupled to multiple PON interface modules  34 A,  34 B,  34 C (collectively  34 ) within PON interface  12 . PON interface  12  may include multiple PON interface modules  34 , e.g., arranged in a common chassis. Each PON interface module  34  may form an independent Ethernet interface that serves a group  26  of nodes  28  coupled to a common optical fiber link  11 . Hence, PON interface module  34  and nodes  28  terminate opposite ends of optical fiber link  11 . 
     In some embodiments, an optical fiber link  11  may include a pair of optical fibers, forming an outgoing link and an incoming link. As shown in  FIG. 2 , PON interface modules  34  receive information from one of more ISPs  18 A,  18 B (collectively  18 ) via network routers  20 A,  20 B (collectively  20 ), and transmit the information to nodes  28  via optical fiber link  11 . Similarly, PON interface modules  34  receive information from nodes  28 , and transmit the information to ISPs  18  via routers  20 . In the example of  FIG. 2 , the transmitted information may take the form of data packets. 
       FIG. 3  is a block diagram illustrating a PON with a DHCP relay agent feature that permits allocation of IP addresses within the same subnet scope to different groups of network nodes. As shown in  FIG. 3 , each PON interface module  34  incorporates a DHCP relay agent  38 A,  38 B (collectively  38 ) that generates DHCP proxy requests for the group  26  of network nodes  28  served by the respective PON interface module  34 . In particular, when a node  28  requires an IP address, e.g., upon boot or lease expiration, the node transmits a DHCP request to PON interface module  34 . In response, DHCP relay agent  38  within PON interface module  34  generates a DHCP proxy request on behalf of node  28 . PON interface module  34  may maintain a table that maps particular subnets or nodes  28  to particular routers that serve the subnets or nodes. In this manner, DHCP relay agent  38  may associate a DHCP proxy request from a node  28  with an appropriate router  20  and DHCP server  36 . DHCP relay agent  38  may take the form of a software process running on PON interface module  34 . 
     Routers  20  route the proxy DHCP request to an appropriate ISP  18  based on the subnet to which the node  28  is assigned. For example, ISPs  18 A,  18 B typically may deliver service for one or more different subnets in the PON served by PON interface  12 . One of DHCP servers  36 A,  36 B (collectively  36 ) maintained by ISPs  18  assigns an IP address to the network node that originated the DHCP request. In particular, a DHCP server  36  for the appropriate subnet responds to DHCP relay agent  36  with an IP address within the subnet. 
     DHCP relay agent  36  sends the IP address to the particular node  28  that generated the DHCP request. Upon assignment of the IP address, PON interface module  34  makes an entry for the requesting node  28  in its ARP cache, matching the assigned IP address with the media access control (MAC) address of the node. By providing a DHCP relay agent  38  within PON interface module  34 , IP addresses within a particular subnet can be assigned to nodes  28  in different groups  26  coupled via different optical fiber links  11 . 
     For example, a first PON interface module  34 A, acting as a proxy for nodes  28  within a group  26 A, can receive IP addresses with a given subnet scope, while a second PON interface module  34 B, acting as proxy for nodes within a second group  26 B, can receive IP addresses with in the same subnet scope. With DHCP relay agent  36 , PON interface module  34  functions as a gateway within PON  10 , enabling assignment of IP addresses within the same subnet to network nodes  28  coupled to different PON interface modules. This feature avoids allocation of an entire class C subnet to each PON interface module  34 . Instead, different PON interface modules  34  can share a common class C subnet address. 
     Moreover, a single PON interface module  34  can serve network nodes  28  with IP addresses within different subnet scopes. As a result, different ISPs  18  can serve network nodes  28  via a common optical fiber link  11 , providing end users, sometimes referred to as “subscribers,” with a choice among two or more ISPs. If an end user elects to take service from a first ISP  18 A, the network node  28  associated with that end user is assigned an IP address within the subnet scope served by the first ISP  18 A. Alternatively, if an end user elects to take service from second ISP  18 B, or other ISPs, the network node  28  is assigned an IP address within a different subnet scope. 
     As an illustration, a first network node  28 A within a group  26 A could have an IP address of 192.86.8.x, whereas a second network node  28 B could have an IP address of 192.87.8.x. In this case, first network node  28 A would be served by a first ISP  18 A (serving Class C subnet 192.86.8.0), and second network node  28 B would be served by a second ISP  18 B (serving Class C subnet 192.87.8.0), both via a common PON interface module  34 A. Similarly, a first network node  28 C within a group  26 B served by another PON interface module  34 B could have an IP address of 192.86.8.x, and be served by ISP  18 A. A second network node  28 D within the same group  26 B served by PON interface module  34 B could have an IP address of 192.87.8.x and be served by ISP  18 B. 
     Hence, a single DHCP server  36  can assign IP addresses to network nodes  28  in first and second groups  26 A,  26 B in response to the DHCP proxy requests generated by first and second DHCP relay agents  38 A,  38 B. In each case, the subnet scope may include, e.g., 255 IP addresses. Often, the number of network nodes in each of the first and second groups  26 A,  26 B may be less than 255, which would result in wasted IP addresses in an existing PON  10 . In accordance with the invention, however, the 255 IP addresses can be distributed over a potentially larger number of network nodes  28  residing in multiple groups  26 . 
     As a further example, to serve  128  network nodes  28 , it ordinarily would be necessary to assign  128  IP addresses of the major subnet scope for minor subnet gateway addresses. According to the invention, no minor subnet gateway addresses are required, allowing the 128 IP addresses to be assigned to network nodes  28  individually. In addition, the major IP address subnet scope can be used across the independent PON interface modules  34 , with the use of only one IP address of the major subnet scope used for each PON interface module. Thus, an ISP  18  can consume less class C IP address spaces when attaching to several independent PON interface modules  34 . 
       FIG. 4  is a block diagram illustrating a PON as shown in  FIG. 3  with an ARP agent feature. When an incoming packet bearing one of the assigned IP addresses arrives at a router  20 , i.e., a packet destined for a network node  28 , the router generally will not resolve the correct PON interface module  34 A or  34 B by reference to a single subnet, because either PON interface module may serve nodes within multiple subnets. Rather, router  20  may resolve the address of the destination node  28  by reference to IP addresses of network nodes  28  served by the PON interface module. PON interface module  34  then may resolve the correct network node  28  by reference to an ARP cache maintained by the PON interface module for network nodes to which it has assigned IP addresses. 
     For an outgoing packet, i.e., originated from a network node  28 , a given PON interface module  34  may be unable to resolve an appropriate address from the ARP cache. In particular, even though the destination node  28  for the packet may reside within the same subnet as the source node, the destination node may be coupled to a different PON interface module  34  and optical fiber link  11  than the source node. In this case, the PON interface module  34  that serves the source network node  28  will have no record of the IP address of the destination network node in its ARP cache. 
     For this reason, as shown in  FIG. 4 , each PON interface module  34  may further include an ARP agent  39 A,  39 B (collectively  39 ). ARP agent  39  may take the form of a software process running on PON interface module  34 . In response to receipt of an ARP request from a network node  28 , PON interface module  34  first consults its local ARP cache for an IP address that matches a MAC address contained in the request. If no entry exists for the particular MAC address, ARP agent  39  generates a proxy ARP request. PON interface module  34  then transmits the proxy ARP request to a router  20  serving the pertinent subnet, i.e., the subnet assigned to the source network node  34 . 
     In turn, router  20  consults its ARP cache  41 A,  41 B (collectively  41 ), and identifies entries for any other PON interface modules  34  that presently serve the same subnet. Upon identification of a PON interface module  34  that serves the same subnet, the pertinent PON interface module consults its ARP cache and provides the requested address, or returns an ARP failure reply if no such address exists. In this manner, ARP agent  39  facilitates transmission of packets among network nodes  28  within a particular subnet, even though the nodes may be distributed across PON  10  in disparate groups  26  coupled to different optical fiber links  11  and different PON interface modules  34 . 
       FIG. 5  is a block diagram further illustrating the arrangement of a PON as shown in  FIG. 3 . In general,  FIG. 5  depicts allocation of IP addresses to network nodes  28  residing in different groups  26 A,  26 B. As shown in  FIG. 5 , different groups  26 A,  26 B of network nodes are coupled to different PON interface modules  34 A,  34 B, but carry IP addresses that reside in a common subnet  42 . In other words, multiple endpoints in the PON share a common subnet. The relatively larger number of network nodes  28  in multiple groups  26  promotes more efficient use of IP addresses within the PON. 
       FIG. 6  is a flow diagram illustrating interaction of various PON components to allocate IP addresses in accordance with the invention. As shown in  FIG. 6 , when a network node  28  transmits a DHCP request to a PON interface module  34  ( 44 ,  46 ), the PON interface module passes the DHCP request to a DHCP relay agent  38  ( 48 ). DHCP relay agent  38  transmits a DHCP proxy request to DHCP server  36  on behalf of the network node  28  ( 50 ). For example, DHCP relay agent  38  determines a router  20  and ISP  18  associated with the requesting node, and selects an appropriate link for transmitting the request to the router. Because a PON interface module  34  may serve nodes  28  in different subnets, the PON interface module  34  may include a table or other data structure that maintains a mapping between subnets and routers  20  or between nodes and routers. The data structure may be stored on a computer-readable medium such as a hard drive, removable magnetic or optical drive, solid state memory, or the like. DHCP relay agent  38  may refer to the mapping in selecting an appropriate link to a router. Upon receipt of the DHCP proxy request ( 52 ), DHCP server  36  retrieves an IP address from a pool of available addresses within the selected subnet scope reserved by the ISP  18  ( 54 ). DHCP server  36  then transmits an IP address lease to PON interface module  34  ( 56 ). As is well known in the art, the IP address lease specifies an IP address and a duration for which the IP address will remain in force for the requestor. 
     Upon receiving the IP address lease ( 58 ), PON interface module passes the IP address lease to DHCP relay agent  38  ( 60 ), which then transmits the IP address lease to the network node  28  that initiated the original DHCP request ( 62 ). The network node  28 , upon receiving the IP address lease ( 64 ) thereafter carries the IP address for the duration of the lease specified by DHCP server  36 . In subsequent activity, network node  28  may transmit subnet ARP requests ( 66 ) to resolve the IP addresses of other nodes in the same subnet scope. PON interface module  34 , as described above, may incorporate an ARP agent  39  that transmits a proxy ARP request ( 68 ), if necessary, to resolve the address of a destination node. 
     Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.