(通信与信息系统专业论文)嵌入式系统的internet接入技术初步实现.pdf_第1页
(通信与信息系统专业论文)嵌入式系统的internet接入技术初步实现.pdf_第2页
(通信与信息系统专业论文)嵌入式系统的internet接入技术初步实现.pdf_第3页
(通信与信息系统专业论文)嵌入式系统的internet接入技术初步实现.pdf_第4页
(通信与信息系统专业论文)嵌入式系统的internet接入技术初步实现.pdf_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

上海大学硕士学位论文嵌入式系统的i n t e r n e t 接入技术初步实现 论文摘要 近几年来随着微电子技术的迅猛发展,各种高性能、低功耗、低价格的嵌入 式处理器大量涌现,嵌入式系统的应用越来越广泛。嵌入式处理器大量的应用于 工业控制、通讯、仪器仪表、航空航天、军事装备、消费类电子产品中。与此同 时,在t c p i p 协议集的基础上构建起来的i n t e r n e t 网络也在日益普及,它已经 成为我们日常生活的一部分。无论是在家中、在办公室或者其他地方,都能方便 地连接到网络上。人们开始对连接各种嵌入式设备到现有的j p 网络上产生了浓 厚的兴趣。8 1 6 位低端嵌入式系统和3 2 位中高端嵌入式系统的网络接入具有不 同的特点和应用领域。结合两者的特点,取长补短,以尽量低的成本实现具有实 际应用价值的网络接入方案是一项很有意义的工作。 本课题通过采用c y p r e s s 公司的5 1 系列8 位单片机a n 2 1 3 1 q c 和 s a m s u n g 公司的3 2 位a r m 处理器$ 3 c 4 5 1 0 b 这两种有代表性的处理器构建 起8 位和3 2 位的网络接入平台,研究了8 位和3 2 位嵌入式系统的网络接入方 法。并且在3 2 位的a r m 平台上实现简单的双端口网关,为由8 位单片机构建 的低端网络提供公共的网络接1 :3 。最终将两种平台有机的结合在一起构建起了一 个完整的有实际应用价值的解决方案。 本论文详细介绍了该方案的软、硬件设计过程。 关键词:a n 2 1 3 1 q c ,$ 3 c 4 5 1 0 b ,a r m ,r t l 8 0 1 9 a s ,嵌入式系统,t c p i p 以太网,嵌入式网络连接 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接八技术初步实现 a b s t r a c t r e c e n t l y ,w i t ht h ed e v e l o p m e n to f i ct e c h n o l o g y ,k i n d so fe m b e d d e d p r o c e s s o r w i t h h i g hp e r f o r m a n c e 、l o wp o w e rc o n s u m p t i o n a n dl o wc o s t f e a t u r e s a p p e a r e d 。e m b e d d e dp r o c e s s o ra r ew i d e l y u s e di ni n d u s t r i a l c o n t r o l 、c o m m u n i c a t i o n 、i n s t r u m e n t 、s p a c ei n d u s t r y 、m i l i t a r yi n d u s t r y 、 c o n s u m p t i o n e l e c t r o n i cf i e l d s 。a tt h es a m et i m e ,t h ei n t e r n e tb a s e do nt c p i p p r o t o c o lh a sb e i n gap a r to fo u re v e r y d a y l i f et h r o u g ht h ed e v i c e st h a ts u r r o u n d u sa th o m e 、a tw o r ka n de l s e w h e r e 。w i t ht h ep o p u l a ro fi n t e r n e t ,p e o p l eh a v e m o r ea n dm o r ei n t e r e s ti n c o n n e c t i n ge v e r yd e v i c e st oi n t e r n e t 。c o m p a r i n g w i t h3 2b i te m b e d d e ds y s t e m ,c o n n e c t i n g8 16b i te m b e d d e ds y s t e m st o in t e r n e th a sd i f f e r e n tf e a t u r e sa n du s e sd i f f e r e n tm e t h o d s 。h 0 wt op r o v i d ea u s d f u la n dl o wc o s ts o l u t i o nw h i c hi n h e r i t st h e s et w os y s t e m s s t r o n g p o i n t sa n d a b a n d o n st h ed i s a d v a n t a g e si saf u l ls e n s ew o r k 。 t h i s p r o j e c t d i s c u s s e st h es o l u t i o nf o r c o n n e c t i n g 8b i ta n d3 2b i t e m b e d d e ds y s t e m st oi n t e r n e tu s i n gt h e p l a t f o r m b u i l to na n 2 13 1q ca n d $ 3 c 4 5 1 0 b p r o c e s s o r s 。a c o m m o n i n t e m e ti n t e r f a c ei sp r o v i d e df o r8b i tm c u t e r m i n a l st h r o u g had u a lp o r tg a t e w a yu s i n g3 2b i ta r m p r o c e s s o r 。a tt h e s a m et i m e ,af u l la n du s e f u l ls o l u t i o ni sp r o v i d e db y c o m b i n i n g8 b i tp l a t f o r m w i t h3 2b i tp l a t f o r m 。 t h i sp a p e rw i l ld e s c r i p tt h eh a r d w a r ea n ds o f t w a r ed e s i g ni nd e t a i l 。 k e y w o r d s :a n 2 1 3 1 q c ,$ 3 c 4 5 1 0 b ,a r m ,r t l 8 0 1 9 a s ,e m b e d d e ds y s t e m t c p i p ,e t h e r n e t ,e m b e d d e di n t e r n e t 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谓 的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:墨渔! 虱e t 本论文使用授权说明 期2 哪a - j 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:墨滥! 訇导师签名:强;翻i 菊 日期:p 一 上海大学硕士学位论文嵌入式系统的i n t e m e t 接入技术初步实现 图1 图2 图3 图4 图5 图6 图7 图8 图9 图1 0 图1 1 图1 2 图1 3 图1 4 图1 5 图1 6 图1 7 图1 8 图1 9 图2 0 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 图2 8 图2 9 图3 0 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 7 图3 8 图3 9 图4 0 图4 1 插图目录 方案的系统框图 8 位单片机网络终端实物照片 基于$ 3 c 4 5 1 0 b 的取端口以太网网关实物照片 t c p i p 协议概念性层次结构 t c p i p 各层协议对h 丌p 数据报文的处理一 以太网上a r p 请求和应答分组的格式, i p 数据包的格式 i c m p 报文格式 i c m p 回送请求与回送应答报文格式, t c p 报文段的结构 u d p 数据报封装成一份l p 数据报的格式 u d p 帧格式 以太网的帧格式 8 位单片机终端整体硬件系统框图 存储器部分电路一 单片机与r t l 8 0 19 a s 的连接框图 网络连接单元电路, 电平隔离电路 串口和u s b 接口电路, 电源部分电路 8 位单片机网络终端的p c b 版图 软件框架结构 协议栈内部各层的接1 3 以及软件数据流向一 r t l 8 0 1 9 a s 的内部总线结构 d m a 操作有关的寄存器 r t l 8 0 1 9 a s 寄存器列表 t c p 协议的状态机, c o r m 结构体 串口调试信息显示 p i n g 程序显示 1 e 浏览器结果显示 a r m 状态下的寄存器组织 $ 3 c 4 5 1 0 b 的结构框图 3 2 位a r m 网关整体硬件系统框图 $ 3 c 4 5 1 0 b 复位电路 $ 3 c 4 5 1 0 b 与f l a s h 存储器的连接框图 $ 3 c 4 5 1 0 b 与s d r a m 存储器的连接框图 r t l 8 2 0 1 芯片部分电路 $ 3 c 4 5 1 0 b 和r t l 8 0 1 9 a s 连接框图, 3 2 位a r m 双端口网关p c b 版图 软件层次结构 一“_瑚。一口:。m川m m侣佰偈仃仃仃侣加加到挖孙拍孙曲sj;5;制蛇钙们 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 图4 2 初始化后的地址空间分配 图4 3 地址重映射( r e m a p ) 后的地址空间分配 图4 4u c i o s 的体系结构 图4 5 初始化后的堆栈结构 图4 6 模式切换操作 图4 7l r q 中断的响应过程 图4 8 数据接收时的描述符操作 图4 9u c ,o s - 运行演示 图5 0 10 0 m 网口p i n g 程序测试响应结果显示 图5 1简单网关测试程序运行界面 表格目录 表1i p 首部各部分含义解释 表2i c m p 类型字段 表3m 【4 :o 】的值与处理器模式的对应关系 表48 3 0 4 5 1 0 b 的中断源 表5m a c 功能模块描述 表6 带缓冲d m a 接1 3 ( b u f f e r e dd m ai n t e r f a c e ) 模块描述 表7b d m a 控制与状态寄存器 表8m a c 控制与状态寄存器 帖钉伯伯跎弘娩盯盯鹋 墙国髭 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 第一章引言 近几年来随着微电子技术的迅猛发展,各种高性能、低功耗、低价格的专 用计算机( 嵌入式计算机) 大量涌现,使得嵌入式计算机大量应用于工业控制、通 讯、仪器仪表、航空航天、军事装备、消费类电子产品中。现在,嵌入式系统带 来的工业产值已超过一万亿美元。美国未来学家尼葛洛庞帝曾预言的”后p c 时 代”已经来临。 目前大多数嵌入式系统还处于单独应用的阶段,这种方式以m c u 为核心通 过与其他设备配合来实现一定的功能;一些系统也可以通过专用通信线实现局部 的互连,在各数据终端之间进行简单的数据传输和控制。但是,在这些系统中通 信介质要专用的,例如r s 4 8 5 、电流环路、l o n w o r k s 、c a n 、f i e l d b u s 等等; 并且具有标准不通一,连接的范围有限,不能方便的进行系统的动态扩展,成本 高,速度低,支持的应用有限等缺点。 与此同时,i n t e r n e t 已经像一场革命一样改变了世界。其将近三十几年的发 展已经向世人展示了其无限的膨胀能力。i n t e m e t 现已成为重要的社会基础信息 设施之一,是信息流通的重要渠道,如果嵌入式系统能够连接到i n t e r n e t 上,就 可以方便低廉得将信息传递到几乎世界上任何一个地方。 将众多嵌入式设备挂接到i n t e r n e t 网上有着深远意义【1 】: 不需要专用通信线路,现有的全球网已经将世界的各个角落实现了互联; 协议是现成而公开的。只要符合协议规定的规范,就可以实现网络互联; 信息以数据、文字、图像、表格或语音等多媒体形式传输,实时数据会 自动更新,设备的操作会有及时可见的反馈; 每次信息传输都可以让相应的客户机按照各自的需要给予显现和操作; 网络化是提高产品质量,减少人力资源的主要途径; 嵌入式i n t e r n e t 技术具有广阔的应用前景,其应用领域包括: 智能公路 包括交通管理,车辆导航,流量控制,信息监测与汽车服务等; 工业自动化 包括工业过程自动控制,电力电网安全,电网设备检测等; v 信息家电 包括冰箱、空调等家电的网络化,可视电话,家居多媒体等: 智能小区管理 包括视频门控,水电煤气表的自动抄表和安全防火防盗系统等; 基于网络的多媒体应用 包括网络会议,点歌系统,远程医疗诊断系统,远程视频传输等。 在实际应用中,通常采用以太网( e t h e r n e t ) 技术连接各嵌入式终端构建起 局部快速网络,再通过公共的网络接口,连接到外部i n t e r n e t 网络上。之所以选 择以太网是因为以太网技术具有以下优点吲: 应用广泛:以太网技术是目前应用最广的计算机通信技术; 标准化:基于t c p i p 的以太网是一种标准化的开放网络; 易于互联:很容易与i n t e r n e t 连接: 成本低:通常为各类常用现场总线价格的十分之一; 速度快:1 0 m ,1 0 0 m 的以太网已经普遍应用,1 0 0 0 m 以太网也已成熟; 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 配套资源丰富:以太网技术已经积累了大量的经验与技术,可节约成本; 发展潜力大:企业和个人对高速网络具有越来越高的需求。 嵌入式系统通常都是由8 1 6 位单片机或者3 2 位中高端r i s c 处理器构建的, 因此研究嵌入式系统的i n t e r n e t 接入也就是研究如何将上述平台接入到 i n t e r n e t 。8 1 6 位低端嵌入式系统和3 2 位中高端嵌入式系统的网络接入具有不 同的特点和应用领域,其实现方式也有所不同。结合两者的特点,取长补短,以 尽量低的成本实现具有实际应用价值的网络接入方案是一项很有意义的工作。 本课题通过采用c y p r e s s 公司的5 1 核8 位单片机a n 2 1 3 1 q c 和 s a m s u n g 公司的3 2 位a r m 处理器$ 3 c 4 5 10 b 这两种有代表性的处理器构建 起8 位和3 2 位的网络接入平台,研究了8 位和3 2 位嵌入式系统的网络接入方 法,并且在3 2 位的a r m 平台上实现简单的双端口网关,为由8 位单片机构建 的低端网络提供公共的网络接口。最终将两种平台有机的结合在一起构建起了一 个完整的有实际应用价值的解决方案。 2 上海大学硕士学位论文嵌入式系统的i n t e m e t 接入技术初步实现 第二章总体方案设计 2 1 现有的嵌入式i n t e r n e t 总体方案分类 8 1 6 位低端嵌入式系统和3 2 位中高端嵌入式系统有着不同的应用领域,这 主要由于它们在系统结构和处理能力上有较大的差别,因此在网络的接入上,通 常也采用不同的方法。 目前,主要存在以下嵌入式设备连接网络的方案: 1 8 位m c u + 精简t c p i p 协议栈:根据低端系统应用的特点,将t c p i p 协议栈做大幅度的简化,只实现各协议规定的核心功能,只保留应用系统必须的 协议,这样,就可以大幅度减少对于系统资源的需求,从而可以在低成本、低速 度、小内存的m c u 上实现网络连接,这样的方案的优点是廉价,便于广泛应用; 缺点是:a 需要熟悉t c p i p 协议栈的细节和底层的网络接口设备,对开发人员 有较高要求;b 开发周期较长,协议栈需要长期深入测试、修改才能达到可靠 性要求;c 在实现t c p i p 协议栈时,缺乏方便有效的调试设备和方法;d 处 理能力有限,只能用于小数量数据传输场合。 2 8 位m c u + 专用t c p i p 协议芯片1 3o j :由专用的实现网络协议栈的芯片 控制网络接口控制器,实现与网络的接口,厂商会提供相应的函数接口。这种方 案应用简单,但具有以下缺点:a ,芯片成本相对较高;b 不同专用接1 :3 芯片所 支持的网络协议及接口固定,使用不灵活。 3 3 2 位m c u + o s 3 1 :采用3 2 位的高档处理器,通常运行操作系统,t c p i p 协议栈通常作为操作系统的内嵌部分由操作系统提供商提供或者由用户按照操 作系统规范添加。用户程序在多任务操作系统平台上进行开发。这种方案存在如 下缺点:a 构建高档3 2 位系统成本较高;b 需要获得操作系统和开发软件, 商业版本通常价格昂贵;c 需要进行操作系统移植和编写驱动程序。 4 p cg a t e w a y + 专用网:通过r s 2 3 2 ,r s 4 8 5 ,c a n ,红外,射频等 轻量级总线构成专用网络把多个嵌入式设备连接在一起,然后再将该专用网络连 接到一个p c 上,该p c 作为网关将专用网络上的信息转换为t c p i p 协议数据 包,然后发到网上实现信息共享。该方案存在如下缺点:a 需要依赖p c 机作 网关进行协议转换;b 在多个嵌入式系统分散的情况下,专用网络布线不便; c 需要在p c 机上安装专门的软件,该软件通常由专门的软件商提供,费用较 高。这一技术的代表是e m i t 4 。 通过对上述各方案的分析,我们可以得到如下结论:在8 位和1 6 位单片机 上实现i n t e r n e t 协议有一定难度,且应用场合受限制;但是将所有单片机替换成 3 2 位处理器,从经济上也不现实;p cg a t e w a y + 专用网技术虽然提出了一种 折衷的方案,但依然需要一台p c 计算机作为网关。因此,在实际应用中需要有 更高效、更廉价、更方便的方案。 2 。2 本课题的嵌入式i n t e r n e t 总体方案概述 本课题通过对现有的各种常用的嵌入式设备连接网络的方案的分析,结合它 们的特点,取长补短,以尽量低的成本实现具有实际应用价值的网络接入方案: v 采用8 位单片机实现分散的网络接入终端,在8 位机上实现精简的 t c p i p 协议栈; 3 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 采用以太网( e t h e r n e t ) 作为专用网络将各8 位机终端连接在一起,整 个专用网络内采用t c p i p 协议进行通信; 采用3 2 位嵌入式处理器构建双端口以太网网关( g a t e w a y ) 用于替代 p c 网关,为由8 位单片机构建的低端网络提供公共的网络接口。 方案的系统框图如图1 所示: 图1 方案的系统框图 系统的技术参数如下: 1 8 位单片机终端: v ,m c u 采用c y p r e s s 的a n 2 1 3 1 q c ( 2 4 m h z ) : v ,3 2 kr a m 作为数据存储器,6 4 k bf l a s h 作为程序存储器: 1 0 me t h e r n e t 采用r t l 8 0 1 9 a s 以太网控制芯片; 实现协议:a r p ,i c m p ,i p ,u d p ,t c p ,h t t p 等: 采用c 语言编写代码,编译后占用f l a s h r o m 空间为1 8 k b y t e s 实物照片如图2 所示: 图28 位单片机网络终端实物照片 4 上海大学硕士学位论文嵌入式系统的i n t e r n e t 接入技术初步实现 2 3 2 位a r m 处理器构建的以太网网关: m c u 采用s a m s u n g 的s 3 c 4 5 1 0 b ( 5 0 m h z ) ; 1 6 m b 的s d r a m 2 m b 的f l a s h ; 1 0 me t h e r n e t 采用r t l 8 0 1 9 a s 以太网控制芯片: 采用r t l 8 2 0 1 l 为$ 3 c 4 5 1 0 b 内置的1 0 0 mm a c 控制器提供p h y 采用u c ,o sj ir t o s ( 实时操作系统) ; v ,移植免费的l wj pt c p i p 协议栈; 应用层实现简单的网关协议。 实物照片如图3 所示: 图3 基 s 3 0 4 5 1 0 b 的双端1 3 以太网网关实物照片 2 3 工作原理简述 2 3 1t c p ,i p 网络协议栈工作原理【5 】 2 :量:! :! 丛:旦笙缝趟蕴丝握筮丝星逸毽型 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。 t c p i p 协议软件是由四个构建在第五层即硬件层上的概念层次构成的。图4 给 出了这些概念性的层次结构以及在这些层次之间传输的数据形式。 概念性层次 通过层问的对象 j 碰葫谣攀 i 誓篡警耄争。报文或数据流 ”| 传谚羼+ ;i - 一i 夺= = z 一运输协议分组 。网缝罄鬻 ? 网疆罐口蓑牟2 2 3 。p 数据报 一。辱= 一特定网络的帧雠1 i 十 图4t o p ip 协议概念性层次结构 ( 1 ) 应用层负责处理特定的应用程序细节。在这个最高层里,用户调用应 用程序来访问t c p i p 互联网络。与各个运输层协议协调工作的应用程序负责发 送和接收数据。每个应用程序选择适当的运输服务类型。应用程序把数据按照运 输层的格式要求组织好后向下层发送。常用的应用层协议包括:h t t p ( 超文本 传输控制协议) 、t e l n e t ( 远程登录) 、f t p ( 文件传输协议) 、s m t p ( 简单邮 件传送协议) 、d n s ( 域名解析协议) 、s n m p ( 简单网络管理协议) 。 5 上海大学硕士学位论文嵌入式系统的i n t e r n e t 接入技术初步实现 由于8 位嵌入式网络通常面向专门的、小数据量的应用,通常只实现特定应 用的协议。在本系统中主要实现了h 丌p 协议。 ( 2 ) 传输层主要为两台主机上的应用程序提供端到端的通信。传输层包括 t c p 传输控制协议和u d p 用户数据报协议这两种互不相同的协议。t c p 协议 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数 据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分 组的超时时钟等。u d p 协议则为应用层提供一种简单的服务。它只把称作数据 报的分组从一台主机发送到另一台主机,但并不保证一定能够到达,所有的可靠 性要求必须由应用层来提供。 ( 3 ) 网络层,有时也称作互联网层。处理分组在网络中的活动。它接收传 输层的请求,传输某个具有目的地址信息的分组。该层把分组封装在l p 数据报 中,填入数据报首部,使用路由算法来进行路由选择。该层还要处理收到的数据 报,根据其目的地址将其送上层处理或继续转发。网络层还要处理差错控制报文。 在t c p i p 协议族中,网络层协议包括i p 协议( 网际协议) 、i c m p 协议( i n t e r n e t 互联网控制报文协议) 以及i g m p 协议( i n t e r n e t 组管理协议) 。 ( 4 ) 网络接口层,有时也称为数据链路层。这是t c p i p 协议软件的最底层, 它负责接收i p 数据报和把数据报通过选定的网络发送出去。网络接口层包括一 个设备驱动程序,也可能是一个复杂的使用自己的数据链路协议的子系统。从本 质上讲,t c p i p 定义了一个隐藏物理网络细节的抽象“网络“。通过网络接n 层的抽象,使t c p i p 协议集可以构建在不同的硬件媒质上,实现了与硬件平台 的无关性。在本系统中t c p i p 构建在以太网上,因此网络接口层的功能由实现 以太网协议的以太网接口控制器来实现。 呈:曼! ! 星堡旦翌丝噬叠e 星趁竖兰丝匠垄! 企璺 在网络接口层以上的各层协议中,根据本课题的应用需求,主要涉及到以下 各协议: 应用层协议:h t t p 超文本传输控制协议; 传输层协议:t c p 传输控制协议;u d p 用户数据报协议; 网络层协议:i p 网络协议;i c m p 网络控制报文协议; 中间层辅助协议:a r p 地址解析协议 应用程序传输的数据在t c p i p 协议栈中是逐层向下传递的直到被作为一串 比特流送入网络。各个层次的协议都会在收到的数据帧上添加自己的首部和尾部 数据。如图5 所示: 图5t o p lp 各层协议对h t t p 数据报文的处理 6 军重 耍兰 堕萼薯兰 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 2 :墨:! :2 :! 空- 生e 童:2 l & 毖趁坦 ( 1 ) a r p 地址解析协议嘲 a r p 为i p 地址到对应的硬件地址之间提供动态映射。抽象的t c p i p 协议 集屏蔽了底层的物理特性,i p 及以上各层协议是根据i p 地址来工作的。但是, 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 4 8b i t 的以太网地址来确定目的端的。设备驱动程序从不检查l p 数据报中的目 的i p 地址。i p 协议在往以太网层发送数据之前,要通过a r p 协议来获取目的 i p 地址对应的以太网物理地址。因此,a r p 协议也被称作中问层辅助协议。 从功能上说,a r p 被分成两部分;一部分在发送分组时把一个i p 地址映射 到一个物理网络上;第二部分回答其他机器的a r p 请求。 a r p 协议维持一个保存着最近处理的i p 地址到物理地址映射的高速缓存。 当给定一个目的网点的i p 地址时,a r p 协议会查询高速缓存看是否有对应的物 理地址映射。若有,则提取该物理地址,把数据放到使用该地址的帧中,并把此 帧发送出去。若没有,则必须广播一个a r p 请求并等待一个应答。当a r p 协 议收到来自网络的a r p 分组时,会提取发送方的i p 地址和物理地址对,更新本 地的a r p 高速缓存。 当a r p 报, 文从一台机器上传到另一台上时,它们必须放入物理帧中。图6 显 示了在以太网上解析i p 地址时,a r p 请求和应答分组的格式。 66222112646 4 l 以太网以太网帧硬件协设硬件地址协议地址 o p 发送端以发送端目的端以目的端 f 目的地址源地址类型类型类型长度长度太同地址f p 地址太网地址f p 地址 1l 以太网首部 1 2 8 字节的 r p 请求应答 7 图6 以太网上a r p 请求和应答分组的格式 以太网帧类型表示后面数据的类型。对于a r p 请求或应答来说,该字段 的值为0 x 0 8 0 6 。 硬件类型字段表示硬件地址的类型。它的值为1 即表示以太网地址。 协议类型字段表示要映射的高层协议地址类型。它的值为o x 0 8 0 0 即表 示i p 地址。 v ,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以 字节为单位。对于以太网上i p 地址的a r p 请求或应答来说,它们的值 分别为6 和4 。 操作字段指出四种操作类型,它们是a r p 请求( 值为 ) 、a r p 应答( 值 为2 ) 、r a r p 请求( 值为3 ) 和r a r p 应答( 值为4 ) 。这个字段是必 需的,因为a r p 请求和a r p 应答的帧类型字段值是相同的。 2 二呈:! :2 :2 壁z l i :! l i 型趟 ( 1 ) f p 协议川 j p 是t c p i p 协议族中最为核心的协议。i n t e r n e t 所有的数据都以l p 数据 报格式传输。i p 协议为上层协议提供不可靠的和无连接的数据包传送服务。不 可靠( u n r e l i a b l e ) 的意思是它不能保证i p 数据报能成功地到达目的地。i p 仅提 供最好的传输服务。若发生某种错误时,如某个路由器暂时用完了缓冲区,i p 有一个简单的错误处理算法:丢弃该数据报,然后发送i c m p ( i n t e r n e t 控制报 文协议) 消息报给信源端。任何要求的可靠性必须由上层来提供( 如t c p ) 。无 7 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 连接( c o n n e c t i o n l e s s ) 的意思是i p 并不维护任何关于后续数据报的状态信息。 每个数据报的处理是相互独立的。 i p 数据包的格式如图7 所示: 版本l 首部长度j 服务类型总长度 标识 标志片偏移 生存时间协议 首部校验和 源地址 目的地址 可选项 数据 各部分的含义如表1 所示 图7l p 数据包的格式 区域描述 版本是指f p 协议的版本号。4 代表i p v 4 ,6 代表i p v 6 首部长度 以3 2 位字为单位来计算的首部长度,通常为5 ,首部 最长为6 0 个字节 服务类型 包括一个3 位的优先权( p r e c e d e n c e ) 子字段、4 位的 t o s 字段和1 位未用位,4 b i t 的t o s 分别代表:最小 时延、最大吞吐量、最高可靠性和最小费用 总长度 指整个i p 数据报的长度( 包括首部和数据) ,按字节 计 标识由发送方指定的i d ,唯一标识主机发送的每一份数据报 标志三位分别用来指示”分片”,“不分片”,最后一个b i t 保留 分片偏移指出一个分片部分 生存时间数据报可以经过的最多路由器数 协议指出在所接收的数据包载荷中包含的下一层协议 首部检验和根据i p 首部计算的检验和码 源地址发送方的l p 地址 目的地址目标方的i p 地址 可选项 可变长度,定义安全和处理限制、记录路径、时间戳、 宽松的源站选路、严格的源站选路等信息 。 填充保证i ph e a d e r 以3 2 - b i f 边界结束 数据数据包的载荷 表1i p 首部各部分含义解释 ( 2 ) i c m p 网络控制报文协议【8 】 f c m p 经常被认为是p 层的一个组成部分。它传递差错报文以及其他需要注 意的信息。i c m p 报文通常被l p 层或更高层协议( t c p 或u d p ) 使用。i c m p t i i 文 是放在i p 数据报内被传输的。i c m p 报文的格式如图8 所示: 8 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 图8i c m p 报文格式 类型字段可以有1 5 个不同的值,以描述特定类型的i c m p 报文。某些i c m p 报文还使用代码字段的值来进一步描述不同的条件。i c m p 类型字段的具体定义 如表2 所示: 类型字段i c m p 报文类型 0 回送应答( p i n g 应答) 3目的地不可达 4 源站抑制( s o u r c eq u e n c h ) 5 重定向( 改变路由) 8 回送请求 9 路由器通告 1 0 路由器请求 1 1 数据报超时 1 2 数据报参数错 1 3 时间戳请求 1 4 时间戳应答 1 5 信息请求( 已过时) 1 6 信息应答( 已过时) 1 7 地址掩码( a d d r e s sm a s k ) 请求 1 8地址掩码( a d d r e s sm a s k ) 应答 表2i c m p 类型字段 在8 位单片机终端中只实现了回送应答报文,以支持p i n g 程序检测网络终 端的连接情况。回送请求与回送应答的报文格式如图9 所示: 0 81 6 3 1 类型( 8 或0 )代码( o ) 校验和 标志符 序号 可选数据 图9i c l i p 回送请求与回送应答报文格式 可选数据( o p t l 0 n a ld a t a ) 字段是一个可变长度字段,它包含要返回给 发送者的数据。回送应答通常返回与所接收的请求完全相同的数据。标识符 ( i d e n t i f i e r ) 字段和序号( s e q u e n c en u m b e r ) 字段被发送者用来把应答和 请示相匹配。类型( t y p e ) 字段的值指明报文是一个请求( 8 ) 还是一个应答( 0 ) 。 2 3 12 3 鳢箍星终议 传输层中主要包括t c p ( 传输控制协议) 、u d p ( 用户数据报协议) 。 t c p 协议是t c p i p 协议集中另一种关键的协议,它提供了一种可靠的流投 递服务;而u d p 协议仅仅提供应用程序之间传送数据报的机制,提供和i p 协议 一样的不可靠的无连接数据报传输服务。 g 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 t c p 和u d p 都依靠l p 层来传输报文。二者都使用端i = i 号作为送往主机的解 码地址。t c p 和u d p 将每台机器看作是一些抽象的访问目的即协议端口 ( p r o t o c o lp o r t ) 的集合。端口号由各个具体应用所确定。每个u d p 数据包和t c p 数据段中都含源端i :3 号和目的端口号。端口号通过两种方式:采用集中式管理机 构来统一指派( u n i v e r s a la s s i g n m e n t ) 提供常用服务的知名端1 3 ( w e l l - k n o w n p o d ) ;采用动态绑定( d y n a m i cb i n d i n g ) 指派用户可自由使用的端i :3 号。例如: 提供f t p 服务的知名端e l 号为2 1 ;提供t e l n e t 服务的知名端口号为2 3 。用 户可任意指派的端口号常常取大于1 0 2 4 的值。 ( 1 ) t c p 协议 t c p 协议的数据包结构 t c p 提供一种面向连接的、可靠的字节流传送服务。t c p 是建立在所谓连 接抽象( c o n n e c t i o na b s t r a c t i o n ) 之上的,它所对应的对象不是单独的端e l 号而是 一个虚电路连接,连接使用一对端点来标识。t c p 报文段的结构如图1 0 所示: o71 53 1 源端口目的端口 序号 确认序号 首都长度l 保留l 标志窗口 校验和紧急指针 可选项 数据 图1 0t c p 报文段的结构 源端和目的端的端口号:用以标识两端通信的应用程序的t c p 端口 号。这两个值加上i p 包头中的源端i p 地址和目的端f p 地址,唯一 确定一个t c p 连接。 序号:用来标识这个报文段在发送方的数据字节流中的位置。 确认序号:包含发送确认的一端所期望收到的下一个8 位组的序号。 v ,首部长度:给出了以3 2 比特为单位的首部长度值。 码元比特字段:指出了报文段的目的和内容,对首部中其它字段进 行解释。 窗口字段:给出了接收缓冲区的大小。 校验和字段:覆盖整个t c p 报文段:t c p 首部和t c p 数据。 紧急指针:是一个正的偏移量,与序号字段中的值相加表示紧急数 据最后一个字节的序号。 t c p 连接的建立与关闭 t c p 是面向连接的。在将数据发向远方主机之前,必须先建立t c p 连接, 才可以进行点一点之间的数据交换;在数据传送结束后也应该断开连接。 t c p 使用三次握手协议来建立连接: 1 、 请求端( 通常称为客户) 发送一个s y n 段指明客户打算连接的服务器 的端口,以及初始序号( i s n ) 。这个s y n 段为报文段1 。 2 、服务器发回包含服务器的初始序号的s y n 报文段( 报文段2 ) 作为应 答。同时,将确认序号设置为客户的i s n 加1 以对客户的s y n 报文段进行确认。 一个s y n 将占用一个序号。 3 、 客户必须将确认序号设置为服务器的i s n 加1 以对服务器的s y n 报文 1 0 上海大学硕士学位论文 嵌入式系统的i n t e r n e t 接入技术初步实现 段进行确认( 报文段3 ) 。 至此,一个t c p 连接建立,连接的两端可以进行数据的传输了。 关闭t c p 连接共有4 步: 1 、客户机向服务器发出关闭段( f i n ) 。此时,客户机不能再向远方服务器 发送数据,但是仍可接收数据。 2 、服务器向客户机发出关闭一应答段,确认序号为收到的序号加1 ,一个 f i n 将占用一个序号。此时。服务器还可以向客户机发送数据,即接入处于“半 关闭”状态。 3 、 服务器向客户机发出关闭段( f i n ) ,关闭本侧的连接。 4 、 客户机为响应服务器的关闭,向服务器发出关闭一应答段,将确认序号 设置为收到序号加1 。 至此,t c p 连接被关闭。 t c p 中的滑动窗口协议 t c p 在提供数据流传输服务时使用了可变的滑动窗口协议。通过使用滑动窗 口协议可以有效的提高数据流传输过程的效率。由于t c p 面向连接的差错控制 的机制,使得数据流中被插入了有些随机性的应答环节,它改变着传送率。t c p 通过数据窗的滑动来调整数据的传送率。t c p 的滑动窗口的大小可以随时改变。 每一个t c p 段中,服务器都将其当前可用于接收的数据容量( 即t c p 数据窗, 不计应答) 通知对方,使发送方可以及时调解发送数据包的大小。这样做的好处 是:不仅提供可靠传输,而且还提供流量控制。 t c p 协议的可靠性 t c p 在数据传输过程中采用确认与超时重传的机制来保证数据的可靠性。 t c p 的确认信息指出了接收方期望收到的下一个8 位组的序号,并且采用累计 确认( c u m u l a t i v ea c k n o w i e d g e m e n l ) 方法。t c p 发送方在定时时间内如果没 有收到接收方的确认,就要进行数据的重传。t c p 采用自适应重传算法以适应 互连网时延的变化,该算法的要点是:t c p 监视每条连接的性能,由此推算出 合适的定时器时限。 ( 2 ) u d p 协议【9 】 u d p 是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好 产生一个u d p 数据报,并组装成一份待发送的l p 数据报。u d p 数据报封装成 一份i p 数据报的格式如图1 1 所示: 图1 1u d p 数据报封装成一份ip 数据报的格式 u d p 不提供可靠性:它把应用程序传给l p 层的数据发送出去,但是并不保 证它们能到达目的地。当数据包到达目标时u d p 没有确认机制。它不处理以混 乱顺序到来的报文,也不提供反馈来控制主机间的信息流。因此u d p 消息会丢 失、重复或顺序混乱。这就要求由应用程序来对传输的可靠性做出保证。 u d p 的帧格式如图1 2 所示: 上海大学硕士学位论文嵌入式系统的i n t e m e t 接入技术初步实现 1 6 位源端口1 6 位目的端口 6 位长度1 6 位校验和 ( u d ph e a d e r + d a t 舢( u d ph e a d e r - d a t a l 负载数据 图1 2u d p 帧格式 v ,端口号:表示发送进程和接收进程。t c p 端口号与u d p 端口号是相互 独立的,但两个协议通常选择相同的知名端口号。 长度字段:指的是u d p 首部和u d p 数据的字节长度。该字段的最小值 为8 字节。 检验和:覆盖u d p 首部和u d p 数据。u d p 的检验和字段是可选的。 u d p 检验和是个端到端的检验和。它由发送端计算,然后由接收端验证。 其目的是为了发现u d p 首部和数据在发送端到接收端之间发生的任何改动。尽 管u d p 检验和是可选的,但是它们应该总是被使用,尤其是在物理网络条件不 是很佳的网络上使用时。 ( 3 ) u d p 与t c p 的区别 作为传输层的两个不同的协议,u d p 和t c p 各具特点,可以为不同需求的 应用层程序提供满足要求的传输服务。 由于u d p 没有保证可靠性的机制,协议相对简单,u d p 才能够实现较高的

温馨提示

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

评论

0/150

提交评论