PPP(杜撰)
最开始,电话线入户,用户买来电脑想上网,最简便的方法想办法利用电话线来实现。
最后想了个法子,用电脑的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(杜撰)的更多相关文章
- /etc/ppp/chap-secrets
# Secrets for authentication using CHAP # client server secret IP addresses abc l2tpd * client:VPN 用 ...
- 升级Ubuntu 16.04 LTS后 DSL拨号上网(ppp)连接自动断开解决办法
原本在Ubuntu 15.10用拨号上网没有问题,但升级了16.04 LTS后发现原来的DSL连接不上了.主要表现为: 1.在NetworkManager里面选择DSL Connection能够尝试拨 ...
- PPP协议
PPP协议PPP协议是二层(数据链路层)协议,常用于拨号上网时客户端向服务器获取IP地址.PPP支持在各种物理类型的点对点串行线路上传输上层协议报文.它具有很多特性,比如支持多协议.提供可选的身份认证 ...
- PPP 转义字符 编码 和 解码
#include <stdio.h> #include <string.h> // PPP数据帧每一帧都以标识字符0x7E开始和结束: // 由于标识字符的值是0x7E,因此当 ...
- 关于帧中继和ppp的补充笔记
帧中继: · 两个设备都要启用 帧中继功能, 否则是不能 ping通的 · 两个设备上的接口serial要 no shutdown · · 一定要配置dlci地址(号). 否则就不能起来pvc 可以 ...
- 详解eNSP下的PPP之MP、PAP/CHAP认证实验配置
一.PPP MP实验(用虚拟模板配置) 1.拓扑图
- 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. ...
- PPP模式下的融资结构优化
PPPcode{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && d ...
- PPP(点对点协议(Point to Point Protocol)
1.简介PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议.这种链路提供全双工操作,并按照顺序传递数据包.设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成 ...
随机推荐
- SQL JOIN的用法
背景:(血的教训) 非常感谢能够有幸的去活力世纪面试,面试官非常的祥和,虽然最后没能够去成,但是非常的感谢,是他让我明白了自己还有很多需要去学习,每一次的面试不是为了去证明自己有多强,能拿多少的工资, ...
- Android学习笔记(十三)
Android中的广播机制 Android提供了一套完整的API,允许应用程序自由地发送和接受广播. 发送广播的方法借助于Intent,接受广播的方法需要广播接收器(BroadcastsReceive ...
- (Xaml) Type 'DeviceA' is not defined.
修改了一些Xaml, 始终提示 Compiler error(s) encountered processing expression "deviceA.B".Type 'Devi ...
- 一次Redis的使用Bug记录(exec)
博主在一次项目中,使用了工具类中的Redis类,因为该Redis没有封装管道pipeline和exec命令,所以就大笔一挥来了一段__call; 代码如下(其中$this->_connect() ...
- 使用maven一步一步构建spring mvc项目
1 使用eclipse构建maven web项目 1.1新建Maven的web项目 打开菜单File –New-MavenProject. 点击Next 选择模板类型archtype——ma ...
- 使用Visual Studio调试用户模式进程(Debugging a User-Mode Process Using Visual Studio)
由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com Visual Studio版本:Visual Studio 2015企业版,中文环境. MSDN原文:https: ...
- Bugtags 远程配置功能介绍
远程配置顾名思义是在不发版的情况下,更改应用的行为和外观.举个例子,如下图:在 Demo Page 中,BUTTON 的颜色不一样,如果想实时修改按钮颜色,测试不同颜色的按钮实际点击情况,该怎么做呢? ...
- gradle << 操作符作废
下面这种写法作废了 task deprecatedSample << { println 'Sample task' } 替换成下面 task newSample { doLast ...
- android 代码设置progressBar 颜色
void test() { LinearLayout linearLayout = new LinearLayout(this); ProgressBar progressBar = new Prog ...
- kubuntu+roundcube搭建邮件服务器(包含LAMP)
好久之前写的了,偶然翻到然后拿出来看看,里面文字图片都没改,有错误请见谅 步骤: 一.关于ubuntu的安装二.ubuntu配置LAMP(Linux+Apache+Mysql+Perl/PHP/Pyt ...