|
在目前的通信市场,宽带逐渐增温,接入方式呈现多样性:LAN、ADSL、HFC Cable Modem、WLAN各有一定的市场份额,而ADSL是全球范围内占据主流地位的宽带接入方式,它能够提供最低512 kHz,最高8 MHz的带宽。用户可以独享带宽,不会因为上网人数的增加而导致上网速率的降低。更为重要的是ADSL价格低廉,能为普通消费者所接受。目前国内的各大运营商和宽带接入提供商正在如火如荼地进行宽带革命。中国电信推出“ADSL网络快车”,并且已经圈定了大规模的用户群;中国网通也有类似的市场规模。另一方面,VoIP语音业务也飞速发展。目前国内大多数VoIP语音接入终端多为LAN方式。主要用户对象集中于智能化小区、校园、话吧等。由于大多数家庭用户的宽带接入为ADSL方式,运营商不得不考虑到目前的ADSL用户对VoIP语音业务的需求。所以,如果VoIP的终端设备支持PP-PoE的接入方式,只要将VoIP的终端设备挂到AD-SLMODEM下就可以提供VoIP语音业务。VoIP终端设备的软件大多都基于嵌入式操作系统。VxWorks是WRS(Wind River Systems Inc.)推出的嵌入式实时操作系统。VxWorks以无可比拟的高效能、高可靠性、高效的调试工具和稳定、高效的网络协议等优点在高端通信市场占据了优势地位,太多数通讯设备都采用VxWorks作为操作系统。本文详细介绍PPP、PPPoE协议在VxWorks下的具体实现。 2 PPP和PPPOE协议 IP接入的功能包括动态IP地址分配、AAA和ISP动态选择,实现这些功能通常需要用到一个著名的接入协议即PPP协议,PPP协议是一成熟的IP接入协议,支持多种协议封装,实现简单,易于与现有的ISP配合。它具有链路层和网络层配置和协商功能,可方便地自动分配TP。PPP本身也是一个数据链路层协议,它可采用不同的传输机制传送。常用的有HDLC、ATM和以太网。承载在以太网上的称为PPPoE(PPP over Ethernet)。
2.1 PPPoE协议 RFC2516定义了一种在以太网上传送PPP的方法即PPPoE。PPPoE分为二个阶段,即Discovery(地址发现)阶段和PPP会话阶段。当某个主机希望发起一个PPPoE会话时,它必须首先执行Discovery来确定对方的以太网MAC地址并建立起一个PP-PoE会话标识符SESSION_ID。虽然PPP定义的是端到端的对等关系,Discovery却是天生的一种客户端-服务器关系。在Discovery的过程中,主机(作为客户端)发现某个访问集中器(Access Concentrator,作为服务器),根据网络的拓扑结构,主机能够与不只一个的访问集中器通信。Discovery阶段允许主机发现所有的访问集中器并从中选择一个。当Discovery阶段成功完成后,主机和访问集中器二者都具备了用于在以太网上建立点到点连接所需的所有信息。 (1)PPPoE的帧格式和种类 Discovery阶段所有的以太网帧的ETHER_TYPE域都设置为0x8863。PPP会话阶段以太网帧的ETHER_TYPE域都设置为0x8864。PPPoE的payload部分包含O个或多个TAG。一个TAG是一个TLV(type-length-value)结构,TAG_TYPE域为16位值(网络字节序),RFC2516标准附录A列出了各种TAG_TYPE和TAG_VALUE。PPPoE的帧格式如图l所示。 
PPPoE discovery阶段有5种基本的帧,分别为PPPoE Active Discovery Initiation (PADI)、PPPoE Active Discovery Offer(PADO)、PPPoE Active Discovery Request (PADR)、PPPoE Active Discovery Sessionconfirmation (PADS)、PPPoE Active Discovery Terminate(PADT)。 (2)PPPoE的工作流程 PPPoE包含二个阶段:Discovery搜索阶段和Session会话阶段。PPPoE Discovery的主要步骤为: ●主机发送PADl分组,其目的地址为广播地址,会话IAD为0(未分配); ●任一接入服务器收到PADI并任提供所需的服务时,就回送PADO分组,会话IAD为O; ●主机可能收到多个PADO,根据服务及其提供的服务选定一个服务器,然后向该服务器发送PADR分组,其目的地址为该服务器的单播地址。会话ID为0(未分配); ●该服务器收到PADR后生成一个唯一的会话ID,向主机回送PADS分组,准备启动PPP。 当搜索阶段完成后,PPPoE的Host主机从接入服务器AC获取一个Session ID。搜索成功后主机和接入服务器之间就可以建立Ethernet的PPP连接,进入PPP会话阶段。
2.2 PPP协议 (1)PPP协议组成 PPP协议由IETF RFCl661定义,主要包含4个部分: ●帧封装的方法; ●链路控制协议(LCP-Link Control Protocol),完成线路的启动、测试、任选参数的协商和最终线路断开功能; ●网络控制协议(NCP),最常用的NCP协议为IP控制协议IPCP。它的一个重要功能就是动态分配IP地址; ●用户认证,主要通过LCP协商采用何种认证协议,但认证协议本身不是PPP协议的范围。 PPP可分为三个阶段:LCP协商、认证和NCP协商。从协议上来说可以分为三个子层,每层可向相邻的子层发送“Up”或“Down”事件。“Up”表示该层已激活,“Down”表示该层已终结。就整个接入过程而言,还可以认为LCP之下还有一个物理层,在每个NCP之上还有一个网络接口。
下一篇链接:USB芯片PDIUSBD12和DSP的应用与开发
上一篇链接:关于TMS320VC5509的二次引导加载方法 |