欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究.doc

    • 资源ID:2392509       资源大小:1.47MB        全文页数:40页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究.doc

    摘 要嵌入式系统技术是近几年发展较快的一种新兴技术,嵌入式系统产品已经被广泛的应用在科技、工业、通信、生活等各个领域。随着信息化、智能化、网络化的发展,嵌入式系统将成为通信和消费类产品的共同发展方向。目前,嵌入式处理器和嵌入式操作系统的发展日臻完善,结合成熟的网络技术,嵌入式产品的网络化将成为嵌入式技术的发展趋势。PPPoE是宽带接入方式中广泛应用的技术,为了实现嵌入式多媒体终端的宽带接入,本文提出了嵌入式系统PPPoE协议的开发。现在大多数ISP都不提供Linux操作系统PPPoE客户端,而只提供windows客户端支持。本文会先简要介绍嵌入式Linux系统,接着详细分析PPPoE协议和PPP协议的原理,最后通过硬件与软件设计给出了在嵌入式Linux操作系统上的PPPoE的实现方案,最终通过在Ubuntu与目标板的实际操作,实现嵌入式Linux系统上的PPPoE的拨号上网。关键词 嵌入式系统 PPPoE PPP LinuxABSTRACTThe embedded system is a potential technology developing fastly. The embedded productions have been widely used in various fileds such as research,industry,communication,lifes and so on. Now,the embedded operation system,embedded processors are becoming mature. The embedded production will develop together with Internet. PPPoE is the main protocol of broadband access technology. In order to make the embedded system communicated through broadband access mode,we research PPPoE protocol in embedded system.Now most ISP dont supply PPPoE cilent for Linux,but do PPPoE cilents only for windows. Firstly this paper briefly describes the embedded Linux system,then describes in detail the PPPoE protocol and PPP protocol,lastly achieve the PPPoE software implementations in the Linux operating system.Finally,according to the actual operation on the Ubuntu and target to complete PPPoE dial-up Internet access of the embedded Linux system.Key words Embedded system,PPPoE,PPP,Linux目 录第一章 绪论11.1 课题的研究背景11.2 课题的研究方案21.3 课题的研究内容2第二章 嵌入式系统22.1 什么是嵌入式系统22.1.1 嵌入式系统定义22.1.2 嵌入式系统的体系结构22.2 嵌入式操作系统32.2.1 常见的嵌入式操作系统32.3 实时操作系统42.3.1 实时性42.3.2 实时操作系统概括42.4 嵌入式Linux操作系统42.4.1 Linux发展概述42.4.2 Linux作为嵌入式操作系统的优势52.4.3 Linux的版本5第三章 PPP协议分析与研究63.1 PPP协议概述63.2 PPP的层次结构63.3 PPP的链路建立过程73.4 PPP的帧结构83.5 PPP的身份验证9第四章 PPPOE协议分析与研究104.1 PPPoE协议概述104.2 PPPoE协议原理114.3 PPPoE协议分析124.3.1 PPPoE的包格式124.3.2 PPPoE的消息类型和协商过程134.4 PPPoE协议的相关问题144.4.1 超时重传机制144.4.2 PPPoE的MTU设置14第五章 PPPOE的实现方案155.1 硬件设计155.2 软件设计15第六章 PPPOE在嵌入式LINUX系统上的实现216.1 ICETEK-OMAP3530-Mini板简介216.1.1 ICETEK-OMAP3530-Mini板开发环境226.1.2 ICETEK-OMAP3530-Mini板使用操作226.2 ICETEK-OMAP3530-Mini板嵌入式软件目标系统概述236.3 Ubuntu上实际操作-准备步骤246.3.1 复制并且编译XLoader程序246.3.2 复制并且编译UBoot程序246.3.3 复制并且编译内核256.4 Ubuntu上实际操作-具体步骤266.4.1 配置编译内核266.4.2 安装PPP-2.4.4276.4.3 安装rp-pppoe-3.10286.4.4 复制配置文件306.4.5 在ICETEK-OMAP3530-Mini板上测试运行316.4.6 成果展示31结束语31致谢32参考文献33第一章 绪论1.1 课题的研究背景随着计算机技术、网络技术和通信技术的不断发展以及人们物质生活水平的不断提高,人们对家居品质的要求也与日俱增。曾经在科幻片中幻想的诸多情景:坐在沙发上就可以控制家里照明系统;躺在床上就能开关卫生间的换气扇、不必下床就能为客人打开家门;下班途中发个短信就可以提前启动家中的空调和热水器;每天晚上,所有的窗帘都会定时自动关闭;出门在外不光可以关闭忘记断电的家用设施,还可以实时查看家中老人及孩子的安全状况。所有的这些,不断刺激着消费者对高品质家居的追求,也不断激励着各大科研机构和厂商推动科技进步,从此,智能家居概念深入人心。智能家居主要由宽带接入、家庭智能网关、家居信息系统和家居控制网络等组成,其中家庭智能网关是整个智能家居的核心,不仅仅为家庭内部网络和家庭外部网络提供网络连接,成为家庭内部网络的出口,同时,要对家庭网络及设备实现监控、远程控制,信息的路由选择、内外网络之间的协议转换等功能。家庭智能网关对于智能家居的开展至关重要,智能家居是否能成功部署,与家庭智能网关是否易用,是否可以与家庭网络中的设备相互发现和互操作,是否支持多种业务均是紧密相关的,因此本文将家庭智能网关作为研究的对象。由于本文是在嵌入式系统上实现的,所以下面将对嵌入式系统进一步地介绍。随着数字信息技术的发展,我们已经进入了网络时代,人类社会已经进入了后PC时代,其中嵌入式技术是近几年来发展最为迅猛、最受人关注的一门新兴技术。从工业流水线控制、通讯、仪器仪表、汽车、航空航天、军事装备等领域到手表、电话、手机、新型的电饭锅、冰箱等生活用品,无处不体现了嵌入式技术的身影。目前嵌入式计算机在数量上远远超过了各种通用计算机,PC的各种输入输出和外部设备均由嵌入式处理器控制,每台PC的外部设备中包含了5-10个嵌入式微处理器。根据美国嵌入式系统专业杂志RTC报道,21世纪初的十年中,全球嵌入式系统市场需求量具有比PC市场大10至100倍的商机。目前以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好的前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战,这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移动应用和多媒体的的信息处理。嵌入式系统的多媒体和网络化随着多媒体技术的发展不断进步,视频、音频信息的处理水平越来越高,为嵌入式系统的多媒体化创造了良好的条件,嵌入式系统的多媒体化将变为现实。嵌入式系统中嵌入式Linux系统是很重要的一部分。Linux从1991年问世到现在的短短十几年时间内,已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在新兴的嵌入式领域内也获得了飞速发展。嵌入式Linux以其可应用于多种硬件平台、内核高效稳定、源代码开放、软件丰富、网络通信和文件管理机制完善等优良特性,成为嵌入式系统领域中的一个研究热点。在如今的用户上网方式中,ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线路)是一种非常常见的方式,是一种通过现有普通电话线为家庭、办公室提供宽带数据传输服务的技术。要实现嵌入式多媒体终端在ADSL上通信,就必须开发PPPoE协议。PPPoE全称是 Point to Point Protocol over Ethernet(基于局域网的点对点通信协议),这个协议是为了满足越来越多的宽带上网设备(即ADSL、无线、有线电视等)和越来越快的网络之间的通信而最新制定开发的标准,它基于两个广泛接受的标准,即:以太网和PPP(点到点)拨号协议。对于最终用户来说不需要用户了解比较深的局域网技术,只需要当做普通拨号上网就可以了对于服务商来说在现有局域网基础上不需要花费巨资来做大面积改造,设置IP地址绑定用户等来支持专业方式。这就使得PPPoE在宽带接入服务中比其他协议更具有优势,因此逐渐成为宽带上网的最佳选择。为了能够使得开发的嵌入式多媒体终端应用在更多的接入方式中(如ADSL),就要在嵌入式多媒体终端实现PPPoE接入认证协议,通过PPPoE协议软件连接ISP(因特网服务提供商)并取得通信。1.2 课题的研究方案本课题旨在搭建一个家庭智能网关软件平台,主要对如何构建基于OMAP3530和嵌入式Linux操作系统的软件平台、并实现PPPOE的拨号上网,接入ISP中并获得公网IP地址,这样不仅可以实现家庭内部网络访问Internet,也可以在家庭网关的平台上搭建服务器,构建B/S结构供远程的PC访问家庭内部网络,从而了解家庭内部情况。本文中将通过硬件设计和软件设计来阐述课题的研究方案,通过对硬件设计的框架图、软件设计的框架图以及对内核与应用程序之间的关系分析,通过对程序代码的分析与实现流程图来介绍实现的一个方案。1.3 课题的研究内容课题最终要在嵌入式Linux系统上实现PPPoE协议,因此,论文分以下几个方面进行:第一章:绪论。分析课题的研究背景。第二章:嵌入式系统。介绍了嵌入式系统以及嵌入式Linux系统的基本概念。第三章:PPP协议的分析与研究。首先介绍了PPP协议的基本原理。第四章:PPPoE协议的分析与研究。介绍了PPPoE协议的基本原理第五章:PPPoE在嵌入式Linux系统上的实现方案。第六章:PPPoE在嵌入式Linux系统上的实现步骤。第二章 嵌入式系统随着IT(信息)技术的飞速发展,特别是互联网的迅速普及,3C(计算机、通讯、消费电子)合一的加速,数字化时代已经来临。嵌入式系统是数字化时代的一大主流产品,世界各国在此领域开始了激烈竞争,以争取获得主导地位。嵌入式系统是数字化产品的核心,为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部互联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议族软件支持。2.1 什么是嵌入式系统2.1.1 嵌入式系统定义嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。2.1.2 嵌入式系统的体系结构简单的说,嵌入式系统是一个集系统的应用软件与硬件与一体,具有软件代码小、高度自动化、响应速度等特点,特别适用于要求实时和多任务的体系。嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)或闪存(Flash Memory)作为存储介质。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。2.2 嵌入式操作系统嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点。如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统有功能丰富和稳定性好等优点,每个具体的嵌入式系统都会有自己独特的地方,在嵌入式系统中使用操作系统,能够对嵌入式系统的开发产生极大的推动作用。2.2.1 常见的嵌入式操作系统随着对于嵌入式操作系统需求的不断扩大,各种各样的嵌入式操作系统不断孕育而生,目前应用范围比较广泛的嵌入式操作系统有以下几种:1)Microsoft Windows CEMicrosoft Windows CE是一个高效率的多平台操作系统。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模板化设计允许它对从掌上电脑到专用的工业控制器的用户设备进行定制。2)pSOSpSOS是ISI(Integrated Systems Inc.)公司研发的产品。pSOS是一个模块化,高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性,可以让开发者将操作系统的功能和内存需求按每个应用的需要定制成专门的系统。3)VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks是一个嵌入式实时操作系统,采用微内核的结构,具有支持处理器多,网络协议丰富,兼容性和裁剪性好等特点,同时具有程序动态连接和下载的功能。它具有功能强大的应用程序接口(API),但大多数的VxWorks API是专用的,使用的是和UNIX不兼容得环境。4)PalmOSPalmOS是3Com公司的产品,在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。它拥有一个提供基本任务管理的抢占式的多任务管理内核,在存储器管理方面引入了虚拟文件系统。5)嵌入式Linux嵌入式Linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了Internet上无限开放的源代码资源,又具有嵌入式操作系统的特性。随着Linux的迅速发展,嵌入式Linux现在已经有许多版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux)和一般的嵌入式Linux(如µClinux和Pocket Linux等)。其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务,又保证强实时性能的目的。另一种常用的嵌入式Linux是µClinux,它是针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。本课题的开发就是基于这个操作系统下进行的。嵌入式操作系统还有QNX、Delta OS、Hopen OS、µC/OS等,这里就不一一赘述了。嵌入式操作系统往往都具有实时性,下面就解释什么叫实时操作系统。2.3 实时操作系统2.3.1 实时性实时性是指能够在限定时间内执行完规定的功能,并对外部的异步事件做出反应的能力。比较复杂的应用需要嵌入式软件能及时、并行、协调地对外部事件做出正确的响应,并能有效地利用系统资源,避免竞争资源造成的系统崩溃。2.3.2 实时操作系统概括实时操作系统(RTOS)是具有实时性且能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要的特点是能满足对时间的限制和要求。在任何时刻,它总是保证优先级最高的任务占用CPU。系统对现场不停机地监测,一旦有事件发生,系统能即刻做出相应的处理。这除了由硬件质量作为基本保证外,主要由实时操作系统内部的时间驱动方式及任务调度来决定。实时操作系统是实时系统在启动之后运行的一段背景程序,应用程序是运行在这个基础之上的多个任务。实时操作系统根据各个任务的要求,进行资源管理、消息管理、任务调度和异常处理等工作。在实时操作系统支持的系统红,每个任务第一具有不同的优先级别,他将根据各个任务的优先级来动态地切换各个任务,以保证对实时性的要求。从性能上讲,实时操作系统与普通操作系统存在的区别主要体现在“实时”二字上。在实时计算中,系统的正确性不仅依赖于计算的逻辑结果,而且依赖于结果产生的时间。RTOS与通用计算机OS的区别:1)实时性。响应速度快,只有几微妙;执行时间确定,可预测。2)代码尺寸小。10100KB,节省内存空间,降低成本。3)应用程序开发较难。4)需要专用开发工具:仿真器、编译器和调试器。2.4 嵌入式Linux操作系统随着Motolola、三星、Monta Vista、飞利浦、Nokia、IBM、SUN等众多国际顶级巨头的加入,嵌入式Linux的队伍越来越庞大,在通信、信息、数字家庭、工业控制等领域,随处都能见到嵌入式Linux的身影。根据美国VDC(Venture Development Co.)统计数据显示,嵌入式Linux的市场规模从2001年的5520万美元,到2006年增长至3.46亿美元,是什么让嵌入式Linux发展如此迅速,这一切都要归功于Linux,可以说嵌入式Linux正是继承和发展了Linux的诱人之处才走到今天的,下面就从Linux开始简单地介绍一下嵌入式Linux。2.4.1 Linux发展概述Linux操作系统是Unix操作系统的一个克隆版本。人们通常说的Linux是指由芬兰人Linus Torvalds所写的Linux操作系统内核。在Linux诞生之前,为了教学和研究的需要,阿姆斯特丹Vrije大学的计算机科学家Andrew S.Tanwnbaum以Unix为蓝本开发了Minix作为一个教育工具。1991年初,Linus开始在一台386sx兼容微机上学习Minix操作系统。通过学习,他逐渐不能满足Minix系统的现有性能,并开始酝酿开发一个新的免费操作系统,很快就在Minxi新闻组得到了响应。Linus从一开始就决定自由传播Linux,他把源代码发布在网上,于是,众多的爱好者和程序员也都通过互联网加入到Linux内核开发工作中,1993年,Linux的第一个正式版本1.0版发布,并遵从GPL(GNU General Public License)版权协议。事实上,Linux系统是世界各地成千上万志愿者设计和实现的。其目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的类Unix操作系统。在Linux操作系统的设计过程中,借鉴了很多Unix的思想,但源代码是全部重写的。目前Linux操作系统可以运行在x86,Alpha,MIPS,Power Mac,Mach等类型的计算机上。从功能来看,它既可以作为普通的桌面操作系统,也可以作为中小型的网络操作系统,甚至作为大型网络的操作系统。2.4.2 Linux作为嵌入式操作系统的优势从Linux系统的发展过程可以看出,Linux从最早开始就是一个开放的系统,并且它始终遵循源代码开放的原则,它是一个成熟而稳定的网络操作系统,作为嵌入式操作系统有如下优势。1低成本开发系统Linux的源码开放性允许任何人可以获取并修改Linux的源码。这样一方面大大降低了开发成本,另一方面又可以提高开发产品的效率。并且还可以在Linux社区中获得支持,用户只需向邮件列表发一封邮件,即可获得作者的支持。2. 可应用于多种应用平台Linux可支持X86、PowerPC、ARM、XSCALE、MIPS、SH、68K、Alpha、SPARC等多种体系结构,并且已经被移植到多种硬件平台。这对于经费、时间受限制的研究与开发项目是很有吸引力的。Linux采用一个统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层应用无关。3. 可定制的内核Linux具有独特的内核模块机制,它可以根据用户的需要,实时地将某些模块插入到内核中或者从内核中移走,并能根据嵌入式设备的个性需要量体裁衣。经裁减的Linux内核最小可达150KB以下,尤其适合嵌入式领域中资源受限的实际情况。4. 性能优异Linux系统内核精简、高效、稳定,能够充分发挥硬件的功能,因此它比其他操作系统的运行效率更高。在个人计算机上使用Linux,可以将它作为工作站。它也非常适合在嵌入式领域中应用,对比其他操作系统,它占用的资源更少,运行更稳定,速度更快。5. 良好的网络支持Linux是首先实现TCP/IP协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网络、Toking ring(令牌环)和光纤甚至卫星的支持,这对现在依赖于网络的嵌入式设备来说无疑是很好的选择。2.4.3 Linux的版本任何一个软件都有版本号,Linux也不例外。Linux的版本号分为两部分:内核(kernel)与发行套件(distribution)版本。Linux的内核是系统的心脏,内核包括了700多万行代码,是运行程序和管理硬件设备的核心程序。没有内核,就不能运行程序。实际上内核版本指的是在Linus领导下的开发小组开发出的系统内核的版本号。一般而言,一个基本的Linux只是包含了Linux核心(kernel)和GNU软件的一些基层系统软件和实用工具(utilities),这样一个操作系统仅仅能够让那些Linux专家完成一些很基本的系统管理任务,如果要满足普通用户的办公室或基于视窗的应用开发等需要,则还需要再系统中加入XFree86视窗系统、GNOME和KDE桌面环境以及相应的办公应用软件等。因此一些组织或厂家将Linux系统内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发行套件,例如最常见的Slackware、Red Hat、Debian、Ubuntu等。下面就对有代表性的发行套件版本进行介绍。1. Red Hat国内,乃至是全世界的Linux用户最熟悉的发行版本想必就是Red Hat了。Red Hat最早是由Bob Young和Marc Ewing在1995年创建的。目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux(RHEL, Red Hat的企业版),以及由社区开发的免费的桌面版Fedora Core。Red Hat企业版有三个版本AS、ES和WS。AS是其中功能最为强大和完善的版本。2. DebianDebian是一个致力于创建一个自由操作系统的合作组织,由Ian Murdock于1993年创建。该组织创建的操作系统为Debian GNU/Linux,简称为Debian。这是一个免费的Linux系统,拥有许多用户。Debian系统分为三个版本,分别为稳定版(Stable),测试版(Testing)和不稳定版(Unstable)。并且每次发布的版本都是稳定版,而测试版在经过一段时间的测试证明没有问题后会成为新的稳定版。3. UbuntuUbuntu基于Debian,包括了大量来自Debian发行版的软件包,保留了Debian强大的软件包管理系统,以便简易地安装或彻底地删除程序。与大多数发行版附带数量巨大的可用可不用的软件不同,Ubuntu的软件包清单只包含那些高质量的重要应用程序。Ubuntu使用GNOME桌面环境,并且十分注重系统的安全性,采用Sudo工具,所有系统相关的任务均需使用此指令,并输入密码,比起传统以登入系统管理员账号进行管理工作有更加的安全性。Ubuntu设计成为标准安装完成即可用让使用者投入使用的操作系统,用户不需要另外安装一些额外的软件。本文开发环境中将使用Ubuntu。第三章 PPP协议分析与研究3.1 PPP协议概述PPP协议全称是Point to Point Protocol,是目前应用范围最广的数据链路层协议之一,它提供了同步和异步线路上的通信连接,在点对点连接上实现一个传输多协议数据报的标准方法。在TCP/IP协议集中,它是一种用来封装和传输IP数据报的数据链路层协议,可以替代SLIP(Serial Line IP,串行线路IP)。除了IP协议以外,PPP还可以封装和传输其他协议,包括DECnet、AppleTalk和IPX等。PPP可以为基于各种主机、网桥和路由器的简单连接提供一种互联的解决方案,与PPP协议推出前广泛应用的SLIP协议相比,PPP协议具有SLIP所没有的多项功能:支持多协议、具有帧检错能力、支持IP地址的动态分配、支持身份验证方式的网络安全等。3.2 PPP的层次结构PPP是一个多层协议,如图3-1所示。PPP首先由LCP建立和配置通信链路,再通过NCP(Network Control Protocol,网络控制协议)传送特定协议族(如IP、IPX、AppleTalk和OSI等)的数据。PPP主要由如下三大部分组成。·HDLC:用于封装和传输上层数据,并进行差错检测工作。·LCP:用于建立、配置和终止点对点数据链路。LCP能让PPP适用于大多数环境。LCP能自动协调配置,如协调数据帧的封装格式、处理数据报大小限制、探测环路链路和其他普通的配置错误以及终止链路。LCP提供的可选功能包括对建立链路的呼叫方进行身份验证;对数据帧进行压缩以提高吞吐率;设置错误检测以实现可靠无环路的通信链路;设置多链路捆绑以实现负载均衡;设置PPP回拨(PPP Callback)以提高安全性。·NCP:一种扩展链路控制协议,用于支持网络层协议的通信。PPP可以在同一条通信链路上运行多种不同的网络层协议。对每一种网络层协议,PPP提供对应的NCP。例如,IP对应IPCP(IP Control Protocol,IP控制协议)、IPX对应IPXCP(IPX PPP Control Protocol,PPP的IPX控制协议)网络层协议(IP、IPX、OSI)网络层网络层控制协议NCP(如IPCP)数据链路层链路控制协议LCP高级数据链路控制EIA/TIA-232、V.24、V.35物理层图3-1 PPP的协议层次3.3 PPP的链路建立过程为了建立点对点链路通信,PPP链路的每一端必须首先发送LCP包以便设定和测试数据链路。在链路建立之后,PPP必须发送NCP包以便选择和设定一个或更多的网络层协议。一旦配置后每个被选择的网络层协议,就能在链路上发送这些网络层协议的数据报。链路将保持通信设定不变,直到有LCP和NCP数据包关闭链路,或者是发生一些外部事件(如网络管理员的干涉)导致链路中断。简化的PPP链路建立过程如图3-2所示。消亡DeadUP确立连接Establish认证Authentication联网Networking打开开成功终止Terminate关闭失败DOWNN失败图3-2 PPP的链路建立过程一个典型的链路建立过程分为三个阶段;创建阶段、认证阶段和网络协商阶段。阶段1:创建PPP链路LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack Packets)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路建立阶段,只是对验证协议进行选择,用户验证将在第二阶段实现。阶段2:用户验证在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。阶段3:调用网络层协议认证阶段完成之后,PPP将调用在链路创建阶段选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。PPP通信阶段图如图3-3所示。LCP协商认证网络阶段协商建立链路拆除链路PEERPEER图3-3 PPP通信阶段图3.4 PPP的帧结构PPP可以封装上层多种协议的数据包,使之成为互相独立的串行数据帧。PPP采用HDLC的帧格式,但它是面向字符的。在完整的PPP帧中。帧头由帧开始标记(F)、地址域(A)、控制域(C)和协议域(P)组成,帧尾由校验域(FCS)、帧结束标记(F)构成,如图3-4所示。F0x7EA0xFFC0x03PIFCSF0x7E标志1B校验码2或4B信息nB(n)0协议2B控制1B地址1B标志1B图3-4 PPP的帧结构·F:标志序列。指示帧的开始和结束,长度为1个字节,其内容为0x7E。·A:地址字段。这是一个标准的广播地址,长度为1个字节,其内容为0xFF。在非平衡结构传输数据时,地址字段写入次站的地址;采用平衡结构传输数据时,地址字段写入确认站的地址。·C:控制字段。表示用户数据采用无序帧方式传输,它提供无连接链路服务,长度为1个字节,其内容为0x03。·P:协议字段。用于标示被封装在帧中数据字段里的协议类型,长度为2个字节。·I:信息字段。长度为0或多个字节,它包含符合协议字段中制定协议的数据包。最大长度默认为1500字节。在数据链路层的建立和拆除阶段,其内容可能是LCP、PAP、CHAP或某一种NCP的包。·FCS:效验码。对A、C、P、I字段进行CRC校验,有16位的CRC-CCITT和32位的CRC-32两种校验方式,长度为2个字节或4个字节。3.5 PPP的身份验证对于一个PPP会话,身份验证是可选的。当链路已经建立并且身份验证协议被选择以后,通信双方就可以互相鉴别,如果启用了验证功能,当验证过程通过之后,才能开始网络层协议配置阶段。身份验证功能需要呼叫发起方输入验证信息,此信息用来确定用户拥有网络管理员赋予的呼叫许可。对等的路由器之间可以相互交换身份验证消息。PPP提供PAP和CHAP两种协议进行验证。PAP(Password Authentication Protocol,密码验证协议)使用两次握手机制,为建立远程节点的验证提供一个简单的方法。当PPP链路建立阶段完成后,远程节点将不断地在链路上发送用户名和密码,直到身份验证通过或者连接被终止。如图3-5所示。接受或拒绝Router1 mypwdPAP两次握手机制远程路由器本地路由器主机名:Router1密码:mypwd主机名:Router1密码:mypwd图3-5 PAP的身份验证PAP在进行身份验证时,密码以明文的方式在链路上发送,这使得PAP的安全性存在缺陷。由于验证重试的频率和次数由远程节点来控制,因此PAP不能防止重放攻击和重复的尝试攻击。CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)使用三次握手机制启动一条链路和周期性地验证远程节点。CHAP可以在初始链路建立之后立即开始验证工作,也可以在链路建立后的任何时间进行重复验证。在PPP链路建立阶段完成之后,本地路由器发送一个“挑战”(Challenge)消息到远程节点。挑战消息中包含本地路由器的名称和一个随机数。本地路由器将挑战报文发给远程节点,要求进行身份认证。远程节点使用对应该路由器的账号和密码组织回应消息,但是密码并不直接包含在回应消息中,而是使用散列函数(如MD5)对挑战消息中的随机数和密码进行处理,将处理得到的摘要值放在回应消息中。本地路由器接收到回应消息后,根据自己保存的用户账号、密码和挑战消息中的随机数计算出摘要,将其与回应消息中的摘要进行对比,如果匹配,则验证通过。CHAP的验证过程如图3-6所示。CHAP在进行身份验证时密码本身并不在链路上发送,它通过使用唯一的、不可预知的、可变的挑战消息来防止重放攻击。因为挑战消息和作为结果的摘要值是唯一且随机的。在通信的过程中为了提高安全性,可以多次进行挑战验证。CHAP由本地路由器或者一台第三方的验证服务器来控制挑战的频率和次数。远程路由器本地路由器主机名:Router1密码:Mypwd主机名:Router1密码:Mypwd接受或拒绝回应挑战CHAP三次握手机制图3-6 CHAP的身份验证第四章 PPPoE协议分析与研究4.1 PPPoE协议概述PPPoE(PPP over Ethernet,基于以太网的PPP协议)继承了PPP拨号的用户验证和动态IP地址分配功能。

    注意事项

    本文([优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开