[优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究_第1页
[优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究_第2页
[优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究_第3页
[优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究_第4页
[优秀嵌入式毕业设计]基于嵌入式Linux系统的PPPoE实现方案的研究_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要 嵌入式系统技术是近几年发展较快的一种新兴技术,嵌入式系统产品已经被 广泛的应用在科技、工业、通信、生活等各个领域。随着信息化、智能化、网络 化的发展,嵌入式系统将成为通信和消费类产品的共同发展方向。目前,嵌入式 处理器和嵌入式操作系统的发展日臻完善,结合成熟的网络技术,嵌入式产品的 网络化将成为嵌入式技术的发展趋势。pppoe 是宽带接入方式中广泛应用的技术, 为了实现嵌入式多媒体终端的宽带接入,本文提出了嵌入式系统 pppoe 协议的开 发。 现在大多数 isp 都不提供 linux 操作系统 pppoe 客户端,而只提供 windows 客户端支持。本文会先简要介绍嵌入式 linu

2、x 系统,接着详细分析 pppoe 协议和 ppp 协议的原理,最后通过硬件与软件设计给出了在嵌入式 linux 操作系统上的 pppoe 的实现方案,最终通过在 ubuntu 与目标板的实际操作,实现嵌入式 linux 系统上的 pppoe 的拨号上网。 关键词 嵌入式系统 pppoe ppp linux abstract the embedded system is a potential technology developing fastly. the embedded productions have been widely used in various fileds such a

3、s 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 thro

4、ugh 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 t

5、he 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 目目 录录 第一章 绪论.1 1.1 课题的研究背景.1 1.2 课题的研究方案.2 1.3 课题的研究内容.

6、2 第二章 嵌入式系统.2 2.1 什么是嵌入式系统.2 2.1.1 嵌入式系统定义.2 2.1.2 嵌入式系统的体系结构.2 2.2 嵌入式操作系统.3 2.2.1 常见的嵌入式操作系统.3 2.3 实时操作系统.4 2.3.1 实时性.4 2.3.2 实时操作系统概括.4 2.4 嵌入式 linux操作系统.4 2.4.1 linux 发展概述.4 2.4.2 linux 作为嵌入式操作系统的优势.5 2.4.3 linux 的版本.5 第三章 ppp 协议分析与研究.6 3.1 ppp 协议概述.6 3.2 ppp 的层次结构.6 3.3 ppp 的链路建立过程.7 3.4 ppp 的帧

7、结构.8 3.5 ppp 的身份验证.9 第四章 pppoe 协议分析与研究.10 4.1 pppoe 协议概述.10 4.2 pppoe 协议原理.11 4.3 pppoe 协议分析.12 4.3.1 pppoe 的包格式.12 4.3.2 pppoe 的消息类型和协商过程.13 4.4 pppoe 协议的相关问题.14 4.4.1 超时重传机制.14 4.4.2 pppoe 的 mtu 设置.14 第五章 pppoe 的实现方案.15 5.1 硬件设计.15 5.2 软件设计.15 第六章 pppoe 在嵌入式 linux 系统上的实现.21 6.1 icetek-omap3530-min

8、i板简介.21 6.1.1 icetek-omap3530-mini板开发环境.22 6.1.2 icetek-omap3530-mini 板使用操作.22 6.2 icetek-omap3530-mini板嵌入式软件目标系统概述.23 6.3 ubuntu上实际操作-准备步骤.24 6.3.1 复制并且编译 xloader 程序.24 6.3.2 复制并且编译 uboot 程序.24 6.3.3 复制并且编译内核.25 6.4 ubuntu上实际操作-具体步骤.26 6.4.1 配置编译内核.26 6.4.2 安装 ppp-2.4.4.27 6.4.3 安装 rp-pppoe-3.10.28

9、 6.4.4 复制配置文件.30 6.4.5 在 icetek-omap3530-mini 板上测试运行.31 6.4.6 成果展示.31 结束语.31 致谢.32 参考文献.33 第一章第一章 绪论绪论 1.1 课题的研究背景课题的研究背景 随着计算机技术、网络技术和通信技术的不断发展以及人们物质生活水平 的不断提高,人们对家居品质的要求也与日俱增。曾经在科幻片中幻想的诸多 情景:坐在沙发上就可以控制家里照明系统;躺在床上就能开关卫生间的换气 扇、不必下床就能为客人打开家门;下班途中发个短信就可以提前启动家中的 空调和热水器;每天晚上,所有的窗帘都会定时自动关闭;出门在外不光可以 关闭忘记断

10、电的家用设施,还可以实时查看家中老人及孩子的安全状况。 所有的这些,不断刺激着消费者对高品质家居的追求,也不断激励着各大科研 机构和厂商推动科技进步,从此,智能家居概念深入人心。 智能家居主要由宽带接入、家庭智能网关、家居信息系统和家居控制网络 等组成,其中家庭智能网关是整个智能家居的核心,不仅仅为家庭内部网络和 家庭外部网络提供网络连接,成为家庭内部网络的出口,同时,要对家庭网络 及设备实现监控、远程控制,信息的路由选择、内外网络之间的协议转换等功 能。家庭智能网关对于智能家居的开展至关重要,智能家居是否能成功部署, 与家庭智能网关是否易用,是否可以与家庭网络中的设备相互发现和互操作, 是否

11、支持多种业务均是紧密相关的,因此本文将家庭智能网关作为研究的对象。 由于本文是在嵌入式系统上实现的,所以下面将对嵌入式系统进一步地介绍。 随着数字信息技术的发展,我们已经进入了网络时代,人类社会已经进入 了后 pc 时代,其中嵌入式技术是近几年来发展最为迅猛、最受人关注的一门 新兴技术。从工业流水线控制、通讯、仪器仪表、汽车、航空航天、军事装备 等领域到手表、电话、手机、新型的电饭锅、冰箱等生活用品,无处不体现了 嵌入式技术的身影。目前嵌入式计算机在数量上远远超过了各种通用计算机, pc 的各种输入输出和外部设备均由嵌入式处理器控制,每台 pc 的外部设备中 包含了 5-10 个嵌入式微处理器

12、。根据美国嵌入式系统专业杂志 rtc 报道,21 世纪初的十年中,全球嵌入式系统市场需求量具有比 pc 市场大 10 至 100 倍的 商机。 目前以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现 了美好的前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提 出新的挑战,这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便 的移动应用和多媒体的的信息处理。嵌入式系统的多媒体和网络化随着多媒体 技术的发展不断进步,视频、音频信息的处理水平越来越高,为嵌入式系统的 多媒体化创造了良好的条件,嵌入式系统的多媒体化将变为现实。嵌入式系统 中嵌入式 linux 系统是很重要的一

13、部分。 linux 从 1991 年问世到现在的短短十几年时间内,已经发展成为功能强大、 设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在 新兴的嵌入式领域内也获得了飞速发展。嵌入式 linux 以其可应用于多种硬件 平台、内核高效稳定、源代码开放、软件丰富、网络通信和文件管理机制完善 等优良特性,成为嵌入式系统领域中的一个研究热点。 在如今的用户上网方式中,adsl(asymmetric digital subscriber line,非 对称数字用户线路)是一种非常常见的方式,是一种通过现有普通电话线为家 庭、办公室提供宽带数据传输服务的技术。要实现嵌入式多媒体终端在

14、adsl 上通信,就必须开发 pppoe 协议。 pppoe 全称是 point to point protocol over ethernet(基于局域网的点对点通 信协议) ,这个协议是为了满足越来越多的宽带上网设备(即 adsl、无线、有 线电视等)和越来越快的网络之间的通信而最新制定开发的标准,它基于两个 广泛接受的标准,即:以太网和 ppp(点到点)拨号协议。对于最终用户来说 不需要用户了解比较深的局域网技术,只需要当做普通拨号上网就可以了对于 服务商来说在现有局域网基础上不需要花费巨资来做大面积改造,设置 ip 地址 绑定用户等来支持专业方式。这就使得 pppoe 在宽带接入服务中

15、比其他协议更 具有优势,因此逐渐成为宽带上网的最佳选择。 为了能够使得开发的嵌入式多媒体终端应用在更多的接入方式中(如 adsl) ,就要在嵌入式多媒体终端实现 pppoe 接入认证协议,通过 pppoe 协 议软件连接 isp(因特网服务提供商)并取得通信。 1.2课题的研究方案课题的研究方案 本课题旨在搭建一个家庭智能网关软件平台,主要对如何构建基于 omap3530 和嵌入式 linux 操作系统的软件平台、并实现 pppoe 的拨号上网, 接入 isp 中并获得公网 ip 地址,这样不仅可以实现家庭内部网络访问 internet,也可以在家庭网关的平台上搭建服务器,构建 b/s 结构供

16、远程的 pc 访问家庭内部网络,从而了解家庭内部情况。 本文中将通过硬件设计和软件设计来阐述课题的研究方案,通过对硬件设 计的框架图、软件设计的框架图以及对内核与应用程序之间的关系分析,通过 对程序代码的分析与实现流程图来介绍实现的一个方案。 1.3 课题的研究内容课题的研究内容 课题最终要在嵌入式 linux 系统上实现 pppoe 协议,因此,论文分以下几 个方面进行: 第一章:绪论。分析课题的研究背景。 第二章:嵌入式系统。介绍了嵌入式系统以及嵌入式 linux 系统的基本概 念。 第三章:ppp 协议的分析与研究。首先介绍了 ppp 协议的基本原理。 第四章:pppoe 协议的分析与研

17、究。介绍了 pppoe 协议的基本原理 第五章:pppoe 在嵌入式 linux 系统上的实现方案。 第六章:pppoe 在嵌入式 linux 系统上的实现步骤。 第二章第二章 嵌入式系统嵌入式系统 随着 it(信息)技术的飞速发展,特别是互联网的迅速普及,3c(计算机、 通讯、消费电子)合一的加速,数字化时代已经来临。嵌入式系统是数字化时 代的一大主流产品,世界各国在此领域开始了激烈竞争,以争取获得主导地位。 嵌入式系统是数字化产品的核心,为适应嵌入式分布处理结构和应用上网需求, 面向 21 世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部 互联网要求,嵌入设备必需配有通信接口

18、,相应需要 tcp/ip 协议族软件支持。 2.1 什么是嵌入式系统什么是嵌入式系统 2.1.1 嵌入式系统定义嵌入式系统定义 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪, 适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机 系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的 应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。 2.1.2 嵌入式系统的体系结构嵌入式系统的体系结构 简单的说,嵌入式系统是一个集系统的应用软件与硬件与一体,具有软件 代码小、高度自动化、响应速度等特点,特别适用于要求实时和多任务的体系。 嵌入

19、式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和 i/o 端口、 图形控制器。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样 大容量的存储介质,而大多使用 eprom(可擦可编程只读存储器) 、 eeprom(电可擦可编程只读存储器)或闪存(flash memory)作为存储介质。 软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用 程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互 作用。 2.2 嵌入式操作系统嵌入式操作系统 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式 系统(包括硬、软件系统)极为重要的组成部分,

20、通常包括与硬件相关的底层 驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。 嵌入式操作系统具有通用操作系统的基本特点。如能够有效管理越来越复杂的 系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中 解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系 统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态 化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统有功能丰富 和稳定性好等优点,每个具体的嵌入式系统都会有自己独特的地方,在嵌入式 系统中使用操作系统,能够对嵌入式系统的开发产生极大的推动作用。 2.2.1 常见的

21、嵌入式操作系统常见的嵌入式操作系统 随着对于嵌入式操作系统需求的不断扩大,各种各样的嵌入式操作系统不 断孕育而生,目前应用范围比较广泛的嵌入式操作系统有以下几种: 1)microsoft windows ce microsoft windows ce 是一个高效率的多平台操作系统。它是从整体上为 有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模板化 设计允许它对从掌上电脑到专用的工业控制器的用户设备进行定制。 2)psos psos 是 isi(integrated systems inc.)公司研发的产品。psos 是一个模块 化,高性能的实时操作系统,专为嵌入式微处理器设计

22、,提供一个完全多任务 环境,在定制的或是商业化的硬件上提供高性能和高可靠性,可以让开发者将 操作系统的功能和内存需求按每个应用的需要定制成专门的系统。 3)vxworks vxworks 操作系统是美国 windriver 公司于 1983 年设计开发的一种实时操 作系统。vxworks 是一个嵌入式实时操作系统,采用微内核的结构,具有支持 处理器多,网络协议丰富,兼容性和裁剪性好等特点,同时具有程序动态连接 和下载的功能。它具有功能强大的应用程序接口(api) ,但大多数的 vxworks api 是专用的,使用的是和 unix 不兼容得环境。 4)palmos palmos 是 3com

23、公司的产品,在掌上电脑和 pda 市场上占有很大的市场 份额。它有开放的操作系统应用程序接口(api) ,开发商可以根据需要自行开 发所需的应用程序。它拥有一个提供基本任务管理的抢占式的多任务管理内核, 在存储器管理方面引入了虚拟文件系统。 5)嵌入式 linux 嵌入式 linux 是将日益流行的 linux 操作系统进行裁剪修改,使之能在嵌 入式计算机系统上运行的一种操作系统。嵌入式 linux 既继承了 internet 上无限 开放的源代码资源,又具有嵌入式操作系统的特性。 随着 linux 的迅速发展,嵌入式 linux 现在已经有许多版本,包括强实时 的嵌入式 linux(如新墨西

24、哥工学院的 rt-linux 和堪萨斯大学的 kurt- linux)和一般的嵌入式 linux(如 clinux 和 pocket linux 等) 。其中,rt- linux 通过把通常的 linux 任务优先级设为最低,而所有的实时任务的优先级都 高于它,以达到既兼容通常的 linux 任务,又保证强实时性能的目的。另一种 常用的嵌入式 linux 是 clinux,它是针对没有 mmu 的处理器而设计的。它不 能使用处理器的虚拟内存管理技术,对内存的访问是直接的,所有程序中访问 的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。 本课题的开发就是基于这个操作系统下进行的。

25、 嵌入式操作系统还有 qnx、delta os、hopen os、c/os 等,这里就不一 一赘述了。 嵌入式操作系统往往都具有实时性,下面就解释什么叫实时操作系统。 2.3 实时操作系统实时操作系统 2.3.1 实时性实时性 实时性是指能够在限定时间内执行完规定的功能,并对外部的异步事件做 出反应的能力。比较复杂的应用需要嵌入式软件能及时、并行、协调地对外部 事件做出正确的响应,并能有效地利用系统资源,避免竞争资源造成的系统崩 溃。 2.3.2 实时操作系统概括实时操作系统概括 实时操作系统(rtos)是具有实时性且能支持实时控制系统工作的操作系 统。其首要任务是调度一切可利用的资源来完成实

26、时控制任务,其次才着眼于 提高计算机系统的使用效率,其重要的特点是能满足对时间的限制和要求。在 任何时刻,它总是保证优先级最高的任务占用 cpu。系统对现场不停机地监测, 一旦有事件发生,系统能即刻做出相应的处理。这除了由硬件质量作为基本保 证外,主要由实时操作系统内部的时间驱动方式及任务调度来决定。 实时操作系统是实时系统在启动之后运行的一段背景程序,应用程序是运 行在这个基础之上的多个任务。实时操作系统根据各个任务的要求,进行资源 管理、消息管理、任务调度和异常处理等工作。在实时操作系统支持的系统红, 每个任务第一具有不同的优先级别,他将根据各个任务的优先级来动态地切换 各个任务,以保证对

27、实时性的要求。 从性能上讲,实时操作系统与普通操作系统存在的区别主要体现在“实时” 二字上。在实时计算中,系统的正确性不仅依赖于计算的逻辑结果,而且依赖 于结果产生的时间。 rtos 与通用计算机 os 的区别: 1)实时性。响应速度快,只有几微妙;执行时间确定,可预测。 2)代码尺寸小。10100kb,节省内存空间,降低成本。 3)应用程序开发较难。 4)需要专用开发工具:仿真器、编译器和调试器。 2.4 嵌入式嵌入式 linuxlinux 操作系统操作系统 随着 motolola、三星、monta vista、飞利浦、nokia、ibm、sun 等众多国 际顶级巨头的加入,嵌入式 linu

28、x 的队伍越来越庞大,在通信、信息、数字家 庭、工业控制等领域,随处都能见到嵌入式 linux 的身影。根据美国 vdc(venture development co.)统计数据显示,嵌入式 linux 的市场规模从 2001 年的 5520 万美元,到 2006 年增长至 3.46 亿美元,是什么让嵌入式 linux 发展如此迅速,这一切都要归功于 linux,可以说嵌入式 linux 正是继承和发展 了 linux 的诱人之处才走到今天的,下面就从 linux 开始简单地介绍一下嵌入 式 linux。 2.4.1 linux 发展概述发展概述 linux 操作系统是 unix 操作系统的一

29、个克隆版本。人们通常说的 linux 是 指由芬兰人 linus torvalds 所写的 linux 操作系统内核。 在 linux 诞生之前,为了教学和研究的需要,阿姆斯特丹 vrije 大学的计算 机科学家 andrew s.tanwnbaum 以 unix 为蓝本开发了 minix 作为一个教育工具。 1991 年初,linus 开始在一台 386sx 兼容微机上学习 minix 操作系统。通过学 习,他逐渐不能满足 minix 系统的现有性能,并开始酝酿开发一个新的免费操 作系统,很快就在 minxi 新闻组得到了响应。 linus 从一开始就决定自由传播 linux,他把源代码发布

30、在网上,于是,众 多的爱好者和程序员也都通过互联网加入到 linux 内核开发工作中,1993 年, linux 的第一个正式版本 1.0 版发布,并遵从 gpl(gnu general public license)版权协议。 事实上,linux 系统是世界各地成千上万志愿者设计和实现的。其目的是 建立不受任何商品化软件版权制约的、全世界都能自由使用的类 unix 操作系统。 在 linux 操作系统的设计过程中,借鉴了很多 unix 的思想,但源代码是全部重 写的。目前 linux 操作系统可以运行在 x86,alpha,mips,power mac,mach 等类型的计算机上。从功能来看

31、,它既可以作为普通的桌面操作系统,也可以 作为中小型的网络操作系统,甚至作为大型网络的操作系统。 2.4.2 linux 作为嵌入式操作系统的优势作为嵌入式操作系统的优势 从 linux 系统的发展过程可以看出,linux 从最早开始就是一个开放的系统, 并且它始终遵循源代码开放的原则,它是一个成熟而稳定的网络操作系统,作 为嵌入式操作系统有如下优势。 1低成本开发系统 linux 的源码开放性允许任何人可以获取并修改 linux 的源码。这样一方面 大大降低了开发成本,另一方面又可以提高开发产品的效率。并且还可以在 linux 社区中获得支持,用户只需向邮件列表发一封邮件,即可获得作者的支

32、持。 2. 可应用于多种应用平台 linux 可支持 x86、powerpc、arm、xscale、mips、sh、68k、alpha、sparc 等多种 体系结构,并且已经被移植到多种硬件平台。这对于经费、时间受限制的研究 与开发项目是很有吸引力的。linux 采用一个统一的框架对硬件进行管理,同 时从一个硬件平台到另一个硬件平台的改动与上层应用无关。 3. 可定制的内核 linux 具有独特的内核模块机制,它可以根据用户的需要,实时地将某些 模块插入到内核中或者从内核中移走,并能根据嵌入式设备的个性需要量体裁 衣。经裁减的 linux 内核最小可达 150kb 以下,尤其适合嵌入式领域中资

33、源受 限的实际情况。 4. 性能优异 linux 系统内核精简、高效、稳定,能够充分发挥硬件的功能,因此它比 其他操作系统的运行效率更高。在个人计算机上使用 linux,可以将它作为工 作站。它也非常适合在嵌入式领域中应用,对比其他操作系统,它占用的资源 更少,运行更稳定,速度更快。 5. 良好的网络支持 linux 是首先实现 tcp/ip 协议栈的操作系统,它的内核结构在网络方面是 非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网 络、toking ring(令牌环)和光纤甚至卫星的支持,这对现在依赖于网络的嵌 入式设备来说无疑是很好的选择。 2.4.3 linux 的

34、版本的版本 任何一个软件都有版本号,linux 也不例外。linux 的版本号分为两部分: 内核(kernel)与发行套件(distribution)版本。 linux 的内核是系统的心脏,内核包括了 700 多万行代码,是运行程序和 管理硬件设备的核心程序。没有内核,就不能运行程序。实际上内核版本指的 是在 linus 领导下的开发小组开发出的系统内核的版本号。 一般而言,一个基本的 linux 只是包含了 linux 核心(kernel)和 gnu 软 件的一些基层系统软件和实用工具(utilities) ,这样一个操作系统仅仅能够让那 些 linux 专家完成一些很基本的系统管理任务,如

35、果要满足普通用户的办公室 或基于视窗的应用开发等需要,则还需要再系统中加入 xfree86 视窗系统、 gnome 和 kde 桌面环境以及相应的办公应用软件等。因此一些组织或厂家将 linux 系统内核与 gnu 软件(系统软件和工具)整合起来,并提供一些安装界 面和系统设定与管理工具,这样就构成了一个发行套件,例如最常见的 slackware、red hat、debian、ubuntu 等。 下面就对有代表性的发行套件版本进行介绍。 1. red hat 国内,乃至是全世界的 linux 用户最熟悉的发行版本想必就是 red hat 了。 red hat 最早是由 bob young 和

36、marc ewing 在 1995 年创建的。目前 red hat 分 为两个系列:由 red hat 公司提供收费技术支持和更新的 red hat enterprise linux(rhel, red hat 的企业版),以及由社区开发的免费的桌面版 fedora core。 red hat 企业版有三个版本as、es 和 ws。as 是其中功能最为强大和 完善的版本。 2. debian debian 是一个致力于创建一个自由操作系统的合作组织,由 ian murdock 于 1993 年创建。该组织创建的操作系统为 debian gnu/linux,简称为 debian。这是一个免费的

37、linux 系统,拥有许多用户。 debian 系统分为三个版本,分别为稳定版(stable) ,测试版(testing)和 不稳定版(unstable) 。并且每次发布的版本都是稳定版,而测试版在经过一段 时间的测试证明没有问题后会成为新的稳定版。 3. ubuntu ubuntu 基于 debian,包括了大量来自 debian 发行版的软件包,保留了 debian 强大的软件包管理系统,以便简易地安装或彻底地删除程序。与大多数 发行版附带数量巨大的可用可不用的软件不同,ubuntu 的软件包清单只包含那 些高质量的重要应用程序。 ubuntu 使用 gnome 桌面环境,并且十分注重系统

38、的安全性,采用 sudo 工具,所有系统相关的任务均需使用此指令,并输入密码,比起传统以登入系 统管理员账号进行管理工作有更加的安全性。ubuntu 设计成为标准安装完成即 可用让使用者投入使用的操作系统,用户不需要另外安装一些额外的软件。 本文开发环境中将使用 ubuntu。 第三章第三章 ppp 协议分析与研究协议分析与研究 3.1 ppp 协议概述协议概述 ppp 协议全称是 point to point protocol,是目前应用范围最广的数据链路层 协议之一,它提供了同步和异步线路上的通信连接,在点对点连接上实现一个 传输多协议数据报的标准方法。在 tcp/ip 协议集中,它是一种

39、用来封装和传输 ip 数据报的数据链路层协议,可以替代 slip(serial line ip,串行线路 ip) 。 除了 ip 协议以外,ppp 还可以封装和传输其他协议,包括 decnet、appletalk 和 ipx 等。 ppp 可以为基于各种主机、网桥和路由器的简单连接提供一种互联的解决 方案,与 ppp 协议推出前广泛应用的 slip 协议相比,ppp 协议具有 slip 所没 有的多项功能:支持多协议、具有帧检错能力、支持 ip 地址的动态分配、支持 身份验证方式的网络安全等。 3.2 ppp 的层次结构的层次结构 ppp 是一个多层协议,如图 3-1 所示。ppp 首先由 l

40、cp 建立和配置通信链 路,再通过 ncp(network control protocol,网络控制协议)传送特定协议族 (如 ip、ipx、appletalk 和 osi 等)的数据。 ppp 主要由如下三大部分组成。 hdlc:用于封装和传输上层数据,并进行差错检测工作。 lcp:用于建立、配置和终止点对点数据链路。lcp 能让 ppp 适用于大多数 环境。lcp 能自动协调配置,如协调数据帧的封装格式、处理数据报大小限制、 探测环路链路和其他普通的配置错误以及终止链路。lcp 提供的可选功能包括 对建立链路的呼叫方进行身份验证;对数据帧进行压缩以提高吞吐率;设置错 误检测以实现可靠无环

41、路的通信链路;设置多链路捆绑以实现负载均衡;设置 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 高级数据链路控制 数据链路层

42、 eia/tia-232、v.24、v.35物理层 图 3-1 ppp 的协议层次 3.3 ppp 的链路建立过程的链路建立过程 为了建立点对点链路通信,ppp 链路的每一端必须首先发送 lcp 包以便设 定和测试数据链路。在链路建立之后,ppp 必须发送 ncp 包以便选择和设定一 个或更多的网络层协议。一旦配置后每个被选择的网络层协议,就能在链路上 发送这些网络层协议的数据报。链路将保持通信设定不变,直到有 lcp 和 ncp 数据包关闭链路,或者是发生一些外部事件(如网络管理员的干涉)导致链路 中断。简化的 ppp 链路建立过程如图 3-2 所示。 消亡 dead up 确立连接 est

43、ablish 认证 authentication 联网 networking 打开 开 成功 终止 terminate 关闭 失败 down n 失败 图 3-2 ppp 的链路建立过程 一个典型的链路建立过程分为三个阶段;创建阶段、认证阶段和网络协商 阶段。 阶段 1:创建 ppp 链路 lcp 负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两 端设备通过 lcp 向对方发送配置信息报文(configure packets) 。一旦一个配置 成功信息包(configure-ack packets)被发送且被接收,就完成了交换,进入了 lcp 开启状态。 应当注意,在链路建立阶段,

44、只是对验证协议进行选择,用户验证将在第 二阶段实现。 阶段 2:用户验证 在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使 用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。 在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认 证者应该跃迁到链路终止阶段。 在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的 packets 是被允许的。在该阶段里接收到的其他的 packets 必须被静静的丢弃。 最常用的认证协议有口令验证协议(pap)和挑战握手验证协议(chap) 。 阶段 3:调用网络层协议 认证阶段完成之后,ppp 将调用

45、在链路创建阶段选定的各种网络控制协议 (ncp) 。选定的 ncp 解决 ppp 链路之上的高层协议问题,例如,在该阶段 ip 控制协议(ipcp)可以向拨入用户分配动态地址。 这样,经过三个阶段以后,一条完整的 ppp 链路就建立起来了。ppp 通信 阶段图如图 3-3 所示。 lcp 协商 认证 网络阶段协商 建立链路 拆除链路 peerpeer 图 3-3 ppp 通信阶段图 3.4 ppp 的帧结构的帧结构 ppp 可以封装上层多种协议的数据包,使之成为互相独立的串行数据帧。 ppp 采用 hdlc 的帧格式,但它是面向字符的。在完整的 ppp 帧中。帧头由帧 开始标记(f) 、地址域

46、(a) 、控制域(c)和协议域(p)组成,帧尾由校验域 (fcs) 、帧结束标记(f)构成,如图 3-4 所示。 图 3-4 ppp 的帧结构 f:标志序列。指示帧的开始和结束,长度为 1 个字节,其内容为 0 x7e。 a:地址字段。这是一个标准的广播地址,长度为 1 个字节,其内容为 0 xff。在非平衡结构传输数据时,地址字段写入次站的地址;采用平衡结构传 输数据时,地址字段写入确认站的地址。 c:控制字段。表示用户数据采用无序帧方式传输,它提供无连接链路服务, 长度为 1 个字节,其内容为 0 x03。 f 0 x7e a 0 xff c 0 x03 pifcs f 0 x7e 标志

47、1b 地址 1b 控制 1b 协议 2b 信息 nb(n)0 校验码 2 或 4b 标志 1b 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 的身份验证的身份验证 对

48、于一个 ppp 会话,身份验证是可选的。当链路已经建立并且身份验证协 议被选择以后,通信双方就可以互相鉴别,如果启用了验证功能,当验证过程 通过之后,才能开始网络层协议配置阶段。 身份验证功能需要呼叫发起方输入验证信息,此信息用来确定用户拥有网 络管理员赋予的呼叫许可。对等的路由器之间可以相互交换身份验证消息。 ppp 提供 pap 和 chap 两种协议进行验证。 pap(password authentication protocol,密码验证协议)使用两次握手机制, 为建立远程节点的验证提供一个简单的方法。当 ppp 链路建立阶段完成后,远 程节点将不断地在链路上发送用户名和密码,直到身

49、份验证通过或者连接被终 止。如图 3-5 所示。 接受或拒绝 router1 mypwd pap 两次握手机 制 远程路由器本地路由器 主机名: router1 密码:mypwd 主机名: router1 密码:mypwd 图 3-5 pap 的身份验证 pap 在进行身份验证时,密码以明文的方式在链路上发送,这使得 pap 的 安全性存在缺陷。由于验证重试的频率和次数由远程节点来控制,因此 pap 不 能防止重放攻击和重复的尝试攻击。 chap(challenge handshake authentication protocol,挑战握手认证协议) 使用三次握手机制启动一条链路和周期性地验

50、证远程节点。chap 可以在初始 链路建立之后立即开始验证工作,也可以在链路建立后的任何时间进行重复验 证。 在 ppp 链路建立阶段完成之后,本地路由器发送一个“挑战” (challenge)消息到远程节点。挑战消息中包含本地路由器的名称和一个随机 数。本地路由器将挑战报文发给远程节点,要求进行身份认证。远程节点使用 对应该路由器的账号和密码组织回应消息,但是密码并不直接包含在回应消息 中,而是使用散列函数(如 md5)对挑战消息中的随机数和密码进行处理,将 处理得到的摘要值放在回应消息中。本地路由器接收到回应消息后,根据自己 保存的用户账号、密码和挑战消息中的随机数计算出摘要,将其与回应消

51、息中 的摘要进行对比,如果匹配,则验证通过。chap 的验证过程如图 3-6 所示。 chap 在进行身份验证时密码本身并不在链路上发送,它通过使用唯一的、 不可预知的、可变的挑战消息来防止重放攻击。因为挑战消息和作为结果的摘 要值是唯一且随机的。在通信的过程中为了提高安全性,可以多次进行挑战验 证。chap 由本地路由器或者一台第三方的验证服务器来控制挑战的频率和次 数。 远程路由器本地路由器 主机名: router1 密码:mypwd 主机名: router1 密码:mypwd 接受或拒绝 回应 挑战 chap 三次握手机 制 图 3-6 chap 的身份验证 第四章第四章 pppoe 协

52、议分析与研究协议分析与研究 4.1 pppoe 协议概述协议概述 pppoe(ppp over ethernet,基于以太网的 ppp 协议)继承了 ppp 拨号的用 户验证和动态 ip 地址分配功能。pppoe 操作方便,网络管理商基本上不需要改 造网络系统就可以实现宽带网络用户的入网身份验证和计费。 pppoe 使得一个共享的以太网上的多个主机,可以通过一个或多个简单的 桥接入设备,与远程接入集中器进行多个 ppp 会话。通过这种方式,每个主机 使用它自己的 ppp 协议栈,并且提供给用户一个熟悉的用户接口。接入控制、 计费和服务类型能够基于每个用户,而不是每个站点来处理。 pppoe 具

53、有以下技术特点。 1)pppoe 利用了已被广泛接受的 ppp 协议个以太网协议,继承了以太网 的快速和 ppp 拨号简单的特点。 2)由于 pppoe 会话是真正的 ppp 会话,能够实现 ip 地址的完全动态分配, 即每次连接都能获得不同的 ip 地址。 3)pppoe 上的 ppp 要求用户认证,因此可以根据用户名计费,而不论用 户是从何处接入的。 4)pppoe 建立了基于 ethernet 的会话,因此服务提供商能够根据连接时间 进行计费。 4.2 pppoe 协议原理协议原理 pppoe 协议分为 2 个具体阶段:发现(discovery)阶段和 ppp 会话阶段。 当某个主机希望

54、发起一个 pppoe 会话时,它必须首先执行 discovery 阶段 来识别对方的以太网 mac 地址,并建立一个 pppoe 会话标识符(session id) 。 在 discovery 阶段,基于网络的拓扑,主机可以发现多个 ac(access concentrator,接入集中器,即 pppoe 服务器) 。discovery 阶段允许主机发现所 有的 ac,然后选择一个。当 discovery 阶段成功完成,主机和选择的 ac 都有 了它们在以太网上建立 ppp 连接的信息。discovery 阶段将一直保持无状态 (stataless)的状态直到建立起一个 ppp 会话。一旦 p

55、pp 会话建立,主机和 ac 都必须为 ppp 虚接口分配资源。 通过发现阶段知道通信双方的 mac 地址和 session id 后,就进入了 ppp 会话阶段,可以进行 ppp 通信。pppoe 会话过程中,始终使用 discovery 阶段 分配的 session id。 整个流程图如图 4-1 所示。 发现阶段的过程实际上就是寻找 isp 的过程,整个发现阶段的过程又可以 分为 5 个阶段。第一阶段是 padi(pppoe active discovery initiation)的过程, 就是 pppoe 的初始化过程。在此过程中用户主机通过广播 padi 数据报向可能 的 isp 提

56、出接入请求,并在 padi 数据报中填入所需服务的名称。第二阶段是 pado(pppoe active discovery offer)的过程,就是当某个 isp 接收到 padi 包后,若 他能满足 padi 包中所提要求的服务项,就可以发送 pado 包来回应发出 padi 用户主机的要求。在 pado 包中一定含有 isp 的名称(mac 地址)和 padi 包中提出的服务项名称。第三阶段是 padr(pppoe active discovery request )的过程,就是当用户主机广播了 padi 数据报后,可能会接收到一个 或多个 pado 客户机 发现阶段 会话阶段 会话终止

57、ppp padt padi padr pads pado 客户机和接入服务 器获得彼此的 mac 地址且服务器分配 唯一的会话号 图 4-1 pppoe 协议流程图 数据报,这时候用户主机可以根据所希望的 isp 和所需服务的名称,来选择其 中一个 isp 进行连接。第四个阶段是 pads(pppoe active discovery session- confirmation)的过程,就是当满足条件的 isp 接收到 padr 数据报后,它向要 求建立连接的用户主机发出 pads 数据包,从而完成了 pppoe 的 discovery(发送)阶段中建立连接的过程。第五阶段是 padt(ppp

58、oe active discovery terminate)的过程,padt 数据报可以由用户主机或 isp 来发出,表 示整个 pppoe 过程的结束。 会话阶段过程实际上就是实现 ppp 协议的过程,整个会话阶段的过程主要 可以分为 3 个阶段。第一个阶段是 lcp(link control protocol) ,完成了有关链 路控制协商的过程,主要是建立、配置、测试数据链路,根据双方的需求,进 行链路的协商和配置。第二个阶段是 ncp(network control protocol) ,就是针 对不同的网络层协议的网络控制阶段。第三个阶段就是 ip 数据的传输阶段。 4.3 pppoe

59、 协议分析协议分析 在 rfc2516 中的 pppoe 主要描述了从建立连接(discovery)到会话 (session)的两个步骤,以及 padi、pado、padr、pads、padt 四种消息 服务器 和会话阶段数据包的 pppoe 帧格式。pppoe 处于协议栈中的位置如图 4-2 所示。 tcp/ip ppp pppoe ethernet 图 4-2 pppoe 在以太网协议栈的位置 4.3.1 pppoe 的包格式的包格式 pppoe 包分为发现阶段包(协商包)和会话阶段包(数据包)两种,图 4- 3 和图 4-4 分别给出协商和数据包两种包格式结构图,由这两种结构图可以看出

60、两者的区别并不大,它们的包头结构是一样的,下面介绍结构域中每一个域的 含义。 ac 端 mac 地址(前 4 个字节) ac 端 mac 地址(后 2 个字 节) pppoe 客户端 mac 地址 (前 2 个字节) pppoe 客户端 mac 地址(后 4 个字节) 以太帧类型(0 x8863)版本类型代码域 会话号数据长度 标签类型标签长度 标签值其它标签 其它标签 图 4-3 pppoe 协商包结构 ac 端 mac 地址(前 4 个字节) ac 端 mac 地址(后 2 个字 节) pppoe 客户端 mac 地址 (前 2 个字节) pppoe 客户端 mac 地址(后 4 个字节)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论