Understanding PPPoE Service Name Tables
On an M120 router or M320 router acting as a remote access concentrator (AC), also referred to as a PPPoE server, you can configure up to 16 PPPoE service name tables and assign the service name tables to underlying PPPoE interfaces. A PPPoE service name table defines the set of services, also referred to as service name tags, that the router can provide to a PPPoE client.
- Interaction Among PPPoE Clients and Routers During the Discovery Stage
- Components of PPPoE Service Name Tables
- Benefits of Configuring PPPoE Service Name Tables
Interaction Among PPPoE Clients and Routers During the Discovery Stage
In networks with mesh topologies, PPPoE clients are often connected to multiple PPPoE servers (remote ACs). During the PPPoE discovery stage, a PPPoE client identifies the Ethernet MAC address of the remote AC that can service its request, and establishes a unique PPPoE session identifier for a connection to that AC.
The following steps describe, at a high level, how the PPPoE client and the remote AC (router) use the PPPoE service name table to interact during the PPPoE discovery stage:
- The PPPoE client broadcasts a PPPoE Active Discovery Initiation
(PADI) control packet to all remote ACs in the network to request
that an AC support certain services.
The PADI packet must contain either, but not both, of the following:
- One and only one nonzero-length service name tag that represents a specific client service
- One and only one empty (zero-length) service name tag that represents an unspecified service
- One or more remote ACs respond to the PADI packet by sending
a PPPoE Active Discovery Offer (PADO) packet to the client, indicating
that the AC can service the client request.
To determine whether it can service a particular client request, the router matches the service name tag received in the PADI packet against the service name tags configured in its service name table. If a matching service name tag is found in the PPPoE service name table, the router sends the client a PADO packet that includes the name of the AC from which it was sent. If no matching service name tag is found in the PPPoE service name table, the router drops the PADI request and does not send a PADO response to the client.
- The PPPoE client sends a unicast PPPoE Active Discovery Request (PADR) packet to the AC to which it wants to connect, based on the responses received in the PADO packets.
- The selected AC sends a PPPoE Active Discovery Session (PADS) packet to establish the PPPoE connection with the client.
Components of PPPoE Service Name Tables
The following information describes the components of a PPPoE service name table and how you can use them in a subscriber network:
- Service name tag—Specifies the PPPoE client services that an AC can support. For example, you might configure service name tags associated with different subscribers who log in to the PPPoE server, such as user1-service or user2-service. Each PPPoE service name table can include a maximum of 16 service name tags. A service name tag is associated with the terminate action by default.
- Empty service name tag—A service tag of zero length that represents an unspecified service. Each PPPoE service name table includes one empty service name tag. The empty service name tag is associated with the terminate action by default, and cannot be configured with agent circuit identifier/agent remote identifier (ACI/ARI) pairs.
- Action—Specifies the action taken by the underlying
PPPoE interface assigned to the PPPoE service name table upon receipt
of a PADI packet from the client containing a particular service request.
You can configure one of the following actions for the associated
service name tag, empty service name tag, or ACI/ARI pair in the PPPoE
service name table on the router:
- terminate—(Default) Directs the router to immediately respond to the PADI packet by sending the client a PADO packet containing the name of the AC that can service the request. Service name tags, empty service name tags, and ACI/ARI pairs are associated with the terminate action by default. Configuring the terminate action for a service name tag enables you to more tightly control which PPPoE clients can access and receive services from a particular PPPoE server.
- delay—Number of seconds that the PPPoE underlying interface waits after receiving a PADI packet from the client before sending a PADO packet in response. In networks with mesh topologies, you might want to designate a primary PPPoE server and a backup PPPoE server for handling a particular service request. In such a scenario, you can configure a delay for the associated service name tag on the backup PPPoE server to allow sufficient time for the primary PPPoE server to respond to the client with a PADO packet. If the primary server does not send the PADO packet within the delay period configured on the backup server, then the backup server sends the PADO packet after the delay period expires.
- drop—Directs the router to drop (ignore) a PADI packet containing the specified service name tag when received from a PPPoE client, which effectively denies the client’s request to provide the associated service. To prohibit the router from responding to PADI packets that contain empty service name tags, you can configure the drop action for the empty service name tag. You can also use the drop action in combination with ACI/ARI pairs to accept specific service name tags only from specific subscribers, as described in the following information about ACI/ARI pairs.
- ACI/ARI pair—Specifies the agent circuit identifier
(ACI) and agent remote identifier (ARI) information for a service
name tag. An ACI/ARI pair contains an agent circuit ID string that
identifies the DSLAM interface that initiated the service request,
and an agent remote ID string that identifies the subscriber on the
DSLAM interface that initiated the service request. ACI/ARI specifications
support the use of wildcard characters, and cannot be configured as
part of the empty service name tag. You can configure a combined maximum
of 16 ACI/ARI pairs for each service name tag, including ACI/ARI specifications
with and without wildcards. You must also specify the action—terminate (default), delay, or drop—taken
by the underlying PPPoE interface when it receives a client request
containing vendor-specific ACI/ARI information that matches the ACI/ARI
information configured in the PPPoE service name table on the router.
You can use ACI/ARI pairs in combination with the drop action to accept specific service name tags only from specific subscribers. For example, assume that for the user1-service tag, you configure both the drop action and ACI/ARI pairs associated with the terminate action. In this case, the ACI/ARI pairs identify the DSLAM interfaces and associated subscribers authorized to access the PPPoE server. Using this configuration causes the router to drop PADI packets containing the user1-service tag unless the PADI packet also contains vendor-specific ACI/ARI information that matches the subscribers identified in one or more of the ACI/ARI pairs. For PADI packets containing matching ACI/ARI information, the router sends an immediate PADO response to the client indicating that it will provide the requested service for the specified subscribers.
Benefits of Configuring PPPoE Service Name Tables
Configuring PPPoE service name tables on an M120 router or M320 router provides the following benefits:
- Enables support for multiple services requested by PPPoE clients, and configuration of an action for the underlying PPPoE interface to take (delay, drop, or terminate) upon receipt of a PADI packet requesting that service.
- Enables tighter control over which PPPoE clients can log in to and receive services from a particular PPPoE server.
- Provides load balancing across a set of remote ACs in a mesh topology by enabling you to configure ACI/ARI strings for service name tags to specify the appropriate AC to receive and service a particular PPPoE client request.
- Provides redundancy across a set of remote ACs in a mesh
topology by enabling you to configure a primary AC and a backup AC
for handling a specific service request from a PPPoE client.
For example, on the primary AC for handling a client service, you might configure the terminate action for the associated service name tag to direct the primary AC to immediately send a PADO packet in response to a PADI packet containing that service name tag. On the backup AC for the client service, you might configure the delay action for the associated service name tag to specify the number of seconds the backup AC waits after receiving a PADI packet from the client before sending a PADO packet in response. If the primary AC does not send a PADO packet to the client within the delay period configured on the backup AC, then the backup AC sends the PADO packet after the delay period expires.