你家的宽带是怎么连到互联网的?(PPPoE)

电子说

1.3w人已加入

描述

哈喽,大家好,我又来了。“你家的宽带是怎么连到互联网的?”算是一个系列吧,既可以面向同行网络工程师,一起交流切磋;也可以面向对网络有兴趣的读者朋友们,一起探索新鲜。今晚我将家庭宽带业务涉及到的PPPoE进行简化抽象,稍作梳理,分享于你!往期回顾

 

那时候天总是很蓝,日子总过得太慢;如今呢?日子嗖的一下就过去了。翻看之前的文章记录,本系列的上一篇文章,是一年前发布的了。你家的宽带是怎么连到互联网的?(GPON接入网) 稍微小结一下:接入物理线路从电话线发展到了GPON。GPON除了容量大,高复用外,我觉得它很好地解决了机房外路边楼道等地方的取电问题,极大地降低了沟通协调成本和用电隐患。拿光纤到户(FTTH)来说,全程它只需要在机房内取电(OLT设备),一路不用电(无源分光网络),直到用户家里的光猫(ONU)才需要电。做过接入的同行应该比较好理解,在他属物业范围内,取电有时候比登天还难。 简单回顾下上一篇后,我们现在线路已拉好入户了。这便是所谓的“有线宽带”。

 

PPPoE

 

物理线路完成后,我们可以根据不同场景需求,使用不同的技术,安排不同的业务。通常来说,大部分人都会开通家庭宽带业务。家庭宽带目前常用的就是PPPoE技术了。 PPP是一种链路层技术,我在早前文章【实用】互联IPv4地址掩码31位末尾彩蛋部分有做介绍,并做了抓包演示。它的特点在于能方便地给用户推送网络资源(如IP地址、DNS等),并且还能良好地进行访问控制和计费管理等,但只能点对点。Ethernet是另一种链路层技术,如今我们所说的数通网络,绝大部分是这个范畴了。你家中局域网不同设备间的通信,基本上都是基于以太网技术了。它的特点是可以很低成本地实现多台设备组网,但管控能力有限。 一个管控能力好,但只能点对点;一个管控能力差,但能点对多点。于是,聪明的人们巧妙地把它们组合起来,PPPoE,即PPP over Ethernet腾空出世。我这里摘抄一句产品文档中的解释。PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入网络,并运用PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。实验准备我们从产品文档出发,找找PPPoE的配置实验。现实网络中,有很多设备是支持这种实验的,但考虑到分享出来还是得有可复现意义,我依然从ENSP切入。

通信

细心的你应该不难发现,通过这种手册,我们就可以进行网络知识学习了。【实用】关于产品文档阅读

细心的你应该不难发现,通过这种手册,我们就可以进行网络知识学习了。【实用】关于产品文档阅读

实验拓扑 现在我将现实网络做一个整理抽象,简化成如下一个拓扑,并分配一些资源。现实网络肯定是比这个复杂太多太多了,会考虑冗余,会考虑保护,会考虑负载分担,认证系统会考虑单独一套等。这个算是一个微缩版的,辅助我们理解。

通信

AR1模拟你家,AR3模拟你邻居家;AR2模拟运营商接入路由器;LSW1模拟GPON网络。当你去到营业厅开户后,营业员会给你一个账号和密码,你拿着账号和密码回到家里,等待装维师傅拉好线即可进行拨号上网了。(这涉及到业务开通流程驱动,也是比较复杂的,现在也不一定账号密码直接现场给你,而是等装维师傅弄好后再移交给你。这里不是本文重点,从简!)

上网账号:19872023@120.wgsy
拨号口令:wgsy
顺便说两句,为什么账号常有@xxx.yyy这样的设置呢?
通常是用来划分用户域的,类似于把用户分组。
分权分域是账号管理的一个重要范畴。

回到我们的拓扑,这些实验我们就跟着手册来,那些标可选的,我们就先忽略。

实验配置
  • AR1 配置

sysname PPPoE-Client1

interface Dialer1
link-protocol ppp
ppp pap local-user 19872023@120.wgsy password simple wgsy
ip address ppp-negotiate
dialer user 19872023@120.wgsy
dialer bundle 1

interface GigabitEthernet0/0/1
pppoe-client dial-bundle-number 1
# 这里本来还得做一个缺省路由,省略。
  • AR2 配置

sysname PPPoE-Server1

ip pool PPPoE-POOL1
gateway-list 172.1.1.2
network 172.1.1.0 mask 255.255.0.0

aaa
local-user 19872023@120.wgsy password cipher wgsy
 local-user 19872023@120.wgsy service-type ppp

interface Virtual-Template1
 ppp authentication-mode pap 
 remote address pool PPPoE-POOL1
 ip address 172.1.1.2 255.255.0.0

interface GigabitEthernet0/0/0
 pppoe-server bind Virtual-Template 1

上述相应的每一个配置指令,产品手册上都解释得很清楚,如果你有疑问,就要勤于查阅。大体上讲,由客户端AR1向服务器端AR2进行PPPoE拨号,模拟你在家上网拨号的场景。

上述相应的每一个配置指令,产品手册上都解释得很清楚,如果你有疑问,就要勤于查阅。大体上讲,由客户端AR1向服务器端AR2进行PPPoE拨号,模拟你在家上网拨号的场景。

实验现象

 

当你把上述拓扑都配置好以后,不一定马上能看到结果,你可能会遇到各种问题。遇到问题,查阅检查处理解决问题,是网络工程师的基本功。这里有个术语叫做“排障”,如果遇到问题,请尝试进行排障! 手册提供了一些结果检查的指令,服务器端与客户端均有。

通信

服务器端,我们也可以尝试如下指令。

  • 检查用户总体情况

<PPPoE-Server1>display access-user 
------------------------------------------------------------------------------
UserID Username                       IP address                   MAC  
------------------------------------------------------------------------------
146    19872023@120.wgsy              -                         00e0-fc58-7892 
------------------------------------------------------------------------------
Total 1,1 printed

  • 检查用户详细情况

<PPPoE-Server1>display access-user user-id 146

Basic:
User id                         : 146
User name                       : 19872023@120.wgsy
Domain-name                     : default                         
User MAC                        : 00e0-fc58-7892
User IP address                 : 254.255.1.172
User vpn-instance               : -
User access Interface           : Virtual-Template1:0
QinQVlan/UserVlan               : 0/0
  User access time                : 2023/02/01 21:36:49
User accounting session ID      : PPPoE-S00001000000000c4da65000146
User access type                : PPPoE

AAA:
User authentication type        : PPP    authentication
Current authentication method   : Local
Current authorization method    : -
Current accounting method       : None

这里有个神奇现象,IP地址显示成 254.255.1.172,我测试了几次,都是这样,还没找到合理解释,不知道是不是模拟器BUG还是其它特殊情况。如果你知道,请分享交流一下。

客户端的,我们也来检查一下。

  • 检查获取IP情况

<PPPoE-Client1>disp ip int bri 
*downadministratively down
^downstandby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 2

Interface                         IP Address/Mask      Physical   Protocol
Dialer1                           172.1.255.254/32     up         up(s)     
GigabitEthernet0/0/0              unassigned           down       down      
GigabitEthernet0/0/1              unassigned           up         down      
NULL0                             unassigned           up         up(s)     
<PPPoE-Client1>
  • 检查PPPoE会话信息统计信息

<PPPoE-Client1>display pppoe-client session summary 
PPPoE Client Session:
ID   Bundle  Dialer  Intf             Client-MAC    Server-MAC    State
1    1       1       GE0/0/1          00e0fc587892  00e0fc711a82  UP    
<PPPoE-Client1>

各种配置和指令我们可能不是很熟悉,没关系,可以用敲问号的形式来获取帮助提示信息。

抓包分析 当你实验遇到问题,或者你想学习PPPoE协议的细节,你可以自己动手抓包,一探究竟。

通信

把客户端的端口关了再开一次,这个过程抓包,我们就可以看到整个交互过程。

通信

下面还有PAP和IPCP的过程,我就不截图了。你有兴趣的话可以自己尝试一下。你还可以直接拿着账号密码用电脑在真实的网络中把这个过程抓包记录出来。

本文总结

 

你家的上网业务,你邻居家的上网业务,汇总在一起到大网,这个过程叫做“业务收敛”。 当我们按下光猫或家庭路由器(拨号可能有路由模式和桥接模式,拨号动作可能在光猫也可能在家庭路由器),PPPoE的拨号设备与运营商大网做了很多交互,正常通过后你方能联网冲浪。作为普通使用者,我们可能丝毫察觉不到;作为网络运维,或好奇心强的人士,我们可以通过WireShark抓包等方式进行窥探。 当我们真的静下心来,阅读产品文档,动手做实验,整理抽象过程,会发现很多原本模棱两可的知识点,逐渐地清晰起来。这个过程会反复,即弄一次会很快忘了,得多弄几次,反复弄反复有新的感悟。 时常听到有人吐槽ENSP的使用,这里我顺便说一下吧。我本可以找些真实设备或服务器模拟器上来搭建演示这个PPPoE实验,但我依然选择了在ENSP上进行梳理分享。为什么呢?因为很多想学习的,特别是学生,并没有真实环境,很多也承担不起自己买一个性能比较好的服务器来跑那些X86平台网络模拟器。在这种情况下,ENSP,GNS3,HCL等单机能安装单机能演示的网络模拟器还是有一定的用武之地。当然,ENSP目前停更了,很多比较高级的实验做不了,但做点基础知识学习巩固的,依然绰绰有余!网络技术妙就妙在,那些所谓的高级技术,其实来来回回又是基础内容的再封装再迭代。回归基础,基础不牢,地动山摇!当然,我们也期待ENSP-NG的早日到来。 网络模拟器仅仅是辅助工具,只是手段不是目的。你觉得哪个顺手就用哪个,关键是通过实验编排,效果复现,深入摸索,掌握知识及处理问题的方法。   审核编辑 :李倩


 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分