一、MPLS
交换快,路由慢的原因:
- 交换机:匹配、包匹配(ARP表)
- 路由器:匹配、不匹配、最长匹配(路由器)
MPLS封装模式:
(1) 帧模式:二、三层头增加MPLS标签头,以太网、PPP
(2) 信元模式:ATM
标签交换参考了交换的特点,位于2.5层,提升了速度
LSP:标签交换路径
FEC:具有转发处理方式的报文,在MPLS网络中,到达同一目的地址的所有报文就是一个FEC
MPLS报头32bit,其中label是20bit
标签分配方向:下游→上游
分配控制方式:怎么产生标签
Order:有序方式,需要从自己的下游收到标签后,才会给上游分配标签(华为默认方式)Independent:独立方式,容易造成LSP不完整,LSP断裂
发布方式:怎么把标签发给上游
DU(Downstream Unsolicited):下游自主(华为默认方式)
DoD:下游按需,上游请求时才给
保持方式:怎么从下游收标签
conservative:保守方式,只保留最优下一跳的标签
liberal:自由方式,全部保留(华为默认方式)
1.标签的操作类型
节点类型 | Ingress | Transit | Egress |
---|---|---|---|
操作类型 | PUSH | SWAP | POP |
2.MPLS转发过程
LFIB(Label Forwarding Information Base):IP路由与Tunnel ID的对应
ILM(Incoming Label Map):入label和Tunnel ID的对应
NHLFE(Next Hop Label Forwarding Entry):出接口、出label、label操作类型与Tunnel ID的对应
在MPLS转发过程中,FIB、ILM和NHLFE表是通过Tunnel ID关联的。
Ingress的处理:通过查询FIB表和NHLFE表指导报文的转发
(1) 查看FIB表,根据目的IP地址找到对应的Tunnel ID
(2) 根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来
(3) 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型
(4) 在IP报文中压入出标签,并根据QoS策略处理EXP,同时处理TTL,然后将封装好的MPLS报文发送给下一跳
Transit的处理:通过查询ILM表和NHLFE表指导MPLS报文的转发
(1) 根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID
(2) 根据ILM表的Tunnel ID找到对应的HNLFE表项
(3) 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型
(4) MPLS报文的处理方式根据不同的标签值而不同
Egress的处理:通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发
(1) 如果Egress收到IP报文,则查看路由表,进行IP转发
(2) 如果Egress收到MPLS报文,则查看ILM表获得标签操作类型,同时处理EXP和TTL
3.标签取值
MPLS标签 | 作用 |
---|---|
0-15 | 特殊标签 |
16-1023 | 静态LSP |
1024-1048575 | 动态LSP |
显式空标签(explicit-null label) LABEL=0
B收到显式空标签后,不查LFIB表,一般用于QoS(保留EXP位)
隐式空标签(implicit-null label) LABEL=3
PHP(Penultimate Hop Popping) 次末跳弹出
B收到的直接是IP报文
二、LDP
LDP(Label Distribution Protocol)负责分配标签和在路由器之间建立邻居关系,交换各自的标签路由表
hello报文,组播224.0.0.2,封装在UDP中,UDP:646
建立邻居用TCP,TCP:646
四种消息类型
- 发现Discovery:通过维护网络中LSR的存在,如hello
- 会话Session:建立、维护和终止LDP对等体间的会话,如initialization、keepalive
- 通告Advertisement:用于创建、改变和删除FEC的标签映射
- 通知Notification:用于提供建议性的消息和差错通知
Discovery:UDP
Session、Advertisement和Notification:TCP
五种状态:
Non-existent
Initialized
Opensent
Openrec
Openrational
三、MPLS VPN
VPN类型:
- Overlay VPN
- Peer-to-Peer VPN
- BGP MPLS VPN
1.Overlay VPN
CE之间建立,无法大规模部署
二层:帧中继
三层:GRE、IPSec
应用层:SSL VPN
IPSec VPN(Internet Protocol Securiry)
有手工方式、IKE动态协商方式两种
安全联盟SA三元组:
- SPI安全参数索引
- 目的IP
- 安全协议 AH、ESP
传输模式:AH或ESP报头位于IP报头和传输层报头之间
隧道模式:生成一个新的IP报头,并封装在AH或ESP之间
配置步骤:
(1) 定义兴趣流ACL,区分哪些流量走VPN
(2) 定义IPSec安全提议proposal
- 使用的安全协议 transform ah - esp/ah/esp
- 封装模式 encapsulation - mode transport/tunnel
- esp认证算法
- esp加密算法
- ah认证算法
(3) 定义IPSec安全策略policy - 指定ACL
- 引用安全提议
- 指定本端、对端地址、建立peer
- 定义sa的SPI(双向)
- 定义sa的密钥(双向)
(4) 接口下引用安全策略
GRE(Generic Routing Encapsulation)
IPSec,只能提供单播加密传输,不支持多种上层协议
GRE,将一种协议的报文封装在另一种报文中,但加密性差,扩展了受跳数限制的路由协议工作范围
GRE over IPSec,先将报文进行GRE封装,再由IPSec对封装后报文进行加密和传输
- PPTP:二层PPP协议的扩展
- L2TP:二层PPTP+二层转发
- IPSec:三层
- GRE:三层
2.Peer-to-Peer VPN
CE-PE交换私网,PE-PE传播私网
可大规模部署,存在问题:PE上不能有重复的 私网路由
3.BGP MPLS VPN
VPN实例(VRF):将PE虚拟成多个PE,用于与CE连接,接收CE的私网路由
RD(Route Distinguisher):在BGP中为区分相同的私网路由,加入RD值进行区分,由IPv4路由变成VPN v4单播路由(不区分出入方向),64bit,全局唯一
RT(Route Target):在接收路由的PE端区分接收的私网路由,分为import target和export target,32bit
数据转发:PE-P-PE数据传递中不能使用路由查找(私网),因此需要标签参与
MP-BGP:传递包括IPv4及其他的多协议BGP
双层标签:
- 内层:MP-BGP分配,私网,PE如何到CE
- 外层:LDP分配,公网,PE如何到PE,外层的标签会通过PHP弹出
RD、RT属于控制平面;内层、外层标签属于转发平面
BGP MPLS三种模型:
(1) OPTION A(VRF-to-VRF):ASBR间直接通过接口交换私网路由
(2) OPTION B(EBGP单跳):ASBR间建立MP-EBGP
(3) OPTION C(EBGP多跳):PE间建立MP-EBGP
四、DHCP
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议
1.使用协议
2.报文类型
Discover:寻找DHCP Server
Offer:携带配置信息
Request:请求配置确认/续租
Ack:确认
Nak:拒绝
Release:释放
3.分配方式
基于全局地址池分配
基于接口地址池分配
优先级:接口地址池 > 全局地址池
4.分配流程
请求/确认主要在多个Server场景下有效
Server 1和Server 2都会收到Discover请求,都会响应,Client假如使用Server 1,则Server 2在收到Request广播消息后,发现选择的server不是自己,会释放刚刚分配的IP地址
5.续租流程
在发出组徐Request请求后,如果到7/8租期时仍未收到Ack响应,则会发出重新绑定的Request广播消息
6.DHCP Relay
DHCP Relay配置DHCP Server的IP地址
7.DHCP Snooping
DHCP攻击包括三类:
- DHCP饿死攻击:耗尽地址池中IP地址
- 仿冒DHCP攻击:向Client分配错误IP
- DHCP中间人攻击:利用ARP机制,让Client和Server的交互报文都经过攻击者中转
DHCP Snooping在二层交换机上配置:
- 检查源MAC与CHADDR是否一致,防止饿死攻击(与IPSG联动)
- 配置trusted端口和untrusted端口,防止仿冒攻击
- DAI(Dynamic ARP Inspection),防止中间人攻击
五、esight网管
采用SNMP协议采集信息,NMS+Agent模式
1.SNMP
MIB:Management Information Base,采用树形管理体系
主流的规范:MIB II、RMON,厂家还有自己私有的MIB库
树形结构,部分分枝可采用私有MIB库
例:1.3.6.1.4.1.2011
2.SNMP版本
- v1:read、write、trap
- v2c:在v1基础上,增加了Get-Bulk、Inform
- v3:在v2c基础上,增加了加密认证功能
Get-Bulk:批量read数据
Inform:相当于有响应的trap
3.SNMP Read流程
4.SNMP Write流程
5.SNMP Trap告警流程
六、Agile Controller
业务管理SM:提供管理也买你
业务控制SC:下发指令
管理中心MC:下发给多个SM,可选,大型网络
1.准入组件
认证前域(认证Portal、DHCP)
隔离域(下载杀毒软件等服务器)
认证后域(公司网络、互联网)
认证方式:
- MAC认证
- 802.1x认证(EAP、组播)
- Portal认证
- SACG认证(一般用USG防火墙旁挂)
2.访客管理
3.业务随性
认证后的访问策略下发
定义安全组 → 定义并部署组策略 → 系统自动运行
4.业务编排
Agile Controller + 编排设备(router、switch) + 业务设备(FW、IPS······)
编排 ← (GRE ) → 业务
5.安全协防
通过syslog等方式获取安全日志,对问题设备隔离等
6.终端安全
需要安装Agile Controller客户端
不符合安全要求的Client,认证通过后,只能进入隔离域,隔离域中有补丁、病毒、软件服务器
七、QoS(报文分类)
QoS,Quality of Service
两种标记方式:
- 简单流分类:IP报文(DSCP、IP-Precedence)、VLAN报文(PRI)、MPLS报文(EXP)
- 复杂流分类:根据五元组分类,ACL、Traffic-class、behavior、traffic-policy等
简单流分类就是依据一种报文的分类
时延 = 传输时延 + 队列时延 + 处理时延 + 串行化时延 时延=传输时延+队列时延+处理时延+串行化时延 时延=传输时延+队列时延+处理时延+串行化时延
队列时延一般与带宽有关
串行化时延时逐个bit发送的时延
三种模型:
- 尽力而为模型(Best Effort):常用队列模型为FIFO,会出现尾丢弃问题
- 综合服务模型(Integrated):预留带宽、设备支持RSVP协议;实现复杂、带宽有浪费、消耗路由器性能、扩展性差;现实中应用不多
- 差分服务模型(Differentiated):8/64个等级,优先重要业务保障
VLAN | MPLS | IP | |
---|---|---|---|
字段 | PRI | EXP | TOS |
取值范围 | 0-7 | 0-7 | 0-7 |
IP报文的报文分类字段
Delay/Throughput/Reliability分别表示时延、速率、可靠性敏感的业务,通过置位表示IP-Precedence只有3bit,合计23=8 个值,对此进行扩展后,使用DSCP扩展到26=64 个值
DSCP共有0-63个取值,其中IETF对其中部分取值做了定义
CS:Class Selector
EF:Expedited Forwarding,加速转发
AF:Assured Forwarding
BE:Best Effort
IP-Precedence:取值范围0-7,具体如下。
优先级取值 | 优先级关键字 |
---|---|
0 | Routine |
1 | Priority |
2 | Immediate |
3 | Flash |
4 | Flash-override |
5 | Critical |
6 | Internet |
7 | Network |
八、QoS(拥塞管理)
拥塞管理:将报文分队列,队列间调度转发
队列调度机制如下:
- FIFO,无差别转发
- PQ(Priority Queuing),高优先级先发,低优先级可能出现“饿死”现象
- WRR(Weighted Round Robin)加权循环,基于报文个数调度,可能出现不平等调度,低时延业务无法保障
- WFQ(Weighted Fair Queuing),根据五元组进行Hash分队列,然后根据报文大小赋予权重,进行调度
无法进行用户分类,低时延业务无法保障 - PQ+WFQ,混合队列,无法自定义分类
- CBQ(Class-Based Queuing),EF、AF、BE自定义类,耗费一定的系统资源
九、QoS(拥塞避免)
尾丢弃(Tail Drop):队列满后,后面来的全部丢弃
危害如下:
- 引发TCP全局同步:用于丢包,大量会话的TCP滑动窗口变小,导致这些会话的流量同时增长和同时减小
- 引起TCP饿死现象:大量带宽会被UDP占满(TCP缩小窗口后,会被UDP占据)
解决方案:拥塞避免
1、RED(Random Early Detection)早期随机检测:为避免TCP全局同步,可在队列未满时先随机丢弃一部分报文
存在的问题:无差别丢弃
2、WRED(Weighted Random Early Detection)加权早期随机检测:对不同优先级数据包或队列进行随机丢弃
WRED技术为每个队列的长度都设定了阈值上下限,并规定:
○ 当队列的长度小于阈值下限时,不丢弃报文。
○ 当队列的长度大于阈值上限时,丢弃所有新收到的报文。
○ 当队列的长度在阈值下限和阈值上限之间时,开始随机丢弃新收到的报文。方法是为每个新收到的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果小于丢弃概率则报文被丢弃。队列越长,报文被丢弃的概率越高。
配置命令:
color green low-limit 80 high-limit 100 discard-percentage 10
十、QoS(流量监管与整形)
1、流量监管:超过即丢弃,链路空闲时,带宽浪费;造成较高的丢包,可以应用在入接口和出接口;car
2、流量整形:超过的放在缓冲区;可能增加时延;需要设备更多的缓冲区;只能应用在出接口(入流量一般由线卡处理,基本没拥塞);gts
十一、网络安全
1.攻击类型
(1) 应用层:漏洞、缓冲区溢出攻击、WEB应用的攻击、病毒及木马···
(2) 传输层:TCP欺骗、TCP拒绝攻击、UDP拒绝攻击、端口扫描···
(3) 网络层:IP欺骗、Smurf攻击、ICMP攻击、地址扫描···
(4) 数据链路层:MAC欺骗、MAC泛洪、ARP欺骗···
(5) 物理层:设备破坏、线路监听
Smurf攻击:伪装成受害者IP,广播发送ICMP Request报文,使得受害者收到大量ICMP Echo响应报文
Dos:拒绝服务攻击,Denail of service
DDos:分布式拒绝服务攻击,Distributed Denial of service
2.ACL
ACL | 范围 | 使用 |
---|---|---|
基础ACL | 2000-2999 | 源IP |
高级ACL | 3000-3999 | 源IP、目的IP、源Port、目的Port、Protocol |
二层ACL | 4000-4999 | 源MAC、目的MAC、以太帧协议类型 |
用户ACL | 6000-6999 | user-group |
3.AAA
认证(Authentication):验证用户是否可以获得网络访问的权限;不认证/本地认证/远端认证
授权(Authorization):授权用户可以访问或访问网络上的哪些服务;不授权/本地授权/远端授权
计费(Accounting):记录用户使用网络资源的情况;不计费/远端计费
十二、防火墙
防火墙两种模式:
- 透明模式(二层,只能在管理口上有IP)
- 路由模式(三层,所有接口都需要配置IP)
默认安全区域:Local、Trust、DMZ、Untrust;对于多实例的Eudemon防火墙(虚拟),还有Vritual
zone | 安全级别 | 说明 |
---|---|---|
Local | 100 | 设备本身,包括设备的各接口本身 |
Trust | 85 | 通常用于定义内网终端用户所在区域 |
DMZ | 50 | 通常用于定义内网服务器所在区域 |
Untrust | 5 | 通常用于定义Internet等不安全的网络 |
outbound:高 → 低
inbound:低 → 高
1.包过滤防火墙
核心是访问控制列表,消耗较多的设备性能
2.状态检测防火墙
将属于同一连接的所有报文作为一个整体的数据流,会话表容量是防火墙核心参数之一
数据流来到后,会首先检测会话表,如果没有匹配按照首包匹配进行,首包匹配会根据安全策略进行,安全策略的本质是包过滤;首包过滤后,会根据五元组信息建立起会话表,后续的报文则按照会话表进行匹配。
- 状态检测开启:首包通过后建立会话表项,后续包匹配会话表
- 状态检测关闭:即使首包没有经过,后续包通过时也可以生成会话表
3.新一代防火墙NGFW
一体化检测和处理
ASPF(Application Specific Packet Filter):设备通过检测报文的应用层数据,自动获取相关信息并创建相应的会话表项,以保证应用的正常通信
用于多通道协议检测,如FTP,命令端口、数据端口不一致,这样的协议在原有状态检测防火墙的会话表项机制中不再适用
创建的动态会话表项叫Server-map表(三元组:目的地址DIP、目的端口Dport、协议号Protocol),当Server-map形成,并完成一次交互通信后,会自动将五元组加入到会话表项中。
以FTP为例,防火墙设置ASPF命令:detect ftp后,FTP命令端口21建立的时候,会自动生成server-map表,在匹配会话表完成命令通道的交互后,防火墙会自动建立用户与数据端口20的会话表项,保证数据端口的正常使用。
NAT
(1) 源NAT
NAT NO-PAT:只转换源IP,不转源端口
NPAT:转换源IP和源端口
(2) 目的NAT
NAT Server:IP静态映射;端口是否转换可选
防火墙安全
- DDos攻击:攻击者控制僵尸主机向目标发送大量的攻击报文
流量型攻击:SYN FLOOD、UDP FLOOD
应用层攻击:HTTP FLOOD、HTTPS FLOOD、DNS FLOOD - 单包攻击:利用协议、操作系统的漏洞或不完善进行攻击
十三、VRRP
VRRP(Vritual Redundancy Route Protocol)
版本:VRRP v2(IPv4)、VRRP v3(IPv4、IPv6)
只有一种报文:Advertisement
目的IP:224.0.0.18
目的MAC:01:00:5e:00:00:12
状态机
MASTER_DOWN_TIMER=3*HELLO + 与优先级相关的随即偏移值,HELLO时间缺省为1秒
priority=0,意味着自动放弃Master,即Backup收到后立刻让自己成为Master
选举Master原则:
(1) 优先级priority高当选
(2) 优先级相同的情况下,接口IP大当选
- 主备VRRP
有抢占和非抢占两种模式,抢占模式可以设置稳定多久后再抢占,确保稳定性,防止flapping
## master恢复观察20秒后抢占
vrrp vrid 1 preempt-mode timer delay 20
- 负载VRRP
两个或多个不同的VRRP组(不同网关),默认优先级100
VRRP联动功能:监视上行接口或链路故障,主动进行主备切换或降低优先级reduce priority
vrrp vrid track interface命令用来配置VRRP与接口状态联动监视接口功能
十四、BFD
BFD(Bidirectional Forwarding Detection)双向转发检测
单跳BFD UDP:3784
多跳BFD UDP:3784/4784
会话建立过程:DOWN → INIT → UP
ms级发送消息,确保可以快速检测到异常( 与OSPF等协议的时间秒级相比,已经非常短)
BFD → track联动 → VRRP/静态路由/策略路由/接口备份
配置过程:
(1) 全局下启用BFD
(2) 指定BFD邻居(OSPF等自动发现邻居后,会自动传递给BFD;VRRP等需要手工指定)
(3) 相应联动应用下启用BFD
物理接口会自动上报DOWN消息给路由器,所以BFD更多的应该与其他联动使用,协助其他协议完成检测,或者应用于在中间有传输设备的场景中。
单臂回声(BFD one-arm-echo):只适用于单跳BFD会话中
指通过BFD报文的环回操作检测转发链路的连通性;在两台直连的设备中,其中一台设备支持BFD功能,另一台设备不支持BFD功能,只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声功能的BFD会话。支持BFD功能的设备主动发起回声请求功能,不支持BFD功能的设备接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。
十五、SDN
特征:转空分离;集中控制;开放接口
除了南北向接口外,还有东西向接口
SDN价值:
- 网络业务快速创新,通过编程实现并下发
- 简化网络,降低维护难度
- 网络设备自动化(只需支持openflow即可),可降低网络设备成本
- 业务自动化
- 网络路径流量可视化,根据网络流量状态智能调整流量路径
VAS资源池:FW、SLB、DPI、WAN加速
十六、VXLAN
VXLAN:Virtual Extensible Local Area Network
UDP:4798
基于SDN的VXLAN overlay网络虚拟化解决方案
- VXLAN:海量多租户(4K*4K个VLAN);overlay
- SDN:集中表项管理;业务自动化
NVE(Network Virtual Edge),终结VXLAN,二层网关
NVE建立方式:广播;SDN Controller
普通二层 ↔ 隧道
VXLAN网关,三层网关,VXLAN GW,实现VXLAN报头与IP报头的映射,不同VXLAN之间互访与非VXLAN间互访
NVO3标准(Network Virtual Overlay Layer3)
- NVGRE:Mac in GRE
- VXLAN:Mac in UDP
- STT:Mac in TCP
VNI ID:24bit,Virutal Network Instance(类似于VLAN ID)
VSwitch建立VXLAN隧道
两种NVE模式
报文格式
十七、NFV
NFV不依赖于SDN,但SDN中控制和数据转发的分离可以改善NFV网络性能
SDN可通过使用通用硬件作SDN的控制器和服务交换机虚拟化形式实现
OPEX(OPeration EXpense)运营成本
CAPEX(CAPital EXpense)资本性支出
十八、硬件结构
1.早期路由器
全部由CPU处理,时延很大,在20ms左右(MPLS此时出现,但因为硬件技术的快速发展使得其未得到广泛应用)
2.现在路由器
转控分离,转控由不同板卡负责
3.未来SDN
转控分离,转控由不同设备负责