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校验和
  • 报文压缩
    新增功能:
  • 提供了认证、授权以及监控计费功能
  • 允许链路层参数协商,用来建立、维护、测试链路状态(LAC模块)
  • 允许网络层参数协商,决定网络层采用的协议(NCP模块)

运营商比较钟情于PPP协议,有个很重要的原因便是PPP协议支持认证的功能,认证功能简单的说就是对用户名和密码进行验证,认证之后可以对特定的用户上网流量进行计费

2.2.2 PPP协议格式

2.3 PPPoE协议

PPPoE协议是以太网上的点对点协议,是将PPP协议封装在以太网框架中的一种网络隧道协议

2.3.1 PPPoE协议特点

PPPoE协议的目的是为了将以太网的易扩展性PPP协议的认证、计费、成熟安全(此安全并非加密,而是技术很成熟)等优势相结合,它通过将PPP协议进行PPPoE封装,使其可以应用在以太网上,实现了传统以太网不能提供的身份认证、加密以及压缩等功能。
它可以通过数字用户线(DSL)和调制解调器(modem)给用户提供互联网接入功能,这可以极大的利用现存的通信基础设施(如电话线,光纤等),同时还可以进行认证和计费,因此得到极大的应用。

2.3.2 PPPoE协议格式和阶段


2.4 链路层隧道协议L2TP

2.4.1 L2TP简介

L2TP协议也是对PPP协议的扩展,或者说是基于PPP协议。它为在非点对点的网络上(如以太网)建立点对点的PPP会话连接,协议本地不提供加密功能,如果需要加密需要结合IPsec,但提供认证功能(PPP协议提供的特性)。它可以扩展PPP模型(允许二层链路端点和PPP会话点驻留在不同设备上),如果在以太网上则扩展了PPPoE的连接范围。最常见用途是公司分支机构或出差人员通过公网访问总部公司内部网络,如下图所示:
本来用户通过PPPoE拨号将PPP会话连接到运营商的RouterA(NAS)上,现在使用L2TP隧道技术可以将PPP会话端点延伸到公司总部的RouterB上,从而实现访问公司内网的功能。

2.4.2 L2TP报文格式


3. 总结

  • PPP:可以应用在多种网络,提供认证计费等功能
  • PPPoE: 将PPP协议应用在以太网上,可以充分利用其认证和计费功能,方便运营商收取费用
  • L2TP: 提供一种带认证的隧道技术,将PPP会话的端点扩展至互联网上的其他网络中。

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

  1. L2TP协议简介

    传送门:L2TP代码实现 1. L2TP 概述 L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是 VPDN(Virtual Private Dial-up Networ ...

  2. L2tp协议简单解析

    1.L2TP简介 L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是VPDN(Virtual PrivateDial-up Network,虚拟私有拨号网)隧道协议的一种 ...

  3. L2TP协议

    L2TP协议 L2TP(Layer 2 Tunneling Protocol) 第二层隧道协议.该协议是工业标准的Internet隧道协议. L2TP实现的两种方式 LAC (L2TP Access ...

  4. VPN 隧道协议PPTP、L2TP、IPSec和SSLVPN的区别

    最近软矿频繁地介绍了各种VPN,有免费的PacketiX.NET和Hotspot Shield,有付费的Astrill VPN,iVPN和PureVPN.在介绍这些VPN的时候,常常会说到PPTP.L ...

  5. http协议,tcp协议,ip协议,dns服务之前的关系和区别

    长期以来都有一个问题,大家都在说http协议,tcp协议,ip协议,他们之间到底什么区别,有什么用,没人告诉我,最近看了这本<图解http>明白了一些,以下图片摘自这本书 一.理解一个传输 ...

  6. 两张图说明http协议,tcp协议,ip协议,dns服务之间的关系和区别

    一.理解一个传输流再去扩展 用http举例来说,首先作为发送端的客户端在应用层(http协议)发出一个想看某个web页面的http请求. 接着,为了传输方便,在传输层(tcp协议)把从应用层处收到的数 ...

  7. OSPF协议原理及配置3-邻居关系的建立

    OSPF协议原理及配置3-邻居关系的建立   OSPF协议的邻居关系是通过交换Hello报文建立的,所以我们先对OSPF的报文的种类,及Hello报文的结构做一了解. 1 OSPF协议有5种协议报文( ...

  8. OSPF协议原理及配置4-邻接关系的建立和LSDB同步

    OSPF协议原理及配置4-邻接关系的建立和LSDB同步   进入ExStart状态后,广播和NBMA型网络要等待4倍的Hello时间,确定DR和BDR.然后建立邻接关系,并交互链路状态通告,以使用LS ...

  9. TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议

    前言:在学习tcp三次握手的过程之中,由于一直无法解释tcpdump命令抓的包中seq和ack的含义,就将tcp协议往深入的了解了一下,了解到了几个协议,做一个小结. 先来看看我的问题: 这是用tcp ...

随机推荐

  1. 升级vs更新,用词莫忘准确(附PHP版本升级教程)

    升级vs更新 Web技术日新月异,更新升级是维护工作之一,长时间不更新(升级)的程序,就如长时间不维护的建筑物一样,会加速老化.功能逐渐缺失直至无法使用.而我们最近发现,有的朋友对"更新&q ...

  2. 软件安装管理(RPM)

    目录 一.linux应用程序 1.1 应用程序与系统命令关系 1.2 典型应用程序的目录结构 1.3 常见的软件包封装工具 二.RPM软件包管理工具 2.1RPM软件包管理器Red-Hat Packa ...

  3. 面试官疯狂问我:char和varchar的区别 怎么办?愣着干嘛?进来白嫖啊!

    MySQL的修仙之路,图文谈谈如何学MySQL.如何进阶!(已发布) 面前突击!33道数据库高频面试题,你值得拥有!(已发布) 大家常说的基数是什么?(已发布) 讲讲什么是慢查!如何监控?如何排查?( ...

  4. 重定向">" 及">>"符号的简单运用

    1.command > file 将输出重定向(可理解写入)到 file. 2.command >> file  将输出以追加的方式重定向到 file,也就是写入到 file的尾端. ...

  5. fiddler抓https包教程

    第一步: 安装fiddler 第二步: 下载fiddler证书生成器 第三步: 进入fiddler导出证书 第四步: 打开浏览器导入证书 第一步:安装fiddler  安装方法各位随意,但需保证是最新 ...

  6. 文件上传之WAF绕过及相安全防护

    文件上传在数据包中可修改的地方 Content-Disposition:一般可更改 name:表单参数值,不能更改 filename:文件名,可以更改 Content-Type:文件 MIME,视情况 ...

  7. 使用Eclipse下载CRaSH源代码

    Eclipse for Java Developers (Juno)本身有一个eGit组件,通过它可以直接从Git源码库中下载源代码,以下载 CRaSH 为例说明: 从主页上的"Develo ...

  8. 英语学习Tips

    [edp] 写英语论文那些容易忽略的点: 连字符大小写问题 连字符"-"后首字母的大小写_周树森_新浪博客 (sina.com.cn) reference list 里面的书名要斜 ...

  9. 脚本小子学习--vulnhub靶机DC8

    @ 目录 前言 一.环境搭建 二.目标和思路 三.实际操作 1.信息收集 2.getshell 总结 前言 通过一些靶机实战练习,学习使用现有的工具来成为脚本小子. 一.环境搭建 靶机:Linux虚拟 ...

  10. 【网络编程】TCPIP_3_地址族与数据序列

    目录 前言 3. 地址族与数据序列 3.1 分配给套接字的 IP 地址与端口号 3.2 参数 IP 地址 3.2.1 IPV4 地址的结构体 3.2.2 地址族(Address Family) 3.2 ...