410 likes | 525 Views
网络通讯. 陈天洲、陈文智. TCP/IP 协议简介. TCP/IP 协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输 参考开放系统互连 (OSI) 模型, TCP/IP 通常采用一种简化的四层模型 : 应用层 传输层 网络层 链路层. TCP协议的实现. TCP协议是面向连接的、端对端的可靠通信协议。 它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂 TCP协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。 它的实现过程可以用状态机来描述。. TCP 连接建立. 建立连接有两种方法,即主动打开和被动打开
E N D
网络通讯 陈天洲、陈文智
TCP/IP协议简介 • TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输 • 参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的四层模型 : • 应用层 • 传输层 • 网络层 • 链路层
TCP协议的实现 • TCP协议是面向连接的、端对端的可靠通信协议。 • 它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂 • TCP协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。 • 它的实现过程可以用状态机来描述。
TCP连接建立 • 建立连接有两种方法,即主动打开和被动打开 • 服务器端是一种被动打开,它一直在侦听连接请求 • 而客户端是一种主动打开,它发送连接请求以建立连接。
TCP连接断开 • 断开连接有两种方式:一是主动断开连接;另一是被动断开连接 • 被动断开连接的处理较为简单,但标准TCP协议的主动断开连接的状态机部分过于复杂。 • 经过实验发现,在需要主动断开连接的时候,发送一个Fin数据报;接收到对Fin数据报的确认后,再发送一个Reset数据报,即可顺利完成一次主动断开连接。 • 标准的TCP协议使用慢启动的滑动窗口机制
IP协议 • IP协议是TCP/IP的基础 • 为不同网络的主机之间发送数据报的操作序列提供无连接服务 • 通过在数据报前添加IP协议头,使每个数据报具有寻址能力。 • 嵌入式系统只把IP作为传输工具,进行简化以完成主要的操作
其它协议 • ARP协议为32位IP地址到对应的48位以太网地址之间提供动态映射。 • 嵌入式系统中仅响应ARP请求,发送ARP回答包。 • 请求者广播出包含ARP请求的以太帧、目的以太网地址为全1的广播地址。本机收到后,由目的IP地址发现自己是目的主机,发送一个ARP回答。 • ICMP通过IP协议传输其报文。IP协议是无连接的,它无法将报文和错误信息传到最初的主机,ICMP将状态信息和错误信息发送到发报文的主机。
嵌入式TCP/IP协议栈应用前提 • 连接在互联网上的电子装置不一定比单独使用的电子装置具有更高的智能功能,但连通意味着提高智能化管理水平 • TCP/IP是一项应用广泛的标准,利用它可以接通并控制电子装置,通过绝大多数传输媒体几乎可以和运行在所有操作系统上的软件进行通信 • 通过TCP/IP与基础设施连接十分简单
嵌入式TCP/IP协议栈适用的范围 • 在商业系统,利用它来进行远程监视服务很有意思 • 嵌入式TCP/IP的最大优越性也许在于它可以使得嵌入式电子装置支持嵌入式的万维网服务器 • 嵌入式TCP/IP的主要用途是进行远程监测 • 万维网服务器还可以对一个电子装置进行远程配置
存在的局限 • 首先嵌入式栈是建在专用的软插座API之上的 • 提供可靠传输,占用了大量的资源 • 体积太大,许多场合不适用
实施的方法 • 采用软件的方式 • 硬件方法 • 采用iReady的芯片或芯核,虽然使用的是4位微处理器也能够和互联网实现直接连接 • DSP方法 • 也可以选用DSP为基础的TCP/IP协议栈
采用方法选择 • 根据所设计的电子装置的实际情况来决定 • 使用硬件功能如何? • 打算如何来实现和互联网的连接? • 需要发送和接收那些种类的信息? • 将软件或硬件芯片整合到所设计的电子装置中去,有没有困难? • 增加一个协议栈,是否需要对所设计的电子装置进行重大更改等等
无线通讯介绍 • 现在无线电技术已经非常成熟,已经在各种场合得到非常广泛的应用,而嵌入式系统中无线通讯更是随处可见。 • 首先我们将概要介绍无线传输。所有的无线通讯都是基于无限传输的。 • 然后是无线局域网(Wireless Local Area Networks)和移动通讯。 • 因为移动手持设备市场前景广阔,我们将重点介绍移动通讯的现状及发展趋势。
无线传输 • 无线传输的媒介是电磁波,所有的信号都以电磁波的方式被发送和接收 • 用来进行无线传输的电磁波波谱一般从无线电波(radio)开始到可见光部分 • 无线电波因为频率不是很高,较容易产生,可以远距离传输,并能够较容易地穿透和绕过障碍物线电波的传播是如水波似的扩散型的 • 无线电波的特性跟它的频率有关
无线局域网 • 无线局域网可以有两种组织方式: • 一种是以一个基站(base station)为中心,所有的移动设备都连接到这个基站上去,因此基站也称为接入点(access point); • 另一种是没有基站,移动设备之间相互连接组成局域网
无线局域网的标准 • 无线局域网的标准802.11由IEEE制定 • 第一个高速无限局域网是802.11a。1999年,IEEE 802.11a标准制定完成,该标准规定无线局域网工作频段在5.15~5.825GHz,数据传输速率达到54Mbps/72Mbps(Turbo), 传输距离控制在10~100米 • 999年9月IEEE 802.11b被正式批准该标准规定无线局域网工作频段在2.4~2.4835GHz,数据传输速率达到11Mbps。 • 2003年6月,IEEE推出最新版本IEEE 802.11g认证标准该标准提出拥有IEEE 802.11a的传输速率,安全性较IEEE 802.11b好 • IEEE 802.11e标准对无线局域网MAC层协议提出改进,以支持多媒体传输,以支持所有无线局域网无线广播接口的服务质量保证QoS机制。 IEEE 802.11f,定义访问节点之间的通信,支持IEEE 802.11的接入点互操作协议(IAPP)。 IEEE 802.11h用于802.11a的频谱管理技术。 • IEEE 802.11i标准是结合IEEE 802.1x中的用户端口身份验证和设备验证,对无线局域网 MAC层进行修改与整合,定义了严格的加密格式和鉴权机制,以改善无线局域网的安全性。 • 个人无线局域网(wireless personal area networks)标准802.15,这就是蓝牙的技术标准
无线移动通讯概述 • 无线通讯分为两类,一类是无线局域网,另一类是无线移动通讯 • 无线设备可以是单向的,也可以是双向的。单向通信包括只接收信号的BP机。 • 双向通信系统包括分组无线电网络和蜂窝系统 • 分组无线电通信(Packet-Radio Communication)。分组无线电通信将一次传输分解成许多小的包含源地址和目的地址,以及错误检测信息的数字分组。这些分组被上联到一个卫星,然后再进行广播。接收设备只接收编址到它的数字分组。由于这种传输是双向的,因而要使用查错和纠错技术。 • 蜂窝数字分组通信(Cellular Digital Packet Communication)。蜂窝通信是一种提供用户和他们的家庭、办公室或网络之间进行双向通信的移动计算设备这些设备具有电子函件处理能力,并且可以传输文件和其它信息
GSM • GSM:“全球移动通信系统”(Global System for Mobile communications) • 蜂窝概念 • GSM使用时分多址方法 • GSM移动台分为两部分 • 一部分包含无线接口特有的软件和硬件 • 另一部分是用户数据——用户识别卡(SIM) • GSM支持这么多数据业务,但是它基本上还是为了话音业务和低速数据业务设计的
GRPS • GRPS是General Packet Radio Service • GPRS是一项高速数据处理的科技,即以分组的“形式”把数据传送到用户手上 • GPRS拥有171.2kbps的访问速度 • GPRS是基于包转发机制的 • GPRS是根据数据流量收费的 • GPRS完全支持了移动Internet的功能 • GPRS的缺点是:一个蜂窝小区内用于容量有限,并且实际数据传输速度远低于理论值
CDMA • CDMA全称码分多址接入技术(Code Division Multiple Access) • 建立在正交编码、相关接收的理论基础上 • 运用扩频通信技术解决无线通信的选址问题的多址接入方式 • 在CDMA技术中,先用一个扩频码(spreading code)对数据进行调制,然后传输 • CDMA还有一个非常显著的优点是它能充分利用多路衰减现象
CDMA与GSM/GPRS比较 • GSM/GPRS系统有一个缺点,就是移动台在跨越两个蜂窝小区的时候,要先跟原来所在的小区的基站断开连接,然后跟后来所在的小区的基站进行连接,这个称为先断后连的转台(handover),又称为硬转台(hard handover)。这种情况下,正在进行的通话就要被断开了。 • 而这种情况在CDMA技术中就不存在了,因为所有的基站都使用相同的频道,所以完全可以在断开之前先跟下一个基站连接好,这称为先连后断的转台,又称为(soft handover)。 • CDMA的信号功率远小于GSM等系统的功率,所以其辐射也很小,这对人体健康可能有一定好处
从1G到3G • 随着对通信业务种类和数量需求的剧增 • 业务类型主要限于语音和低速数据的第二代移动通信系统已不能满足需要 • 大容量、高速率、全方位的第三代移动通信系统(3G)应运而生 • 1G 网络(NMT, C-Nets, AMPS, TACS)是最早的模拟蜂窝系统 • 2G 网络(GSM, cdmaOne, DAMPS)是最早的数字蜂窝系统 • 3G 网络 (UMTS FDD and TDD, cdma2000 1x EVDO, cdma2000 3x, TD-SCDMA, Arib WCDMA, EDGE, IMT-2000 DECT)是目前已投入商用的带宽最高的无线通讯网络系统 • 4G 目前基本上还只是个概念性的名词
3G的数据业务范围 • 移动音频业务 • 通过互联网协议传送声音 • 静态图像 • 移动图像 • 虚拟本地环境 • 电子代理 • 未来的移动手持设备将不仅是现在的移动电话一样以通话作为主要功能,而将是一种移动通讯设备跟移动计算设备的结合,也就是智能手机(Intelligent Cell Phone)
构件化协议框架概述 • TCP/IP协议是发展至今最成功的通信协议 • 路由器则是Internet的基石 • 目前的路由器大部分都支持多个协议,即多协议路由器 • 目前的通讯设备逐步向着多CPU发展 • 协议构件化框架NSPCF(Networks Sub-Protocol Component Frame),应用构件技术将通讯协议划分为子构件,完成高性能路由器上的高效通讯 • 构件技术把单个的应用程序分割成多个独立的构件,某一块构件可独立的被新的构件更新、替换
NSPCF网络子协议构件框架组成 • 传统网络协议和服务设计模式(面对过程)越来越不能满足网络增长和发展的需求 • NSPCF主要由四个部分组成:协议构件、构件库、协议构件操作系统、构件开发平台
NSPCF模型 需求分析 程序员 构件库 协议模块化 构件开发平台 协议构件 构件操作系统 协议运行,提供网络服务
NSPCF特征 • NSPCF具有传统CBSD具有的一切特征,包括封装性、复用性、扩展性,同时提供一组扩展特性,诸如系统安全、动态加载、跨平台、分布式、开放性 • NSPCF框架继承于CBSD,基本执行模块是与对象等价的构件 • NSPCF的复用模型是要建立一种基于代码和二进制级的复用模型 • 在NPCF框架中,有三种类型的成员public、private、protected • 通过设计一个安全进程SP(security process)对系统安全性进行管理 • 跨平台性
构件库 DIC DDC 构件系统 CTE 构件跨平台实现
网络协议构件化拆分 • 对于传统的按层次划分的网络协议,我们必须先进行模块化,然后才能构件化,组装成协议构件 • 协议模块化的目的在于控制协议的粒度 • 构件的粒度越小,协议划分得越细,协议构件越多;构件粒度越大,协议划分得越粗,协议构件就越少 • 按层次构件化、按功能构件化、按使用对象构件化
协议1 构件A1 构件A2 构件A3 协议2(v1) 协议2(v2) 构件B1 构件B2 构件b1 构件b2 协议构件的组装
按使用对象构件化 • 还可以按照协议构件的使用对象对协议进行构件化。 • 对于某一个网络协议,使用对象可以分为多种,有服务端使用,有客户端使用;有给同一层协议使用的,有给上一层协议使用的;有给一般用户使用的,也有给超级用户使用的,这些使用对象的特性,都可以用来对协议进行构件化。 • 应用程序在使用网络协议时,有可能只是使用到了协议的某一个模块,例如客户端模块。这时候,就可以提供协议构件中的客户端构件给应用程序。
协议构件库设计 • 所有的协议构件都被统一放置在构件库PCB(Protocol Component Base)中进行统一管理 • 协议构件库是针对网络通讯需求特点开发的、不断完善改进的、用来对构件化的协议进行使用、管理和维护的软件构件库 • 管理和维护涉及一系列问题: • 构件的有效分类、快捷检索和准确理解机制; • 用户权限控制能力; • 构件库体系的可定制性与库间互操作性技术问题。 • 协议构件库是一个由构件数据库、数据库管理系统、网络通信模块等组成的一个完整的体系。
构件索引 • 基于层次的构件索引 • 在协议构件化时,按照OSI参考模型的层次,对每层的协议进行构件化。构件化的协议放在不同的层次中。 • 基于功能的构件索引 • 在协议构件化时,按照协议不同组成部分的功能进行划分和构件化。此时,构件化的协议没有层次的要求,但是被构件化的协议应该可以划分出独立的功能模块。 • 基于使用对象的构件索引 • 在协议构件化时,按照服务、协议,对每层的协议进行构件化。构件化的协议放在不同的层次中。
构件分类 • 基本构件。基本构件是整个协议构件库的根本,协议和服务最终由基本构件组装而成,因此,在构件库中的实际上是基本构件。 • 协议构件。协议构件是一种虚拟的构件。即在构件库中实际不存在这种构件,但是为了更方便快捷的检索,建立索引,将常用的协议看成是一种构件。 • 服务构件。与协议构件一样,它也是一种虚拟的构件,同样,也是对常用的服务建立索引表。
协议组装 • 协议构件本身是无法单独为通信设备提供服务的,因此需要一种机制,能够将这些被拆分的对象进行组合,以提供通信服务。 • 针对网络构件化之后,协议栈的动态重构的情况,通过建立构件化协议组装模型来达到协议组装重用和定制通信服务的目的。 • 构件化协议组装模型从各种协议构件中选择符合需求的模块,按照协议层次重新组装使用。 • 采用构件化和封装方法后,在对协议进行拆分后产生的构件,将在某一时刻在重新组成协议栈、协议和服务。在进行这个重组时,采用组装模型来完成这个工作
协议组装模型作用 • 组装模型与操作系统和构件库的通信,通信设备端与构件库端的通信。 • 对服务对象性能参数的跟踪、选择和协商。 • 对服务对象的组装工作。 • 组装完成的服务对象的检测和初始化。 • 服务对象的管理工作。
组装模型体系结构 • 用户:用户说明需要的目标服务 • 通信器:负责与用户和其他模块的通信和交流 • 组装器:负责将各个构件组装成对应的协议,协调构件关系 • 测试器:对组装好的服务对象使用典型测试数据进行测试 • 监控器:负责监控和记录构件执行的各项参数,在适当的时候反馈给构件库 • 管理器:负责控制和维护不同的通信服务