技术标签: PPP 网络 Routing&Switch PPPoE 帧中继
What:工作在数据链路层,是一种广域网协议。
场景:企业总部和分部之间通过帧中继网络进行互联
DTE(data terminal Equipment)
Data Communications Equipment)
LMI(Local Managerment interface)
DLCI(Data Link Connection Identifier)
PVC(Permanent virtual circuits)
SVC(swithcd virtual circuits)
两个DTE
之间的设备叫做虚电路。采用虚电路来连接两端的设备。
DLCI:数据链路连接标识(Data Link Connection Identifier)
取值范围 16-1022,1007-1022是保留的DLCI
本地管理接口,用于监控永久虚电路的状态。 用户管理PVC的增、删、检测、查看状态等。
为什么需要有LMI协议
因为在PVC中,无论用户设备还是网络设备都需要知道当前PVC的状态。 所以通过LMI协议来获取当前PVC的状态
1、DTE端首先发送状态查询消息到达DCE
2、DCE端收到消息之后回复状态应答消息。
3、DTE解析收到的应答消息,获取链路状态和PVC状态信息
4、在两端都收发正常情况下,PVC状态变为Active
用来解析本地DLCI对应的对端IP。通过Inverse arp用来自动生成对端IP与本地DLCI的映射表。
当帧中继LMI协商通过,PVC状态变为Active后,就会开始InARP协商过程
1、当本地配置地址之后,会发送inverse arp请求消息。
2、对端设备收到该请求消息,提取源IP地址与本地DLCI进行绑定,并回复inverse arp 应答消息
3、本地收到应答消息之后,提取源IP与本地DCLI进行绑定。也生成地址映射
逆向ARP表 inverse arp
对端IP和本端DLCI的映射关系。根据DLCI找对端IP
link-protocol fr 在接口下将链路层协议改成帧中继协议
然后在帧中继交换机上添加映射。
首先帧中继交换机会向路由器分发DLCI,在帧中继交换机配置把DLCI与接口进行映射,R3要访问R5,查逆向ARP解析表,逆向解析表是在设备上配置了IP地址后,设备会在该虚电路上发送inverse arp请求报文给对端设备,该请求报文中包含自己的IP地址,对端收到请求报文后,可以获得本端IP地址后会生成地址映射,并发送inverse arp响应报文进行回复。本端收到inverse arp响应报文后,解析对端IP地址,也生成地址映射。根据R5的ip地址从对应的DLCI标识的虚电路进行转发,帧中继交换机收到数据之后查看DLCI 103字段,然后查看映射表找到DLCI对应的接口发出。并将DLCI值改为301到达R5,R5查看DLCI为自己本端DLCI接受数据。
R3-R4同理。
R4与R5通信,需要手工映射,通过R3进行通信。
FR静态映射:
fr map ip 对端IP 本地DLCI broadcast
display fr map-info 查看映射表项
display fr pvc-info 查看虚电路的配置和统计信息
帧中继在遇到水平分割机制时,会造成网络通信不正常。
默认关闭水平分割
使用子接口
点到点
一个子接口对应一条PVC
配置子接口为点对点,且禁用InARP时,无需配置手工映射
点到多点
一个子接口对应多条PVC
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。 设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案.
PPP | LCP | OPTION
ppp | ip | icmp
PPP报文格式
LCP的报文格式
进行链路层协商,4个消息
configure-request:发送方将本地的链路参数发送给对端进行协商
configure-ack:表示对端发来的request完全接受参数
configure-nak:表示对端发送的参数本地不合法
configure-Reject:表示对端发送的参数本地不识别
LCP协商成功状态为opened
echo request:默认每10s发送一次。
echo replay
收到一个configure-request报文,将其包含的魔术字和本地的魔术字进行对比,如果不同,则认为链路没有环路,使用configure-ack进行回复,表示魔术字协商成功。
如果魔术字相同,则发送一 个configure-nak报文,携带一个新的魔术字。不管收到的nak报文中是否携带相同的魔术字,LCP都发送一个新的configure-request报文,携带新的魔术字。如果链路有环路,该过程会一直持续下去。如果没有环路,则报文交互会很快回复正常。
3s的重传超时
R1先发送LSP开始进行协商。
R1向R2发送configure-request报文进行协商(本地的链路层参数),R2收到request报文并且认可其中的参数。返回一个configure-ack报文协商成功。
如果configure-ack报文因链路拥塞丢包了,R1会每隔3s发送一次configure-request报文。如果连续发送10次还没有收到对应的ack报文则认为对端不可用。停止发送configure-request报文。
5次的协商放弃。
R1发送configure-request报文给R2,R2收到之后进行协商,协商不能接受全部参数或者部分参数,回复一个configure-nak报文,其中包含不能接受的参数列表发送给R1。R1收到之后重新选择本地使用的相关参数再次发送request报文给R2。
连续5次仍然协商失败,不再继续协商。
R1向R2发送configure-request消息,R2收到之后不能识别全部或者部分参数,发送一个configure-reject消息给R1,R1收到之后重新发送不包含R2不能识别的参数的request报文给R2。
R1
ip pool huawei
network 12.1.1.0 mask 24
interface s1/0/0
ip add 12.1.1.1 24
remote address pool huawei
R2
interface s1/0/0
ip add ppp-negotiate ##用于发送0.0.0.0的request报文请求地址。
R1收到全0的request消息认为地址0.0.0.0不合法,使用NAK消息回复一个新的ip地址。
R2收到NAK消息,跟新本地的IP地址,发送configure-request包含新的IP地址检测地址是否冲突,R1回复ack确认,同时也发送configure-request消息来检测本地地址是否冲突,R2收到之后认为合法,也发送ack消息。
PAP和CHAP的区别?
PAP是一个明文认证,2次握手
CHAP是密文认证,3次握手
PAP由被认证方发起认证。
认证方:认证方负责认证被认证方,有对应的数据库
被认证方:被人认证的。
Authenticate-Request:用于被验证方发送用户名和密码
Authenticate-Ack:验证方发送验证成功的信息
Authenticate-Nak:验证方发送验证失败的信息
aaa
local-user huawei password cipher huawei
local-user huawei service-type ppp
#认证方开启认证
interface s1/0/0
ppp auuthentication-mode pap
#被认证方发送用户名和密码
interface s1/0/0
ppp pap local-user huawei password cipher huawei
认证在LCP之后NCP之前,已经协商完建立了PPP连接的链路,如果在配置了认证,只有重置链接才能进行认证协商。
shutdown
undo shutdown
CHAP由认证方发起认证。
Challenge:用于认证方向被认证方发起验证过程。
Response:用于被认证方向认证方返回用户信息
Success:用于认证方向被认证方发送认证成功信息
Failure:用于认证方向被认证方发送认证失败信息
chap怎么实现密文认证的?
发送的challenge消息中带有用户名(可选)和随机数,被认证方收到消息之后,使用challenge消息中的随机数和本地的identifier+密码进行MD5计算得出hash值加上用户名放在response消息中发送给认证方。认证方通过相同的MD5计算得出hash值,相同认证通过发送sucess消息, 不同认证失败发送Failure消息。
默认不带用户名,使用ppp chap user huawei,使认证方发送challenge消息带用户名
被认证方不带用户名,则认为没有开启认证,认证方发送reject消息。
1、认证方不带用户名,被认证方只能在接口下配置用户名和密码。
2、认证方携带了用户名,被认证方接口下可以只配置用户名,密码在本地AAA中配置。
认证方接口下
ppp chap user huawei #可以携带用户名
被认证方
aaa
local-user huawei password cipher huawei
local-user huawei service-type ppp
服务端:
router-b(config)#user ruijie pass 0 123456
router-b(config)#int se 2/0
router-b(config-if-Serial 2/0)#enc ppp
router-b(config-if-Serial 2/0)#ppp au chap pap
router-b(config-if-Serial 2/0)#no shut
router-b(config-if-Serial 2/0)#exit
router-b(config)#
客户端:
router-b(config)#user ruijie pass 0 123456
router-b(config)#int se 2/0
router-b(config-if-Serial 2/0)#enc ppp
router-b(config-if-Serial 2/0)#ppp chap host ruijie
router-b(config-if-Serial 2/0)#ppp chap pass 0 123456
router-b(config-if-Serial 2/0)#ppp pap sent ruijie pass 0 123456
router-b(config-if-Serial 2/0)#no shut
router-b(config-if-Serial 2/0)#exit
router-b(config)#
MP:PPP的链路捆绑
作用:
报文:
Endpoint Discriminator:终端标识符,用于在一台设备上区分不同的MP
虚拟接口模版方式
1、创建虚拟模版
interface vitrual-template 1
ppp mp endpoint #配置本地终端标识,区分不同的MP,可选默认随机数。
ppp mp binding-mode #可选的绑定条件
authentication #根据对端用户名进行捆绑
Description #根据对端设备的标识符进行捆绑
both #同时根据对端用户名和对端标识符进行捆绑
2、将接口加入到虚拟模版
interface s1/0/0
ppp mp virtual-template 1
MP-Group方式
1、创建MP-Group组,配置IP
interface mp-group 0/0/0
2、将PPP链路加入到组里面
interface s1/0/0
ppp mp mp-group 0/0/0
利用以太网将大量主机连接起来,通过远端接入设备连入因特网,并用PPP协议对每个主机进行认证,计费等。使用Client/Server模型
场景:运营商和用户之间进行认证、审计、计费等。以太网没有控制,PPP有认证。通过PPP和以太网协议结合。
L2|PPPoE | PPP | LCP
Discovery:类似DHCP请求过程
Session
进行基本的PPP协商,认证协商等。与普通的ppp协商一样。
Terminate
客户端和服务器端都能发送PADT消息来结束PPP连接。
Client
interface Dialer1 ##创建拨号口
link-protocol ppp ##自动封装ppp协议
ppp pap local-user huawei password cipher admin ##认证
ip address ppp-negotiate ##ipcp动态协商IP地址
dialer user huawei ##拨号用户
dialer bundle 1 ## 创建bundle号 与拨号口关联,在物理口调用
dialer-group 1 ## 调用 group组规则
dialer-rule ##创建dialer规则
dialer-rule 1 ip permit ##创建规则,1代表的是group编号
interface GigabitEthernet0/0/0
pppoe-client dial-bundle-number 1 ##物理口调用bundle,通过bundle关联拨号口的配置
Server
ip pool huawei ##创建为用户分配的地址池
gateway-list 12.1.1.254
network 12.1.1.0 mask 255.255.255.0
aaa ##创建本地用户数据库
local-user huawei password cipher huawei
local-user huawei service-type ppp
interface Virtual-Template1 ##创建虚拟模版
ppp authentication-mode pap
remote address pool huawei
ip address 12.1.1.254 255.255.255.0
interface GigabitEthernet0/0/0 ##物理接口调用虚拟模版
pppoe-server bind Virtual-Template 1
文章浏览阅读1.6w次,点赞8次,收藏41次。生活中我们无时不刻不都要在网站搜索资源,但就是缺少一个趁手的资源搜索网站,如果有一个比较好的资源搜索网站可以帮助我们节省一大半时间!今天小编在这里为大家分享5款超厉害的资源搜索网站,每一款都可以让你的资源丰富精彩!网盘传奇一款最有效的网盘资源搜索网站你还在为找网站里面的资源而烦恼找不到什么合适的工具而烦恼吗?这款网站传奇网站汇聚了4853w个资源,并且它每一天都会持续更新资源;..._最全资源搜索引擎
文章浏览阅读4.5k次,点赞5次,收藏18次。阅读测试程序,设计一个Book类。函数接口定义:class Book{}该类有 四个私有属性 分别是 书籍名称、 价格、 作者、 出版年份,以及相应的set 与get方法;该类有一个含有四个参数的构造方法,这四个参数依次是 书籍名称、 价格、 作者、 出版年份 。裁判测试程序样例:import java.util.*;public class Main { public static void main(String[] args) { List <Book>_6-1 book类的设计java
文章浏览阅读613次,点赞28次,收藏27次。相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低学校的运营人员成本,实现了校园导航的标准化、制度化、程序化的管理,有效地防止了校园导航的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修正建筑速看等信息。课题主要采用微信小程序、SpringBoot架构技术,前端以小程序页面呈现给学生,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。微信小程序主要包括学生信息、校园简介、建筑速看、系统信息等功能,从而实现智能化的管理方式,提高工作效率。
传统上用户登陆状态会以 Session 的形式保存在服务器上,而 Session ID 则保存在前端的 Cookie 中;而使用 JWT 以后,用户的认证信息将会以 Token 的形式保存在前端,服务器不需要保存任何的用户状态,这也就是为什么 JWT 被称为无状态登陆的原因,无状态登陆最大的优势就是完美支持分布式部署,可以使用一个 Token 发送给不同的服务器,而所有的服务器都会返回同样的结果。有状态和无状态最大的区别就是服务端会不会保存客户端的信息。
文章浏览阅读784次。发表于10小时前| 2674次阅读| 来源TechCrunch| 19 条评论| 作者Jon EvansiOSAndroid应用开发产品编程语言JavaObjective-C摘要:即便Android市场份额已经超过80%,对于开发者来说,使用哪一个平台做开发仍然很难选择。本文从开发环境、配置、UX设计、语言、API、网络、分享、碎片化、发布等九个方面把Android和iOS_ios 开发角度
搜索引擎的发展历史可以追溯到20世纪90年代初,随着互联网的快速发展和信息量的急剧增加,人们开始感受到了获取和管理信息的挑战。这些阶段展示了搜索引擎在技术和商业模式上的不断演进,以满足用户对信息获取的不断增长的需求。
文章浏览阅读990次。对象特性是指控制对象的输出参数和输入参数之间的相互作用规律。放大系数K描述控制对象特性的静态特性参数。它的意义是:输出量的变化量和输入量的变化量之比。时间常数T当输入量发生变化后,所引起输出量变化的快慢。(动态参数) ..._控制对象特性
文章浏览阅读5.7w次,点赞50次,收藏276次。FRP搭建内网穿透1.概述:frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。2.简单的图解:3.准备工作:1.一个域名(www.test.xyz)2.一台有公网IP的服务器(阿里云、腾讯云等都行)3.一台内网主机4.下载frp,选择适合的版本下载解压如下:我这里服务器端和客户端都放在了/usr/local/frp/目录下4.执行命令# 服务器端给执_locyanfrp
文章浏览阅读687次。题目:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93745#problem/A题意:给出r*c的01矩阵,可以翻转格子使得0表成1,1变成0,求出最小的步数使得每一行中1的个数相等,每一列中1的个数相等。思路:网络流。容量可以保证每一行和每一列的1的个数相等,费用可以算出最小步数。行向列建边,如果该格子是_uva12534
文章浏览阅读504次。1、Let's Encrypt 90天,支持泛域名2、Buypass:https://www.buypass.com/ssl/resources/go-ssl-technical-specification6个月,单域名3、AlwaysOnSLL:https://alwaysonssl.com/ 1年,单域名 可参考蜗牛(wn789)4、TrustAsia5、Alpha..._csdn alphassl免费申请
文章浏览阅读1.6k次。测试算法的性能 很多时候我们需要对算法的性能进行测试,最简单的方式是看算法在特定的数据集上的执行时间,简单的测试算法性能的函数实现见testSort()。【思想】:用clock_t计算某排序算法所需的时间,(endTime - startTime)/ CLOCKS_PER_SEC来表示执行了多少秒。【关于宏CLOCKS_PER_SEC】:以下摘自百度百科,“CLOCKS_PE_算法性能测试
文章浏览阅读1.2k次。fromhttps://towardsdatascience.com/finding-lane-lines-simple-pipeline-for-lane-detection-d02b62e7572bIdentifying lanes of the road is very common task that human driver performs. This is important ..._lanedetectionlite