广域网宽带接入技术二PPPoE原理及配置
二、PPPoE原理及配置
1、PPPoE的基本原理
运营商希望把一个站点上的多台主机连接到同一台远程接入设备,并实现对用户进行认证、授权和计费、访问控制的功能,通过应用RFC2516定义的PPPoE(Point-to-Point Protcol over Ethernet)技术很好的解决了以太网接入应用中的用户认证问题。将PPP帧封装到以太帧,使用PPP协议(点到点协议)在以太网上传输PPP报文的技术称为PPPoE。
PPP是一种数据链路层协议,遵循HDLC(高级数据链路控制协议)族的一般报文格式。它使用链路控制协议(LCP)来建立和维护数据链路连接。应用网络控制协议(NCP)在一条点到点连接上使用多种网络层协议(被路由协议)。PPP协议栈只涉及到物理层和数据链路层。
链路控制协议(LCP)提供以下配置:身份验证、压缩、错误检测、多链路、PPP回拨。网络控制协议(NCP)用于标识和封装网络层协议,允许通过同一条PPP链路传输多种网络层协议,包括IPCP(因特网协议控制协议)和IPXCP(网间分组交换控制协议)。
PPPoE组网结构采用Client/Server模型,PPPoE的客户端为PPPoE Client,PPPoE的服务器端为PPPoE Server。PPPoE Client向PPPoE Server发起连接请求,PPPoE Server为PPPoE Client提供接入控制、认证等功能。
PPPoE Client可以是电脑主机也可以是网关设备,常见的是现在通过光猫或者路由器设置帐号和密码后,输入上网帐号和密码连接网络,然后将PPP帧封装以太帧传输到PPPoE Server上进行PPP认证。在网络运营商的宽带接入服务器(Broadband Remote Access Server,BRAS)提供接入控制、认证、动态分配IP地址等功能。
企业接入
所有主机不用安装PPPoE Client拨号软件,同一个局域网中的所有主机共享一个账号,通过企业路由器与运营商的集中路由器建立PPPoE会话。
PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,具有适用范围广、安全性高、计费方便的特点。
1.1、PPPoE拨号的三个阶段
PPPoE拨号可分为三个阶段,即Discovery阶段、Session阶段和Terminate阶段。
1、discovery发现阶段
发现阶段是无状态的,目的是获得 PPPoE终结端(在局端的ADSL设备上)的以太网MAC地址,并建立一个惟一的PPPoESESSION-ID。发现阶段结束后,就进入标准的PPP会话阶段。
主机可以发现多个接入集中器,然后允许用户选择一个。
2、PPP Session会话阶段
当PPPoE进入session阶段后,PPP报文就可以作为PPPoE帧的净荷封装在以太网帧发到对端,SESSION_ID必须是Discovery阶段的确定的ID,MAC地址必须是对端的MAC地址。
进行普通的LCP、NCP、IPCP协商来进行PPP验证和IP地址分配。
3、Terminate阶段
PPP通信双方可以使用PPP协议自身来结束PPPoE会话,当无法使用PPP协议结束会话时可以使用PADT(PPPoE Active Discovery Terminate)报文。
进入PPPoE Session阶段后,PPPoE Client和PPPoE Server都可以通过发送PADT报文的方式来结束PPPoE连接。PADT数据包可以在会话建立以后的任意时刻单播发送。在发送或接收到PADT后,就不允许再使用该会话发送PPP流量了。
1.2、PPPoE报文格式
字段 | 长度 | 含义 |
---|---|---|
Destination_Address | 48bits | 以太网单播目的地址或者以太网广播地址(0xFFFFFFFF)。 |
Source_Address | 48bits | 源设备的以太网MAC地址。 |
Ethernet_Type | 16bits | 表示PPPoE拨号的阶段。•当值为0x8863时表示Discovery阶段或Terminate阶段。•当值为0x8864时表示Session阶段。 |
VER | 4bits | 表示PPPoE版本号,值为0x01。 |
Type | 4bits | 表示PPPoE类型,值为0x01。 |
Code | 8bits | 表示PPPoE报文类型。 |
Session_ID | 16bits | 用于唯一标识一个PPP Session,在discovery发现阶段被定义。值0xFFFF为将来的使用保留,不允许使用。 |
Length | 16bits | 表示PPPoE报文的Payload长度。它不包括以太网头部和PPPoE头部的长度。 |
Tag_Type | 16bits | 表示网络字节序。 |
Tag_Length | 16bits | 是一个网络字节序的无符号值,表示Tag_Value的字节数。 |
Tag_Valus | 可变 | Tag_Value的数据。 |
Checksum | 16bits | 表示校验和字段,用于检验报文的正确性。 |
Destination_Address目标地址:
- Discovery会话阶段,该域的值是单播或者广播地址,PPPoE Client寻找PPPoE Server的过程使用广播地址,确认PPPoE Server后使用单播地址。
- PPP Session会话阶段,该域必须是Discovery阶段已确定的通信对方的单播地址。
Code表示PPPoE报文类型:
- Code域为0x09,表示PADI报文。
- Code域为0x07,表示PADO报文。
- Code域为0x19,表示PADR报文。
- Code域为0x65,表示PADS报文。
- Code域为0x00,表示会话数据。
- Code域为0xa7,表示PADT报文。
1.3、PPPoE协商过程
1.3.1、discovery发现阶段:
1、PPPoE Client广播发送一个PADI(PPPoE Active Discovery Initial)报文,在此报文中包含PPPoE Client想要得到的服务类型信息。
PPPoE 头部:分组的目的地址为以太网的广播地址0×ffffffffffff,CODE(代码)字段值为0×09,SESSION-ID(会话ID)字段值为0×0000。
PPPoE Payload:TAG_Type域为0x0101(Service-Name),表明后面紧跟的是服务的名称,用于请求服务,也可以包含其他的TAG。
2、所有的PPPoE Server收到PADI报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO(PPPoE Active Discovery Offer)报文。
PPPoE 头部:CODE字段值为0×07,SESSION-ID字段值仍为0×0000。
PPPoE Payload:TAG_Type域为0x0101(Service-Name),表明后面紧跟的是服务的名称;为0x0102(AC-Name),表明后面紧跟的字符串唯一地表示了某个特定的访问集中器。
3、PPPoE Client可能收到多个PPPoE Server发送的PADO报文,PPPoE Client选择最先收到的PADO报文对应的PPPoE Server做为自己的PPPoE Server,并单播发送一个PADR(PPPoE Active Discovery Request)报文。
PPPoE 头部:Code域为0x19,SESSION-ID字段值仍为0×0000。
PPPoE Payload:0x0101(Service-Name),表明后面紧跟的是服务的名称。有且只有一个TAG_Type为Service-Name的TAG,其他类型的TAG可选。
4、PPPoE Server产生一个唯一的会话ID(Session ID),标识和PPPoE Client的这个会话,通过发送一个PADS(PPPoE Active Discovery Session-confirmation)报文把会话ID发送给PPPoE Client,会话建立成功后便进入PPPoE Session阶段。
PPPoE 头部:Code域为0x65,SESSION-ID字段值为分配的数值。
1.3.2、PPP Session会话阶段:
1、PPP协商阶段
Ethernet_Type域设置为0x8864,PPPoE 头部:Code域为0x00,SESSION-ID字段值为Discovery阶段所指定的值,TAG_Type域包含一个PPP帧。PPP帧的开始字段是PPP Protocol-ID。
- LCP阶段主要完成建立、配置和检测数据链路连接。(负责设备之间链路的创建、维护和终止。)
- LCP协商成功后,开始进行认证,认证协议类型由LCP协商结果(CHAP或者PAP)决定。
- 认证成功后,PPP进入NCP阶段。NCP是一个协议族,用于配置不同的网络层协议,常用的是IP控制协议(IPCP),它主要负责协商用户的IP地址和DNS服务器地址。
2、PPP数据传输阶段
1.3.3、Terminate阶段:
PPPoE头部:Code域为0xa7,SESSION-ID字段值为Discovery阶段所指定的值。
1.4、密码验证协议
PPP提供密码验证协议PAP(Password Authentication Protocol)和质询握手验证协议CHAP(Challenge-Handshake Authentication Protocol)两种验证方式。
PAP认证过程非常简单,二次握手机制。使用明文格式发送用户名和密码。
CHAP认证过程比较复杂,三次握手机制;使用密文格式发送CHAP认证信息;认证方发起CHAP认证,有效避免暴力破解。
两者的区别是CHAP认证用户使用MD5算法对该随机报文进行加密,将生成的密文和自己的用户名发给验证方,验证方用自己保存的被验证方密码和MD5算法对原随机报文加密,比较二者的密文,若比较结果一致,认证通过,若比较结果不一致,认证失败。
2、PPPoE的配置
2.1、PPPoE Server配置
要求:以太网内路由器设备作为PPPoE Server端,每台PC机都可通过拨号上网,接入Internet。
实现效果:PPPoE Server为主机动态分配IP地址;通过AAA本地认证认证主机用户;为主机分配DNS服务器地址。
第一步、配置全局地址池pool1
[R1] ip pool pppoe
[R1-ip-pool-pool1] network 192.168.1.0 mask 255.255.255.0
[R1-ip-pool-pool1] gateway-list 192.168.1.1
[R1-ip-pool-pool1] quit
第二步、配置域用户使用本地认证方案
[R1] aaa
[R1-aaa] authentication-scheme scheme0 //创建名为scheme0的授权方案。
[R1-aaa-authen-scheme0] authentication-mode local
[R1-aaa-authen-scheme0] quit
[R1-aaa] domain xyz //创建域xyz
[R1-aaa-domain-xyz] authentication-scheme scheme0
[R1-aaa-domain-xyz] authorization-scheme scheme0
[R1-aaa-domain-xyz] quit
[R1-aaa] local-user user1@xyz password
Please configure the login password (8-128)
It is recommended that the password consist of at least 2 types of characters, i
ncluding lowercase letters, uppercase letters, numerals and special characters.
Please enter password:
Please confirm password:
Info: Add a new user.
[R1-aaa] local-user user1@xyz service-type ppp
[R1-aaa] quit
第三步、配置虚拟接口模板参数
[R1] interface virtual-template 1 //创建虚拟模板接口
[R1Virtual-Template1] ppp authentication-mode chap domain xyz //ppp使用chap验证
[R1-Virtual-Template1] ip address 192.168.1.1 255.255.255.0
[R1-Virtual-Template1] remote address pool pppoe //调用地址池pppoe
[R1-Virtual-Template1] ppp ipcp dns 8.8.8.8 4.4.4.4
[R1-Virtual-Template1] quit
第四步、绑定虚拟接口模板在以太网接口上。
[R1] interface gigabitethernet 1/0/0
[R1-GigabitEthernet1/0/0] pppoe-server bind virtual-template 1 //物理接口与虚拟接口进行绑定
[R1-GigabitEthernet1/0/0] quit
各主机安装PPPoE Client拨号软件后,配置好用户名(此处为user1@xyz)和密码就能使用PPPoE协议,拨号连接PPPoE Server。
显示PPPoE会话的状态信息和配置信息命令:
display pppoe-server session all
2.2、PPPoE Client配置
要求:以太网内路由器设备R1作为PPPoE Client端,通过这个帐号到R2作为PPPoE Server端进行认证。
实现效果:每台PC机都可通过自动拨号方式,接入Internet。
第一步、配置PPPoE Server如2.1PPPoE Server配置,此处省略。
第二步、配置拨号访问组1以及对应的拨号访问控制条件。
[R2] dialer-group 1 rule ip permit //配置拨号访问组1
[R2] interface dialer 1 //创建拨号接口1
[R2-Dialer1] dialer bundle enable //共享DDR
[R2-Dialer1] dialer-group 1 //将Dialer1接口与拨号访问组1关联。
[R2-Dialer1] ip address ppp-negotiate //通过协商获取IP地址
[R2-Dialer1] ppp chap user user1@xyz //用户帐号
[R2-Dialer1] ppp chap password cipher 12345678 //用户密码
[R2-Dialer1] quit
第三步、配置PPPoE会话
[R2] interface gigabitethernet 2/0/0
[R2-GigabitEthernet2/0/0] pppoe-client dial-bundle-number 1
[R2-GigabitEthernet2/0/0] quit
第三步、配置到PPPoE Server的静态路由
[R2] ip route-static 0.0.0.0 dialer 1
[R2] interface dialer 1
[R2-Dialer1] dialer timer idle 150 //配置空闲时间间隔为150秒
[R2-Dialer1] quit
第四步、验证配置
display pppoe-client session summary
广域网宽带接入技术二PPPoE原理及配置相关推荐
- 广域网宽带接入技术五EPON技术
广域网宽带接入技术五EPON技术 3.2.2.ONU测距和时延补偿 3.2.3.以太网OAM工作流程 3.2.4.带宽分配 4.EPON设备基本配置 4.1.OLT常用配置 4.1.1.OLT配置 3 ...
- 计算机网络二层技术——链路聚合原理及其配置(有这一篇就足够了)
目录 链路聚合 前言 链路聚合应用场景 链路聚合 链路聚合模式 数据流控制 二层链路聚合配置 三层链路聚合配置 常问问题? 如果一个管理员希望将千兆以太口和百兆以太口加入同一个Eth-trunk,会发 ...
- PPPoE 的 基础配置及原理
PPPoE 的 基础配置及原理 拓扑图 配置原理 1.Virtual-Template虚拟模板接口的配置: 为了让同为L2层协议的以太网承载ppp,那么就需要配置vt虚拟模板(Virtual-Temp ...
- 【直通华为HCNA/HCNP系列R篇8】VRRP技术原理及配置与管理-王达-专题视频课程
[直通华为HCNA/HCNP系列R篇8]VRRP技术原理及配置与管理-10465人已学习 课程介绍 本课程以笔者编写,由华为公司指定作为ICT认证培训教材--<华为路由器学习指南 ...
- vlan为什么能隔离广播域_路由交换技术-VLAN原理及配置
VLAN原理及配置 1. 背景 网络中计算机的数量越来越多,传统的以太网开到面临冲突严重,广播泛滥及安全性无法保障等问题 VLAN(virtual local area network)即虚拟局域网, ...
- 网络存储技术Windows server 2012 (项目二 动态磁盘的配置与管理)
网络存储技术Windows server 2012 (项目二 基本磁盘的配置与管理) 目录 前言 一.项目背景 二.项目实训题 1.项目1 2.项目2 3.项目3 前言 网络存储技术,是以互联网为载体 ...
- MPLS 虚拟专用网络技术原理与配置
MPLS VPN原理与配置 文章目录 MPLS VPN原理与配置 VPN技术的产生及分类 VPN模型 - Overlay VPN VPN模型 - Peer-to-Peer VPN MPLS VPN解决 ...
- 第五章 路由器的工作原理及其配置
第五章 路由器的工作原理及其配置 5.1 广域网服务 WAN连接的目的是在两个远离的网络之间尽可能高效率传递数据.连接的效率越高,到最终用户的连接就越透明.WAN连接通常比L A N连接要慢.例如,一 ...
- (*长期更新)软考网络工程师学习笔记——Section 3 宽带接入技术和导引型传输媒体
目录 一.宽带接入技术 (一)xDSL技术 1.xDSL技术的简介 2.常见的ADSL接入方式 (二)HFC混合光纤--同轴电缆 (三)FTTx技术 1.FTTx的定义 2.FTTx的分类 3.无源光 ...
- 三级网络技术备考重点之路由器配置及使用
计算机三级网络技术:第七章路由器配置及使用 三级网络技术备考重点之路由器配置及使用 1.路由器概述 路由器是工作在网络层的设备. 路由器负责将数据分组从源端主机经最佳路径传送到目的端主机 路由器具有异 ...
最新文章
- 引争议!硕导提议高校教师应多配偶,这样就能多生娃!高校的处理通报来了...
- 特殊权限控制之SUID、SGID、Sticky及facl
- [转]MySQL Explain详解
- Android nomedia 避免图片等资源泄露在系统图库其中
- CC2530中常用的控制寄存器
- 使用Java8的Stream对两个 List 遍历匹配数据的优化处理
- C/C++中“空语句”的说明
- Flask 扩展 Flask-Script
- linux 并行 模式,并行设计模式-Master/Worker
- leetcode56. Merge Intervals
- 【证明】两个自变量的二阶线性方程经过可逆变换后方程的类型不会改变
- pmp 第六版 模拟卷5错题整理
- linux qt 多点触摸,Qt 4.6 添加 Multi-touch(多点触摸)支持
- MySQL - 实战 棋牌游戏数据库开发
- Bugzilla使用
- 惠普笔记本需要按下FN键,F5起作用;惠普笔记fn键开启和关闭功能;则无需FN可直接使用F1-F12功能按键。
- android 关闭来电铃声,Android删除除自定义铃声后,来电铃声显示是一串数字
- vue 项目中 zip 压缩包文件下载
- linux卷空间不足问题 gparted工具重新分配根分区空间
- macOS Monterey推出原生密码管理器,支持手动输入网址及账户