如何分析数据链路协议HDLC及PPP
发布时间 - 2023-05-12 00:00:00 点击率:次一、常用的数据链路协议(hdlc、ppp)
(一)分析协议的思路
步骤一:了解协议的概貌,知道这个协议设计的目的、基本特征
步骤二:以协议数据单元(对于数据链路层而言是帧)的格式为主要线索来研究协议的 具体实现
步骤三:协议如何解决实际问题?
(二)HDLC协议(高级数据链路控制规程)(面向比特协议)
HDLC协议是一个面向比特的协议,其主要解决了数据链路层链路管理、寻址、帧同步、差错控 制、流量控制,其具有了平衡系统的和非平衡系统两个特性。
1、HDLC的组成:
帧结构(语法)
规程元素(语法)
规则类型(语义)
使用HDLC语法可以定义多种具有不同操作特点的链路层协议。
2、HDLC的描述
HDLC在描述时提出了三个层次的概念:
(1)所有参与通信的节点分类(数据站):主站、次站、组合站。
在以前的以单处理机为中心的多终端联机系统的集中式控制,主站和次站时成对出现的,而对于现在的分布式结构(如分组交换网络)来说,所有的站点都是组合站。
(2)链路类型:平衡型,非平衡型。
集中式控制属于非平衡型,而分布式控制则属于平衡型
(3)操作模式:正规响应模式、异步响应模式、异步平衡模式
对于平衡型来说其只有异步平衡模式,即每个站点自主发出通信,是自治系统。而对于由主站和次站构成的非平衡型来说,有正规响应模式,即次站必须受到主站的控制,在没有得到主站许可的情况下,不能主动发起数据传输。而在异步响应模式下,次站可以主动发起数据传输。
3、HDLC协议数据单元的格式(帧格式)
(1)标志字段:帧首字段和帧尾字段在内容上看都是由“01111110”组成,其用来划分帧的起始位置和结束位置
(2)地址字段:其有两个缺陷:一,由于当时是为以单处理机为中心的多终端联机系统设计的,所以只有一个地址(终端地址),不适用于现在的分布式计算机系统。二,地址只有8位,即最多只能表示256个节点。
(3)信息字段:协议数据单元的用户数据部分,长度可变,但是一般情况下是1500个字节。
(4)帧校验序列:使用CRC校验法。
(5)信息帧:发送方在发送数据时使用了固定尺寸的滑动窗口协议(窗口大小固定为7)
4、HDLC帧的类型
帧类型:(1)信息帧:替上层的实体传送数据使用的帧
(2)监控帧:进行差错控制和流量控制
(3)无序号帧:链路管理控制,负责协商双方如何通信、如何使用信道
(三)协议工程设计
1、协议说明(需求分析、功能设计):一般不用自然语言描述(冗余、多义性、结构性不 好)。而用有限状态机(FSM)、Petri网等形式描述
2、协议验证(协议工作模式是否把网络环境所遇到的问题考虑全、是否能够正常运行)
3、协议测试:一致性测试、互操作性测试、性能测试
4、有限状态机:其认为任何一个协议,就是要描述网络中的各种状态,而状态是有限的。
(1)有限状态机是一个四元组(S,M,I,T)
S为状态的集合,M是标号的集合,I是状态的集合,T是变迁的集合
其基本思想为:当出现一个变迁时,会由一个状态迁移到另外一个状态,而变迁产生的原因是来自用户的命令,信息的到达,内部的超时等事件
(2)状态举例:信道有错的单工停等协议
用三元组XYZ来表示状态:XYZ
X:发送方正发送的帧序号,为0或1
Y:接收方正在等待的帧序号,为0或1;
Z:信道状态:为0(表示正在传送序号为0的帧),
1(表示正在传送序号为1的帧),
A(信道正在传送应答帧)
或-(空)(表示信道没有传送数据或者传送的数据出错)
其初始状态为000
(3)优点:简单明了,比较精确
缺点:对于复杂协议来说,事件数和状态数会增加,处理困难。
5、perti网
(1)元素:
位置:描述系统状态,用一个圆圈表示
变迁:描述修改系统状态的事件,用一个长方形或线段表示
弧:描述状态与事件之间的关系,包括输入弧和
输出弧,用用有向弧表示。
黑点:标记,是当前的状态
如图为有错单工停等协议的preti描述,其最大特点在于可以单独描述三种不同的状态
(四)Internet的数据链路层
1、点到点通信的两种主要情形(intenet工作的主要场合):
(1)路由器到路由器:
(2)通过调制解调器拨号上网,或者连入接入服务器
接入INTERNET的方法:拨号接入(用户要想连入internet,有一个路由器或主机相连,必须申请连入才能接入)、专线接入(线路实时开放,不需要申请就可以完成数据传输)
2、SLIP(Serial LINE IP 串行线路IP协议)
本协议1984年提出,发送原始IP数据包,用一个标记字节(0Xc0)来定界,采用字符填充技术。其存在的问题主要有不提供差错校验、只能支持IP协议且IP地址不能动态分配,不支持身份验证,多版本不兼容等问题,现在已经不再使用。
3、PPP(point-to-point Protocol)协议(RFC 1661 16621663)
(1)特点:提供差错校验、支持多种协议、允许动态IP地址、支持身份认证
(2)与SLIP不同的是,其发送的不是原始IP数据包,而是以帧位单位传输。
(3)PPP协议为了增加协议的适应性和灵活性,协议被分为了两个部分,一部分为链路控制协议LCP(LinkControl Protocol),可以建立、测试多种物理层服务,使得本数据链路层可以支持更加丰富的类型
(4)PPPoE(Point to Point Protocol over Ethernet) 是基于以太网的点对点通讯协议
(5)帧格式:PPP协议的帧格式与HDLC协议的帧格式基本相同,但是有以下两点不同:第一,HDLC协议面向比特,而PPP协议面向的是字符,其要求所有通信的节点支持ASCII字符集;第二,PPP协议是HDLC的简化版本:
(1)帧首与帧尾的定界符与HDLC协议相同(00111111),
(2)地址字段保留了8位(为8个1),其不需要地址(应用环境是一条链路对应的两段,不需要地址)
(3)控制字段(无序号帧)
(4)协议字段:处理完成之后指向哪个应用进程进行处理(IP/IPX。。)
(5)净负荷域:缺省为1500字节(6)校验和域:2或4个字节
# 信道
# 链路
# 主站
# 不需要
# 链路层
# 的是
# 是一个
# 数据包
# 有错
# 都是
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何在新浪SAE免费搭建个人博客?
用yum安装MySQLdb模块的步骤方法
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何快速配置高效服务器建站软件?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
JavaScript如何实现倒计时_时间函数如何精确控制
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何实现建站之星域名转发设置?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
JS经典正则表达式笔试题汇总
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
如何快速选择适合个人网站的云服务器配置?
如何基于PHP生成高效IDC网络公司建站源码?
如何在阿里云虚拟服务器快速搭建网站?
大型企业网站制作流程,做网站需要注册公司吗?
如何快速查询域名建站关键信息?
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
如何快速上传自定义模板至建站之星?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何基于云服务器快速搭建网站及云盘系统?
高防服务器如何保障网站安全无虞?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
HTML 中动态设置元素 name 属性的正确语法详解
Laravel storage目录权限问题_Laravel文件写入权限设置
如何在万网利用已有域名快速建站?
Laravel怎么在Blade中安全地输出原始HTML内容
Swift中循环语句中的转移语句 break 和 continue
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
济南网站建设制作公司,室内设计网站一般都有哪些功能?
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Android GridView 滑动条设置一直显示状态(推荐)
Thinkphp 中 distinct 的用法解析
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
浅谈javascript alert和confirm的美化
如何续费美橙建站之星域名及服务?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
如何快速生成橙子建站落地页链接?
Laravel如何实现一对一模型关联?(Eloquent示例)
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
如何快速生成专业多端适配建站电话?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
iOS UIView常见属性方法小结

