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

最后想了个法子,用电脑的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. requests高级用法

    会话对象 当你向同一主机发送多个请求时,session会重用底层的tcp连接,从而提升性能,同时session也会为所有请求保持 cookie. # _*_ coding: utf-8 _*_ imp ...

  2. 【linux】 解决linux下vsftp 500 OOPS: cannot change directory:/home/ftp/ 办法

    用FileZilla连接ftp出现错误,500 OOPS: cannot change directory:/home/ftp 原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的 ...

  3. node express 304 avoid

    method 1 Why do I need this? The right answer is: I don’t need that trick! The example below is just ...

  4. STM32是否可以跑linux

    操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS... CPU有两种 带MMU的 ...

  5. docker网络配置方法总结

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  6. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  7. EMC起步:华为交换机拆解

    [作者:byeyear    Email:east3@163.com    转载请保留此行] 1. 静电抗扰 理想情况下,我们的系统是一个中空且密闭的金属盒子,根据电磁场理论,外界的任何静电源都不可能 ...

  8. Hash校验

    在项目的建设方案中,都会提到数据的安全性,数据的安全性其中又包括数据的完整性和数据保密性,      1.  数据完整性 通过使用Hash校验的方法确保数据的完整性: 传输过程的完整性受到损坏则采取数 ...

  9. OAF_开发系列23_实现OAF数据格式CSS和CSS库(案例)

    20150716 Created By BaoXinjian

  10. module

    扯淡的人 http://www.cnblogs.com/yuanchenqi/articles/5732581.html 不被调用的    要写在这下面 1 if __name__=="__ ...