「IPv6 Transition」- Auto, IPv4-Compatible IPv6 Tunnel

原理简述
承载的 IPv6 报文的目的地址(即自动隧道所使用的特殊地址)是 IPv4 兼容的 IPv6 地址:前 96 位全部为 0,后 32 位为 IPv4 地址;
1)首先,该隧道技术要求底层 IPv4 网络能够互通;
2)然后,IPv4 兼容的 IPv6 地址,相当于将 IPv4 与 IPv6 进行一对一映射;
3)此时,在 IPv6 Routing 时,将 IPv6 转为 IPv4 进行报文发送;(“转换”是指外套 IPv4 报头);
4)注意,这里讨论的“互通”是指隧道两个端点的互通,而非端点所接的网络互通;

IPv4 兼容 IPv6 自动隧道数据转发流程(ping, src ::A01:101, dst ::A01:102):
1)以目的地址 ::A01:102 查找 IPv6 路由,发现路由的下一跳为虚拟的 Tunnel 口;
2)R1 将 IPv6 报文封装到 IPv4 报文内:SRC-IPv4-ADDR=10.1.1.1(<=::A01:101);DST-IPv4-ADDR=10.1.1.2(<=::A01:102);
3)当封装结束后,根据外层的 IPv4 Header,报文在 IPv4 Network 中被路由转发到目的地 10.1.1.2,也就是 R2;
4)R2 收到报文后,进行解封装,把其中的 IPv6 报文取出,送给 IPv6 协议栈进行处理;
5)R2 返回 R1 的报文也是按照这个过程来进行的;
R1/R2 连接 PC,并且 PC 使用常规的 IPv6 网络地址。如果 PC 需要互访,则需要配置路由:其路由的下一跳为对端的兼容地址(用于转化得到 DST-IPv4-ADDR);;并且还要指定出接口(用于转化得到 SRC-IPv4-ADDR);
特性特征
1)依赖于底层的 IPv4 网络;
2)并且不支持广播,所以无法运行路由协议;
不支持动态路由协议:
Link Local 地址是自动生成的,无法映射到底层 IPv4 地址;
应用场景
1)该隧道技术较少使用;[……]

READ MORE

「VPN」- SRv6 Policy 高可靠性

问题描述
广域承载网高可靠性需求
50 ms 故障恢复已经成为广域承载网基础要求;
语音业务:实时性强,如果故障恢复时间控制在毫秒级,用户无感知或有轻微感觉,对业务影响不大,达到秒级,则会话中断;
IPTV 业务:如果故障恢复时间控制在毫秒级,IPTV 可能出现瞬时马赛克现象;

解决方案
多层可靠性方案概览
广域承载网需要从设备、网络、业务各层构建高可靠性,实现端到端 99.999% 高可用、全业务 50 ms 快速保护倒换;

多层网络高可靠性技术概览

多层网络高可靠性技术使用场景

业务
保护类型
隧道类型
故障点
检测技术
保护技术
规格

普通业务
“本地保护,端到端保护”
SRv6 BE,SRv6 Policy
4~8
BFD for Interface
1. TI-LFA(BE+Policy)2. Midpoint TI-LFA(Policy)
50ms

普通业务
“本地保护,端到端保护”
SRv6 BE,SRv6 Policy
3,9
BFD for Locator
VPN FRR
50ms

普通业务
“本地保护,端到端保护”
SRv6 BE,SRv6 Policy
1~2,10~11
BFD for Interface
VPN Mixed FRR,IP FRR
50ms

高 SLA 业务
本地保护,端到端保护
SRv6 Policy
4~8
SBFD for SRv6 Policy
HSB
50ms

高 SLA 业务
本地保护,端到端保护
SRv6 Policy
3,9
SBFD for SRv6 Policy
VPN FRR
200ms/50 ms

高 SLA 业务
本地保护,端到端保护
SRv6 Policy
1~2,10~11
BFD for Interface
VPN Mixed FRR,IP FRR
50ms

隧道状态检测
SRv6 隧道一般可以通过 SBFD,Ping,Tracert 等方式检测连通性;
SRv6 隧道检测技术:SBFD 检测

SBFD(Seamless Bidirectional Forwarding Detection)是 BFD 的一种[……]

READ MORE

「IPv6 Transition」- Auto, 6to4 Tunnel

原理简述
6to4 Tunnel 也是使用内嵌在 IPv6 地址中的 IPv4 地址建立的,6to4 是使用 IPv4 地址做网络前缀;
6to4 地址格式

6to4 地址的网络前缀长度为 64 bit:
1)前 48 bit(2002: a.b.c.d)被分配给路由器上的 IPv4 地址决定了,用户不能改变;
2)后 16 bit(SLA)是由用户自己定义的;
6to4 地址解释:
FP(Format Prefix):可聚合全球单播地址的格式前缀,其值为 001;
TLA(Top Level Aggregator):顶级聚合标识符,其值为 0x0002;
SLA(Site Level Aggregator):站点级聚合标识符;
拓扑结构

特性特征
灵活性低:
路由后面挂接的网络不能随意配置,需要遵循 6to4 Tunnel Address 规划,即具有相同的 IPv6 Prefix;
不支持动态路由协议:
Link Local 地址是自动生成的,无法映射到底层 IPv4 地址;
配置案例
WIP !!! [NETWORK] 6to4 Tunnel
1)配置 6to4 Tunnel 实例;
2)针对对端 6to4 网络,需要配置到达对端网络的静态路由;
针对非 6to4 网络,需要 6to4 Relay 实现非 6to4 Netowork 互通,其原理依旧是通过路由信息来指导转发(封装);[……]

READ MORE

「ISC DHCP」

DHCP
DHCP服务端口是UDP 67和UDP 68,这两个端口是正常的DHCP服务端口,可以理解为一个发送,一个接收。
DHCP failover
546 端口为DHCP failover服务,他是需要特别开启的服务,一般情况下如果你不开启他是不会有546端口的,
DHCP failover是用来做“双机热备”,比如:你有两台服务器,一台出现故障了,那一台可以继续接力不影响正常工作,我们也称“热备份”
官网:https://www.isc.org/
链接:ftp://ftp.isc.org/isc/dhcp/4.3.4/dhcp-4.3.4.tar.gz
编译:
0x02、内核需要支持 Packet socket:

Networking support —> [CONFIG_NET]
Networking options —>
<*> Packet socket [CONFIG_PACKET]

0x03、内核开启 IPv6支持:

Networking support —> [CONFIG_NET]
Networking Options —>
<*> The IPv6 Protocol —> [CONFIG_IPV6]
(如果没有 IPv6 支持,在源码目录下执行 patch,patch -Np1 -i dhcp-4.3.4-missing_ipv6-1.patch)

0x04、编译

patch -Np1 -i ../dhcp-4.3.4-client_script-1.patch &&
CFLAGS=”-D_PATH_DHCLIENT_SCRIPT=’\”/sbin/dhclient-script\”‘ \
-D_PATH_DHCPD_CONF=’\”/etc/dhcp/dhcpd.conf\”‘ \
-D_PATH_DHCLIENT_CONF=’\”/etc/dhcp/dhclient.conf\”‘” \
./configure –prefix=/usr \
–sysconfdir=/etc/dhcp \
–localstatedir=/var \
–with-srv-lease-file=/var/lib/dhc[……]

READ MORE

「DHCPv6」- 前缀代理(PD,Prefix Delegation)

在一个层次化的网络结构中,不同层次的IPv6地址配置一般是手工指定的。手工配置IPv6地址扩展性不佳,不利于IPv6地址的统一规划管理。DHCPv6 PD可以解决这个问题。
原理概述

1)DHCPv6客户端发送Solicit报文,请求DHCPv6服务器为其分配IA_NA地址和IA_PD前缀。
2)DHCPv6服务器回复Advertise报文,通知客户端可以为其分配的IPv6地址和前缀。
3)如果客户端接收到多个服务器回复的Advertise报文,则根据Advertise报文中的服务器优先级等参数,选择优先级最高的一台服务器(若服务器优先级一样,则选择带有该客户端需要的配置参数的Advertise报文) ,并向其发送Request报文,请求为其分配地址/前缀。
4)DHCPv6服务器回复Reply报文,确认将IPv6地址/前缀分配给DHCPv6客户端。
5)DHCPv6客户端在收到PD前缀后,与终端进行RS/RA报文交互,在RA报文中将携带获取到的PD前缀下发至终端。
应用场景
DHCPv6 PD一般用于网络中存在路由器(如本例中的DHCPv6客户端)需要继续为下连的IPv6主机分配前缀的场景,实现主机的地址自动配置,从而完成整个IPv6网络的层次化布局。
第1步中,DHCPv6客户端请求DHCPv6服务器为其分配IA_NA地址和IA_PD前缀,IA_NA可以理解为服务器为客户端WAN口分配的地址,IA_PD可以理解为服务器为客户端的LAN侧分配的前缀。[……]

READ MORE

「DHCP」- Offer

Frame 232: 342 bytes on wire (2736 bits), 342 bytes captured (2736 bits) on interface -, id 0
Ethernet II, Src: HuaweiTe_4c:52:12 (00:e0:fc:4c:52:12), Dst: HuaweiTe_32:73:97 (54:89:98:32:73:97)
Internet Protocol Version 4, Src: 192.168.0.254, Dst: 192.168.0.253
User Datagram Protocol, Src Port: 67, Dst Port: 68
Dynamic Host Configuration Protocol (Offer)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x00007cd5
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
0… …. …. …. = Broadcast flag: Unicast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0
Your (client) IP address: 192.168.0.253
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Client MAC address: HuaweiTe_32:73:97 (54:89:98:32:73:97)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (Offer)
Length: 1
DHCP: Offer (2)
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0
O[……]

READ MORE

「SEGMENT-ROUTING」- Segment Routing IPv6

认识
本质上 MPLS 仅是指导数据转发的隧道技术,有完整的隧道创建、隧道管理和维护机制。以上机制都是从网络运营和管理角度驱动的需求,不是由应用驱动网络需求;
MPLS LDP

LDP 本身并无算路能力,需依赖 IGP 进行路径计算;
控制面需要 IGP 及 LDP,设备之间需要发送大量的消息来维持邻居关系及路径状态,浪费了链路带宽及设备资源;
若 LDP 与 IGP 未同步,则可能出现数据转发问题;
RSVP-TE

RSVP-TE 的配置复杂,不支持负载分担;
为了实现 TE,设备之间需要发送大量 RSVP 报文来维持邻居关系及路径状态,浪费了链路带宽及设备资源;
RSVP-TE 本质上是分布式架构,每台设备只知道自己的状态,设备之间需要交互信令报文;
解决方案
Segment Routing 架构设计之初,就为数据平面设计了两种实现方式:

一种是 SR-MPLS,其复用了 MPLS 数据平面,可以在现有 IP/MPLS 网络上增量部署;
另一种是 SRv6,使用 IPv6 数据平面,基于 IPv6 路由扩展头进行扩展;

SRv6(Segment Routing IPv6)是基于源路由理念而设计的在 IPv6 网络上转发数据包的一种技术架构;
组成
SRH
针对 SR-MPLS 与 SRv6 技术,其都遵循 Segment Routing 架构,主要区别在于数据平面的指令不同:SR MPLS 基于 MPLS 网络,指令为 MPLS 标签。而 SRv6 基于 IPv6 网络,指令为 IPv6 地址。
与 SR-MPLS 相比,SRv6 最大区别在于 IPv6 SRH 。SRv6 使用 IPv6 Extension Header 实现 Segment Routing 技术。
在 SRv6 中,其在头节点(源端)上对数据压入段路由扩展报文头(SRH,Segment Routing Header)来指导数据转发。

构造
SRv6 有两种转发模式(实现方式):

SRv6 BE:是种简化的 SRv6 实现,正常情况下不含有 SRH 扩展头,只能提供尽力而为的转发;

在 SRv6 发展早期,基于 IPv6 路由可达性,利用 SRv6 BE 快速开通业务,具有无与伦比的优势;

SRv6 Policy:可以实现流量工程,配合控制器可以更好地响应业务的差异化需求,做到业务驱动网络;

在后续演进中,可以按需升级网络的中间节点,部署 SRv6 Policy,满足高价值业务的需求;

性质
SRv6 的技术价值
SRv6 技术本身可以简化现有网络协议,降低网络管理复杂度;

网络编程能力
基于网络编程能力,SRv6[……]

READ MORE

「NETWORKING」- 软件定义网络 | SDN | Software Defined Networking

计算产业的开放生态带来了其诸多领域的蓬勃发展。
受计算机商业的启发,网络产业也在不断寻求变革与发展,从而开始进一步发展:

业界开始提出 SDN 的概念,备受瞩目的概念,并不断在其商用化进程上作出尝试。
目的是希望网络变得更开放、灵活和简单,像计算机行业那样,不再是厂商相关的。

认识
SDN(Software Defined Networking,软件定义网络),带来了网络架构的变革。是由斯坦福大学 Clean Slate 研究组提出的一种新型网络创新架构。2009 年,Mckeown 教授正式提出 SDN 概念。SDN 带来网络架构的变革。
SDN 的本质诉求(目标)是让网络更加开放、灵活和简单。它的实现方式是为网络构建一个集中的大脑,通过全局视图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。
组成
其核心理念通过将网络设备 控制平面与数据平面分离,从而实现网络控制平面的集中控制,为网络应用的创新提供良好的支撑。
Switch 只需要支持开放的标准协议(比如 OpenFlow 协议),而 Controller 则是各大厂商实现的软件。

补充说明:
1)SDN 是一个更为广泛的概念,而不局限于 OpenFlow;
2)转控分离是实现 SDN 的一种方法,而不是本质(目标);
SDN 概念的提出对网络产业产生巨大影响,业界出现了诸多用于实现 SDN 的协议,例如 OpenFlow、POF(Protocol Oblivious Forwarding,协议无关转发)、P4(Programming Protocol-independent Packet Processors,编程协议无关的包处理)、Segment Routing。
性质
SDN 起源提出三个特征:转控分离;集中控制;开放可编程接口;
SDN 的价值是:

集中管理,集中控制,简化网络管理与运维;它引入网络控制器,通过全局视角集中控制,实现业务快速部署、流量调优、网络业务开放等目标。
屏蔽技术细节,降低网络复杂度,降低运维成本;
自动化调优,提高网络利用率;
快速业务部署,缩短业务上线时间;
网络开放,支撑开放可编程的第三方应用。[……]

READ MORE

「Huawei VRP」- 配置地址,IPv4

配置命令(Huawei)

<Huawei>system-view

[Huawei]interface gigabitethernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.0.12.1 255.255.255.0

[Huawei-GigabitEthernet0/0/0]interface loopback 0 # 默认为 UP 状态;LoopBack 不能 Shutdown(也许能 Down,具体取决于设备)
[Huawei-LoopBack0]ip address 1.1.1.1 32

释放 IP 地址,并绑定 MAC 地址
问题描述:Error:The static-MAC is exist in this IP-pool.
原因分析:DHCP 已经给这个 MAC 地址分配 IP 了,不能绑定。所有要先释放。
解决方案:

<Huawei>system-view

[Huawei]interface gigabitethernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 10.0.12.1 255.255.255.0

[Huawei-GigabitEthernet0/0/0]interface loopback 0 # 默认为 UP 状态;LoopBack 不能 Shutdown(也许能 Down,具体取决于设备)
[Huawei-LoopBack0]ip address 1.1.1.1 32[……]

READ MORE

「VPN」- SRv6 Policy 高可靠性:防环(微环)

问题描述
TI-LFA FRR以及Midpoint保护能够在IGP收敛完成前,短暂的维持数据转发,但是当IGP收敛完成后转发便不再会基于FRR的方式(隧道方式)进行转发,而是基于IGP路由按照正常的方式转发数据。
但现网中设备的收敛速度有可能是不一样的,因此有可能产生短暂的环路,直到沿途的路由器都收敛完成此类环路才会消失,这种短暂的环路被称为微环。

解决方案
WIP
本地正切微环
问题描述
本地正切防微环指的是紧邻故障点的节点收敛后引发的环路

P1->P4间的链路故障时,流量先按TI-LFA备份路径转发。
当P1收敛后,将下一跳收敛到P2 ,P1按照收敛后的路径把流量转发到P2。
但网络中P2和其它结点还未收敛,P2到节点PE2的下一跳还是P1,这样就会在P1和P2间形成环路,直到P2收敛完成。
解决方案

防微环的措施是该节点收敛后延迟一段时间再下发转发路径,避免故障点相邻节点在IGP收敛后引发环路,具体流程如下:
P1感知到P4的接口故障,进入TI-LFA流程,报文按照TI-LFA备份路径转发到PE2。
P1启动定时器,在定时器超时之前保持原转发表项,继续按照TI-LFA备份路径转发。
定时器超时,网络中其他节点均完成收敛,P1进行收敛,按照新的路径正常转发。
由于TI-LFA一定是个无环路径,所以只需要维持一段时间继续走TI-LFA路径,待网络中其他结点完成收敛以后退出TI-LFA。
远端正切微环
问题描述
故障发生在远端,节点之间也可能形成环路。
沿着报文转发路径,如果离故障点更近的节点先于离故障点远的节点收敛,就可能会导致环路:
P3->P4之间链路故障,假设P3执行本地正切防微环,延时收敛,流量沿着TI-LFA备份路径转发。但是只有P3进行延时收敛,而网络中的其他节点依然正常进行IGP收敛。
P2先收敛,计算到PE2的新路径为P2->P1->P5->PE2,则流量到达P2之后不会向P3转发而是回发到P1。
P1尚未收敛完成,依然沿着旧路径转发P1->P2->P3->P4->P5->PE2,流量又回发到P2,形成环路。

解决方案
网络节点只能针对本地直连的链路/节点故障预先计算无环备份路径,而无法针对网络中任何潜在的故障预先计算无环路径。所以要解决微环问题,需要在节点收敛之后计算无环路径。
如下图,P2收敛后的计算无环的TI-LFA路径,路径为P2->P1->P5->PE2。P3计算的防环路径可以是严格显式路径,也可以是松散路径。

回切微环
问题描述
分布式计算的收敛无序性同样影响着故障回切场景,导致存在微环:
P1->P4之间的链路故障,P[……]

READ MORE

「IPv6 Transition」- Tunnel / IPv4 over IPv6 / Manual

特性特征
IPv4 over IPv6 隧道是在隧道两端的边界路由器上通过手动配置而创建的,需要静态指定隧道的源地址 / 源接口和目的地址;
原理简述

如图所示,IPv4 over IPv6 隧道对报文的处理都是在两个边界节点上(R1 和 R2)完成的,其余节点(Host 1,Host 2,以及 R1 和 R2 之间的节点)都感知不到隧道的存在。因为 Host 1 与 R1、R2 与 Host 2 之间转发的是 IPv4 报文,R1 与 R2 之间转发的是 IPv6 报文,所以边界节点( R1 和 R2 )需要能同时处理 IPv4/IPv6 报文,即:IPv4 网络与 IPv6 网络交界的边界路由器上均需要支持并启动 IPv4/IPv6 双协议栈;
报文处理过程
IPv4 over IPv6 隧道的报文处理过程:
1)IPv4 报文转发:Host 1 向 R1 发送 IPv4 报文,目的 IPv4 地址为 Host 2 地址;
2)隧道封装:R1 收到来自 IPv4 网络侧发来的 IPv4 报文后,发现 IPv4 报文的目的地址不是自身且下一跳为 Tunnel 接口,则为报文添加 IPv6 报文头。R1 将自身的 IPv6 地址和对端边界节点 R2 的 IPv6 地址分别封装到 Source Address 和 Destination Address 字段中,设置 Version 为 6、Next Header 为 4,并根据配置情况封装其他确保报文在隧道中有效传输的字段;
3)隧道转发:R1 根据 IPv6 报文头的 Destination Address 查找 IPv6 路由表,将封装后的 IPv6 报文转发给 R2。对于 IPv6 网络中的其他节点而言,
它们感知不到隧道的存在,只是将隧道封装后报文当作普通的 IPv6 报文处理;
4)隧道解封装:R2 收到 Destination Address 为自身的报文后,根据报文头的 Version 确认由 IPv6 协议栈解封装报文头,并根据报文头的 Next Header 确认被封装的报文为 IPv4 报文;
5)IPv4 报文转发:R2 根据 IPv4 报文的目的地址查找 IPv4 路由表将报文转发给 Host 2;
配置案例
WIP !!! IPv6 Transiton / Tunnel / IPv4 over IPv6 Manual[……]

READ MORE

「SRv6」- 报文格式

更多详情,参考 https://datatracker.ietf.org/doc/rfc8754
报文格式
在 RFC 8754 中,定义 IPv6 SRH 扩展头标准,在 IPv6 报文增加一个 SRH 扩展头。
其格式如下:

SRv6 在 IPv6 Header 后插入一个 Routing Extension Header(路由扩展头),如图橙色部分。
SRH 中包含一个显式的 IPv6 地址栈。在转发过程中,SRv6 节点不断地进行更新目的地址和偏移地址栈的操作来完成逐跳转发;
Next=43,表明是 Routing Extension Header;
路由扩展头的结构
Routing Type:建议值为 4,表明是 SRH(SR Header,Segment Routing Header),称作 SR 扩展头或者 SRH;
Segments Left(SL):SRv6 激活的 SID 为 Segment List[SL];或,理解为剩余的 Segment List 个数。
在转发过程中,通过修改 SL 字段,同时更换 DST IP Address 为活跃的 SID 来分段完成转发;
Tag: 用于对数据包分组,可以实现基于组的策略;
Segment List:有序的 SRv6 SID 列表
SRH TLVs(NSH metadata,HMAC TLV,Padding TLV 等):可以作为 Segment List 的 SID 共同使用的全局参数;
报文示例
WIP[……]

READ MORE

「IPv6」- IPv6+关键技术与演进趋势

IPv6 地址丰富、安全可靠,且可灵活扩展,是网络演进的必然趋势;
而 IPv6+是对 IPv6 技术的进一步开发和应用,是基于 IPv6 的下一代互联网的升级,能够为用户创造更大的价值;
IPv6+技术背景
数据通信网络是数字化的基石
数据通信网络包含多样化的数据通信设备;
数字化世界联接个人、企业及算力;
数据通信网络是数字化世界的基石;
IPv6+技术体系:全方位使能新一代移动网络和云时代
IPv6+是面向新一代移动网络和云时代的技术体系,通过“IPv6+智能计算+协议创新”,满足新一代移动互联网承载和云网融合的灵活组网、业务快速开通、按需服务、差异化保障等需求,简化网络运维、提升用户体验;
IPv6+技术内涵包括:以 IPv6 分段路由和网络编程(SRv6)、网络切片(FlexE)、确定性网络(DetNet)、随流检测(iFIT)、新型组播(BIERv6)、应用感知(APN6)等为代表的网络技术体系的创新;

IPv6+的技术体系主要归纳为三大类:
第一类实现基础的连接,这里面包括承载单播业务的 SRv6 协议和承载组播业务的 BIERv6 协议,这两个协议都是基于 Native IPv6 的架构进行承载转发,无论是控制面还是转发面,都完全去 MPLS 化,可以利用 IPv6 的天然扩展能力和其他优势;
第二类是体验保障类的能力,包括可以预留网络资源,提供确定性网络能力的切片,以及对业务流传输质量进行实时检测的随流检测能力;
第三类是从应用角度提出的基于应用级别的网络服务能力 APN6,以及网络能力灵活编程的业务链能力 SFC;
FlexE:Flexible Ethernet,灵活以太
DetNet:Deterministic Networking,确定性网络
iFIT:in-situ Flow Information Telemetry,随流检测
BIERv6:Bit Index Explicit Replication IPv6 Encapsulation,位索引显式复制 IPv6 封装
APN6:Application-aware IPv6 Networking,应用感知的 IPv6 网络
IPv6+发展阶段
IPv6 不是下一代互联网的全部,而是下一代互联网创新的起点和平台,IPv6+的路线图有利于引导网络有序演进。随着 IPv6 的规模部署,以 SRv6 为代表的 IPv6+技术将在网络中广泛应用,构建出智能化、简单化、自动化、SLA 可承诺的下一代网络;

阶段一:
主要是通过 SRv6 技术,进行协议简化,解决传统 MPLS 网络因分段配置,人工跨域打通导致的效率低下的问题,实现端到端的跨域快速打通;
与此同时,SRv6 Polic[……]

READ MORE

「VPN」- SRv6 Policy 高可靠性:Midpoint

问题描述
在 SRv6 Policy 中,经常要约束数据报文在网络中的转发路径,需要指定报文沿途经过的节点或链路。但如果某些必须经过的节点或链路出现故障后,TI-LFA FRR 就无法达到保护的作用;

解决方案
为了解决 SRv6 Policy 场景由于严格节点约束导致的 TI-LFA FRR 保护失效问题,需要由中间节点(Midpoint)的上游节点代替它完成这个转发处理,这个上游节点称之为代理转发(Proxy Forwarding)节点;
代理转发节点感知到报文的下一跳接口故障,并且下一跳是报文目的地址,且 SL > 0 时,代理转发节点代替中间节点执行 End 行为,将 SL 减 1,并将下层要处理的 SID 更新到外层 IPv6 报文头,然后按照下层 SID 的指令进行转发,从而绕过故障节点,实现 SRv6 中间节点故障的保护;

原理简述

Midpoint 保护流程:
正常时,P1 节点计算了到各个节点的 IGP 最短路径和 TI-LFA 备份路径,例如去 PE2 节点的最短路径和 TI-LFA 路径;
当节点 P1 配置了 Middle point TI-LFA 后,如果节点 P2 发生故障时,P1 感知到 P2 的出接口故障,报文的目的地址 P2 为 P1 的直连邻居,且 SRH 的 SL>0,会触发 Middle point TI-LFA 动作;
节点 P1 执行代理转发,SL 减一,将 Next SID FC06::6 拷贝到 IPv6 目的地址中,后根据目的地址 PE2 转发,流量可以经过 P1->P3->P4 顺利到达 PE2;
节点 P1 进行代理转发后,如果发现到目的地址 PE2 的下一跳依然是 P2,此时 P1 将流量转发到 TI-LFA 备份路径。也就是说 P1 在进行了 Middle point TI-LFA 之后,紧接着进行一次基础 TI-LFA 处理,从而实现流量切换到正确的备份路径;
节点 PE1 完成 IGP 收敛之后,删除到 P2 的 FIB 表项,而此时如果 iMaster NCE-IP 还下发新的 Policy 的 Segment List,节点 PE2 也会进行 Proxy Forwarding 处理,SL 减一,将 Next SID FC06::6 作为 IPv6 目的地址,并沿途转发到 PE2;[……]

READ MORE

「DHCPv6」- 报文格式

Solicit:DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数
Advertise:DHCPv6服务器发送Advertise消息,通知客户端可以为其分配的地址/前缀和网络配置参数
Request:如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数
Reply:DHCPv6服务器发送Reply消息,确认将地址/前缀和网络配置参数分配给客户端使用
Information-Request:客户端向DHCPv6服务器发送Information-request报文,该报文中携带Option Request选项,指定客户端需要从服务器获取的配置参数
Renew:地址/前缀租借时间到达时间T1时,DHCPv6客户端会向为它分配地址/前缀的DHCPv6服务器单播发送Renew报文,以进行地址/前缀租约的更新
Rebind:如果在T1时发送Renew请求更新租约,但是没有收到DHCPv6服务器的回应报文,则DHCPv6客户端会在T2时,向所有DHCPv6服务器组播发送Rebind报文请求更新租约
Confirm:当有断电、掉线、漫游等情况发生时,客户端会发送Confirm报文确认自己的IP地址是否可用
Decline:当客户端发现地址冲突时,发送Decline通知服务器[……]

READ MORE

「OpenVPN」- Next-Gen VPN

认识
OpenVPN 是一个开源的 VPN 解决方案,基于 SSL/TLS 协议实现加密通信,支持 TCP 和 UDP 传输。它通过虚拟网卡(TUN/TAP)建立隧道,提供灵活的配置和高安全性。OpenVPN 是一个开源的虚拟专用网络(VPN)解决方案,用于创建安全的点对点或站点到站点的连接。它使用 SSL/TLS 协议进行加密,支持多种认证方式,并能在大多数操作系统上运行,包括 Windows、macOS、Linux、Android 和 iOS。
注意,SSL VPN 是另外一种基于 HTTPS(SSL/TLS)的 VPN 技术。
官网:https://openvpn.net/
文档:https://openvpn.net/community-resources/
仓库

https://github.com/OpenVPN/openvpn
Subversion Repository | https://openvpn.net/community-resources/subversion-repository/

组成
OpenVPN 在 OSI 模型的 传输层(第4层) 或 网络层(第3层) 上运行,通常使用:
UDP 1194 端口(默认)。
也可配置为 TCP 模式(适合严格防火墙环境,但效率稍低)。
协议:使用 SSL/TLS 进行密钥交换和身份验证,支持 AES 等强加密算法。
两种主要模式:

TUN(Layer 3)

模拟网络层设备,传输 IP 数据包(类似路由器)。
适用于路由 VPN 流量(如访问公司内网)。

TAP(Layer 2)

模拟数据链路层设备,传输以太网帧(类似交换机)。
适用于桥接模式(如远程设备加入本地局域网)。

独有协议
Most SSL-based VPNs use the same network protocol as is used for secure website (HTTPS), while OpenVPN uses a custom format for encrypting and signing data traffic. This is the main reason why OpenVPN is listed as a separate VPN category.
OpenVPN is often called an SSL-based VPN, as it uses the SSL/TLS protocol to secure the connection. However, OpenVPN also uses HMAC in combination wit[……]

READ MORE

「DHCP」- Discovery

Frame 231: 410 bytes on wire (3280 bits), 410 bytes captured (3280 bits) on interface -, id 0
Ethernet II, Src: HuaweiTe_32:73:97 (54:89:98:32:73:97), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Dynamic Host Configuration Protocol (Discover)
Message type: Boot Request (1)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x00007cd5
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
0… …. …. …. = Broadcast flag: Unicast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0
Your (client) IP address: 0.0.0.0
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Client MAC address: HuaweiTe_32:73:97 (54:89:98:32:73:97)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (Discover)
Length: 1
DHCP: Discover (1)
Option: (61) Client identifier
Length: 7
Hardware type: Ethernet (0x01)
Client MA[……]

READ MORE

「Huawei VRP」- 配置 DHCP 服务

Huawei ARG3 系列路由器支持两种地址池:全局地址池;接口地址池;
接口地址池

[Huawei] dhcp enable
[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] dhcp select interface # 将该接口所在网络作为地址池
[Huawei-GigabitEthernet0/0/0] dhcp server dns-list 10.1.1.2
[Huawei-GigabitEthernet0/0/0] dhcp server excluded-ip-address 10.1.1.2 # 排除某些地址
[Huawei-GigabitEthernet0/0/0] dhcp server lease day 3 # 设置租期为 3 天

查看 DHCP 配置:

[Huawei] display ip pool

全局地址池

[Huawei] dhcp enable
[Huawei] ip pool pool2
[Huawei-ip-pool-pool2] network 1.1.1.0 mask 24 # 地址池范围
[Huawei-ip-pool-pool2] gateway-list 1.1.1.1
[Huawei-ip-pool-pool2] lease day 10
[Huawei-ip-pool-pool2] quit

[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] dhcp select global # 选择全局地址池

如果由多个地址池,那么 dhcp select global 将选择哪个地址池?
参考 AR 系列接入路由器产品版本:V200R007 | 文档版本:17 | 发布时间:2021-03-08
根据文档的描述,DHCP 服务器选择地址池的原则:
1)当无中继场景时,DHCP Server 选择与接收 DHCP 请求报文的接口 IP 地址处于同一网段的地址池;
2)
修改 DHCP 的 DNS 地址

system-view
diplay ip pool
ip pool vlanXX
display this
undo dns-list 10.10.1.1
dns-list 10.10.1.3

配置 D[……]

READ MORE

「IPv6」- Path MTU

问题描述
在 IPv4 中,当设备收到数据包大小高于转发链路的 MTU 设置,将对数据包进行分片。在 IPv6 中,中间转发设备不对 IPv6 报文进行分片,报文的分片仅将在源节点进行。
那么在 IPv6 中,如果当设备收到数据包大小高于转发链路的 MTU 设置,该如何处理呢?
解决方案
在 IPv6 中,如果中间设备收到的数据包大小高于 MTU 设备:
1)中间设备将直接丢弃该数据包(数据完整性需要依靠上层协议来保证);
2)中间设备并返回 ICMPv6.Type = 2 报文,告诉源端其能接受的 MTU 值;
3)源端将使用该 MTU 进行后续的数据分片;
PMTU(Path MTU)就是路径上的最小接口 MTU 值;
PMTUD(Path MTU 发现机制)的主要目的是发现路径上的 PMTU,以避免数据包在从 SRC 到 DST 的过程中分段。
依赖 PMTUD 机制,数据的发送方可以使用所发现到的最优 PMTU 与目的地节点进行通信,这样可以避免数据包在从源传输到目的的过程之中,被中途的路由器分片而导致性能的下降。
交互示例

1)首先PC1用1500字节作为MTU向PC2发送IPv6数据包。
2)R1意识到数据包过大,出站接口MTU为1400字节,于是回复一个ICMPv6(Type=2)报文给PC1,指定MTU值为1400字节。
3)然后,PC1开始使用1400作为MTU发送IPv6数据。
4)数据包到达R2后,R2意识到出站接口MTU为1300字节,于是发送一个ICMPv6(Type=2)报文给PC1,指定MTU值为1300字节。
5)PC1开始使用1300作为MTU发送IPv6数据。
测试实验(Huawei)

// AR1,将 MTU 调小,以进行实验

[Interface] ipv6 mtu 1400
[Interface] mtu 1400

// AR2,发送 Ping 测试 ==> 出现丢包

<AR2>ping ipv6 -s 1452 2003::2
PING 2003::2 : 1452 data bytes, press CTRL_C to break
Request time out
Reply from 2003::2
bytes=1452 Sequence=2 hop limit=63 time = 40 ms
Reply from 2003::2
bytes=1452 Sequence=3 hop limit=63 time = 30 ms
Reply from 2003::2
bytes=1452 Sequence=4 hop limit=63 time[……]

READ MORE

「IPv6 Transition」- IPv6 over IPv4 手动隧道

1)原理:直接把 IPv6 报文封装到 IPv4 报文中去,IPv6 报文作为 IPv4 报文的净载荷;
2)特征:手动隧道的源地址和目的地址也是手工指定的,它提供了一个点到点的连接;
2)场景:可建立在两个边界路由器之间,为被 IPv4 网络分离的 IPv6 网络提供稳定的连接;或建立在终端系统与边界路由器之间,为终端系统访问 IPv6 网络提供连接;
隧道的边界设备必须支持 IPv6/IPv4 双协议栈。其它设备只需实现单协议栈即可;
1)因为手动隧道要求在设备上手工配置隧道的源地址和目的地址,如果一个边界设备要与多个设备建立手动隧道,就需要在设备上配置多个隧道,配置比较麻烦。所以手动隧道通常用于两个边界路由器之间,为两个 IPv6 网络提供连接;
2)隧道转发机制:当隧道边界设备的 IPv6 侧收到一个 IPv6 报文后, 根据 IPv6 报文的目的地址查找 IPv6 路由转发表,如果该报文是从此虚拟隧道接口(Tunnel 接口)转发出去,则根据隧道接口配置的隧道源和目的 IPv4 地址进行封装。封装后的报文变成一个 IPv4 报文,交给 IPv4 协议栈处理。报文通过 3)IPv4 网络转发到隧道的终点。隧道终点收到一个隧道协议报文后,进行隧道解封装。并将解封装后的报文交给 IPv6 协议栈处理;[……]

READ MORE

「DHCPv6」- 无状态自动配置(SLAAC,Stateless Address Autoconfiguration)

DHCPv6 Server 为 已具有IPv6地址/前缀的客户端 分配 除地址/前缀以外的 其他网络配置参数,该过程称为 DHCPv6 SLAAC(DHCPv6 无状态自动配置)。
在主机生成 Link-Local-Addr 并检测无地址冲突后,会首先发起路由器发现过程,即主机发送 RS 报文,路由器回应 RA 报文。如果 RA 报文中 M-bit==0,O-bit==1,则表示主机将通过 DHCPv6 SLAAC 来获取除地址/前缀外的其他配置参数(如 DNS、SIP、SNTP 等)。

1)Client 以组播的方式向 DHCPv6 Server 发送 Information-Request 报文,携带 Option Request 选项,指定 Client 需要获取的配置参数。
2)Server 收到该报文后,为客户端分配网络配置参数,并单播发送Reply报文将网络配置参数返回给客户端。客户端检查Reply报文中提供的信息,如果与Information-request报文中请求的配置参数相符,则按照Reply报文中提供的参数进行网络配置;否则,忽略该参数。[……]

READ MORE

「IPv6 Transition」- Tunnel / IPv6 over IPv4

原理简述

1)边界设备 R1 和 R2 启动 IPv4/IPv6 双协议栈,并配置 IPv6 over IPv4 隧道;
2)R1 收到从 IPv6 网络侧发来的报文后,如果报文的目的地址不是自身且下一跳为 Tunnel 接口,就要把收到的 IPv6 报文作为数据部分,加上 IPv4 报文头,封装成 IPv4 报文;
3)在 IPv4 网络中,封装后的报文被传递到对端的边界设备 R2;
4)R2 对报文解封装,去掉 IPv4 报文头,然后将解封装后的 IPv6 报文发送到 IPv6 网络中;
隧道分类
针对 IPv6 over IPv4 Tunnel 技术:
1)SRC-IPv4-ADDR 必须为手工配置;
2)DST-IPv4-ADDR 有两种配置方式:手工配置(Manual Tunnel);自动获取(Automatic Tunnel);
所以,根据隧道 DST-IPv4-ADDR 的获取方式不同,可以将 IPv6 over IPv4 隧道分为两种:
手动隧道(Manual Tunnel)
1)在自动隧道中,边界设备不能自动获得隧道 DST-IPv4-ADDR,需要手工配置,报文才能正确发送至隧道终点;
2)解决方案:IPv6 over IPv4;IPv6 over IPv4 GRE;
自动隧道(Automatic Tunnel)
1)在自动隧道中,用户仅需要配置设备隧道的 SRC-IPv4-ADDR,隧道的 DST-IPv4-ADDR 由设备自动生成;
2)解决方案:IPv4-Compatible IPv6 Tunnel;6to4 Tunnel;ISATAP Tunnel;
为了使设备能够自动产生目的 IPv4 地址,隧道接口的 IPv6 地址采用内嵌 IPv4 地址的特殊 IPv6 地址形式。设备从 IPv6 报文中的 DST-IPv6-ADDR 中解析出 IPv4 地址,然后以这个 IPv4 地址代表的节点作为隧道的终点;[……]

READ MORE

「DHCPv6」- DHCPv6 中继(DHCPv6 Relay)

当服务器和客户端不在一个网段时,需要使用到DHCPv6中继来完成IPv6地址/前缀和其他网络配置参数的获取。

DHCPv6客户端向所有DHCPv6服务器和DHCPv6中继的组播地址FF02::1:2发送请求报文。
DHCPv6中继收到客户端的报文后,将其封装在Relay-Forward报文的中继消息选项中,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继。
DHCPv6服务器从Relay-Forward报文中解析出DHCPv6客户端的请求,为DHCPv6客户端选取IPv6地址和其他配置参数,并将Relay-Reply报文发送给DHCPv6中继。
DHCPv6中继从Relay-Reply报文中解析出DHCPv6服务器的应答,转发给DHCPv6客户端。[……]

READ MORE

「IPv6 Transition」- Tunnel / 6VPE

问题描述
6PE 技术本质上相当于将所有通过 6PE 连接的 IPv6 业务都放在一个 VPN 内,无法做逻辑隔离,因此只能用于开放的、无保护的 IPv6 网络互联;
解决方案
如果需对所连接的 IPv6 业务做逻辑隔离,即实现 IPv6 VPN,则需要借助于 6VPE(IPv6 VPN Provider Edge, IPv6 VPN 供应商边缘路由器)技术;
6VPE 技术是基于 BGP/MPLS IPv6 VPN 的扩展技术 —— 在 IPv4 MPLS 骨干网上,来承载 IPv6 的 VPN 业务;
原理简述

与 6PE 技术相比,6VPE 技术:
1)通过 MP-BGP 在 IPv4 MPLS 骨干网发布 VPNv6 路由,
2)通过 MPLS 分配标签来标识 IPv6 报文,
3)并使用 LSP、MPLS TE 等隧道机制在骨干网上实现私网数据的传送;
PE ⇔ PE
在骨干网络是 IPv4 的情况下,PE 间使用 IPv4 地址建立 VPNv6 邻居,传递 VPNv6 路由,VPNv6 路由可以选择骨干网中的 IPv4 隧道来承载 IPv6 VPN 业务;
PE 之间,建立 BGP/MPLS IPv6 VPN 传递 IPv6 私网路由,IPv6 Family VPNv6,但底层为 IPv4 MPLS Network;
PE ⇔ CE
6VPE 除 PE 和 CE 之间运行的路由协议与 IPv4 VPN 不同外,其它所有特性原理都与 IPv4 VPN 相同;
在 6VPE 中,CE 和 PE 之间利用 IPv6 协议中的 IGP、EBGP 和静态路由等方式交换 IPv6 路由。可以选择以下 IPv6 路由协议为用户提供 IPv6 的 VPN 服务;
BGP4+
静态 IPv6 路由
OSPFv3
IS-IS for IPv6
应用场景
不同用户站点希望通过公网进行IPv6的数据通信,而又不希望公网感知到站点内部的路由信息,且希望实现业务隔离。
配置案例
WIP !!! IPv6 Transition / Tunnel / 6VPE[……]

READ MORE

「DHCP」- 仿冒攻击(中间人攻击,MITM Attack)

问题描述
攻击者利用 ARP 机制,让 Client 学习到 DHCP Server IP 与 Attacker MAC 的映射关系,又让 Server 学习到 Client IP 与 Attacker Mac 的映射关系。如此一来,Client 与 Server 之间交互的 IP 报文都会经过攻击者中转;
原因分析
从本质上讲,中间人攻击是一种 Spoofing IP/MAC 攻击,中间人利用虚假的 IP 地址与 MAC 地址之间的映射关系来同时欺骗 DHCP 的客户端和服务器;

如图所示,攻击者利用 ARP 机制,让 PC1 学习到 IP-S 与 MAC2 的映射关系,又让 Server 学习到 IP1 与 MAC2 的映射关系;
1)当 PC1 向 DHCP Server 发送 IP 报文时,目的 IP 地址为 IP-S,源 IP 地址为 IP1,而封装这个 IP 报文的帧的目的 MAC 地址为 MAC2,源 MAC 地址为 MAC1,所以这个帧会首先到达攻击者 PC2。攻击者收到这个帧后,将这个帧的目的 MAC 地址更换为 MAC-S,源 MAC 地址更换为 MAC2,然后将这个帧发往 Server。如此“偷梁换柱”,Server 是看不出任何破绽的;
2)当 DHCP Server 向 PC1 发送 IP 报文时,目的 IP 地址为 IP1,源 IP 地址为 IP-S,而封装这个 IP 报文的帧的目的 MAC 地址为 MAC2,源 MAC 地址为 MAC-S,所以这个帧也会首先到达攻击者 PC2。攻击者收到这个帧后,将这个帧的目的 MAC 地址更换为 MAC1,源 MAC 地址更换为 MAC2,然后将这个帧发往 PC1。同样,PC1 也是看不出任何破绽的;
3)由于往来于 PC1 与 DHCP Server 之间的 IP 报文都会经过攻击者(中间人)进行中转,攻击者便很容易窃取这些 IP 报文中的某些信息,并利用这些信息来进行其他的破坏行为。攻击者也可以很容易对往来于 PC1 与 DHCP Server 之间的 DHCP 消息(这些消息是封装在 UDP 报文中的,而 UDP 报文又是封装在 IP 报文中的)进行篡改,达到直接攻击 DHCP 的目的;
解决方案
为防御中间人攻击与 IP/MAC Spoofing 攻击,可使用 DHCP Snooping 的绑定表工作模式,当接口接收到 ARP 或者 IP 报文,使用 ARP 或者 IP 报文中的“SRC-IP + SRC-MAC”匹配 DHCP Snooping 绑定表。如果匹配就进行转发,如果不匹配就丢弃;
DHCP 中间人攻击本质上是一种 Spoofing IP/MAC 攻击。要想防止 DHCP 中间人攻击,其实就是要防止 Spoofing IP/MAC 攻击;[……]

READ MORE

「SRV6」- 概述原理

控制平面:扩散 Locator 信息
无论基于 SRv6 BE 或是 SRv6 Policy 转发流量,路由器都需要有 SRv6 Locator 的相关路由信息才能转发 SRv6 报文;

SRv6 节点通常通过扩展 IGP(扩展 OSPFv3 或扩展 IS-IS),将 Locator 相关路由扩散到网络节点上(包括源节点,中转节点,Endpoint 节点);
数据平面:数据转发过程
在 SRv6 转发过程中每经过一个 SRv6 Endpoint 节点,Segments Left(SL)字段减 1,IPv6 报文头中的目的 IPv6 地址变换一次。Segments Left 和 Segment List 字段共同决定 IPv6 DA 信息;

与 SR-MPLS 不同,SRv6 SRH 是从下到上逆序操作,SRH 中的 Segment 在经过节点后也不会被弹出。因此 SRv6 报头可以做路径回溯;
PSP 和 USP
在 MPLS 中,使用 Implicit-Null 和 Non-null 选项定义了不同的弹出选项。PHP 在 MPLS 数据平面中是指 MPLS 标签栈最外层的标签在到达相邻的标签边界路由器(LER)之前被 LSR 移除的过程。如果 MPLS 网络中没有使能 PHP,则由 LER 负责去掉标签;
这些行为在 SRv6 中被定义成两个功能:PSP 和 USP;[……]

READ MORE

「Jenkins Plugins」- 邮件通知 | Email Extension

虽然邮件通知较慢,但是我们依旧保留邮件通知方法,作为补充手段。
Pipeline Basic Steps / mail
官网:
文档:https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/#mail-mail
仓库:
该功能为内置邮件发送功能,不需要安装额外的插件。
使用方法:
1)Manage Jenkins / Configure System / E-mail Notification

SMTP server: smtp.exmail.qq.com
Advanced

Use SMTP Authentication:

User Name: noreply@example.com

需与 System Admin e-mail address 参数一致。否则,将提示 … 501 mail from address must be same as authorization user … 错误。

Password: xxxxxxx

Use SSL
SMTP Port: 465

2)在 Jenkins Pipeline 或 Freestyle Project 中,配置邮件发送即可。

在 Jenkins Pipeline 中,使用邮件通知的方法:

mail(
to: “tony@example.com,mary@example.com,tom@example.com”, // 收件人
subject: “”, // 邮件标题
body: “” // 邮件内容
)

Email Extension | Email Extension Plugin
官网:https://plugins.jenkins.io/email-ext/
文档:https://www.jenkins.io/doc/pipeline/steps/email-ext
仓库:https://github.com/jenkinsci/email-ext-plugin
Pipeline Steps: emailext, emailextrecipients
在 Manage Jenkins / Configure System / Extended E-mail Notification 中,设置邮箱帐号信息;
Mailer | Mailer Plugin
官网:https://plugins.jenkins.io/mailer/
文档:https[……]

READ MORE

「IPv6」- 邻居发现协议(NDP, Neighbor Discovery Protocol)

解决方案
NDP,Neighbor Discovery Protocol,邻居发现协议,RFC2461 定义 NDP 协议,后被 RFC4861 替代。
原理简述
该协议并非新协议,而是通过不同 ICMPv6.Type 报文组合来实现。
协议特性
WIP
应用场景
通过 NDP 协议,实现 无状态自动配置(前缀公告)、网络地址解析、重复地址检测 等等。
报文类型
该协议并非新协议,而是通过如下 ICMPv6.Type 报文组合来实现:
1)Type=133,路由器请求(Router Solicitation)
2)Type=134,路由器公告(Router Advertisement)
3)Type=135,邻居请求(Neighbor Solicitation)
4)Type=136,邻居公告(Neighbor Advertisement)
5)Type=137,重定向 (Redirect)
协议功能
路由器发现:发现链路上的路由器,获得路由器通告的信息;网络地址解析:请求目的网络地址对应的数据链路层地址,类似 IPv4 ARP 协议;邻居状态跟踪:通过 NDP 发现链路上的 IPv6 邻居,并跟踪邻居状态;重复地址检测:获得地址后,进行地址重复检测,确保地址不存在冲突;报文重定向:告知其他设备,到达目标网络的更优下一跳;无状态自动配置:通过路由器通告的地址前缀,终端自动生成IPv6地址(无需 DHCP 服务);
前缀重编址:
作用:路由器对所通告的地址前缀进行灵活设置,实现网络重编址(修改网络地址,而无需中断业务);
RS (ICMPv6.Type=133) + RA (ICMPv6.Type=134)
路由器发现(IRDP, Internet Router Discovery Protocol)
ICMP Router Discovery Protocol – Wikipedia
路由器发现,是指 Host(主机)发现本地链路上 Router(路由器),并确定其配置信息的过程。
ICMPv6 Packet:RS (ICMPv6.Type=133) + RA (ICMPv6.Type=134)
路由器发现能够同时实现以下三个功能:
1)路由器发现 (Router Discovery):Host 定位 Neighbor Router,并选择哪个 Router 作为缺省网关的过程;
2)前缀发现 (Prefix Discovery):Host 发现本地链路上的一组 IPv6 Network Prefix 的过程,用于主机的地址自动配置;
3)参数发现 (Parameter Discovery):Host 发现相关操作参数的过程,如输出报文的缺省跳数限制、地址配置方式[……]

READ MORE

「SRv6」- BE 概述原理

控制平面:通过 IGP 扩散
SRv6 节点通常通过扩展 IGP(扩展 OSPFv3 或扩展 IS-IS),将 Locator 相关路由扩散到网络节点上(包括源节点,中转节点,Endpoint 节点);
数据平面:数据转发过程
传统 MPLS 有 LDP 和 RSVP-TE 两种控制协议,其中 LDP 方式不支持流量工程能力,LDP 利用 IGP 算路结果,建立 LDP LSP 指导转发;
在 SRv6 里,也有类似的方式,只不过 SRv6 仅使用一个 业务 SID 来指引报文在 IP Network 里进行尽力而为(Best Effort,BE)的转发,这种方式就是 SRv6 BE;
SRv6 BE 的转发路径计算依据 IGP 开销;[……]

READ MORE

「TMV」- 制作启动盘 | 系统安装

方法一、使用 dd 命令

dd if=”<Your iso file location>” of=”/dev/<Your usb drive>” bs=4M

dd if=/tmp/kali-linux-2017.2-amd64.iso of=/dev/sdb bs=1M

方法二、Rufus – Create bootable USB drives the easy way
https://rufus.ie/en/
方法三、Ventoy – A New Bootable USB Solution
https://www.ventoy.net/cn/index.html
官网:https://www.ventoy.net/en/index.html
安装操作系统时,制作 U 盘启动的工具。
该工具自身安装到 U 盘,然后将操作系统 ISO 复制到 U 盘就行了。
最大的特征就是:
1)支持各种操作系统,就不用反复制作 U 盘启动。
2)再就是跨平台,制作的 U 盘启动工具可以在 ARM x86 MIPS 等等平台上运行,原理就是借助的 UEFI,UEFI 会自动到 U 盘中寻找 .efi 文件。
参考文献
How to burn debian iso to usbPreparing Files for USB Memory Stick Booting[……]

READ MORE