计算机网络 (17)点对点协议PPP

news2025/1/5 8:02:14

一、PPP协议的基本概念

       PPP协议最初设计是为两个对等节点之间的IP流量传输提供一种封装协议,它替代了原来非标准的第二层协议(如SLIP)。在TCP/IP协议集中,PPP是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层)。除了IP以外,PPP还可以携带其他协议,包括DECnet和Novell的Internet网包交换(IPX)等。

二、PPP协议的构成

  1. 链路控制协议(LCP):用于建立、配置、测试和管理数据链路连接。它支持同步和异步线路,也支持面向字节的和面向位的编码方式。
  2. 网络控制协议(NCP):协商该链路上所传输的数据包格式与类型,建立、配置不同的网络层协议。对于所使用的每个网络层协议,PPP都分别使用独立的NCP来连接。
  3. PPP帧:是数据链路层中的基本传输单位,用于在物理介质上传输数据。PPP帧由标头、数据和尾部组成,其中标头包含控制信息和地址信息,数据部分包含传输的数据,尾部包含错误检测和校验信息。

三、PPP协议的帧格式

  1. 标志字段(F):取值为十六进制的0x7E,是PPP帧的定界符,用于标识一帧的开始和结束。
  2. 地址字段(A):取值为十六进制的FF,实际上并不起作用,但在帧格式中保留。
  3. 控制字段(C):取值为十六进制0x03,同样不携带PPP帧的信息。
  4. 协议字段:指明了帧的数据部分应该交给哪个协议处理。
  5. 信息字段:包含实际传输的数据。
  6. 帧检验序列(FCS)字段:用于对信息域进行校验,确保数据的完整性。

四、PPP协议的工作机制

  1. 建立连接:当检测到调制解调器的载波信号并建立物理层连接后,PPP进入链路的建立状态。LCP开始协商一些配置选项(如最大帧长、鉴别协议等),若协商成功,则进入鉴别状态;失败则退回到静止状态。
  2. 鉴别:在鉴别状态下,如果无需鉴别或者鉴别成功,则进入网络状态;如果鉴别失败,则进入终止状态。
  3. 网络层配置:进入网络状态后,进行NCP配置。PPP链路的两端互相交换网络层特定的NCP分组,以配置网络层参数(如分配IP地址)。
  4. 数据传输:配置完成后,PPP链路进入打开状态,此时可以进行数据传输。
  5. 终止连接:当链路故障或链路的一端发出终止请求时,PPP进入终止状态,释放所有资源并回到静止状态。

五、PPP协议的特点与应用

  1. 特点

    • PPP具有动态分配IP地址的能力。
    • 支持多种网络协议,如TCP/IP、NetBEUI、NWLINK等。
    • 具有错误检测能力,但不具备纠错能力。
    • 无重传机制,网络开销小,速度快。
    • 具有身份验证功能。
  2. 应用

    • 宽带接入:如DSL和光纤接入,用户通过调制解调器或光纤调制解调器使用PPP协议与互联网服务提供商建立连接。
    • 远程访问:允许员工或用户通过拨号或VPN连接到内部网络。
    • 移动通信:在移动设备和运营商的网络之间建立连接,实现数据传输和互联网访问。
    • 无线通信:应用于一些无线通信技术中,如Wi-Fi和蜂窝网络。
    • 网络路由:在网络路由器之间建立连接时,用于传输数据和进行路由协商。
    • 专线连接:用于实现安全、可靠的点对点数据传输。

 结语    

旦愿美好在

岁月常如新

!!!

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

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

相关文章

RC充电电路仿真与分析

RC充电原理 下图是一个常见的RC充电电路:(假设R10K,C100nF) SW断开时,这个电路处于断路状态,C既没有充电也没有放电;SW闭合时,直流电源5V为电容C充电; 充电时电容两端…

全新免押租赁系统助力商品流通高效安全

内容概要 全新免押租赁系统的推出,可以说是一场商品流通领域的小革命。想象一下,不再为押金烦恼,用户只需通过一个简单的信用评估,就能快速租到所需商品,这种体验简直令人惊喜!这个系统利用代扣支付技术&a…

c++领域展开第八幕——类和对象(下篇 初始化列表、类型转换、static成员)超详细!!!!

文章目录 前言一、初始化列表二、类型转换三、static成员总结 前言 上篇博客我们实现了一个简单的日期类,基本的类和对象是清楚了 今天我们再来学习后面的一些类和对象的语法,慢慢的完善所学的东西 fellow me 一、初始化列表 • 之前我们实现构造函数时…

Linux-Ubuntu之RGBLCD显示屏

Linux-Ubuntu之RGBLCD显示屏 一,实现原理二,驱动代码三,总结1.c语言知识 一,实现原理 采用的是4.3寸 800480显示屏,即每行有800个像素点,每列有480个像素点,外接时钟信号,控制刷新频…

JVM 主要组成部分与内存区域

一、JVM 主要组成部分: JVM的主要包含两个组件和两个子系统,分别为: (1)本地库接口(Native Interface):与native lib(本地方法库)交互,融合其他编程语言为Java所用,是与其它编程语言…

如何在鸿蒙本地模拟器中使用HDC工具

引言 HDC是指华为设备连接(Huawei Device Connector)工具。它的作用类似Android开发的ADB工具。在华为鸿蒙(HarmonyOS)操作系统的开发过程中,HDC工具起到了至关重要的作用。它允许开发者在开发主机(如 PC&…

ruoyi 分页 查询超出后还有数据; Mybatis-Plus 分页 超出后还有数据

修改:MybatisPlusConfig 类中 分页合理化修改为:paginationInnerInterceptor.setOverflow(false);

Unity中实现转盘抽奖效果(二)

如果要使转盘停止时转到到指定位置,应该如何做? 实现思路: 也就是在需要停止的分数的区间范围内,随机一个角度值,然后反推需要在哪个角度开始减速,如果转盘的当前角度和需要开始减速的角度有差值&#xf…

苍穹外卖04——Redis初入门 在店铺打烊or营业状态管理功能中的使用

Redis入门 redis简介 它以键值对的形式存储数据在内存中,并且以极高的性能和灵活性而著称,通常用于缓存、消息代理以及持久化数据。 - 基于内存存储,读写性能高- 适合存储热点数据(热点商品、资讯、新闻)- 企业应用广泛Windows版下载地址:https://github.com/microsoft…

深度学习每周学习总结R2(RNN-天气预测)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客R5中的内容,为了便于自己整理总结起名为R2🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结1. RNN介绍a. 什么是 RNN?RNN 的一般应用场景 b. 传统 RNN …

CUDA与Microsoft Visual Studio不兼容问题

简介:在安装一些 python库时,涉及到第三方库(特别是需要引用 C 代码)时,通常的安装方式会涉及到编译过程,通常称为"源代码安装"(source installation),或是 “…

WordPress网站中如何修复504错误

504网关超时错误是非常常见的一种网站错误。这种错误发生在上游服务器未能在规定时间内完成请求的情况下,对访问者而言,出现504错误无疑会对访问体验大打折扣,从而对网站的转化率和收入造成负面影响。 504错误通常源于服务器端或网站本身的问…

Springboot 升级带来的Swagger异常

当升级到Springboot 2.6.0 以上的版本后,Swagger 就不能正常工作了, 启动时报如下错误。当然如果你再使用sping boot Actuator 和 Springfox, 也会引起相关的NPE error. (github issue: https://github.com/springfox/springfox/issues/3462) NFO | jvm 1 | 2022/04…

发现API安全风险,F5随时随地保障应用和API安全

分析数据显示,目前超过90%的基于Web的网络攻击都以API端点为目标,试图利用更新且较少为人所知的漏洞,而这些漏洞通常是由安全团队未主动监控的API所暴露。现代企业需要一种动态防御策略,在风险升级成代价高昂、令人警惕且往往无法…

【数据结构】(Python)差分数组。差分数组与树状数组结合

差分数组: 基于原数组构造的辅助数组。用于区间修改、单点查询。区间修改的时间复杂度O(1)。单点查询的时间复杂度O(n)。差分数组的元素:第一个元素等于原数组第一个元素,从第二个元素开始是原数组对应下标的元素与前一个元素的差&#xff0…

12.30-1-5学习周报

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 文章链接摘要Abstract一、方法介绍1.HAT-CIR2.Horde3.DWGRNet 二、实验总结 文章链接 https://arxiv.org/pdf/2405.04101 摘要 本博客介绍了论文《Continual lea…

Android OpenGl(二) Shader

一、Shader 1、什么是Shader,为什么要使用Shder (1)shader运行在gpu上的小程序 (2)以前使用固定管线,但缺点是灵活度不够,无法满足复杂需求,为了解决固定管线的缺点,出…

【LeetCode】200、岛屿数量

【LeetCode】200、岛屿数量 文章目录 一、并查集1.1 并查集1.2 多语言解法 二、洪水填充 DFS2.1 洪水填充 DFS 一、并查集 1.1 并查集 // go var sets int var father [90000]intfunc numIslands(grid [][]byte) int {n, m : len(grid), len(grid[0])build(grid, n, m)for i …

[最佳方法] 如何将视频从 Android 发送到 iPhone

概括 将大视频从 Android 发送到 iPhone 或将批量视频从 iPhone 传输到 Android 并不是一件容易的事情。也许您已经尝试了很多关于如何将视频从 Android 发送到 iPhone 15/14 的方法,但都没有效果。但现在,通过本文中的这 6 种强大方法,您可…

MetaRename for Mac,适用于 Mac 的文件批量重命名工具

在处理大量文件时,为每个文件手动重命名既耗时又容易出错。对于摄影师、设计师、开发人员等需要频繁处理和整理文件的专业人士来说,找到一款能够简化这一过程的工具是至关重要的。MetaRename for Mac 就是这样一款旨在提高工作效率的应用程序&#xff0c…