计算机网络(3.6)数据链路层- PPP 协议的帧格式和工作状态

2023-11-18

PPP 协议的帧格式

PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。标志字段F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是 01111110)。地址字段A只置为0xFF。地址字段实际上并不起作用。

控制字段C通常置为0x03。PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

PPP 有一个2 个字节的协议字段。其数值:

1、若为0x0021,则信息字段就是 IP 数据报文,0x002B表示IPX报文,0x0029表示AppleTalk报文,这几种都属于PPP的数据报文 。

2、若为0x8021,则信息字段是网络控制数据(NCP),若为0xC021 ,则信息字段是PPP 链路控制数据(LCP),是控制报文。

3、若为0xC023,则信息字段是表示PAP协议认证报文,0xc223表示CHAP协议认证报文。

PPP的协议体系:

当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。 当PPP用在异步传输时,就使用一种特殊的字节填充法。(转义符定义为0x7D)

字节填充

将信息字段中出现的每一个0x7E字节转变成为2字节序列 (0x7D, 0x5E)。

若信息字段中出现一个 0x7D 的字节, 则将其转变成为2字节序列 (0x7D, 0x5D)。

若信息字段中出现ASCII码的控制字符(即数值小于0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。例:0x03(传输结束“ETX”)转变为2字节序列 (0x7D,0x23)。

接收端需进行逆转换,以正确恢复原有信息。

零比特填充

PPP 协议用在SONET/SDH链路时,使用同步传输 (一连串的比特连续传送)。这时 PPP协议采用零比特填充方法来实现透明传输。

在发送端,只要发现有5个连续1,则立即填入一 个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这 5 个连续1后的一个0删除。

PPP 协议的工作状态 

当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条从用户个人电脑到ISP的物理连接。PC 机向路由器发送一系列的LCP 分组(封装成多个PPP 帧)。

这些分组及其响应选择一些PPP参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个有IP地址的主机。

通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

可见,PPP协议已不是纯粹的数据链路层的协议,它还包含 了物理层和网络层的内容。

PPP 协议的状态图

PPP会话建立的过程 

PPP提供了建立、配置、维护和终止点到点连接的方法。从开始发起呼叫到最终通信完成后释放链路,PPP的工作过程分为以下4个阶段:

链路的建立和配置协调:通信的发起方发送LCP帧来配置和检测数据链路,主要用于协商选择将要采用的PPP参数,包括身份验证、压缩、回叫、多链路等;

链路质量检测:在链路建立、协调之后,这一阶段是可选的;

网络层协议配置协调:通信的发起方发送NCP帧以选择并配置网络层协议,配置完成后,通信双方可以发送各自的网络层协议数据报;

关闭链路:通信链路将一直保持到LCP或NCP关闭链路,或者是发生一些外部事件(空闲时间超长、用户干预或链路故障 等)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络(3.6)数据链路层- PPP 协议的帧格式和工作状态 的相关文章

  • CCNA考试题库中英文翻译版及答案11

    26 Two routers named Atlanta and Brevard are connected by their serial interfaces as shown in the exhibit but there is n
  • Linux 虚拟化网络技术 — 虚拟网线(Veth-pair)

    虚拟网线 Veth pair Veth pair 不是一个设备 而是一对设备 作为虚拟网线用于连接两个虚拟网络设备 veth pair 是根据数据链路层的 MAC 地址对网络数据包进行转发的过程来实现的 本质是反转通讯数据的方向 需要发送的
  • select poll epoll iocp kqueue

    为什么epoll kqueue比select高级 答案是 他们无轮询 因为他们用callback取代了 想想看 当套接字比较多的时候 每次select 都要通过遍历FD SETSIZE个Socket来完成调度 不管哪个Socket是活跃的
  • 硬中断和软中断

    本文主要内容 硬中断 软中断的原理和实现 内核版本 2 6 37 Author zhangskd csdn blog 概述 从本质上来讲 中断是一种电信号 当设备有某种事件发生时 它就会产生中断 通过总线把电信号发送给中断控制器 如果中断的
  • 再谈select, iocp, epoll,kqueue及各种I/O复用机制

    上篇文章太过幼稚 一派胡言 希望没有误导大家 我也是菜鸟 学习本身就是一个不断追求真理的过程 希望能谅解 首先感谢kasicass GG指出错误 已经指导我很多次了 非常感谢 然后我又查阅了一些资料 再次整理 more seriously
  • utf-8 中的一个汉字占几个字节

    原文链接 http blog csdn net chummyhe89 article details 7777613 占 2 个字节的 占 3 个字节的 基本等同于 GBK 含 21000 多个汉字 占 4 个字节的 中日韩超大字符集里面的
  • GRE和VXLAN

    这篇文章来讲下GRE和VXLAN分别是什么 1 GRE 首先看先GRE GRE的全称是Generic Routing Encapsulation 协议格式见RFC2784 https tools ietf org html rfc2784
  • Windows下OMNET++的安装和各种架构调试心得

    以下所述的为windows平台下OMNET 集成在MSVC6 0环境下的使用方法 一 OMNET的安装 1 到OMNET官方网站下载windows平台下的安装程序 当前版本为omnetpp 3 2p1 win32 下载Ghostscript
  • TCP/IP详解学习笔记

    TCP IP详解学习笔记 http blog csdn net goodboy1881 category 204448 aspx PageNumber 2 TCP IP详解学习笔记 3 IP协议 ARP协议 RARP协议 摘要 TCP IP
  • Zebra基本配置

    前言 Zebra是一个路由软件包 提供基于TCP IP路由服务 支持RIPv1 RIPv2 RIPng OSPFv2 OSPFv3 BGP 4 和 BGP 4 等众多路由协议 Zebra还支持BGP特性路由反射器 Route Reflect
  • RHEL 6.1 KVM虚拟机桥接物理机网络

    RHEL6 1 KVM虚拟机桥接物理机网络 一 KVM默认网络配置 1 kvm上网有两种配置 a NAT 支持主机与虚拟机的互访 也支持虚拟机访问互联网 但不支持外界访问虚拟机 b bridge 桥接 可以使用虚拟机成为网络中具有独立IP的
  • Window平台---IPSEC客户端的安装

    1 安装主机证书 参见证书的申请与安装一节 2 从http vpn ebootis de 站点下载 ipsec exe 3 下载windwos2000的ipsec资源工具 http download microsoft com downlo
  • Linux添加虚拟网卡的多种方法

    Linux添加虚拟网卡的多种方法 有时候 一台服务器需要设置多个ip 但又不想添加多块网卡 那就需要设置虚拟网卡 这里介绍几种方式在linux服务器上添加虚拟网卡 我们向eth0中添加一块虚拟网卡 第一种方法 快递创建 删除虚拟网卡 sud
  • TCP/IP校验和计算算法

    ICMP IP UDP TCP报头部分都有checksum 检验和 字段 ICMP和IP报头校验和的计算都很简单 过程如下 1 把校验和字段置为0 2 对IP头部中的每16bit进行二进制求和 3 如果和的高16bit不为0 则将和的高16
  • 通过修改kong属性解决不能获取外网域名的问题

    作者 朱金灿 来源 https blog csdn net clever101 kong就是对nginx进行再一次封装而做成的企业级api网关 kong dashboard是kong进行设置的一个可视化界面 目前公司的服务集群都采用kong
  • URL 地址栏锚点 window location hash 使用方法

    location是javascript里边管理地址栏的内置对象 比如location href就管理页面的url 用location href url就可以直接将页面重定向url 本文转自米扑博客 URL 地址栏锚点 window loca
  • OSI七层模型与TCP/IP五层模型

    一 OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识 OSI参考模型 1 OSI的来源 OSI Open System Interconnect 即开放式系统互联 一般都叫OSI参考模型 是ISO 国际标准化组织 组织在1985
  • ubuntu不能上网解决方法

    可能会是Network Manager 有BUG引起的 解决方法如下 首先 卸载掉Network Manager sudo apt get remove network manager 然后 手动配置网卡 在终端输入 sudo gedit
  • SMB/CIFS--NetBOIS/Browser/NBNS 协议

    在NetBIOS出现之后 Microsoft就使用NetBIOS实现了 一个网络文件 打印服务系统 这个系统基于NetBIOS设定了一套文件共享协议 Microsoft称之为SMB Server Message Block 协议 这个协议被
  • Android 网络管理

    系统中对网络的判断和选在是在Connectivityervice这个服务中来处理的 在系统启动的时候会启动这个系统服务 系统启动完毕后 ConnectivityService在系统启动的时候就启动了 在android内部 用framewor

随机推荐

  • Yii Framework 开发教程(47) 主题 Theme 示例

    Theming是一个在Web应用程序里定制网页外观的系统方式 通过采用一个新的主题 可以非常方便的改变应用的外观 在Yii 每个主题由一个目录代表 包含view文件 layout文件和相关的资源文件 如图片 CSS文件 JavaScript
  • 1、安装配置

    一 安装 这里以Redis 5 0 5版本为例 实际安装过程中 可以去官网下载最新的稳定版本 官网地址 http redis io download wget http download redis io releases redis 5
  • 内核启动过程中对CPU型号的确认

    1 内核为什么要确认CPU型号 内核和CPU都是不断发展的 内核会不断的更新版本 CPU会不断的出新型号 每当厂商推出一款新的CPU都需要移植内核 使内核能在新款CPU上运行 如果我们将没有针对该款CPU移植过的内核放到该款CPU上运行 结
  • Linux定时器

    Linux定时器的实现主要用到itimerval结构体以及setitimer产生的信号 系统随使用signal信号处理函数来处理产生的定时信号 从而实现定时器 itimerval结构体说明 struct itimerval Value to
  • [谦实思纪 02]整理自2023雷军年度演讲——《成长》(下篇)创业之旅(创业与成长)

    文章目录 谦实思纪 整理自2023雷军年度演讲 成长 下篇 创业之旅 创业与成长 0 写在前面 1 创业 创业与成长 1 1 找互补的朋友一起干 更容易成功 1 2 创业中必须要有领导者 核心思维 1 3 从失败开始 学海无涯 1 4 金山
  • STM32G070进行flash读写操作

    STM32G070的flash读写问题 STM32G070xx的flash分布如下图 打算将Page 63用于保存用户数据 问题 开始一直出现flash写入失败 从返回码来看是FLASH FLAG PGSERR 一直找不到原因 代码如下 d
  • android throw exception 原理,Android Throw Exception

    It depends if this Close can throw an exception then it still needs to be declared as being thrown or caught Often times
  • grid常用属性及属性值介绍

    文章目录 前言 一 grid布局是什么 二 常用简写 必会 2 1 grid 2 2 gap grid gap 2 3 grid area 2 4 grid template 2 5 place content 2 6 place item
  • 1359: [Baltic209]Candy

    题目链接 题目大意 tan90 题解 不存在的 我的收获 如何快速升级
  • protobuf与protoc-gen-go

    什么是protobuf Protobuf Protocol Buffer 是google 的一种数据交换的格式 它独立于语言 独立于平台 google 提供了多种语言的实现 java c c go 和 python 每一种实现都包含了相应语
  • Jmeter接口测试+压力测试

    jmeter是apache公司基于java开发的一款开源压力测试工具 体积小 功能全 使用方便 是一个比较轻量级的测试工具 使用起来非常简单 因为jmeter是java开发的 所以运行的时候必须先要安装jdk才可以 jmeter是免安装的
  • OkHttp的使用之{RequestBody、FormBody、MultipartBody}

    目录 0 相关文章 1 POST请求 1 1 RequestBody json数据提交 1 2 FromBody 表单提交 这种能满足大部分的需求 1 3 MultipartBody 文件上传 1 4 图片下载 文件下载 0 相关文章 Ok
  • 布隆过滤器(Bloom Filter)

    1 引言 通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景 一般想到的是将集合中所有元素保存起来 然后通过比较确定 链表 树 散列表 又叫哈希表 Hash table 等等数据结构都是这种思路 但是随着集合中元素的增加 我们需要的
  • 线程相关面试题

    1 ThreadPoolExecutor 线程池执行 有哪些常用的方法 1 执行线程池 submit excute 2 终止线程池 shutdown 3 判断线程是否终止 isShutdown 4 获取正在运行的线程数 getAcitive
  • 详解Python中字符串前“b”,“r”,“u”,“f”的作用

    1 字符串前加 u 例 u 我是含有中文字符组成的字符串 作用 后面字符串以 Unicode 格式 进行编码 一般用在中文字符串前面 防止因为源码储存格式问题 导致再次使用时出现乱码 2 字符串前加 r 例 r n n n n 表示一个普通
  • 视频稳像(Video Stabilization)

    原文 https blog csdn net hjl240 article details 52683738 开源 关键词 Video Stabilization 不错 https github com yaochih awesome vi
  • python中unittest+ddt的应用

    一 单个EXCEL执行 import unittest from class api login topup demo import http request from class api login topup http attr imp
  • 使用KIF进行功能性iOS UI测试

    开始使用KIF 从Github下载KIF源资产并将其放置在可以轻松找到的地方 或者 可以使用 Git 的子模块来获取本地使用的源代码 git 初始化 git submodule 添加 https github com kif framewo
  • c#的值类型和引用类型(拆装箱)

    1 值类型和引用类型 c 中所有的引用类型共同的基类是System Object 1 管理机制 值类型 操作系统负责 作用域结束时被操作系统自动释放 引用类型 垃圾回收器负责 2 内存分配 值类型 值类型实例总会被分配到变量声明的地方 声明
  • 计算机网络(3.6)数据链路层- PPP 协议的帧格式和工作状态

    PPP 协议的帧格式 PPP 帧的首部和尾部分别为 4 个字段和 2 个字段 标志字段F 0x7E 符号 0x 表示后面的字符是用十六进制表示 十六进制的7E的二进制表示是 01111110 地址字段A只置为0xFF 地址字段实际上并不起作