这是我在CSDN上的第100篇原创博客,虽然并没多少人看,但是在写的过程中,自己对 问题的思考有了进一步的提升。如果别人看到,并因此而理解了一个问题,也算是一种收获吧!

本篇主要总结广域网的两个协议,这两个协议我在看的时候总是想快速跳过去,不想深入了解,因此写文字总结的形式放慢脚步,仔细思考一下。

PPP协议–面向字节

Point-to-Point Protocol
PS:点对点,不是CSMA/CD,因此没有最短帧的概念

组成
  • 链路控制协议LCP
  • 网路控制协议NCP
  • 将IP数据报封装到串行链路的解决方案:IP数据报是PPP帧的信息部分
帧格式

首尾各用一个字节7EH(or 0111,1110)表示界。地址字段A,也是一个字节,规定为FFH,控制字段一个字节,规定为03H,首部除了FAC三个字节外,还用2字节表示协议类型字段。首部过完是信息字段,可以有0~1500字节大小的帧。因为没有最小帧长的困惑,所以比较自由一些。

尾部是两个部分,首先,发完了帧当然需要验货一次:FCS,2字节的循环冗余检验。这里的FCS要检验A,C,协议字段,信息。在局域网的MAC帧是4字节的FCS,这里也是一个区别,最后也是一个字节的F字段,即7EH。

Tips:

  • PPP提供差错检测不提供纠错机制,是不可靠的传输协议,因为不用序号也不用确认机制。
  • 仅仅支持点对点通信,不支持多点通信
  • 只支持全双工链路
  • PPP的两端可以是不同的网络层协议
  • PPP 面向字节,信息字段出现和标志字段一致的比特组合,有两种应对机制:字节填充或比特填充。
    • 如果是异步,字节填充
    • 如果是同步,比特填充
  • 软件实现

HDLC协议–面向比特

High-level Data Link Control
下面是各种夸这个协议的优美的。

夸一夸HDLC

该协议不依赖于任何一种字符编码集,数据报文可以透明传输,用于实现透明传输的方法是0比特插入法,易于硬件的实现;全双工通信,CRC检验,且对帧进行顺序编号,防止漏发或者重发,可靠性高;传输控制功能与处理功能分离,较为灵活。

HDLC的适用场景:非平衡配置和平衡配置
非平衡配置:一个主站控制整个链路的工作
平衡配置:两端都是复合站,平等的发起数据传输

站是什么

HDLC中有三种站:主站,从站和复合站

主站:发命令帧
从站:发响应帧,听命于主站
复合站:可以发命令也可以发响应帧

数据操作方式

共三种:

  • 正常响应方式:非平衡结构的操作方式。主站向从站传输数据,从站响应传输,从站只有在主站许可后才尽行响应。
  • 异步平衡传输:平衡结构的操作。
  • 异步响应方式:非平衡结构的操作方式。从站不必等到主站同意,就可以进行响应传输。
HDLC帧格式

除了少了协议字段,其他几乎与PPP相同。

0比特填充法:信息字段中连续的5个1就在后面插一个0.
帧格式也是FAC+信息字段+FCS(2字节)+F

这里的AC不是固定为FFH,03H就OK的,有更复杂的控制。

A:共8位,非平衡的方式中,写入从站的地址;平衡方式中,写的是应答站的地址
C:8位,非常精细的控制。共三大类,主要看第一、二位的数据:

  • 信息帧(I):0XXXXXXX,用于传输数据信息,或使用捎带技术对数据进行确认
  • 监督帧(S):10XXXXXX,用于流量控制和差错控制,执行对信息帧的确认,请求重发和请求暂停发送等功能
  • 无编号帧:11XXXXXX,用于提供对链路的建立,拆除等多种控制功能。

二者的综合对比

  • PPP面向字节,HDLC面向比特
  • PPP帧多一个2字节的协议字段,当协议字段是0x0021时,表示信息字段数据是IP数据报。
  • PPP不使用序号和确认机制,只保证无差错接收,硬件进行CRC检验,端到端的差错检测由高层协议负责。HDLC协议的信息帧使用编号和确认机制,提供可靠传输。

但是HDLC设计这么巧妙,还保证可靠传输,现在几乎不用了。因为链路如果本身够可靠,这里的可靠控制就太耗时了,成本太高,没有PPP快捷。因此现在PPP才是更广泛应用的协议。
以上。

广域网协议之PPP,HDLC相关推荐

  1. 广域网协议:PPP协议和HDLC协议—Vecloud微云

    点到点协议( Point to Point Protocol,简写PPP)是在点到点链路上传输数据报的一种方法. PPP是一种面向位的协议,可在同步或异步链路上运行. PPP使用高级数据链路控制( H ...

  2. 广域网二层之PPP协议

    1.广域网概述 WAN:wide area network,广域网是一种覆盖范围较大的网络,可以跨市,跨国通信.常见的广域网协议有PPP.HDLC.FR.ATM等. 分类: 1.点对点 PPP和HDL ...

  3. 计算机网络-数据链路层(广域网及相关协议(PPP协议帧格式,HDLC协议)数据链路层设备(网桥,交换机))

    文章目录 1. 广域网的概念 2. PPP协议(面向字节的协议) PPP协议组成部分 PPP协议的帧格式 3. HDLC协议(面向比特的协议) HDLC站(主站,从站,复合站) HDLC协议帧格式 4 ...

  4. 广域网协议(HDLC协议和PPP协议)

    2.1 HDLC(高级数据链路控制协议) 是一个在同步网上传输数据.面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Cont ...

  5. 【计网】第三章 数据链路层(5)广域网协议PPP、HDLC,数据链路层设备

    目录 3.7 广域网及相关协议 一.广域网 二.PPP 协议的特点 三.PPP 协议应满足的要求 四.PPP 协议无需满足的要求 五.PPP 协议的三个组成部分 六.PPP 协议的状态图 七.PPP ...

  6. 【计算机网络】数据链路层 : 广域网 ( 广域网概念 | PPP 协议 | PPP 协议功能 | PPP 协议组成 | PPP 协议帧格式 )

    文章目录 一.广域网 二.广域网 与 局域网 对比 三.PPP 协议 四.PPP 协议 需要实现的功能 五.PPP 协议 不需要实现的功能 六.PPP 协议 组成部分 七.PPP 协议 示例 八.PP ...

  7. HDLC协议及PPP协议

    在数据链路层有两个重要的协议,即HDLC协议和PPP协议.           HDLC协议是面向比特的,而PPP协议则是面向字节的,HDLC的帧采用开头跟结尾都是01111110作为帧的边界,这样当 ...

  8. HCIP第三天(HDLC协议与PPP协议)

    网络类型 - 根据数据链路层使用的协议来进行划分的     MA - 多点接入网络         BMA - 广播型多点接入网络         NBMA - 非广播型多点接入网络     P2P ...

  9. pap认证要交换几次报文_华为HCIA认证RS路由与交换 —— 链路状态协议OSPF PPP原理与配置方法详解...

    本文讲述了华为HCIA认证R&S路由与交换 -- 链路状态协议OSPF & PPP原理与配置方法.分享给大家供大家参考,具体如下: 文章目录 链路状态路由协议--OSPF 开放式最短路 ...

最新文章

  1. 32岁健身教练转行程序员,拿到年薪76万offer
  2. redis数据结构之一:链表
  3. javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件
  4. 7-93 矩阵A乘以B (15 分)
  5. (15)FPGA面试题存储器资源区别
  6. 一加8系列获得认证:骁龙865加持 离上市又近一步
  7. mysql中怎么表示100美元_MySQL 事物,美国服务器
  8. ESP8266 wifi钓鱼
  9. 一个简单的定时任务的开始和取消
  10. 不可磨灭的记忆 CPU发展史经典回顾
  11. linux 开源中文字体,有哪些免费的中文字体可以下载?
  12. 2022珠三角深圳锂电池技术展览会暨论坛|2022华南广东深圳锂电池技术展览会
  13. win10右键卡顿原因_右键菜单反应慢?win10系统解决右键菜单卡顿方法
  14. android 实现广告弹窗,Android实现自适应屏幕的弹窗广告
  15. 网页上怎么查询服务器地址,怎么查看一个网页的服务器地址
  16. 线性代数《Linear Algebra and Its Application》学习总结
  17. 智多星手机销售系统.
  18. Input系统学习-----move事件的合并
  19. SDL应用之三种字库
  20. The Butcher

热门文章

  1. android double值排序,android根据Double类型数据经纬度算出距离再根据距离实现排序功能...
  2. (1)鼠标单独移动两个actor
  3. python 投屏_这款神器,完美解决了手机投屏的问题
  4. jasper s java jacal_Jasper's Java Jacal
  5. linux 建立用户kde目录,安装KDE Plasma后,你要做的七件事
  6. 蓝牙mesh_什么是蓝牙mesh,蓝牙mesh特征,蓝牙mesh应用
  7. oracle 开启事务_javaSE第十四部分 JDBC(2)mysql事务和JDBC实现事务
  8. qlearning算法_通过OpenAI Gym编写第一个强化学习算法
  9. 如何在Ubuntu上安装MariaDB
  10. python变量_Python变量