PPP协议涉及到的几个典型压缩技术网络知识

时间:2023-03-08 08:04:12 其他范文 收藏本文 下载本文

PPP协议涉及到的几个典型压缩技术网络知识(精选2篇)由网友“琛壹贰叁”投稿提供,下面是小编为大家整理后的PPP协议涉及到的几个典型压缩技术网络知识,如果喜欢可以分享给身边的朋友喔!

PPP协议涉及到的几个典型压缩技术网络知识

篇1:PPP协议涉及到的几个典型压缩技术网络知识

PPP是目前使用最为广泛的链路层协议,本文将集中介绍几个典型的和PPP有关的压缩算法. 为了方便描述,我们首先介绍一下PPP的帧结构: FLAG总是01111110,被用于作为帧之间的分隔符. Address总是为11111111. Control总是为00000011. Protocol指示ppp所承载的上层协

PPP是目前使用最为广泛的链路层协议,本文将集中介绍几个典型的和PPP有关的压缩算法. 为了方便描述,我们首先介绍一下PPP的帧结构:

FLAG总是01111110,被用于作为帧之间的分隔符.

Address总是为11111111.

Control总是为00000011.

Protocol指示ppp所承载的上层协议.

INFORMATION是指PPP所承载的数据部分.

FCS是校验和.

下面我们进入我们的主题,PPP压缩,和PPP相关的压缩分为两类,一类是PPP帧头结构的压缩,一类是PPP所承载上层协议报文的压缩。

PPP帧头结构的压缩主要是指PPP帧头部Address、Control和协议字段的压缩,关于这些压缩的协商发生在PPP Establish阶段。

由于PPP头部的Address字段,Control字段都是固定不变的,所以为了节省带宽就可以压缩这两个字段。PPP会在Establish阶段用Address-and-Control-Field-Compression选项协商是否压缩这两个字段。

由于典型的承载在PPP之上的协议的协议号都小于256,所以用于只是协议号的16位二进制数就可以压缩为8位。PPP也是在LCP阶段协商是否进行协议字段的压缩。

对于PPP所承载上层协议报文的压缩,由于是对上层报文的压缩,所以对于压缩技术的协商必然发生在网络阶段,也就是Establish阶段、Authenticate阶段之后,

对于PPP上层报文而言,我们这里只讨论TCP/IP报文。对于TCP/IP报文而言,又有两种压缩的方法:一是TCP/IP报文首部的压缩,一是TCP/IP整个报文或者说PPP数据部分的压缩。

对于首部压缩而言,目前标准的压缩算法是Van Jacobson TCP/IP头部压缩算法,这个算法使用与否的协商发生在IPCP协商阶段,是作为IPCP的一个参数: IP-Compression-Protocol协商的。Van Jacobson TCP/IP头部压缩算法的基本想法就是维护一定的连接信息,这样双方交互的包文就只需要标识其属于那个连接而不需要携带完整头部了。这个算法可以将40个字节的TCP和IP头部压缩成3个字节,这样显然特别是对比较小的报文(如VOIP报文),效率是惊人的。

对于PPP数据部分的压缩技术的协商,由于数据报文的压缩技术种类比较多,而且事实上不基于任何网络协议,所以IETF特别规范了一个专门的协议:CCP(PPP Compression Control Protocol)用于协商具体协商具体压缩算法、协商压缩算法的具体参数的方法。目前,最常用的PPP压缩算法是Stac压缩算法,它利用压缩效率非常高的LZS算法对报文进行压缩。

以上只是简要介绍了几种常见的和PPP相关的压缩算法,事实上,现在有很多有关PPP压缩的标准,您可以参考我们在参考文献中列出的文档获得更加全面的了解。

下面描述一下华为3ComQuidway路由器上的关于压缩的实现。

Address、Control和Protocol字段的协商是自动完成的,不需要配置。

可以用如下命令配置上层协议头部压缩:

配置TCP头部压缩:ip tcp header-compression

配置PPP Stac压缩:ppp compress stac

另外,华为3ComQuidway路由器上也在封装了FR、PPP、HDLC的串口上实现了基于RFC2057的IPHC压缩技术。

原文转自:www.ltesting.net

篇2:PPP协议链路操作的软件实现网络知识

摘 要:PPP协议是广域网最常用的数据链路层协议之一,链路建立协商是PPP协议的重要组成部分,而 网络 协议的软件实现一直是计算机网络应用的一个重点,PPP协议的软件实现具有很大的应用价值。本文重点探讨LCP建立协商原理的软件实现,并给出了具体的实现方法

摘 要:PPP协议是广域网最常用的数据链路层协议之一,链路建立协商是PPP协议的重要组成部分。而网络协议的软件实现一直是计算机网络应用的一个重点,PPP协议的软件实现具有很大的应用价值。本文重点探讨LCP建立协商原理的软件实现,并给出了具体的实现方法和详细流程。

关键词:LCP;链路建立;有限状态机;PPP协议

1 PPP协议简介

PPP(Point-to-Point Protocol,点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。

PPP协议分为3个组成部分:

(1)一个将IP数据报封装到串行链路的方法。

PPP封装提供了不同网络层协议同时通过统一链路的多路技术,使其保有对常用支持硬件的兼容性。

(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link ControlProtocol)。通信的双方可通过LCP包协商一些选项。

(3)一套网络控制协议(Network ControlProtocol)。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。他支持不同的网络层协议,如IP,OSI的网络层,DECCnet,以及AppleTalk等。

PPP帧封装格式如下:

PPP帧以标志字符01111110开始和结束,地址字段长度为1 B,内容为标准广播地址11111111,控制字段为00000011。协议字段长度为2 B,其值代表其后的数据字段所属的网络层协议。数据字段包含协议字段中指定的协议的数据报,长度为0~1 500 B。CRC字段为整个帧的循环冗余校验码,用来检测传输中可能出现的数据错误。

对应PPP协议的3个部分,PPP数据帧封装也分为:IP数据报封装、LCP控制数据封装、NCP控制数据封装。当PPP帧的协议字段为0x0021时,信息字段就是IP数据报;当协议字段为0xC021时,信息字段是LCP控制数据;当协议字段为0x8021,信息字段是NCP控制数据。

2 链路建立和状态机

2.1 PPP链路建立的概述

一次完整的PPP回话过程包括4个阶段:链路建立阶段、认证阶段、网络层控制协议阶段和链路终止阶段。本文讨论和实现的是链路建立阶段。

链路建立过程如下:请求建立链接的一端用LCP配置信息包(Configure packets)建立连接。对端收到配置信息包以后,如果认为收到的配置请求及协商选项可以接受,将发送配置成功信息包(Configure-Ack packet),当一个配置成功信息包被发送且被接收,就完成了链路建立。在LCP建立完成以后,如果收到LCP配置请求包(LCP Configure-Request)链路将从网络层协议阶段或者认证阶段返回到链路建立阶段。

通常线路两端要对如下的内容进行协商,这些内容包含在LCP配置请求包中:

(1)Maximum-Receive-Unit最大-接收-单元)

(2)Authentication-Protocol(鉴定-协议)

(3)Quality-Protocol(质量-协议)

(4)Magic-Number

(5)Protocol-Field-Compression(协议-域-压缩)

(6)Address-and-Control-Field-Compression(地址-和-控制域-压缩)

2.2 有限状态机模型

PPP协议的LCP层的连接及协商过程比较复杂,通常使用状态机模型来解释PPP状态的详细变迁情况。

状态机是一种记录下给定时刻状态的设备,并根据输入,对每个给定的改变,改变其状态或引发一个动作。有限态自动机由事件、动作和状态转换定义,通过状态机可以详细解释PPP协议中LCP链路建立的状态转换过程。LCP操作的状态机可以分为以下的要素:

状态 状态(当前状态和下一状态)以及状态转换,是状态机的基本概念,

他指明状态机当前时刻在做什么,处于什么情况。在LCP的链路连接状态机中,共有10种状态:Initial,Starting,Closed,Stopped,Closing,Stopping,Rdq-Sent,Ack-Received,Ack-Sent,Opened。

事件 自动机里的状态转换是由事件引起的。在链路连接协商时,本端从线路的对端发送过来的LCP包和自己的状态,判断将要发生的事件,并结合当前的状态判断系统的下一状态。在LCP的链路建立过程中,事件种类较多,大概可以分为以下几类:

①网络状态事件,表明LCP或者NCP的状态变化,包括Up,Down,Open,Close。

②超时计时器事件,与超时计时器有关的事件,包括TO+,TO-。

③S/T数据包事件,包括RCR+,RCR-,RCA,RCN,RTR。RTA,RUC,RXJ+,RXJ-,RXR。动作 自动机中的动作由事件引起,所以,每个

事件都对应了相应的动作。例如,有些动作表明了不同类型的LCP包的传输和(或)Restart timer的启动和停止。

状态跳转表 在PPP的链路操作中,每个状态,在经过特定的事件后,会转变成新的状态,并有可能有相应的事件。这些关系比较复杂,可以用状态跳转表[1]来表示。

3 软件实现

3.1 软件原理

PPP链路的建立、协商和握手的过程是需要建立连接的双方来完成的。每一方根据对端发送的LCP包的类型,做出相应的判断并响应。软件的原理就是用软件来模拟PPP链路中的一端,完全实现协议栈的功能。更重要的是,本文所讨论的实现方法可以实现检测、诊断的目的,这是一般的软件不能做到的。

在实现过程中,软件接收对端的LCP包,然后根据LCP的状态跳转表来决定自己下一步的状态,并产生相应的事件和动作,将响应包通过软件发向对端,达到软件实现链路连接的目的。

软件可以将链路活动的状况,接收和发送的数据包、链路的当前状态一一显示出来。用户可以通过软件详细了解到网络的活动情况和状态。

3.2 实现方法

软件实现的开发工具为BorlandC++Builder可视化开发环境,运行的环境是简体中文Windows98。软件具有信息回显界面,便于用户测试和分析。以下详细说明软件实现的方法。

3.2.1 总体流程

软件的实现部分用到2个子线程,这2个线程分别负责接收和处理数据,并对数据缓冲区进行操作。总体流程如图1所示。

3.2.2 线程结构

软件上采用多线程的技术实现。除了主线程,有2个子线程用于实现链路操作:一个作为数据包接收线程,一个作为数据包处理线程。

当程序开始时,主线程初始化,将自己的状态置为Initial,同时启动数据接收线程。因为这时PPP连接双方这时开始进行连接和协商,所以会收到对端设备的LCP包,接收线程接收LCP包,并交给处理线程处理。处理线程对接收的数据进行解包,解出LCP包的内容,结合当前的情况,得到产生的事件,并根据当前的状态和状态跳转表,决定要模拟的下一个状态,如果必要,将相应的响应发给对端。

处理线程是整个程序的重点,这个线程的流程如图2所示。

可以分为以下几步:

(1)得到接收线程交给的对端数据包。

(2)分析数据包中的内容,根据数据包的类型和当前本端的状态,查找状态跳转表,决定本端下一步的状态。

(3)通过状态-事件的对应,本端执行相应的事件。

(4)将产生的事件,系统的情况通过界面显示。

(5)根据状态跳转表确定是否应该给对端发送LCP包。如果需要,则按照LCP包标准封装数据并发送。

3.2.3 数据结构

在数据结构上,程序使用一个缓冲区,共有10个元素,每个元素有1 500 B左右大小,用来存储每次送 上来的数据以备分析。2个线程分别对缓冲区进行读写。设有一个头指针和一个尾指针以免访问冲突,接收线程从底层读上数据,简单判断后保存在头指针所指向的那个缓冲区元素中,设置其未用标志,头指针加1;处理线程从尾指针指向的缓冲区元素中读出数据,然后进行处理,设置其已用标志,尾指针加1。具体的数据结构如下:

3.2.4 链路情况回显

链路状况和状态转换的情况可以通过LCP包处理子线程来完成。处理子线程每处理一次对端发来的LCP包,就把状态的变化和链路的情况显示在界面上,同时对于超时异常、计时器重启这类事件也能显示出来。用户可以实时的监视线路连接的情况,这对于分析线路有着重要的作用。

3.3 软件实现的应用前景

PPP协议LCP操作的软件实现有重要的实际意义。用户可以通过实现软件的界面显示来判断线路的情况和定位故障的发生地点。一些厂家已经根据本文所说的原理和实现方法做出产品,现在正在推广应用中。

原文转自:www.ltesting.net

PPP 配置协议

浅析智能光网络技术及发展

ppp实施方案重点难点

网络互联方式

投资公司的商业计划书

工程项目论文

《网络互联技术》教学反思

点对点短信是什么

环卫工作计划

乡镇农村生活污水治理工作方案

PPP协议涉及到的几个典型压缩技术网络知识
《PPP协议涉及到的几个典型压缩技术网络知识.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【PPP协议涉及到的几个典型压缩技术网络知识(精选2篇)】相关文章:

经营部岗位职责2023-08-18

全县财税工作会议讲话稿2024-01-21

工程项目管理策划书2023-10-24

建筑工程项目策划书2022-10-09

工程项目策划书2022-08-15

环卫安全生产工作总结2023-10-31

乡镇百县万村工作总结范文2023-03-20

网吧带宽管理解决方案2023-04-29

县街道年终工作总结2023-07-25

项目调度会后总结范文2022-04-30

点击下载本文文档