最开始,电话线入户,用户买来电脑想上网,最简便的方法想办法利用电话线来实现。

最后想了个法子,用电脑的UART的口连到电话线上;

网络提供商一段也用UART为用户提供网络服务;

那么问题来了,UART的波特率、奇偶校验位怎么定呢?

最后决定先协商一下,就称之为链路控制协议(LCP)

上述阶段还干了一个活就是服务提供商(ISP)为用户分配了一个独有的ID(session id), 以后报文中带着这个ID,就好像用户和服务提供商进行点对点对话,所以叫做点对点协议。

至于协商好以后后续传送IP报文或是啥的都无所谓。

PPP协议报文有一个特点就是一7E开头,也以7E结尾;他协商UART的波特率就像以太网协商速率和双工模式,可以看出它是链路层协议;

后来以太网普及,网线入户了,用网线上网可以百兆/千兆了。

用户不想用UART,改用网线可以,但是ISP不想改成网线怎么办?

就要在以太网上跑PPP,也就是报文不能以7E开头了,必须以MAC地址开头了

应运而生了PPPOE,以后报文中既要有MAC来支持以太网,又要有SESSION id让服务提供商能识别用户

所以服务提供商记录每个session ID的用户MAC是多少,每次发报文时用用户的MAC地址开头,

用户发的报文里必须携带SESSION id以便让服务提供商知道自己是谁。

再后来,ISP的网络也都改成了以太网,就不需要PPPOE了。

PPP(杜撰)的更多相关文章

  1. /etc/ppp/chap-secrets

    # Secrets for authentication using CHAP # client server secret IP addresses abc l2tpd * client:VPN 用 ...

  2. 升级Ubuntu 16.04 LTS后 DSL拨号上网(ppp)连接自动断开解决办法

    原本在Ubuntu 15.10用拨号上网没有问题,但升级了16.04 LTS后发现原来的DSL连接不上了.主要表现为: 1.在NetworkManager里面选择DSL Connection能够尝试拨 ...

  3. PPP协议

    PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP支持在各种物理类型的点对点串行线路上传输上层协议报文.它具有很多特性,比如支持多协议.提供可选的身份认证 ...

  4. PPP 转义字符 编码 和 解码

    #include <stdio.h> #include <string.h> // PPP数据帧每一帧都以标识字符0x7E开始和结束: // 由于标识字符的值是0x7E,因此当 ...

  5. 关于帧中继和ppp的补充笔记

    帧中继: · 两个设备都要启用 帧中继功能, 否则是不能 ping通的 · 两个设备上的接口serial要 no shutdown · · 一定要配置dlci地址(号). 否则就不能起来pvc 可以 ...

  6. 详解eNSP下的PPP之MP、PAP/CHAP认证实验配置

    一.PPP MP实验(用虚拟模板配置) 1.拓扑图

  7. CCNA实验4:HDLC和PPP

    一.HDLC封装 router9和11上分别配置s0/0如下 conf t int s0/0 encapsulation hdlc do show int s0/0 ip address x.x.x. ...

  8. PPP模式下的融资结构优化

    PPPcode{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && d ...

  9. PPP(点对点协议(Point to Point Protocol)

    1.简介PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议.这种链路提供全双工操作,并按照顺序传递数据包.设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成 ...

随机推荐

  1. nginx入门篇----安装、部署、升级

    1.安装前准备工作下载nginx安装包依赖包:gcc pcre pcre-level  zlib zlib-devel openssl openss-level在线依赖包安装命令:yum -y ins ...

  2. 如何给Visual Studio 2015安装XNA4.0

    从这个地址下载安装包 https://mxa.codeplex.com/releases/view/618279 按照说明步骤依次安装 DirectX XNA Framework 4.0 Redist ...

  3. VPS/服务器优化网络、加速方法总结与参考

    在国外的服务器上因为受各种因素影响,即使国外的服务器都是百兆共享或者G口到国内下载速度都不是很让人满意,大部分人购买国外服务器是用作存储下载或者扶墙,速度慢的所以话影响我们的使用体验.所以就搞出了很多 ...

  4. RabbitMQ、Rdis

    RabbitMQ RabbitMQ:官方网址:http://www.rabbitmq.com/ Install Erlang # rpm -ivh erlang-18.3-1.el6.x86_64.r ...

  5. putty远程连接ubuntu

      步骤一.在ubuntu系统中安装ssh,可使用如下的命令进行安装: sudo apt-get install openssh-server步骤二.为了保险起见,安装完成后重启一下ssh服务,命令如 ...

  6. 【学】React的学习之旅4-添加事件(onChange)

    实现联动绑定,在文本框中输入内容的同时,后面的span里内容跟着一起变化: onChange(),一旦触发一次变动,就执行某个函数: 既然已经在getInitialState属性里申明了一个变量inp ...

  7. 【原】运动版的轮播图,有左右按钮和单独分页,原生JS版

    运动版的轮播图,有左右按钮和单独分页 这个例子重点在于: 运动框架的复习,要灵活运动回调函数 始终以全局变量iNum来控制oUl的移动目的地,每次有任何动作,都是先判断iNum并改变iNum后去调用运 ...

  8. Oracle补习班第四天

    Everything has its time and that time must be watched. 万物皆有时,时来不可失 1,管理参数文件 参数文件分两种spfile二进制文件和pfile ...

  9. maven配置多模块项目事例

    limit-parent <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...

  10. SQL时间相关

    SQL --本周第一天 SELECT DATEADD(Day,-(DATEPART(Weekday,getdate())+@@DATEFIRST-)%,getdate()) --or ,getdate ...