一、SSL
安全套接层(SSL)协议是一个安全传输、保证数据完整性的安全协议,SSL处于应用层和传输层之间。
(一)组成
握手协议 | 密钥改变协议 | 告警协议 |
记录协议 | ||
TCP | ||
IP |
1. 握手层的组成
①握手协议:建立SSL连接,维护SSL会话,协商加密。
②密钥改变协议:发送密钥改变报文,发送协商好的密钥参数。
③告警协议:发现并向对端发送告警信息,通知对方关闭SSL连接。
握手层功能:协商SSL版本、协商加密套件、协商密钥参数、验证对方身份、建立并维护SSL会话。
2. 记录层功能
①保证数据传输的私密性,对传输数据进行加解密(支持DES、3DES、AES、RC-4等)
②保证数据传输的完整性,计算和验证报文的消息验证码(支持HMAC-MD、5HMAC-SHA)
③对传输数据进行压缩
④对上层提供可靠保序的连接服务。
(二)SSL VPN
1. 接入方式
WEB:无客户端模式,功能单一。
TCP:瘦客户端模式,支持比较困难。
IP:厚客户端模式,跨平台,维护性差。
2. 权限管理
认证(同时授权)。本地认证、远程认证(Radius、LDAP)
授权(静态、动态)
RADIUS和HWTACACS的区别 | |
RADIUS | HWTACACS |
主要用于远程用户认证拨号服务。 | 主要用于PPP、VPDN接入用户。 |
使用UDP,认证/授权使用UDP1812端口,计费使用UDP1813端口。 | 使用TCP,认证/授权/计费均使用TCP49端口。 |
只对报文中的密码字段进行加密。 | 除HWTACACS头外,对报文主体全部加密。 |
协议报文简单,认证、授权不分离。 | 协议报文较复杂,认证、授权可分离。 |
不支持设备的命令授权使用。 | 支持设备的命令授权使用。 |
RADIUS报文的Attribute字段携带认证、授权、计费信息。采用TLV三元组结构,Type(类型)、Length(长度)、Value(属性)。
二、L2TP
二层隧道接入协议(L2TP)是虚拟私有拨号网VPDN隧道协议的一种,提供了对PPP链路层数据包的隧道传输支持,使用UDP1701端口。
NAS:网络接入服务器。
LAC:L2TP访问集中器。常部署在NAS上。
LNS:L2TP网络服务器。
(一)L2TP三种场景
Client-Initiated VPN:适用于出差人员,每条隧道仅承载一条L2TP会话和PPP链接,LNS给用户下发地址。
NAS-Initiated VPN:适用于企业分支与总部,一条L2TP隧道可承载多条L2TP会话,LNS给用户下发地址。
LAC-Auto-Initiated VPN:LAC和LNS之间建立一条永久的L2TP隧道,且仅承载一条L2TP会话和PPP链接,LNS为LAC分配地址。
(二)LNS二次身份认证方式
代理认证:仅使用NAS进行用户认证,LNS不对用户进行二次认证。
强制CHAP认证:NAS认证后,LNS要求使用CHAP方式重新进行身份认证,属于二次身份认证。
LCP重协商:LNS不信任NAS的认证,要求重新与LNS进行LCP协商并进行身份认证,属于二次身份认证。
三、IPSec
IPSec是一种开放标准的安全框架结构,可以用来保护IP报文在网络上传输的机密性、完整性和防重放。
(一)组成
AH协议。使用IP51协议号,提供数据源验证、完整性校验和有限的防重放,AH不加密数据报。
ESP协议。使用IP50协议号,提供AH所有功能(但其数据完整性校验不包括IP头),对IP报文提供加密
IKE协议。用于协商AH和ESP所使用的密码算法。
(二)安全联盟SA
SA定义了IPSec通信对等体间将使用的数据封装模式、认证和加密算法、密钥等参数。
SA是单向的,两个对等体间进行双向通信至少需要两个SA。
若两个对等体同时使用AH和ESP安全协议进行通信,则对等体对每一种安全协议都需要协商一对SA。
1. SA三元组:安全参数索引SPI(32bit)、目的IP地址、安全协议标识符(AH或ESP)。
2. SA建立方式:手工配置、IKE动态协商、量子加密方式。
(三)IPSec工作模式
1. 传输模式
传输模式通常用于内网的PC到PC之间,在报文头和高层协议之间插入AH或ESP头。主要对上层数据提供保护。
AH:在IP头后插入AH头,对整个IP数据报(含IP头)进行完整性校验。
ESP:在IP头后插入ESP头,在数据字段后插入尾部及认证字段,对高层数据及ESP尾部进行加密,对ESP头、高层数据、和ESP尾部进行完整性校验(不含IP头)。
AH+ESP:在IP头后插入AH和ESP头(先封装ESP、再封装AH),在数据字段后插入尾部及认证字段。
2. 隧道模式
IPSec会另外生成一个新的IP头(原始的IP数据报作为新IP数据报的数据部分),并封装在AH和ESP之前,可对原始的IP数据报进行认证和加密,可使用IPSec对等体的IP地址来隐藏客户机的IP地址。
AH:在两个IP头之间插入AH头,对整个数据报(含IP头)进行完整性校验。
ESP:在两个IP头之间插入ESP头,对原始数据报和ESP尾部进行加密,对ESP头、原始数据报、和ESP尾部进行完整性校验(不含新IP数据报的IP头)。
AH+ESP:在IP头后插入AH和ESP头(先封装ESP、再封装AH),AH、ESP会分别对不同的部分进行完整性校验。
(四)IKE
因特网密钥交换(IKE)。IPSec使用IKE动态交换密钥建立连接。
1. IKE综合了三个协议
①ISAKMP。定义了IKE的建立过程。使用UDP500端口(经过NAT后:UDP500→UDP4500)。
②OAKLEY。定义了密钥交换的顺序,提供了多种交换模式。
③SKEME。定义了密钥交换的方法。
2. IKE版本2具有更强的抗攻击能力和密钥交换能力。
(五)IPSec VPN建立的两个阶段
1. 第一阶段:建立IKE SA
为后续交换提供安全通信信道,为进一步协商提供机密性、消息完整性及消息源验证。
IKE SA建立时,使用DH算法交换建立共享密钥。
①主模式。报文交互6次,不支持NAT转换(需额外开启NAT-T)。
②野蛮模式。报文交互3次,当隧道响应方不清楚发起方的具体地址时使用,如远程拨号访问。在配置野蛮模式时,隧道两端的设备都需要配置FQDN对自己的身份进行标识,隧道响应方需通过引用模板的方式进行隧道配置。
2. 第二阶段:建立IPSec SA(在IKE SA的保护下进行)
快速模式。通信双方协商IPSec SA的具体参数,并生成相关密钥。
四、GRE
通用路由封装协议(GRE)是三层隧道协议。封装某些网络层协议,使这些协议能够在另一个网络层协议中传输。
(一)结构
链路层协议 | 协议A | GRE | 协议B | 协议B载荷 |
承载协议 | 封装协议 | 载荷协议 |
(二)优点
可通过IPv4连接多种异种网络。
可扩展网络跳数。
可封装组播数据。
可封装MPLS、LDP。
可连接非连续子网。
(三)不足
隧道两端建立的是点对点连接。
要在两个端点静态配置隧道接口。
不提供加密,身份验证等。
五、MPLS
(一)基本概念
MPLS技术在报文的二层头部与三层头部之间加入MPLS标签,报文转发时依据MPLS标签信息进行转发,转发设备无需将该报文解封装直至看到IP信息。
LSR:标签交换路由器。
Ingress LSR:入站路由器,位于MPLS域边界,将标签压入IP报文。
Egress LSR:出站路由器,位于MPLS域边界,将标签移除(弹出)。
FEC:等价转发类。指在LSR转发过程中采用相同方式进行处理的报文
LSP:标签交换路径。值报文在MPLS域内的转发过程中经过的路径。LSP需要在数据转发开始前建立完成;LSP是单向的,如果一个数据涉及到双向交互,那就需要在双方间建立双向的LSP。
(二)MPLS标签的基本操作
压入:一个IP报文进入MPLS网络时,入站LSR在该报文二层头后、三层头前插入(压入)标签。
置换:LSR在转发标签报文时,将标签头部置换成下游LSR所分配的标签。
弹出:报文离开LSP时,出站LSR将报文的栈顶标签移除。
(三)LSR维护的部分信息
1. Tunnel ID(隧道标识)。32bit,仅具有本地意义,是设备为各种隧道分配的ID,在MPLS中还用于将FIB、ILM及NHLFE进行关联。
在FIB表中,若Tunnel ID 为0x0,则设备将报文执行IP路由操作;若Tunnel ID不为0x0,则设备将报文执行MPLS转发(设备将在NHLFE中查询该Tunnel ID值,并进行匹配)
2. NHLFE(下一跳标签转发表项)。用于指导MPLS标签报文转发,每个NHLFE都含有Tunnel ID、出站接口、下一跳IP地址、出站标签、标签操作类型等。
3. ILM(入标签映射)。体现出站标签到NHLFE的映射关系,包含Tunnel ID、入站标签、入站接口、标签操作等信息。当LSR收到一个标签报文时,会在ILM的入站标签中查询该报文所携带的标签值,找到匹配的表项后,也就得到了对应的Tunnel ID,从而根据Tunnel ID进一步查询下步操作信息。
(四)标签头部结构
标签(20bit) | EXP(3bit) | BoS(1bit) | TTL(8bit) |
BoS:栈底位。此位置1表示栈底,置0表示非栈底。
一个标签报文可以包含一个或多个标签头部,标签栈是标签头部的有序集合,靠近二层头部的标签是栈顶标签,靠近三层头部的标签是栈低标签。除栈低标签BoS位置1外,其它标签BoS位置0。
标签:0-15特殊标签;16-1023用于静态LSP;1024及以上用于LDP、RSVP-TE、MP-BGP等标签分发协议。
(五)LSP建立方式
1. 静态:需要在LSP沿途的每一台LSR上为每一个FEC手工配置标签。
2. 动态:通过标签分发协议建立的LSP被称为动态LSP。常见的标签分发协议有LDP、RSVP、MP-BGP。
LDP(标签分发协议)能够为FEC分配标签。LDP为本地直连路由分配标签→通过LDP协议报文将路由分配的标签通告给LDP对等体→对等体收到标签通告后,存储该标签映射,在本地再次为该路由分配标签,并将自身为该路由分配的标签通告给下一个对等体(简单理解“存储上游LSR的标签映射信息,并将自身创建的标签映射信息通告给下游设备”)。当LSR转发一条到达目标网段的标签报文时,在转发出去的报文中的标签总是下一跳LDP对等体为该FEC所通告的标签。
①本地LDP会话。指直连的LDP设备之间所建立的LDP会话,建立该类型会话的设备必须直连,设备间采用组播的Hello报文发现直连链路上的其他LDP对等体。组播地址为224.0.0.2,端口号采用UDP/TCP646端口。两台设备通过Hello报文发现对方后,由传输地址大的一方发起TCP连接建立请求。
②远程LDP会话。不需要LDP对等体之间直连,但需手工指定对端地址。
在一条LSP上,沿着标签报文转发的方向,一台设备被视为下一跳设备的上游,下一跳设备本当前设备视为下游。
(六)PHP机制。
指次末跳LSR(出站LSR的上一跳设备)在转发标签报文时,率先将报文的标签头移除,将其中封装的报文转发给出站LSR。典型的PHP机制是,最后一跳LSR在向倒数第二跳LSR通告标签隐射时,将标签值设为3(隐式空标签)。可提升转发效率。
(七)基于MPLS的流量工程的4钟机制:信息分发、通信选择、信令协议、分组转发。
(八)MPLS VPN
1. PE(服务提供商边界)设备:服务提供商MPLS VPN 骨干网络的边界设备。VRF(虚拟路由 转发)被部署在PE设备上,用于实现客户的路由及数据的隔离。
2. P(服务提供商)设备:P设备是服务提供商MPLS VPN骨干网中的设备,不连接CE设备。
3. CE(客户边界)设备:CE设备是客户的设备,并且是客户网络的边界设备,和PE设备对接。
4. C(客户)设备:客户网络内网设备。
5. VRF(虚拟路由转发):用于实现客户路由隔离并解决IP地址空间冲突的问题。
6. RD(路由区分码):MPLS VPN引入了RD用于解决PE设备使用BGP传递客户路由时,对运载的路由进行区分,并保证路由不发生冲突。采用RD对IPv4路由前缀进行扩展,在32比特的IPv4地址前增加一个64比特的RD,从而构成96比特的VPN-IPv4路由前缀。
7. RT:MPLS VPN定义了RT来控制VPN路由信息在不同站点间的发布及接受。
①Export RT(出站RT)。当PE设备从CE设备收到IPv4客户路由后将路由转换成VPNv4路由时,会为这些VPNv4路由设置RT,该RT的值便是相应VRF中所设置的Export RT。
②Import RT(入站RT)。当PE设备从远端PE设备收到VPNv4路由时,会检查这些路由所携带的RT,并于本地的各个VRF所指定的Import RT进行比对,如果VPNv4路由所携带的RT中包含本地某个VRT所指定的Import RT,那么PE设备便将路由注入该VRF中。
8. MP-BGP:传统的BGP无法运载VPNv4路由,MP-BGP可以支持VPN-IPv4、IPv6等多种路由前缀。