第四天
PPP--点到点协议
PPP协议的优点:
PPP协议兼容性较好(只要串口线缆支持全双工通信就可以支持PPP协议)
可移植性强(PPPoE)
可以完成认证和授权过程
无重传机制,网络开销较小
PPP会话搭建:
链路建立阶段--LCP
认证阶段--PPP认证(可选项)
网络层协议协商阶段--NCP
PPP链路建立过程(数据链路层):
Dead阶段--物理层不可用:
当物理层正常时,通讯双飞的两端会跃迁到Establish状态
Establish阶段--进行PPP的LCP参数协商:
如果在该状态LCP参数协商成功,则进入Opened状态,表示底层链路已经建立
如果该阶段协商内容中,确定需要进行认证,则进入认证阶段,否则进入到网络层协议协商阶段
Authenticate阶段:
大多数情况下,链路两端的设备是需要经过认证阶段的
在默认情况下,PPP链路的建立不需要经过认证阶段
如果认证成功,则进入到网络层协议协商阶段。若认证失败,则直接返回到链路建立阶段
Network阶段:
网络层协商阶段(成功后PPP链路将保持通信状态,一旦失败,就会返回链路协商阶段)
若PPP链路运行过程中,出现物理链路断开,定时器超时,手工干预等原因导致链路断开,则会进入下一状态(Terminate状态)。
Terminate阶段:
该阶段是释放连接所使用的设备资源,若所有设备均被释放,则通讯双方恢复到Dead阶段,直到通讯双方重新建立PPP连接。
PPP数据帧结构:
LCP--链路控制协议
NCP--网络控制协议--如果网络层需要使用IP协议,则NCP协商时,使用的是IPCP协议(互联网协议控制协议)
LCP协议报文类型:
LCP有三种报文类型
链路配置报文
链路终止报文
Terminate---Request:终止请求
Terminate--ACK:终止确认
链路维护报文
Echo-Requst:回波请求
Echo-Replay:回波应答
PPP链路建立阶段--LCP建立
MRU值:PPP数据帧中所允许携带的最大数据单元,单位字节,默认值1500
是否认证,以及使用何种认证方式--可选
魔术字:用来检测链路中是否存在环路,随机生成:当接收到一定量的魔术字相同的数据包后,会判断网络中确实存在环路,该链路协商不成功被阻断
PPP认证阶段:
PPP会话的认证是一次性的的会话方式,当一次PPP会话完成后不会影响后续会话。
PPP认证,是通过调用AAA协议框架(认证,授权,计费)完成
PPP的认证可以是单向的也可以是双向的,一般选择单向认证
PAP--密码认证协议--两次握手:
被认证方使用明文形式将用户名和密码传递给认证方
一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并配置正确的用户名和密码
配置:
CHAP--挑战握手协议--三次握手:
认证过程:
认证方先发送挑战报文,里面包含了认证方的用户名和一个随机值
被认证方收到后,需要根据用户名信息去查找对应密码,然后将密码与随机值一起做HASH运算得到摘要值,然后发给认证方
认证方用密码与随机值进行相同算法的HASH运算并于被认证方发来的HASH值进行对比
HASH:散列输出,将任意长度的输入转换为任意长度的输出
配置:
不认证:只能由第一次登录来执行(第一次不认证可以从服务器端下载密钥信息)
网络层协议协商过程(PPP):
协商内容:
IP报文压缩方式
IP地址--协商对端的IP地址是否为可用地址,且不与自己的IP地址冲突
静态协商过程:
在NCP协商过程中,一旦认可了对方的IP地址,则将会自动学习到达该地址的主机路由(这条特性导致了PPP链路两端IP地址可以不在同一个网段)
动态协商过程:
配置:
第五天
GRE、MGRE
vPN:虚拟专用网络
依靠ISP或者其他网络基础设施上和构建的安全数据通信网络。---只不过这个专用网络是逻辑而非物理的。
虚拟:用户不在需要拥有实际的长途数据线缆,而是使用公共网络资源建立自己的专用网络。
专用:可以定制符合自身需求的网络。
GRE(点到点)--通用路由封装
拓扑图:
R1配置:
创建隧道接口
配置一个IP,该IP地址必须是私网IP
定义封装方式
定义封装内容,该IP必须是真实的公网出口IP
配置完成后需要补上路由信息
R3配置相同,不过源和目标地址要交换。
GRE封装与解封过程:
设备从连接私网的接口接收到数据包后,检查报文头部中目的IP地址字段,在路由表中查找出接口,如果发现出接口为隧道接口,则将报文发送给隧道模块进行处理。
隧道模块接受到报文后,首先根据乘客协议的类型和当前GRE隧道的配置进行校验和参数,对报文进行GRE封装
然后,设备给报文添加新的传输协议,该协议的源IP就是隧道源地址,目的IP就是隧道目的地址
最后设备根据新条件的IP报文头部中的目的地址,在路由表中查找对应的出接口并发送报文
接收端设备从连接公网的接口收到报文后,首先分析IP头部信息,如果发现协议字段类型值为47(GRE协议号),表示数据部分由GRE模块进行处理
GRE模块去除掉IP头部和GRE报文头部,并根据GRE报文头部的类型字段来判断乘客协议内容。从而交给对应模块处理
keepalive检测机制:
只需要配置一端,另一端无条件回复
MGRE(由GRE升级改造而来,实现点到多点近似于NBMA):
不支持keeplive检测机制
需要借由NHRP协议实现
NHRP--下一跳解析协议
NHRP映射表
静态表项
由网络管理员手工配置
spoke与hub建立静态的mgre隧道
动态表项
由NHRP协议动态生成
hub节点被动获取到spoke节点发送来的注册信息
各个spoke节点通过NHRP协议获取到对端的spoke节点映射关系
老化时间7200s
NHRP映射表建立过程
建立spoke到hub之间的mgre隧道
spoke向hub注册请求
hub向spoke注册应答
分支间路由学习
DSVPN支持两种分支间路由学习方式
分支间相互学习路由--非shortcut方式
每个分支需要学习到所有对端的路由数据,并且下一跳为分支本身
分支路由汇聚到总部--shortcut方式
需要添加以下配置:
中心(HUB节点):
[r1-Tunnel0/0/0]nhrp redirect ----开启重定向功能。默认情况为未启动
分支(spoke节点):
[r4-Tunnel0/0/0]nhrp shortcut ----使能shortcut功能
建立spoke与spoke之间的mgre隧道
hub--spoke架构--中心到节点架构(还有一种全连接架构,即所有的路由器都是中心):
NHS--下一跳服务器
中心节点的IP地址必须固定
MGRE的shortcut配置:
拓扑图:
Hub(中心)节点配置:
修改接口封装协议,且为点到多点模式
补上到spoke节点(虚拟接口)的路由
spoke(其它)节点配置:
补上到hub(中心)节点(虚拟接口)的路由
使用nhrp到中心注册
MGRE下RIP网络搭建非shortcut方式
拓扑图:
搭建完成后会发现分支无法获得中心路由信息:
原因:因为RIP是以组播的方式在发送报文,而MGRE环境下是点到点通讯,不支持组播行为。
解决办法:开启伪广播协议
[r1-Tunnel0/0/0]nhrp entry multicast dynamic ----在中心节点配置
分支间无法相互获取路由信息:
原因:华为设备默认开启水平分割机制,导致中心无法从接口将分支的路由发送出去。
解决办法:[r1-Tunnel0/0/0]undo rip split-horizon ----关闭水平分割机制
DSVPN--动态智能VPN(由于MGRE中心信息处理量太大,需要改进,所以应运而生):
由MGRE环境+NHRP组成
传统的MGRE技术存在问题---分部之间无法直接通讯(源分支无法直接获取目的分支的公网地址,也就无法建立VPN隧道),导致所有的分支之间的通讯数据只能通过总部的Hub设备进行中转。
第六天:
OSPF
OSPF基础:
动态路由协议的评判标准--收敛速度、选路、占用资源
OSPF特性:
IGP
链路状态协议
SPF算法
组播224.0.0.5/224.0.0.6
10/150
OSPF与RIPv2对比
相同点:
均采用组播通讯
不同点:
OSPF可以工作在大型网络中
OSPF的结构化部署:
区域内部传递拓扑信息,区域间传递路由信息。--链路状态型协议的距离矢量特征。
OSPF的结构化部署规则:
1.OSPF要求域中所有非骨干区域(区域id不为0的区域)都必须与骨干区域直接相连。
OPSF定义了ABR(区域边界路由器)来确保遵循这条规则--只有真正的APR设备才可以转发区域间路由信息。
ABR规则:
1.至少连接两个区域
2.连接的区域间至少有一个接口连接区域0
3.在区域0中至少有一个活跃的邻居
2.骨干区域不能被分割
OSPF规定:从非骨干区域收到的路由信息,ABR
能接收到但不会使用这条路由信息(这条规则被称为OSPF的区域水平分割机制)。
总结:
OSPF有如下规定:
1.伪ABR设备不允许转发区域 间路由信息
2.对于真实ABR设备
能够将自己直连的非骨干区域链路传递给骨干区域
能够将自己直连的骨干区域路由信息传递给非骨干区域
能够将自己从骨干区域学习到的非骨干区域路由信息传递给直连的非骨干区域
OSPF路由器角色:
内部路由器--IR
所有接口都接入同一个OSPF区域的路由器
区域边界路由器--ABR
骨干路由器--BR
接入AREA0的路由器
自治系统边界路由器--ASBR
工作在OSPF自治系统边界的路由器,负责将OSPF域外的路由引入本域。
并不是运行了多种路由协议的OSPF路由器就一定是ASBR;必须执行了重发布操作的路由器才会被称为ASBR
OSPF数据包:
hello包:
用来发现建立并周期保活OSPF邻居关系,通过组播224.0.0.5发送。
hello-time:hello时间-10s发一次用以确认邻居存在。
hold-time:死亡时间-hello-time*4
Router-ID(RID)--全域唯一,标识路由器身份。
在华为设备中若没有接口IP,RID为0.0.0.0
在思科设备中若没有接口IP,则OSPF无法启动
华为设备第一次执行自身标准,后续执行FRC标准
华为标准:状态最先UP的接口的IP地址作为Router ID
FRC标准:
1.取loopback接口IP中最大的作为Router ID
2.若没有loopback接口,则选择物理接口IP地址中最大的作为Router ID
配置方式:
手工配置
自动配置
默认优选最大环回IP地址,没有环回就选择最大物理地址
有环回看环回,没环回看物理
无论采用手动还是自动配置,一旦OSPF确定了RID,则之后不会改变。除非重启OSPF进程。
DBD报文:
数据库描述报文
该报文携带的是路径信息的摘要。--避免重复更新,减少更新量的一种做法。
LSR报文:
链路状态请求报文---用以获取未知的LSA(链路状态通告)信息。
LSU报文:
链路状态更新报文
携带真实的链路状态信息
LSA报文:
OSPF七种状态机
down--关闭
init--初始化
2-way--双向通讯 稳定态
exstart--预启动
exchange--准交换
loading--加载
full--转发 稳定态
条件匹配:
DR、BDR、DRother--接口角色
选举规则:
决定了谁给谁传递拓扑信息。
DR/BDR:监听224.0.0.6 在224.0.0.5发送信息
其他:在224.0.0.6发送信息 在224.0.0.5发送信息