PPP协议、PPPoE协议、L2TP协议的关系

2023-11-17

1. 简述

首先对这3中协议做一个简单的描述:
协议 协议类型 描述
PPP 点对点链路层协议 应用最广泛的点对点协议,可应用在多种网络,改善了SLIP协议的不足
PPPoE 点对点链路层协议 对PPP协议进行扩展,将PPP用于以太网
L2TP 二层隧道协议 对PPP协议进行了扩展,可应用在多种网络中,主要将其PPP协议用于互联网

所以,无论PPPoE还是L2TP, 他们都是对PPP协议进行了扩展(PPPoE协议使得PPP协议可以应用在以太网上L2TP协议使得PPP协议数据在互联网上能够传输),这两个协议都具有PPP协议的各种安全特点:如认证,IP地址分配等。
这里可能引入一个问题:以太网和互联网不一样吗在这里插入图片描述
实际上真有区别:

  • 以太网:更强调是一种局域网硬件技术,如果从网络方面说属于多点访问网络(通过MAC地址区分不同设备),即可以通过该硬件技术访问多个设备(终端、网站);
  • 互联网:更强调一种设备相连的技术,将不同的设备互联的技术,互联后的设备统称为互联网。不过现在特指互联全球的大网络(Internet的意译)。
  • 因特网:Internet的音译,它是互联网最典型的应用。

2. 对比分析

2.1 串行线路协议SLIP

在学习PPP协议的时候,经常绕不开SLIP协议的一些缺点和不足,如会遇到“PPP协议改善了SLIP协议的缺点”。因此这里不详细介绍SLIP协议内容,只做一个简单介绍,然后说明其协议的缺点和不足。

2.1.1 SLIP协议报文封装

在这里插入图片描述
1) IP数据报以一个称作END(0xc0)的特殊字符结束,一般数据报文的开始也有一个END(0xc0),两个END之间为真正的数据报文
2) 如果IP报文中的某个字符为END, 那么需要连续传输两个字节0xdb0xdc来代替它
3) 如果IP报文中的某个字符为SLIP中的ESC字符(0xdb),那么需要连续传输两个字节0xdb0xdd来代替它。

2.1.2 SLIP协议的缺陷

  • 在串行链路上对IP报文进行封装的点对点协议,这就要求发送报文的节点需要提前知道对端的IP地址,否则IP报文头部信息是不完整的,即使对端设备收到该报文,但是检测目的IP不是本端IP,协议栈会自动将该报文进行丢弃;
  • 数据帧中没有类型字段(类似以太网中的类型字段)。如果一条串行线路使用SLIP协议,那么它就不能同时使用其他的协议, 只能封装IP报文
  • SLIP协议不存在差错检测机制,连最基本的校验和都不具备。
  • SLIP协议对于一些交互报文(比较短的分组数据),通常需要封装IP头部和TCP头部40字节,这样导致小分组报文通讯效率很低,因此出现了压缩SLIP协议(CSLIP),它可以将IP头部和TCP头部压缩至3~5个字节。

2.2 点对点协议PPP

PPP协议是目前使用最为广泛的数据链路层协议,可以应用在多种网络中。

  • PPP协议不提供数据加密功能,但是在认证用户时可以对用户密码进行加密。

2.2.1 PPP协议的特点

PPP协议修改了SLIP协议的所有缺陷

  • 具备动态分配IP地址的功能(在连接时刻通过NCP进行协商分配的);
  • 报文中添加了协议字段,支持同一链路上使用不同协议进行通信
  • 提供差错检验机制(计算FCS校验和
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PPP协议、PPPoE协议、L2TP协议的关系 的相关文章

  • Selenium Python 改变 IP

    我正在使用 Selenium for Python 编写一个网络爬虫 抓取工具每小时会多次访问同一网站 因此我希望找到一种方法 每隔几次搜索就更改我的 IP 最好的策略是什么 我使用的是 Firefox 是否有任何我可以切换的预先编写的代码
  • PHP:gethostbyname 错误

    我在用gethostbyname 获取应用程序中域的 IP 地址 在某些情况下 还会检查 50 9 49 等无效地址 echo gethostbyname 50 9 49 returns 50 9 0 49 在这种情况下gethostbyn
  • 使用 PHP 将 IP 地址存储在 MySQL 数据库中[重复]

    这个问题在这里已经有答案了 mysql 中 IP 地址的正确字段类型是什么 使用 PHP 存储它的正确方法是什么 本教程 http daipratt co uk mysql store ip address 可能对你有帮助 保存 IPv4
  • 端口 80 被我的 ISP 封锁,那么我的浏览器如何仍然工作?

    我知道当我请求 example com 时 我的浏览器实际上默认为 example com 80 但是 我的 ISP 阻止 80 端口侦听 那么如果端口 80 被阻止 我如何接收请求的响应 它不应该工作 不是吗 当您发出 HTTP 请求 实
  • Node.js 中的每个请求日志记录

    我是一位经验丰富的 Java 开发人员 开始学习 Node js 并转向异步模型 除了日志记录之外 大多数事情都进展顺利 在使用 Express 在 Node js 中进行开发时 我在 Java 中找不到类似于 log4j 和 NDC 的任
  • 未在虚拟机内分配外部 IP

    我正在尝试设置几个 Centos 6 虚拟机 我为它们分配了静态 IP 但运行 ifconfig 时 我看不到外部 IP 只看到内部 IP Google 不允许这种功能吗 除了Anderson所说的之外 这是从实例本身查询外部IP的命令 c
  • 在 Java 中创建 InetAddress 对象

    我正在尝试转换由 IP 号码或名称指定的地址 两者都是字符串 即localhost or 127 0 0 1 转化为Inet地址目的 没有构造函数 而是返回一个静态方法Inet地址 因此 如果我获得主机名 这不是问题 但如果我获得 IP 号
  • 有没有办法让 YouTube 的所有 IP 地址都被 Windows 防火墙阻止?

    我想编写自己的防分心工具 我不能 不想使用主机文件 https en wikipedia org wiki Hosts file 或第三方应用程序 使用时IPsec https en wikipedia org wiki IPsec or
  • ruby 中的网络掩码到 CIDR

    我一直在使用 ip address gem 它似乎无法从以下形式的网络掩码进行转换 255 255 255 0 进入 CIDR 表格 24 有谁知道如何快速将前者转换为后者 这是快速而肮脏的方法 require ipaddr puts IP
  • 每个域都有唯一的 IP 吗?

    我想知道每个域名地址是否都有唯一的IP地址 此外 这些IP位于哪里 这个重定向系统是如何工作的 当我们尝试通过写入域名来访问网站时 它有多少个重定向 谢谢 否 每个域没有自己的 IP 地址 多个域可以托管在同一台服务器上 并且位于同一 IP
  • 在Servlet中获取真实的客户端IP [重复]

    这个问题在这里已经有答案了 我在一个简单的问题上遇到了一些麻烦 我会得到HTTPServlet 内的真实客户端 IP 从现在开始我使用 request getRemoteAddr 但现在它返回一个错误的IP 例如 xxx xxx xxx 5
  • 如何设置http请求的源IP?

    在发送 http 请求之前 我需要设置源 IP 地址 用于 IP 欺骗等 用于建立http连接的类是HTTPURLConnection 我在 stackoverflow 上找到了下面的链接 这非常有用 注册和使用自定义 java net U
  • IIS:添加功能

    我需要使用 IIS 7 0 中的 IP 地址和域限制功能编辑 IP 规则 但在我的 Windows 7 计算机上 我的 IIS 中不存在此功能 有谁知道如何向 IIS 添加此功能 我无法在任何地方找到下载 或 IIS 中用于添加功能的部分
  • 获取2个IP地址之间的地理距离? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何计算 2 个 IP 地址之间的地理距离 例如 500 英里 有没有一些API可以让你查这个 这可能是您将得到的最接近的结果 谁提供 WH
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • 创建 ip 网络数据包 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须使用任何协议手动创建自己的网络
  • 如何禁止用户使用我的 Django 应用程序(有一些变化)

    我有一个基于 Web 的 Django 应用程序 用户可以在其中以假名聚集并互相聊天 大多数访问该网站的用户都是通过迷你歌剧院 与简单的网络浏览器不同 Opera Mini 有一个twist它通过它获取所有内容代理服务器 https en
  • IP保持不变

    我正在尝试通过代码连接到 Tor 并更改我的身份 到目前为止我得到的结果是我连接成功但无法更改我的身份 这是我的代码 import socket import socks import httplib def connectTor sock
  • 代码来检测Android设备自己的IP地址?

    我想了解可以检测 Android 设备的 IP 地址和 Android 客户端名称的代码 以便在我们的应用程序中使用此 Ip 地址和客户端名称 任何人都可以帮助我吗 提前致谢 如果您在 Android 手机上运行此程序 这将告诉您您自己的
  • 无法访问127.0.0.1

    我不知道这种情况何时开始发生 但结果是 127 0 0 1 无法在任何地方的任何端口上工作 例如 浏览器显示无法连接 以下是我的研究结果 localhost COMPUTER NAME 和实际 IP 地址都工作正常 我的主机文件中没有什么特

随机推荐

  • Chisel3实践用例,安装

    新建SBT工程 sbt version 1 2 8 name ScalaExample version 0 1 scalaVersion 2 12 8
  • @Transient 理解

    transient使用小结 1 一旦变量被transient修饰 变量将不再是对象持久化的一部分 该变量内容在序列化后无法获得访问 2 transient关键字只能修饰变量 而不能修饰方法和类 注意 本地变量是不能被transient关键字
  • YOLOV2个人理解总结

    YOLOv2框架图 YOLOv2改进之处 1 Batch Normalization BN Batch Normalization 层简单讲就是对网络的每一层的输入都做了归一化 这样网络就不需要每层都去学数据的分布 收敛会快点 原来的YOL
  • 面试题:如何测试登录功能

    最近在做一个创新项目 这个项目有二个平台 每个平台都有前后端 故有四个系统 每个系统都有登录功能 而且不同系统代码设计方式都有所差异 所以就这个登录功能而言就要测试四次 看似一个简单的登录功能其中设计的测试点也是相当复杂 今天就讲讲如何测试
  • php scp跨服器拷贝文件到sftp

    一般要装php的ssh2扩展 比较麻烦 所以转念一想 为什么不用我们经常用的scp 但是scp跨服务器拷贝需要输入密码 这里就用到了一个工具试试sshpass 可以指定密码 1 工具安装 ubuntu安装 sudo apt get inst
  • 【问题解决】org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io

    1 出现问题异常 核心错误输出 org springframework dao QueryTimeoutException Redis command timed out nested exception is io lettuce cor
  • B站马士兵python入门基础版详细笔记(3)

    一 input函数的使用 他的返回值类型一定是str类型 m1 input please input the first word m2 input please input the second word print int m1 int
  • c++库 Android调用

    如果您想在Android应用程序中使用C 库 您可以通过以下几个步骤封装C 库以供Android调用 创建一个新的Android项目并设置C 支持 在Android Studio中创建一个新的Android项目 并选择包含C 支持的选项 将
  • [学C日记]---递归

    递归 自己调用自己 大事化小 必要条件 1 有限制条件 当满足限制条件时 递归便不继续 2 每次递归调用之后越来越接近这个限制条件 3 递归层次不能太深 太深容易栈溢出 每次递归调用都要给函数分栈区 次数过多容易空间不足 1 一串数字挨个输
  • 深聊自动化测试之:小鱼整理21条避坑指南,让你完美运行自动化

    自动化测试避坑总结 1 引言 2 避坑内容总结 2 1无法定位到元素 2 2 Indentation Error 2 3 PO设计模式类 2 4 页面封装类中没有已定义函数的问题 2 4 1 提示没有该方法 2 4 2 没有定义好的函数 2
  • Android Netd

    一 概述 所谓 Netd 就是Network Daemon 的缩写 表示Network守护进程 类似的命名还有很多 例如 Vold Volumn Deamon Rild Radio Interface Layer Deamon Netd负责
  • 根据面试的过程修正2022年学习规划

    上周由于全员降薪 所以对于在招聘网站上这30天内主动给我打招呼的hr和猎头 我都投了简历 结果是投简历16家公司 给与面试机会的七家 斩获了两家offer 一家七百多人的军事仿真类的公司 一家小到不能再小的ue4公司 好的方面是还能找到工作
  • python爬虫-33个Python爬虫项目实战(推荐)

    今天为大家整理了32个Python爬虫项目 整理的原因是 爬虫入门简单快速 也非常适合新入门的小伙伴培养信心 所有链接指向GitHub 祝大家玩的愉快 O O WechatSogou 1 微信公众号爬虫 基于搜狗微信搜索的微信公众号爬虫接口
  • Redis6.2/5.0 集群两种快速搭建方式

    一 集群常识 1 redis在3 0之前是集群 仅支持单实例的 3 0以后开始支持集群 2 3 0的集群命令也不是那么亲和 需要用ruby编写的脚本 而且需要登录redis客户端操作 启动 增删节点 移动槽位等 redis 5 0以后 可以
  • 楚留香获取服务器信息卡住了,楚留香手游角色卡住不动怎么办 卡死解决办法...

    楚留香手游角色卡住不动怎么办 来看看卡死解决办法 由于手机 网络和服务器等等原因 玩家会出现角色卡住动不了 操作界面消失 无法切换场景等等情况 非常影响游戏体验 来看看怎么解决吧 楚留香手游角色卡住不动怎么办 如果您在游戏中遇到角色卡住 无
  • 建立docker私有hub

    docker是一个非常好用的虚拟化工具 下面给出建立私有docker hub的方法 docker将私有hub的环境打包在registry image中 执行指令 docker run p 5000 5000 registry 这条指令启动一
  • F - LIS on Tree

    F LIS on Tree atcoder jp 问题描述 树上LIS 普通LIS O n n void solve int n cin gt gt n vector
  • 【Allegro 17.4软件操作保姆级教程二】布局前准备

    由于Allegro 17 2软件出了故障 干脆新安装了17 4版本 后续的教程截图都用17 4的 操作逻辑是差不多的 1 生成和导入网表 1 原理图绘制完成 导出网表 在Capture中 选中原理图dsn文件 tools create ne
  • 企业服务端接口认证案例

    接口认证方式 调用方要向管理员获取 appkey 和 secret appkey 调用方唯一标识 方便 HTTP API 统计与维护 secret 密钥 用于生成 HTTP API 校验所需的 token 值 调用方每次请求都需要带上当前时
  • PPP协议、PPPoE协议、L2TP协议的关系

    1 简述 首先对这3中协议做一个简单的描述 协议 协议类型 描述 PPP 点对点链路层协议 应用最广泛的点对点协议 可应用在多种网络 改善了SLIP协议的不足 PPPoE 点对点链路层协议 对PPP协议进行扩展 将PPP用于以太网上 L2T