PPPOE链接方案.docx

上传人:b****7 文档编号:8691926 上传时间:2023-02-01 格式:DOCX 页数:11 大小:104.68KB
下载 相关 举报
PPPOE链接方案.docx_第1页
第1页 / 共11页
PPPOE链接方案.docx_第2页
第2页 / 共11页
PPPOE链接方案.docx_第3页
第3页 / 共11页
PPPOE链接方案.docx_第4页
第4页 / 共11页
PPPOE链接方案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

PPPOE链接方案.docx

《PPPOE链接方案.docx》由会员分享,可在线阅读,更多相关《PPPOE链接方案.docx(11页珍藏版)》请在冰豆网上搜索。

PPPOE链接方案.docx

PPPOE链接方案

PPPOE

目录

1.PPPOE流程3

1.1定义3

1.2协议基本框架3

1.3PPPOE连接示意图4

1.4PPPOE通信流程4

1.5PPPOE的LCP配置选项5

2.PPP会话终结5

3.PPP会话续传(L2TPVPN)6

4.用户认证和IP地址分配8

4.1LCP协商9

4.2PPP终结时的认证和IP地址分配9

4.3PPP续传时的认证和IP地址分配9

4.4RADIUS协议扩展10

1.PPPOE流程

1.1定义

通过PPPOE,在一个共享的以太网上的多个主机,可以通过一个或多个简单的桥接入设备,与远程接入集中器进行多个PPP会话。

使用这种模型,每个主机使用它自己的PPP协议栈,并且提供给用户一个熟悉的用户接口。

接入控制、计费和服务类型能够基于每用户,而不是每站点来处理。

PPPOE包含发现和PPP会话两个阶段,发现阶段是无状态的Client/Server模式,目的是获得PPPOE终结端的以太网MAC地址,并建立一个唯一的PPPOESESSION_ID。

发现阶段结束后,就进入标准的PPP会话阶段。

1.2协议基本框架

PPPOE协议参照RFC2516。

PPPOE实现PPP帧在Ethernet上的适配,并提供Ethernet上的PPP连接。

图1和图2分别是以太网上的PPPOE协议栈和AAL5上的PPPOE协议栈。

1.3PPPOE连接示意图

图3显示了典型的PPPOE的连接方式。

 

1.4PPPOE通信流程

PPPOE有两个不同的阶段:

发现阶段和PPP会话阶段。

当一个主机想开始一个PPPOE会话,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPOESESSION_ID。

在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器。

发现阶段允许主机发现所有的接入集中器,然后选择一个。

当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。

直到PPP会话建立,发现阶段一直保持无状态的状态。

一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。

图4显示了PPPOE通信流程。

 

1.4.1发现阶段

发现阶段有四个步骤,当此阶段完成,通信的两端都知道PPPOESESSION_ID和对端的以太网地址,他们一起唯一定义PPPOE会话。

这些步骤包括:

主机广播一个发起分组(PADI),一个或多个接入集中器发送给予分组(PADO),主机发送单播会话请求分组(PADR),选择的接入集中器发送一个确认分组(PADS)。

当主机接收到确认分组,它可以开始进行PPP会话阶段。

当接入集中器发送出确认分组,它可以开始进行PPP会话阶段。

当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。

如果主机正在等待接收PADS,应该使用具有主机重新发送PADR的相似超时机制。

在重试指定的次数后,主机应该重新发送PADI分组。

PPPOE还有一个PADT分组,它可以在会话建立后的任何时候发送,来终止PPPOE会话。

它可以由主机或者接入集中器发送。

当接收到一个PADT,不再允许使用这个会话来发送PPP业务。

在发送或接收PADT后,即使正常的PPP终止分组也不必发送。

PPP对端应该使用PPP协议自身来终止PPPOE会话,但是当PPP不能使用时,可以使用PADT。

1.4。

2PPP会话阶段

一旦PPPOE会话开始,PPP数据就可以以任何其它的PPP封装形式发送。

所有的以太网帧都是单播的。

PPPOE会话的SESSION_ID一定不能改变,并且必须是发现阶段分配的值。

1.5PPPOE的LCP配置选项

PPPoverEthernet(RFC2516)建议进行魔数选项协商,不建议进行协议域压缩选项(PFC)协商。

实现中必须不请求进行任何下面的选项协商,并且必须拒绝这样选项协商的请求:

FieldCheckSequence(FCS)Alternatives,

Address-and-Control-Field-Compression(ACFC),

Asynchronous-Control-Character-Map(ACCM)

MRU必须不能大于1492。

建议接入集中器偶尔向主机发送Echo_Request报文,来决定会话的状态。

否则,如果主机没有发送Terminate_Request报文就终止了会话,接入集中器将会不能决定会话已经终止了。

当LCP终止,主机和接入集中器必须停止使用这个PPPOE会话。

如果主机希望开始另一个PPP会话,它必须返回到PPPOE的发现阶段。

2.PPP会话终结

PPP在建立链路之前要进行一系列的协商过程,如图5所示。

图6为PPP建链各阶段图。

端对端

LCP协商

验证

网络阶段协商(NCP)

建立链路

拆链

 

图5PPP通信阶段图

图6PPP建链各阶段图

PPP建链的具体过程如下:

(1)LCP协商,协商内容包括除RFC1661中所定义的选项之外,还要考虑PPPOA和PPPOE协议中规定的内容。

(2)LCP协商过后就到了Establish阶段,开始PAP或CHAP认证。

PAP为两次握手认证,口令为明文。

PAP认证过程如下:

发送用户名同口令到认证方,认证方查看是否有此用户,口令是否正确,然后发送相应的响应。

CHAP为三次握手认证,口令为密文(密钥)CHAP认证由认证方发送一些随机产生的报文,交给被认证,被认证方用自己的口令字用MD5算法进行加密,传回密文,认证方用自己保存的口令字及随机报文用MD5算法加密,比较二者的密文,根据比较结果返回响应的响应。

(3)认证成功即进行Network阶段协商(NCP),在IP接入中主要是IPCP协商(如IP地址和DNS地址的协商等)。

任何阶段的协商失败都将导致链路的拆除。

(4)协商成功,则链路建立成功,可以开始传输网络层数据报文。

在PPP会话建立的时候,根据用户属性确定此用户的缺省路由和对应的网络接口,将之绑定在PPPCTL结构上,可以对用户上行数据包实现快速转发,不必让每个包去查找路由表。

此方法对下行数据影响相对较小,因为在业务处理板上必须区分每一个会话,这只有通过检查数据包中的目的地址来实现。

3.PPP会话续传(L2TPVPN)

PPP会话续传(L2TPVPN)的流程如图7所示,具体过程如下:

(1)远程用户通过PPPOA或PPPOE向LAC请求建立PPP连接。

LAC接受远程用户的PPP连接。

(2)LAC认证远程用户是否VPDN用户。

如果远程用户不是VPDN客户,则以普通用户方式接入Internet;如果远程用户是VPDN客户,就连接某一指定的LNS。

(3)建立控制连接(ControlConnection)。

创建L2TP隧道控制连接是LAC和LNS之间的初始连接。

在控制连接建立后,LAC和LNS才可以建立会话连接。

控制连接主要用于双方的安全认证,L2TP版本、数据格式、载体性能的协商。

建立控制连接需要进行三种信息交换。

(4)建立L2TP会话(Session)。

会话在控制连接建立后建立,每一个会话对应于一个LAC和LNS之间的PPP流。

会话连接的建立与控制连接建立不同:

对于呼入和呼出,会话连接的建立有不同的流程。

(5)数据交互。

会话建立后,LAC透明地传递远程用户到LNS的PPP包,远程用户相当于一个LNS的拨号用户,LAC对于远程用户和LNS是不可见的。

(6)会话的中断。

会话的中断可以由LAC或LNS发起,当一条隧道里所有会话都中断后,控制连接也可以随之中断。

(7)拆除已建立的PPP连接。

图7L2TPVPN通信流程

上面的流程只是一次认证的过程,两次认证没有列出。

6、7两个过程的执行顺序依赖是用户还是LNS发起拆除连接而定。

在具体实现的过程中,需要对现有的PPP模块和RADIUS模块进行改动,增加VPDN属性支持。

现有的ZXIP10-AS中实现的L2TPLAC时,采用的是分级管理机制,L2TP隧道是基于整个接入单元的,而会话则是与每个端口相关联的。

从软件分布上看,L2TP隧道位于AUC板上,L2TP会话位于DM或ODS板上。

如果移植到ZXB10平台上时,可以将L2TP隧道移植到运行路由协议的MPP板上,L2TP会话移植到PPP业务处理板上。

4.用户认证和IP地址分配

当用户和接入服务器之间的PPPOE建立之后,就可以在上面建立PPP会话。

PPP会话的建立分为三个阶段:

LCP协商、认证、IPCP协商。

对于PPP终结和PPP续传,LCP协商阶段是相同的。

认证和IPCP协商不同。

4.1LCP协商

LCP协商主要完成某些链路特性和认证方式的协商,LCP协商成功后,用户根据协商的认证方式向接入服务器发起认证请求,用户认证的方式采用PAP或CHAP方式。

4.2PPP终结时的认证和IP地址分配

PAP为两次握手认证,口令为明文。

PAP认证过程如下:

拨号用户发送用户名和口令到接入服务器,接入服务器通过RADIUS协议到RADIUS服务器上去查看是否有此用户,口令是否正确,然后发送相应的响应。

CHAP为三次握手认证,口令为密文。

CHAP拨号用户发送用户名到接入服务器,接入服务器发送一些随机产生的报文,交给被拨号用户,拨号用户用自己的口令用MD5算法进行加密,传回密文,接入服务器用从RADIUS服务器取得的用户口令及随机报文用MD5算法加密,比较二者的密文,根据比较结果返回认证成功或失败的响应。

接入服务器和RADIUS服务器之间通过一个共享密钥以密文方式通信。

在认证阶段,如果在用户数据库中为该用户名配置了IP地址,则RADIUS服务器将这个IP地址返回给接入服务器,作为这个用户上网使用的IP地址。

如果用户在认证阶段还没有获得IP地址,就需要在IPCP阶段协商IP地址。

一般来说,运营商为用户提供接入服务时,应该有一批IP地址,即IP地址池,用户上网所需要的IP地址就来自与此,当用户上网时,从IP地址池分配一个IP地址,当用户下网时,这个IP地址归还到地址池。

在运营商开通接入服务时,将IP地址池配置到接入服务器中,在IPCP阶段,接入服务器从IP地址池分配一个空闲的IP地址给用户,作为用户上网的IP地址。

如果已经没有可用的IP地址,则IPCP协商失败,关闭PPP连接,在用户看来,则是拨号失败,ISP暂时不能为他提供接入服务。

4.3PPP续传时的认证和IP地址分配

LCP协商结束后,如果经RADIUS服务器检查这是一个VPN用户,则接入服务器为这个用户建立到LNS的会话,如果没有隧道还要建立隧道。

认证分为两种情况:

一次认证和两次认证。

一次认证是指只在LAC的RADIUS服务器上认证一次,LNS信任LAC的RADIUS服务器。

用户的IP地址可以由LAC的RADIUS服务器指定,也可以由用户和LNS进行IPCP协商获得。

两次认证是指用户需要输入两次用户名和口令,一个是接入Internet的权限验证,一个是进入VPN的权限验证。

认证的时候需要LAC的RADIUS服务器和LNS的RADIUS服务器共同配合。

IP地址的可以由LNS的RADIUS服务器指定,也可以由用户和LNS进行IPCP协商获得。

4.4RADIUS协议扩展

为实现对用户更全面的管理,在RADIUS协议中,至少应该扩展以下属性:

用户的接入带宽、用户接入所使用的PVC,如果用户间希望互相通信,需要指明对方的用户名或IP地址。

客户端和服务器端同时支持。

5.帧格式

5.1RTL8019AS接收到的数据包的帧格式

编程时应该特别注意的是:

RST8019AS接收到的数据包的帧格式与以太网帧格式并不一致,RST8019AS自动填加了接收状态、下一页指针、以太网帧长度三个字段(四个字节),其结构如表1所示。

所以编程时需要按照此格式才能正确地接收数据。

接收

状态

下一页

指针

以太网

帧长度

目的MAC

地址

源MAC

地址

类型

数据域

填充

校验

8bit

8bit

16bit

48bit

48bit

16bit

<=1500byte

Data<46byte补0

32bit

5.2EthernetII帧格式

目的MAC

地址

源MAC

地址

类型

数据域

校验

48bit

48bit

16bit

<=1500byte

32bit

5.3PPPOE帧格式

5.3.1发现阶段

载荷字段存放PPPoE协议帧所承载的数据,在发现阶段承载零个或多个TAG结构。

目的MAC

地址

源MAC

地址

类型

数据域<=1500byte

校验

版本

类型

编码

会话ID

长度

载荷<=1494byte

48bit

48bit

8863

4bit

4bit

8bit

16bit

16bit

Tag

类型

Tag

长度

Tag

32bit

16bit

16bit

5.3.2会话阶段

载荷字段存放PPPoE协议帧所承载的数据,在会话阶段承载PPP协议数据。

并不需要PPP协议中的起始位标志、地址位、控制位和结束标志,也不需要PPP协议中规定的数据转译和CRC校验

目的MAC

地址

源MAC

地址

类型

数据域<=1500byte

校验

版本

类型

编码

会话ID

长度

载荷<=1494byte(ppp)

48bit

48bit

8864

4bit

4bit

8bit

16bit

16bit

协议

信息<=1492

32bit

16bit

IP数据包

 

5.3.3IP数据报头格式

5.3.4TCP数据报头格式

 

,在会话阶段承载PPP协议数据。

但不是简单的PPP封装,因为并不需要PPP协议中的起始位标志、地址位、控制位和结束标志,也不需要PPP协议中规定的数据转译和CRC校验。

TAG结构如图3所示。

目的MAC

地址

源MAC

地址

类型

数据域

校验

48bit

48bit

0x8863

<=1500byte

32bit

5.3.1发现阶段

5.4Ppp帧格式

5.5格式

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1