LCP协议-----链路控制协议----主要用于完成PPP会话建立的第一阶段协商过程
NCP协议-----网络控制协议------是一系列协议的总称,完成PPP会话建立第三阶段时针对网络层协议进行 协商。网络层所使用的协议不同,则对应的NCP协议不同。
LCP协议
LCP报文类型
LCP具有三大报文类型
链路配置报文----重点
链路终止报文
■Timinate-REquest:中止请求
■Timinate-ACK:终止确认
链路维护报文
■echo-reque-----回波请求
■ecor-rep------回波应答
LCP建立
1、MRU值:在PPP 数据帧中所允许携带的最大数据单元,单位字节,默认1500
2、认证方式:根据第二阶段认证来判断,若存在认证,则需要协商认证方式;若不存在认证,则不需要协商。
3、魔术字:用来检测链路中是否存在环路,是由本地设备随机生成的字符串(设备序列号、硬件地址)
协商过程
配置方法
认证方
创建用户信息 [
XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user huawei password cipher 123456
[XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user huawei service-type ppp
配置认证方式
[XIAN-OPENLAB-CORE-AR2240-1-Serial4/0/0]ppp authentication-mode pap
被认证方
[r2-Serial4/0/0]ppp pap local-user huawei password cipher 123456
PPP会话的建立是一次性会话方式,当第一次链路建立完成后,后续修改认证方式不会影响链路的通 讯。
CHAP认证
挑战握手协议-----该认证不再是传递明文信息,而是采用对比摘要值的方式进行认证。
认证过程
1.认证方先发送一个挑战报文,里面包含的是认证方的用户名和一个随机值。
2.被认证方接收到后,需要根据该用户名的信息在本地进行查找,找到其对应的密码,然 后将密码和随机值一起进行HASH运算,得出摘要值。
3然后被认证方将自己的用户名和该摘要值发送给认证方
4.认证方通过接受到的用户名找到对应密码,再将密码与自己本地产生的随机值,进行 HASH运算,若所得到的摘要值与认证方发送的摘要值相同,则代表通过认证。
认证方配置
[XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user ccip passwor
[XIAN-OPENLAB-CORE-AR2240-1-aaa]local-user ccip service-t
[XIAN-OPENLAB-CORE-AR2240-1-Serial4/0/0]ppp authenticat
被认证方
[r2-Serial4/0/0]ppp chap user ccip
[r2-Serial4/0/0]ppp chap password cipher 666666
一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认 证协议并正确配置用户名和密码等信息。
网络层协议协商阶段——NCP协商
通过NCP协议来对网络层参数进行协商——IPCP协议(为了检测IP配置是否正确)
协商内容协议
1、IP保温的压缩方式
2、IP地址——检测IP地址是否为可用IP地址,且不用于自己的IP地址冲突
协商过程(双向)
静态地址协商
一旦认可了对方的IP地址,则将会自动学习到达该IP地址的主机路由。----在PPP网络中,通 讯双方的IP地址可以不同。
动态地址协商
配置命令
■配置方
[r2-Serial4/0/0]remote address 1.1.1.1
■获取方
[r1-Serial4/0/0]ip address ppp-negotiate
AAA
定义---认证、授权和计费的简称,是网络安全的一种管理机制,提供了认证、授权和计费三种安全功 能。
安全功能
认证---用于验证用户是否可以获取网络访问权限
授权---授予用户可以使用的服务类型
计费---记录用户使用网络资源的情况
AAA域
每一个用户都属于一个域,一个域是由属于同一个域的用户构成的集合群体。
域下信息
一个域统一管理AAA方案、服务器模板和授权。
AAA方案----分为认证方案、授权方案和计费方案,用来定义认证、授权和计费的方式方法 服务器模板---用来配置认证、授权或计费使用的服务器
授权信息分为两类
本地授权(域下授权信息)
服务器授权:用户从域下和服务器同时获取的授权信息
若域下授权信息与服务器授权信息冲突,则遵照服务器
不冲突,则两者同时执行
用户所属域
用户属于哪一个域----根据NAS设备来判断。
NAS设备存储了一个区域内部所有的用户信息,以及其对应的域信息。 当用户名中携带了域名信息,则NAS设备会根据域名将其归属到对应域下,并回复该域下所配置的AAA 方案、服务器模板、域下授权信息。如果用户名没有携带域名信息,则会将其归属到默认域中。
默认域中自带默认的认证方案、授权方案和计费方案。
AAA方案
认证方案
认证方案用来定义用户认证时所使用的的认证方法以及每种认证方法的生效顺序。
认证方案必须应用到域。
设备支持的认证方式
本地认证----设备作为认证服务器,然后将用户信息配置在本设备上。
优点: 速度快,降低运营成本。
缺点:存储的用户信息量受硬件影响
不认证
授权方案
授权方案用来定义用户授权时使用的授权方法以及每种授权方法的生效顺序 并且,也需要应用到域
设备支持的授权方法
本地授权
不授权
计费方案
计费方案用来定义用户计费时使用的计费方法 并且,也需要应用到域
设备支持的计费方法
RADIUS计费
HWtacacs计费
计费只能有一种方案,故没有所谓的生效顺序
配置信息
创建用户:
[server-aaa]local-user ccip@huawei password cipher 123456----用户名后必须跟域名
[server-aaa]local-user ccip@huawei service-type telnet
AAA方案:
[server-aaa]authorization-scheme huawei ---创建一个授权方案
[server-aaa-author-huawei]authorization-mode local ----设置该方案的授权方法
[server-aaa]authentication-scheme huawei ---创建一个认证方案
[server-aaa-authen-huawei]authentication-mode local ---设置该方案的认证方法
[server-aaa]domain huawei ---创建huawei域
[server-aaa-domain-huawei]authorization-scheme huawei
[server-aaa-domain-huawei]authentication-scheme huawei
GRE和MGRE
VPN——虚拟私有网络
指依靠ISP或其他网络管理机构在共有网络基础上构建的专用的安全数据通信网络,只不过该网络是逻辑上的而非物理的。
虚拟:用户不在需要拥有实际的长途数据线路,而是使用公共网络资源建立的属于自己的私有网络。
专用:用户根据自身需求,特别定制的最符合自身网络架构的网络。
核心技术——封装技术
GRE---逻辑隧道的封装技术
GRE---通用路由封装----标准的三层隧道技术---属于点到点隧道
GRE环境
希望流量走向
[r1]interface Tunnel 0/0/0 //创建隧道接口
[r1-Tunnel0/0/0]ip address 192.168.3.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre //定义封装方式
[r1-Tunnel0/0/0]source 12.0.0.1 //定义封装内容,注意是物理接口IP地址
[r1-Tunnel0/0/0]destination 23.0.0.3
配置双方都要
GRE的报文结构
GRE封装和解封装报文的过程
设备从连接私网的接口接收到报文后,检查报文头部中出现的IP地址字段,并在路由表中查找出接 口,如果发现出接口是隧道接口,则将报文发送给tunnel模块进行处理。
tunnel模块接收到报文后,会首先根据乘客协议的类型和当前GRE隧道的配置来添加参数,并对报 文进行GRE封装
然后,设备给报文添加传输协议报文头部,即IP报文头部。该IP头部信息的源IP地址是隧道源地址 (不是隧道自身的IP地址),目的地址就是隧道的目的地址。
最后,设备根据新添加的IP报文头部中的目的IP地址,在路由表中查找对应的出接口,并发送报 文。
接收端设备从连接公网的接口收到报文后,首先分析IP报文头部,如果发现协议类型字段的值为47 (GRE的协议号),表示上层协议为GRE谢意,于是出接口将报文交给GRE模块处理。
GRE模块去掉IP报文头部和GRE头部,并根据GRE报文头部中的协议类型字段,发现此报文的乘客 协议为私网中运行的IP协议,将该数据交给对应协议处理。
keepalive检测——用于检测隧道对端是否可达
[r1-Tunnel0/0/0]keepalive period 2 retry-times 5
设置发送周期为2s;重传次数为5次。
如果本隧道配置了keepalive检测功能,GRE隧道会创建一个计时器,并周期性的发送探测报文,同时进行不可达计数。
每发送一个探测报文,不可达计数+1
如果该计数器到达预先设定的值之前收到回应报文,则表明对端可达。
如果计时器值达到预先设定的重传此处,还未收到对端的回应报文,则认为对端不可达。关闭隧道连接。I
keepalive是不需要双方均进行配置(GRE)的,仅配置一段进行检查。
MGRE——多点通用路由封装技术
NHRP——下一跳解析协议
中心/节点:Hub-Spoke架构
NHS(下一跳服务器)
在私网当中选择一个出口物理IP地址不会变的设备充当NHS服务器。
剩下的节点都可以知道中心的隧道IP和物理IP,然后通过NHRP要求所有的分支节点都需要将自己的物理接口
IP和隧道IP发送给该服务器(有变化就发送)。
NHS服务器将会存有所有分支节点的地址映射关系的一个动态记录。
发送消息时查询该映射记录表即可
MGRE的非shortcut配置
<r5>reset saved-configuration // 清除本地配置文件
Hub配置
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip add 192.168.5.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp //修改接口封装模式为点到多点GRE
[r1-Tunnel0/0/0]source 15.0.0.1//定义封装的源IP,该IP地址为物理IP地址
Spoke配置
[r4]interface Tunnel 0/0/0
[r4-Tunnel0/0/0]ip add 192.168.5.4 24
[r4-Tunnel0/0/0]tunnel-protocol gre p2mp I
[r4-Tunnel0/0/0]source GigabitEthernet 0/0/0/1/设置分支站点IP地址不固定,故源IP根据出接口变化
[r4-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register l分支需要到中心站点注册
隧道地址 物理地址 注册
[r1]display nhrp peer alll/查看nhrp的注册情况
DSVPN----华为
DSVPN专门为了Hub-SPoke架构诞生的服务
通过总部中转流量会导致下述问题:
1、总部在中转分支之间的数据流量时,会消耗总部hub设备的cpu和内存资源,造成资源紧张
2、总部需要对分支之间的数据流晕进行封装和解封装,I造成额外的网络延时
3、IPSec协议不支持广播报文和组播报文
DSVPN通过NHRP协议动态收集、维护和发布各节点的公网地址等信息,解决了源分支无法获取目的分支的公网工P地址的间题,从而可以在分支和分支之间直接建立一条动态的vPN登道,实现分支和分支之间的直接通讯,减轻总部的设备负担。
DSVPN借助MGRE技术,使VPN隧道能够传输组播报文和广播报文,并且一个tunnel接口可以跟多个对端建立VPN隧道,减少网络管理员的配置量,并且,在新增分支或者分支地址变化的情况下,能够自动维护总部和分支之间的隧道关系,而不需要调整任何配置
DSVPN概念
当源spoke需要向目的spoke发送数据报文时,
源spoke通过与hub节点的静态more隧道江湖NHRP协议报文获取目的spoke节点的公网地址,并且与目的的spoke节点建立动态more隧道。
mgre隧道
静态mgre——-建立在hub到spoke,并且永久存在
动态mgre——建立在spoke到spoke,在一定周期内没有流量转发时将自动拆除。
NHRP映射表
静态表项
动态表象
老化时间——7200s
NHRP映射表建立过程
1.建立spoke和hub之间的MGRE隧道;
2.分支学习路由
1、shortcut方式——快捷方式
分支路由全部汇聚到总部
spoke节点只需要存放到达hub节点的路由即可
一般应用在网络规模较大、分支节点较多的场景。
2. 非shortcut方式----非快捷方式
分支间相互学习路由
每一个分支节点都需要学习到所有对端的控制层面的数据。
一般应用在网络规模较小,路由信息量少的网络中。
3. 建立spoke和spoke之间的MGRE隧道
SHORTCUT与非shortout
[r4-Tunnelo/0/0]nhrp shortcut l/在spoke设备上配置——使能nhrp重定向报文
[r4-Tunnelo/0/0]nhrp shortcut l/在spoke设备上配置——开启spoke设备的nhrp重定向请求报文
动态路由协议下的MGRE环境---RIP
[r1-Tunnelo/o/o]nhrp entry multicast dynamic l/在hub配置,开启伪广播功能(给所有人都单播发送一次报文)
[r1-Tunnel0/o/0]undo rip split-horizon //关闭rip水平分割
[r1-Tunnelo/o/o]rip summary-address 192.168.0.0 255.255.248.0 //shortcut