Probably the one who has access to the Internet via ADSL looked into the modem settings and ran across the vpi / vci parameters. When confronted with them for the first time, a reasonable question arises: “what is it and for what?” In this article I decided to tell a little more about how to access using ADSL technology, about PPPoE and of course about the vpi / vci parameters.
Access via ADSL technology is performed using a DSL modem on the subscriber side and DSLAM on the provider side. It would probably be more correct to speak DSL technology (
Digital Subscriber Line ), but more often you can hear ADSL (
Asymmetric Digital Subscriber Line ), this is the most common type of xDSL. And in this article I want to tell a little about ADSL.
Asymmetry (from the name) consists in different bandwidths of the channels, the subscriber has a download rate higher than the return.
')
Probably every provider when a subscriber connects, gives the subscriber an instruction with the scheme how to turn everything on to make it work. And the first half of the picture (up to splitter A inclusive) from below should seem familiar to all owners of the ADSL Internet.

But the second part, this is already provider matters =)
One of the main advantages of DSL technology for subscribers is the ability to use the phone and the Internet simultaneously.
To ensure this, DSL uses a higher frequency range on the line (AV span) as opposed to a telephone. Splitters are used to separate these frequencies, both on the subscriber side and on the provider side.
Further, according to the scheme, the subscriber has a modem switched on behind the splitter, and the provider has a DSLAM splitter.
DSLAM (
DSL Access Multiplexer ) collects a lot of subscriber lines and sends them higher to the provider's backbone. It can be compared with a large switch, it also works on the second level of the OSI model.
A little about ATM.
ATM (
Asynchronous Transfer Mode ) is a cell switching protocol that transfers data in fixed-size cells and provides the data link layer of the OSI model.
ATM works very well on low-speed channels up to 2 Mbit and can support multiple logical connections over a single physical channel. ATM standards provide the transfer of heterogeneous traffic (digital, voice and multimedia data) over the same systems and communication lines.
These advantages have led to the use of ATM between the subscriber's modem and DSLAM.
ATM is a connection-oriented protocol and always establishes a
virtual circuit before starting data transfer.
A pair of
VPI / VCI values ​​is used to identify this channel.
- VPI Virtual path identifier - virtual path identifier.
- VCI Virtual call identifier - a virtual channel identifier.

On the DSL modem of the subscriber and on the subscriber port on the DSLAM, these values ​​should be the same. A subscriber can have several virtual channels (several
vpi / vci pairs ).
What happens to the traffic on the DSLAM?
On DSLAM, VLANs are assigned for certain virtual channels of subscriber ports and traffic goes tagged to the router, where subscriber PPPoE sessions are terminated.

Also on the DSLAM, various filters can be applied to certain types of traffic, and packets can be marked for
QoS organization.
Aggregation.
After the subscriber traffic has gone tagged with the
DSLAM , it passes through the provider's switch chain and enters the aggregation router.
Aggregation router performs the following functions:
- aggregation of traffic coming from the DSLAM
- establishing PPPoE sessions
- QoS policing
- routing traffic from subscribers further to the Internet
To whom it is curious, I give an example of setting up an aggregation router =)
Configuring a router for
PPPoE termination:
aaa new-model ! ! | Enable AAA (Authentication, Authorization, Accounting) |
aaa authentication ppp default local ! ! ! ! !
| We specify that authentication will be carried out through local accounts, this is done in order not to load the config. Usually, aaa uses a RADIUS server.
|
username 11101 @ pppoe password 0 pass01 username 11102 @ pppoe password 0 pass02 ! !
| And these are the very local entries “login - password”. |
bba-group pppoe PPPoE_TEST virtual-template 1 pppoe limit per-mac 10 ! ! ! ! | Creating a profile for PPPoE, we specify which interface will be a “template” for virtual interfaces that are created when a PPPoE session is established. And we limit the number of PPPoE sessions established from one MAC address.
|
interface Loopback0 ip address 10.0.0.1 255.255.255.255 !
| |
interface GigabitEthernet0 / 1.10 description User 11101 @ pppoe encapsulation dot1Q 10 pppoe enable group PPPoE_TEST ! interface GigabitEthernet0 / 1.20 description User 11102 @ pppoe encapsulation dot1Q 20 pppoe enable group PPPoE_TEST !
| We create a subinterface with IEEE 802.1Q encapsulation, i.e. on it we will accept vlan 10 in the first case and 20 in the second. And we allow PPPoE connectivity on this interface.
|
interface Virtual-Template1 ip unnumbered Loopback0 peer default ip address pool PPPoE ppp authentication pap ! ! !
| Create a "template" for all future interfaces Virtual-Access (Vi) address that will be created when subscribers connect. We specify from which pool we give addresses to the PPPoE subscriber and the type of authorization we will have is PAP.
|
ip local pool PPPoE 172.16.0.1 172.16.0.254
| And this is the address pool itself.
|
Run the PPPoE session and see what we did:
You can see how many sessions are created by using the command.
PPPoE-ROU # sh pppoe summPTA: Locally terminated sessions
FWDED: Forwarded sessions
TRANS: All other sessions (in transient state)
TOTAL PTA FWDED TRANS
TOTAL 2 2 0 0
GigabitEthernet0 / 1 2 2 0 0
When a subscriber connects via PPPoE, his Virtual-Access interface is created for him based on the Virtual-Template, or abbreviated as Vi.
PPPoE-ROU # sh callerLine | User | Service | Active time | Idle time |
Vi2 | 11101 @ pppoe | PPPoE | 1d04h | 1d03h |
Vi5 | 11102 @ pppoe | PPPoE | 00:23:39 | 00:02:00 |
To terminate the PPPoE session of subscriber 11101 @ pppoe from the router, you must enter “clear int vi2”.
To get more complete information (the address that was issued from the pool and statistics) about the PPPoE session, you can use the command:
PPPoE-ROU # sh caller fullUser: 11102 @ pppoe, line Vi2, service PPPoE
Connected for 1d04h, Idle for 1d03h
Timeouts: Limit Remaining Timer Type
- - -
PPP: LCP Open, PAP (<-), IPCP
IP: Local 10.0.0.1, remote 172.16.0.2
Counts: 14720708 packets input, 1911626778 bytes, 0 no buffer
0 input errors, 0 CRC, 0 frame, 0 overrun
10736210 packets output, 3331626512 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
The number of subscribers will grow and we must not forget to check the address pool, so that everyone has enough =)
PPPoE-ROU # sh ip local poolPool Begin End In Blocked
PPPoE 172.16.0.1 172.16.0.254 50 77 0
Another very useful command:
PPPoE-ROU # sh pppoe sess2 sessions in LOCALLY_TERMINATED (PTA) State
2 sessions total
Uniq | ID | PPPoE | RemMAC | Port | Source | VA State | Sid | LocMAC | VA-st |
888 | 9193 | 0017.9aa0.75fd | Gi0 / 1.10 | Vt1 | Vi2 | PTA | 0023.5e2b.691a | VLAN: 10 | UP |
985 | 39929 | 001e.52f7.d544 | Gi0 / 1.20 | Vt1 | Vi5 | PTA | 0023.5e2b.691a | VLAN: 20 | UP |
Here we have run short on the way from the subscriber modem to the aggregation router. I really wanted to talk about how to access at all stages, to form a picture as a whole. And now I hope when you connect to the Internet via an ADSL modem, you will not blame him for his slow pace - he does a lot of things for you =)