【计算机网络-数据链路层】广域网(WAN)

news2024/11/25 20:27:30

文章目录

  • 1 广域网的概念
  • 2 PPP 协议
    • 2.1 PPP 帧的格式
    • 2.2 PPP 帧的透明传输
      • 2.2.1 面向字节的透明传输——字符填充法
      • 2.2.2 面向比特的透明传输——零比特填充法
    • 2.3 PPP 协议的工作状态

1 广域网的概念

广域网(Wide Area Network,WAN),又称外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网的通信子网主要使用分组交换技术。

广域网不等于互联网,互联网可以连接不同类型的网络,通常使用路由器连接。

在这里插入图片描述

2 PPP 协议

点对点协议(Point-to-Point Protocol,PPP)是目前使用最广泛的点对点数据链路层协议。它是使用串行线路通信的面向字节的协议,该协议直接应用在直接连接两个节点的线路上。设计的主要目的是通过拨号或专线的方式建立点对点连接发送数据,只支持全双工链路

PPP 协议有三个部分:

  • 链路控制协议(LCP):建立并维护数据链路链接。
  • 网络控制协议(NCP):PPP 支持同时采用多种网络层协议,每个网络层协议都需要用一个 NCP 配置,为网络层协议建立和配置逻辑连接。
  • 一种将 IP 数据报封装成帧的方法

2.1 PPP 帧的格式

在这里插入图片描述

  • 标志(Flag)字段:PPP 帧的定界符,取值为 0x7E(01111110)。
  • 地址(Address)字段:取值为 0xFF,预留(目前没有什么作用)。
  • 控制(Control)字段:取值为 0x03,预留(目前没有什么作用)。
  • 协议(Protocol)字段:其值用来指明帧的数据载荷应向上交付给哪个协议处理。
  • 帧检验序列(Frame Check Sequence,FCS)字段:其值是使用循环冗余校验 CRC 计算出的检错码。

2.2 PPP 帧的透明传输

透明传输:若在数据中恰好出现与帧定界符相同的比特组合,那么会被误认为传输结束而丢弃后面的数据,透明传输解决的就是这个问题。

2.2.1 面向字节的透明传输——字符填充法

  • 若数据部分出现了 0x7E,就必须做字节填充,每一个 0x7E 减去 0x20(相当于异或 0x20),然后在其前面插入转义字符 0x7D。
  • 若数据部分出现了 0x7D,就必须做字节填充,每一个 0x7D 减去 0x20,然后在其前面插入转义字符 0x7D。
  • 若数据部分出现了 ASCII 码控制字符(即 ASCII 数值小于 0x20 的字符),就必须做字节填充,每一个字符加上 0x20(相当于异或 0x20,将其转换成非控制字符),然后在其前面插入转义字符 0x7D。

2.2.2 面向比特的透明传输——零比特填充法

  • 对帧的数据载荷进行扫描(一般由硬件完成),每出现 5 个连续的比特 1,则在其后填充一个比特 0。

2.3 PPP 协议的工作状态

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python】面向对象编程,这么大一个对象你不要嘛?

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 万物皆是对象,Python当然支持面向对象编程。 类和对象是面向对象编程的两个主要方面,类创建一个新的对象,对象是这个类的实例。 对象可以使用类的变量,属于对象或类的变量…

MyBatis01 学习遇到的错误

错误1 java.lang.NullPointerException at com.utils.MybatisUtils.getSqlSession(MybatisUtils.java:34) at com.dao.UserDaoTest.test(UserDaoTest.java:14) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.…

进程间通信方式

每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 管道 管道传输数据是单向的,如果想相互通信,我们需要创建两个管道才行。 「|」表示的…

前端引入和html标签

先安装 flask模块 pip install flask from flask import Flaskapp Flask(__name__)#创建了网址 /show/info 和函数index的对应关系 #以后用户在浏览器上访问 /show/info,网站自动执行 index app.route("/show/info") def index():return "西安钟楼…

Vivado自带仿真器:真的不好用吗?

Vivado仿真器不好用?如果你还不熟悉它的操作方法,可能会有这种感觉。 实际上,与ModelsIm相比,Vivado仿真器的仿真速度稍慢,但是它的界面美观整洁,操作丰富且流畅,特别适合于调试仿真时间短的工…

JUC高级九-Synchronized与锁升级

1. synchronized 锁优化的背景 用锁能够实现数据的安全性,但是会带来性能下降。无锁能够基于线程并行提升程序性能,但是会带来安全性下降。 为求平衡将synchronized优化为不在是无所和重锁两个状态,新增偏向锁和轻量级锁来平衡安全性和性能问题 synchro…

【一起啃书】《机器学习》第四章决策树

第四章 决策树 4.1 基本流程 决策树是一类常见的机器学习方法,是基于树结构来进行决策的,通过对训练样本的分析来确定划分属性,来模拟人类决策过程。 一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点,…

分页查询工具类

package xyz.huanggy.minio.upload.Util; import java.util.ArrayList; import java.util.List; public class PageBean<T> {/*** 功能&#xff1a;分页工具类*/private int pageSize; // 每页记录数private int pageNo; // 当前页private int totalPages; // 总页数priv…

【Redis】Lua快速入门使用

【Redis】Lua快速入门使用 文章目录【Redis】Lua快速入门使用1. 概述2. 数据类型2.1 变量2.2 循环3. 函数4. 条件控制1. 概述 Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用…

vue+Nodejs+Koa搭建前后端系统(二)--koa-generator创建项目及分析

前言 采用上一篇vueNodejsKoa搭建前后端系统&#xff08;一&#xff09;–简易版创建的项目目录的基础上&#xff0c;创建新的后端服务项目server2使用koa-generator脚手架创建后端项目计算机系统为Windows 10 专业版 小说中&#xff0c;终成眷属一般就结局了&#xff0c;但现…

ESP32在ESP-IDF框架下为LVGL(v8.3)配置SD卡文件系统

踩坑记录 1、如果SD卡曾经做过系统盘&#xff08;比如说&#xff1a;作为树莓派的系统盘&#xff09;&#xff0c;那么要把系统盘的分区合并成一个&#xff08;这个网上有很多教程&#xff09;&#xff0c;并重新格式化&#xff0c;否则实验会失败。 2、并不是买回来的新的SD卡…

基于Vant组件库二次封装组件(TS+Vue3.x环境)

1. 今天的需求是封装一个 Navigation Bar 导航栏组件&#xff0c;目的是给到App几乎所有的页面复用&#xff1a; 2. 因为之前的项目里使用过Vant组件库&#xff0c;笔者第一时间想到了Vant组件库中的 NavBar 组件&#xff0c;和当前App的需求匹配度很高。Vant组件库的 NavBar 组…

压箱底教程分享,手把手教会你如何注册target账号和下单

喜欢套利的朋友肯定都认识target这个平台吧&#xff0c;它是美国热门的综合性海淘网站之一。东哥近日收到私信有朋友向我请教在注册target账号时遇到的一些问题&#xff0c;所以今天东哥想跟大家分享的就是就是target账号注册教程和下单流程&#xff0c;让也想注册target账号的…

软考第五章 无线通信网

无线通信网 无线通信网包括面向语音通信的移动电话系统以及面向数据传输的无线局域网和无线广域网。 WiFI底层是如何传输数据的呢 1.移动通信 1.1 蜂窝通信系统 1980年中期&#xff0c;欧洲和日本都建立了第一代蜂窝移动电话系统。蜂窝网络把一个地理区域划分成若干个称为…

Vue2-黑马(五)

目录&#xff1a; &#xff08;1&#xff09;vue2-组件重用 &#xff08;2&#xff09;vue2-element ui安装 &#xff08;3&#xff09;vue2-ElementUI-table &#xff08;4&#xff09;Element-ui-分页pagination &#xff08;1&#xff09;vue2-组件重用 页面上有很多的…

PyTorch中的符号索引和函数索引用法

Pytorch中很多函数都采用的是函数式索引的思路&#xff0c;而且使用函数式索引对代码可读性会有很大提升。 张量的符号索引 张量也是有序序列&#xff0c;我们可以根据每个元素在系统内的顺序位置&#xff0c;来找出特定的元素&#xff0c;也就是索引。 一维张量的索引 一维…

离线安装JumpServer

官网操作手册&#xff1a; https://docs.jumpserver.org/zh/v3/installation/setup_linux_standalone/offline_install/ 环境要求&#xff1a;&#xff08;内存最小需要4G&#xff09; 架构图 安装部署 1、下载 JumpServer官网下载&#xff1a; https://community.fit2cloud…

定点数的二进制表示形式

定点数的二进制表示形式 文章目录定点数的二进制表示形式什么是定点数表示格式数值范围与分辨率转换python 转换定点数C 双精度浮点数转换为8位和16位定点数C 将定点数转回浮点数测试什么是定点数 在嵌入式系统中&#xff0c;为了降低运算复杂度&#xff0c;通常还会使用定点数…

有趣的数学之回文数

“回文”是指正读反读都能读通的句子&#xff0c;它是古今中外都有的一种修辞方式和文字游戏&#xff0c;如“我为人人&#xff0c;人人为我”等&#xff0c;最有名的莫过于“上海自来水来自海上&#xff0c;人过大佛寺佛大过人 ”。你们知道吗&#xff0c;在数学中也有这样一类…

30多份软件测试报告模板,如何写一份优秀测试报告模板流程

相信很多做软件测试的小伙伴在软件测试后期&#xff0c;都为软件测试报告总结花费了很多的精力&#xff0c;那么如何做好软件测试报告呢&#xff1f;一份优秀的测试报告又包含哪些内容呢&#xff1f; 测试报告的核心要素 一、测试结论 从测试工程师的专业角度分析&#xff0…