ensp笔记

1,BGP的路由过滤
1,通过路由策略来进行过滤
1,抓取流量
[r1]ip ip-prefix aa permit 172.16.1.0 24
2,配置路由策略
[r1]route-policy aa deny node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix aa
[[r1]route-policy aa permit node 20
Info: New Sequence of this List.
[r1-route-policy]
[r1-route-policy]q
3,在BGP进程中进行调用
[r1-bgp]peer 12.0.0.2 route-policy aa export
2,通过前缀列表进行过滤
1,配置前缀列表
[r1]ip ip-prefix bb deny 172.16.2.0 24
[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
2,在BGP进程中进行调用
[r1-bgp]peer 12.0.0.2 ip-prefix bb export
3,通过filter-policy来进行过滤
1,配置ACL列表— 在BGP中调用过滤策略时,他只能调用ACL列表,所以我们
必须使用ACL列表来抓取流量
[r2-acl-basic-2000]rule deny source 172.16.3.0 0 — ACL列表在抓取流量时,因为过
滤策略本身没有拒绝动作,所以,动作必须选择拒绝
[r2-acl-basic-2000]rule permit source any
2,在BGP进程中调用
[r2-bgp]peer 12.0.0.1 filter-policy 2000 import
2,BGP的社团属性
第十三天
2022年7月23日10:34
分区7.5HCIP中心暑假 的第1 页
BGP的社团属性就类似于路由的一个标记,本质上由32位二进制构成— 1,直接使用十进制
来标志;2,十六位二进制:十六位二进制---- 一条BGP路由当中不一定只打一个社团属性,
可以打多个。
在BGP当中,定义了几个公有的社团属性。
1,0X00000000 — “Internet” — 默认情况下,所有的BGP路由缺省属于这个社团当
中,即抓取社团属性为0的路由将会抓到所有的BGP路由。
2,0XFFFFFF02 — “no - advertise” — 如果将某条BGP路由打上这个社团属性,则
这条路由将不会被通告给自己的任何BGP对等体。
3,0XFFFFFF01 — “no - export” — 如果将某条BGP路由打上这个社团属性,则
这条路由将不会被通告给自己的任何EBGP对等体。(这个不通告不包括联邦的EBGP对
等体)
4,0XFFFFFF03 — “no - export - subconfed” — 如果将某条BGP路由打上这个社
团属性,则这条路由将不会被通告给自己的任何EBGP对等体,包含联邦的EBGP对等体
配置社团属性的策略:
[r1]route-policy com permit node 10
[r1-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
none No community attribute
[r1-route-policy]apply community no-advertise
[r1-bgp]peer 12.0.0.2 route-policy com export — 在BGP进程中调用
分区7.5HCIP中心暑假 的第2 页
[r1-bgp]peer 12.0.0.2 advertise-community ---- 在进程中开启社团属性的传递性,华为默
认关闭了其传递性。
自定义社团属性:
1,做路由策略
[r1]route-policy com1 permit node 10
Info: New Sequence of this List.
[r1-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
none No community attribute
[r1-route-policy]apply community 1:11
2,在发布路由时调用路由策略
[r1-bgp]network 172.16.4.0 24 route-policy com2
3,根据社团属性抓取流量
使用社团属性过滤器来抓取— community-filter
[r1]ip community-filter 1 permit 1:11
4,根据抓取到的流量配置策略
[r1]route-policy aaa deny node 10
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 1
[r1-route-policy]q
[r1]route-policy aaa permit node 20
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 2
[r1-route-policy]ap
[r1-route-policy]apply community no-export ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
additive Add to the existing community
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
Please press ENTER to execute command
[r1-route-policy]apply community no-export additive — 在原有社团属性的基础上增
加社团属性
[r1-route-policy]q
[r1]route-policy aaa permit node 30
分区7.5HCIP中心暑假 的第3 页
[r1]route-policy aaa permit node 30
Info: New Sequence of this List.
[r1-route-policy]q
5,在BGP进程中调用路由策略
[r1-bgp]peer 12.0.0.2 route-policy aaa export
MPLS — 多协议标签交换技术
包交换— 数据组成数据包,之后,在各个网络节点中不断传递,最终到达目标。
包交换转发效率不高的问题所在:
1,在整个包交换的过程中,需要先查询路由表之后在查看ARP缓存表两张表来完
成转发过程,导致效率较低;
2,路由表的匹配原则— 最长匹配原则导致路由表的查询效率不会太高
3,路由表存在递归查找的过程
4,IP头部是可变长头部,导致我们对IP头部进行读取时需要使用软件进行处理,
无法基于硬件进行快速的查找。
标签交换
标签交换在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维
护一张记录对应关系及转发接口的表,携带标签的数据来到设备上,先看标签,之后基
于维护的标签转发表进行转发,而不再需要查看三层的内容。因为标签本身短小且定
长,所以,其转发效率将高于包交换。
但是标签交换需要先给数据包中打上标签,之后在到达目标之前还需要将标签弹出,
因此,标签交换只是在转发过程中提高了效率,整体上相交包交换提升并不明显
包交换的变更
1,进程交换— process switching — 最早期的包交换— 每一个数据包都需要先查
看路由表,之后再看ARP缓存表来确定二层封装内容。
2,快速包交换(fast switching) — 基于流的包交换— 一次路由,多次交换— 当
一股数据流来到设备上,我们只针对第一个数据包执行路由过程,将路由的结果和数据
包特征(五元组)记录在缓存当中。之后,数据流中的其他数据来到设备将直接对比缓
存中的五元组,相同,则直接按照转发方式进行转发二不在进行路由过程。
3,思科的特快交换技术— Cisco Express Forwading — 简称CEF技术。主要是将路
由表和ARP缓存表中的内容进行预读取(就是将该递归的进行递归运算,该查ARP缓存
表的提前查好),之后将结果记录在CEF表中,而CEF表是支持硬件转发的,所以,可以
分区7.5HCIP中心暑假 的第4 页
极大的提升路由的转发效率。
虽然CEF技术是思科的私有技术,但是各大厂商也基于其思路设计出了属于自己特快交换
技术。华为设备在进行路由转发时就基于FIB(转发信息表),这个表是支持硬件转发
的。
虽然标签交换无法替代包交换成为主流的转发技术,但是,依然和包交换在共同的发
展,MPLS就是包交换和标签交换共同发展的产物,主要因为在一些领域下,标签交换可
以做到更好:
1,用于解决BGP的路由黑洞
2,MPLS VPN
3,MPLS TE — 流量工程— 简单理解流量工程就是控制流量转发的路径。
所有运行标签交换的路由器组成的转发网络,我们可以看作是一个MPLS网络,我们将他
称为MPLS域。我们将这些运行了MPLS的设备称为LSR — 标签交换路由器
基于标签交换前提首先得有标签,标签是每台LSR基于本地的路由表中的路由条目来生成
的。我们将所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包称为
FEC — 等价转发类。同一个FEC需要配置同一个标签。
每台LSR将自己的标签和FEC的映射信息记录在本地的一张表中,这张表被称为—
LIB(标签信息表)。之后,将和FIB表进行结合,生成LFIB表— 标签转发信息表。
在整个过程中,LSR设备除了需要自己分配标签以外还需要知道其他LSR设备针对同一个
FEC分配的标签,所以,标签交换和包交换一样也分为两个层面— 控制层面,数据层面
包交换
控制层面— 路由协议的数据流方向,目的是为了获取未知网段的路由信息,生成
路由表。
分区7.5HCIP中心暑假 的第5 页
数据层面— 设备基于已经完善的路由表(FIB)来转发具体的数据信息,其方向
正好和控制层流量相反。
标签交换
控制层面— 基于FEC分配标签,并获取其他LSR对同一个FEC分配的标签,之
后,记录生成LIB表,之后结合FIB生成LFIB表。— 这个过程可以基于静态来完
成,也可以基于动态协议来完成— LDP协议— 标签分发协议
数据层面— 设备基于LFIB表,根据标签进行转发。
入站LSR — (ingress)MPLS域的边界,当没有标签的数据包来到入站LSR上,他需要
在数据包中压入标签。
中转LSR — (transit) 完成标签置换动作的LSR设备。
出站LSR — (egress)— 也是MPLS域的边界,完成标签的弹出动作。
整个过程中,数据层流量流动的路径为R1-R2-R3-R4,这条路径我们称为LSP — 标签交换
路径。需要注意的是,LSP是单向的,如果想让数据双向来回,则还需要构建一条R4-
R3-R2-R1的路径。
Label — 20位— 0 - 2的20次方— 我们将标签号的取值范围称为标签空间,每台LSR
设备的标签空间都是独立的。
其中:
0 - 15 ---- 特殊标签值— 我们分配的时候不能直接分配,因为每个特殊标签都
拥有其特殊的含义
16 - 1023 ---- 一般应用于静态LSP搭建
1024 - 2的20次方---- 应用于LDP等动态标签交换协议来分配时使用
EXP — 占3位— 做策略使用的— 一般000,可以理解为优先级,优先级高则可以优先
转发。
S — 占1位— 栈底位— 标签不止可以打一个,可以打多个,我们将多个标签的有序
集合称为标签栈。如果存在多个标签,需要使用这个标记位进行标识。如果是最后一个
标签,则该位置1,如果不是,则置0。
分区7.5HCIP中心暑假 的第6 页
TTL — 生存时间— 和三层的TTL值一样,主要目的是为了防止数据包在环路中无限循
环下去。数据来到入站LSR时,将把三层的TTL值复制到标签中,在MPLS域中没经过一
次转发,TTL减1,之后,在出站LSR上弹出标签,再将标签中的TTL值复制到三层包头
中。
构建静态LSP:
1,保证路由条件— 静态只需要边界设备拥有来回路由信息即可
2,配置LSR
入站LSR
1,给LSR配置LSR-ID — 32位二进制构成,都是按照IP地址格式来写,但是,只
能手动配置
[r1]mpls lsr-id 1.1.1.1 — LSR-ID建议使用环回接口的IP地址
2,激活MPLS
1,全局激活MPLS
[r1]mpls
2,接口激活MPLS — 所有需要参与MPLS数据收发的接口都需要激活
[r1-GigabitEthernet0/0/0]mpls
3,构建静态的LSP
[r1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 1000
1,下一跳— 必须和路由表中的下一跳相同
2,out-label — 出站标签— 下一跳设备接受后需要根据这个标签判断数
据到达那个网段。
配置中转LSR:
[r2]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1000
nexthop 23.0.0.2 out-label 1001
1,in-label — 入站标签— 入站标签必须和上一跳配置的出战标签相同
配置出战LSR:
[r4]static-lsp egress 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1002
[r1]display mpls static-lsp — 查看静态LSP
分区7.5HCIP中心暑假 的第7 页
分区7.5HCIP中心暑假 的第8 页1,BGP的路由过滤
1,通过路由策略来进行过滤
1,抓取流量
[r1]ip ip-prefix aa permit 172.16.1.0 24
2,配置路由策略
[r1]route-policy aa deny node 10
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix aa
[[r1]route-policy aa permit node 20
Info: New Sequence of this List.
[r1-route-policy]
[r1-route-policy]q
3,在BGP进程中进行调用
[r1-bgp]peer 12.0.0.2 route-policy aa export
2,通过前缀列表进行过滤
1,配置前缀列表
[r1]ip ip-prefix bb deny 172.16.2.0 24
[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
2,在BGP进程中进行调用
[r1-bgp]peer 12.0.0.2 ip-prefix bb export
3,通过filter-policy来进行过滤
1,配置ACL列表— 在BGP中调用过滤策略时,他只能调用ACL列表,所以我们
必须使用ACL列表来抓取流量
[r2-acl-basic-2000]rule deny source 172.16.3.0 0 — ACL列表在抓取流量时,因为过
滤策略本身没有拒绝动作,所以,动作必须选择拒绝
[r2-acl-basic-2000]rule permit source any
2,在BGP进程中调用
[r2-bgp]peer 12.0.0.1 filter-policy 2000 import
2,BGP的社团属性
第十三天
2022年7月23日10:34
分区7.5HCIP中心暑假 的第1 页
BGP的社团属性就类似于路由的一个标记,本质上由32位二进制构成— 1,直接使用十进制
来标志;2,十六位二进制:十六位二进制---- 一条BGP路由当中不一定只打一个社团属性,
可以打多个。
在BGP当中,定义了几个公有的社团属性。
1,0X00000000 — “Internet” — 默认情况下,所有的BGP路由缺省属于这个社团当
中,即抓取社团属性为0的路由将会抓到所有的BGP路由。
2,0XFFFFFF02 — “no - advertise” — 如果将某条BGP路由打上这个社团属性,则
这条路由将不会被通告给自己的任何BGP对等体。
3,0XFFFFFF01 — “no - export” — 如果将某条BGP路由打上这个社团属性,则
这条路由将不会被通告给自己的任何EBGP对等体。(这个不通告不包括联邦的EBGP对
等体)
4,0XFFFFFF03 — “no - export - subconfed” — 如果将某条BGP路由打上这个社
团属性,则这条路由将不会被通告给自己的任何EBGP对等体,包含联邦的EBGP对等体
配置社团属性的策略:
[r1]route-policy com permit node 10
[r1-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
none No community attribute
[r1-route-policy]apply community no-advertise
[r1-bgp]peer 12.0.0.2 route-policy com export — 在BGP进程中调用
分区7.5HCIP中心暑假 的第2 页
[r1-bgp]peer 12.0.0.2 advertise-community ---- 在进程中开启社团属性的传递性,华为默
认关闭了其传递性。
自定义社团属性:
1,做路由策略
[r1]route-policy com1 permit node 10
Info: New Sequence of this List.
[r1-route-policy]apply community ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
none No community attribute
[r1-route-policy]apply community 1:11
2,在发布路由时调用路由策略
[r1-bgp]network 172.16.4.0 24 route-policy com2
3,根据社团属性抓取流量
使用社团属性过滤器来抓取— community-filter
[r1]ip community-filter 1 permit 1:11
4,根据抓取到的流量配置策略
[r1]route-policy aaa deny node 10
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 1
[r1-route-policy]q
[r1]route-policy aaa permit node 20
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 2
[r1-route-policy]ap
[r1-route-policy]apply community no-export ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
additive Add to the existing community
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known
community attributes)
Please press ENTER to execute command
[r1-route-policy]apply community no-export additive — 在原有社团属性的基础上增
加社团属性
[r1-route-policy]q
[r1]route-policy aaa permit node 30
分区7.5HCIP中心暑假 的第3 页
[r1]route-policy aaa permit node 30
Info: New Sequence of this List.
[r1-route-policy]q
5,在BGP进程中调用路由策略
[r1-bgp]peer 12.0.0.2 route-policy aaa export
MPLS — 多协议标签交换技术
包交换— 数据组成数据包,之后,在各个网络节点中不断传递,最终到达目标。
包交换转发效率不高的问题所在:
1,在整个包交换的过程中,需要先查询路由表之后在查看ARP缓存表两张表来完
成转发过程,导致效率较低;
2,路由表的匹配原则— 最长匹配原则导致路由表的查询效率不会太高
3,路由表存在递归查找的过程
4,IP头部是可变长头部,导致我们对IP头部进行读取时需要使用软件进行处理,
无法基于硬件进行快速的查找。
标签交换
标签交换在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维
护一张记录对应关系及转发接口的表,携带标签的数据来到设备上,先看标签,之后基
于维护的标签转发表进行转发,而不再需要查看三层的内容。因为标签本身短小且定
长,所以,其转发效率将高于包交换。
但是标签交换需要先给数据包中打上标签,之后在到达目标之前还需要将标签弹出,
因此,标签交换只是在转发过程中提高了效率,整体上相交包交换提升并不明显
包交换的变更
1,进程交换— process switching — 最早期的包交换— 每一个数据包都需要先查
看路由表,之后再看ARP缓存表来确定二层封装内容。
2,快速包交换(fast switching) — 基于流的包交换— 一次路由,多次交换— 当
一股数据流来到设备上,我们只针对第一个数据包执行路由过程,将路由的结果和数据
包特征(五元组)记录在缓存当中。之后,数据流中的其他数据来到设备将直接对比缓
存中的五元组,相同,则直接按照转发方式进行转发二不在进行路由过程。
3,思科的特快交换技术— Cisco Express Forwading — 简称CEF技术。主要是将路
由表和ARP缓存表中的内容进行预读取(就是将该递归的进行递归运算,该查ARP缓存
表的提前查好),之后将结果记录在CEF表中,而CEF表是支持硬件转发的,所以,可以
分区7.5HCIP中心暑假 的第4 页
极大的提升路由的转发效率。
虽然CEF技术是思科的私有技术,但是各大厂商也基于其思路设计出了属于自己特快交换
技术。华为设备在进行路由转发时就基于FIB(转发信息表),这个表是支持硬件转发
的。
虽然标签交换无法替代包交换成为主流的转发技术,但是,依然和包交换在共同的发
展,MPLS就是包交换和标签交换共同发展的产物,主要因为在一些领域下,标签交换可
以做到更好:
1,用于解决BGP的路由黑洞
2,MPLS VPN
3,MPLS TE — 流量工程— 简单理解流量工程就是控制流量转发的路径。
所有运行标签交换的路由器组成的转发网络,我们可以看作是一个MPLS网络,我们将他
称为MPLS域。我们将这些运行了MPLS的设备称为LSR — 标签交换路由器
基于标签交换前提首先得有标签,标签是每台LSR基于本地的路由表中的路由条目来生成
的。我们将所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包称为
FEC — 等价转发类。同一个FEC需要配置同一个标签。
每台LSR将自己的标签和FEC的映射信息记录在本地的一张表中,这张表被称为—
LIB(标签信息表)。之后,将和FIB表进行结合,生成LFIB表— 标签转发信息表。
在整个过程中,LSR设备除了需要自己分配标签以外还需要知道其他LSR设备针对同一个
FEC分配的标签,所以,标签交换和包交换一样也分为两个层面— 控制层面,数据层面
包交换
控制层面— 路由协议的数据流方向,目的是为了获取未知网段的路由信息,生成
路由表。
分区7.5HCIP中心暑假 的第5 页
数据层面— 设备基于已经完善的路由表(FIB)来转发具体的数据信息,其方向
正好和控制层流量相反。
标签交换
控制层面— 基于FEC分配标签,并获取其他LSR对同一个FEC分配的标签,之
后,记录生成LIB表,之后结合FIB生成LFIB表。— 这个过程可以基于静态来完
成,也可以基于动态协议来完成— LDP协议— 标签分发协议
数据层面— 设备基于LFIB表,根据标签进行转发。
入站LSR — (ingress)MPLS域的边界,当没有标签的数据包来到入站LSR上,他需要
在数据包中压入标签。
中转LSR — (transit) 完成标签置换动作的LSR设备。
出站LSR — (egress)— 也是MPLS域的边界,完成标签的弹出动作。
整个过程中,数据层流量流动的路径为R1-R2-R3-R4,这条路径我们称为LSP — 标签交换
路径。需要注意的是,LSP是单向的,如果想让数据双向来回,则还需要构建一条R4-
R3-R2-R1的路径。
Label — 20位— 0 - 2的20次方— 我们将标签号的取值范围称为标签空间,每台LSR
设备的标签空间都是独立的。
其中:
0 - 15 ---- 特殊标签值— 我们分配的时候不能直接分配,因为每个特殊标签都
拥有其特殊的含义
16 - 1023 ---- 一般应用于静态LSP搭建
1024 - 2的20次方---- 应用于LDP等动态标签交换协议来分配时使用
EXP — 占3位— 做策略使用的— 一般000,可以理解为优先级,优先级高则可以优先
转发。
S — 占1位— 栈底位— 标签不止可以打一个,可以打多个,我们将多个标签的有序
集合称为标签栈。如果存在多个标签,需要使用这个标记位进行标识。如果是最后一个
标签,则该位置1,如果不是,则置0。
分区7.5HCIP中心暑假 的第6 页
TTL — 生存时间— 和三层的TTL值一样,主要目的是为了防止数据包在环路中无限循
环下去。数据来到入站LSR时,将把三层的TTL值复制到标签中,在MPLS域中没经过一
次转发,TTL减1,之后,在出站LSR上弹出标签,再将标签中的TTL值复制到三层包头
中。
构建静态LSP:
1,保证路由条件— 静态只需要边界设备拥有来回路由信息即可
2,配置LSR
入站LSR
1,给LSR配置LSR-ID — 32位二进制构成,都是按照IP地址格式来写,但是,只
能手动配置
[r1]mpls lsr-id 1.1.1.1 — LSR-ID建议使用环回接口的IP地址
2,激活MPLS
1,全局激活MPLS
[r1]mpls
2,接口激活MPLS — 所有需要参与MPLS数据收发的接口都需要激活
[r1-GigabitEthernet0/0/0]mpls
3,构建静态的LSP
[r1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 1000
1,下一跳— 必须和路由表中的下一跳相同
2,out-label — 出站标签— 下一跳设备接受后需要根据这个标签判断数
据到达那个网段。
配置中转LSR:
[r2]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1000
nexthop 23.0.0.2 out-label 1001
1,in-label — 入站标签— 入站标签必须和上一跳配置的出战标签相同
配置出战LSR:
[r4]static-lsp egress 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1002
[r1]display mpls static-lsp — 查看静态LSP
分区7.5HCIP中心暑假 的第7 页
分区7.5HCIP中心暑假 的第8 页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值