计算机网络:数据链路层(广域网、PPP协议、HDLC协议)

2023-12-18 10:12

本文主要是介绍计算机网络:数据链路层(广域网、PPP协议、HDLC协议),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天又学会了一个知识,加油!

目录

一、广域网

二、PPP协议

1、PPP协议应满足的要求

2、PPP协议无需满足的要求

3、PPP协议的三个组成部分

4、PPP协议的状态图

5、PPP协议的帧格式

三、HDLC协议

1、HDLC的站(主站、从站、复合站)

2、HDLC的帧格式

4、PPP协议与HDLC协议对比

总结


一、广域网

广域网(WAN,Wide Area Network),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。

二、PPP协议

点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。
特点: 只支持全双工链路。

1、PPP协议应满足的要求

  • 简单:对于链路层的帧,无需纠错,无需序号,无需流量控制。
  • 封装成帧:帧定界符
  • 透明传输:与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
  • 多种网络层协议:封装的IP数据报可以采用多种协议。
  • 多种类型链路:串行/并行,同步/异步,电/光…
  • 差错检测:错就丢弃。
  • 检测连接状态:链路是否正常工作。
  • 最大传送单元:数据部分最大长度MTU。
  • 网络层地址协商:知道通信双方的网络层地址。
  • 数据压缩协商

2、PPP协议无需满足的要求

  • 纠错
  • 流量控制
  • 序号
  • 不支持多点线路

3、PPP协议的三个组成部分

  • 1.一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
  • 2.链路控制协议LCP:建立并维护数据链路连接。
  • 3.网络控制协议NCP: PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

4、PPP协议的状态图

5、PPP协议的帧格式

三、HDLC协议

高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.

数据报文可透明传输,用于实现透明传输的“o比特插入法”易于硬件实现

采用全双工通信

所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。

1、HDLC的站(主站、从站、复合站)

1.主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。

⒉从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。

3.复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。

三种数据操作方式:

  • 1.正常响应方式
  • 2.异步平衡方式
  • 3.异步响应方式

2、HDLC的帧格式

1)信息帧(I)第1位为0,用来传输数据信息,或使用捎带技术对数据进行确认;

2)监督帧(S)10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能

3)无编号帧(U)11,用于提供对链路的建立、拆除等多种控制功能。

4、PPP协议与HDLC协议对比

相同点:

  • HDLC、PPP只支持全双工链路。
  • 都可以实现透明传输。
  • 都可以实现差错检测,但不纠正差错。

不同点:


总结

以上就是数据链路层之广域网、PPP协议、HDLC协议的相关知识点。

这篇关于计算机网络:数据链路层(广域网、PPP协议、HDLC协议)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508020

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片