网络互连(IPV4+NAT技术+ARP+IPV6)

1. 写在前面

百科:网际协议版本4(英语:InternetProtocolversion4IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。IPv4是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6,直到2011年,IANAIPv4位址完全用尽时,IPv6仍处在部署的初期。

IPv4在IETF于1981年9月发布的RFC 791中被描述,此RFC替换了于1980年1月发布的RFC 760。

IPv4是一中无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付数据包,意即它不保证任何数据包均能送达目的地,也不保证所有数据包均按照正确的顺序无重复地到达。这些方面是由上层的传输协议(如传输控制协议)处理的。

2. IP地址与数据报文格式

2.1 IPV4地址

• IPv4地址格式:32位地址空间,理论上可提供约40亿个主机地址

点分十进制表示:为便于记忆,将其划为4个字节,由小数点分开,每 个字节用十进制来表示,例如:


• IPv4地址的结构

  1. • 层次化的组织方式:IP地址= 网络号+ 主机号
  2. • 网络号由ICANN 分配,主机号由网络管理员分配
  3. • 前者表示主机所在网络,后者表示主机在该网络内的标识

2.2 有类别的IP地址空间划分

  • • 按机构规模进行分配
  • • 通过IP地址本身就可以确定网络号(Network ID)
  • • 局限性:
  1. • 如果一个机构需要2^16+1个IP地址,如何分配地址空间?
  2. • 对于很多机构,C类地址空间太小,A类、B类空间太大

2.3 无类别的域间路由CIDP

无类别域间路由(Classless Inter-Domain Routing, CIDR)

  • •地址中前K位为网络号,剩余部分为主机号,K可以是任意值
  • • 更高效的利用IP地址空间
  • • 网络号不再由Class来确定,通过前缀(prefix)长度来确定。 例如:192.168.1.99/28,该地址前28位为网络号,后4位为主机号
  • • 通常,前缀长度也可以用网络掩码(network mask)来表示
  • • 网络掩码的长度与IP地址相同,前K位全为1,后面为0,通常也用点分十 进制表示  例如,28位前缀长度对应的网络掩码为255.255.255.240
  • • 在一个网络内,可以使用更大的前缀长度来进一步划分子网、

CIDP举例子:

2.4 IP地址的相关计算

2.5 IP地址的特点分析

2.6 IP数据包头部格式

3.数据报文传输

3.1 IP报文转发

 路由器将转发信息存储在转发表中(Forwarding Information Base) ,转发表中存储的是网络号与下一跳地址的映射关系

3.2 IP报文转发规则

路由器收到IP报文后,获取目的地址D,按照如下规则进行转发:

  • 1. 如果D与路由器在同一网络内,直接交付给主机D,并返回;
  • 2. 在转发表中进行最长前缀匹配,如果匹配成功,则将IP报文转 发到该下一跳地址,并返回;
  • 3. 如果转发表中有默认路由,则将IP报文转发给默认路由器,并 返回;
  • 4. 报告转发分组出错(ICMP,目的网络不可达)。

3.3 IP地址到MAC地址的映射

• IP层抽象屏蔽了下层MAC协议的细节

  1. • 在链路层只能看见MAC 帧而看不见IP 数据报
  2. • 数据传输时,需要IP地址到MAC地址的映射

3.4 地址解析协议(ARP)

ARP:知道目标主机的IP地址,查询其MAC地址

• 每个三层设备中都有一个ARP缓存(Cache), 存储局域网内各主机或路由器的地址映射关系

主机A向局域网内另一主机B发送IP报文 , 如果ARP Cache中有对应条目,将该MAC地址作为目的地址发送数据帧,否则,A向局域网内广播ARP请求,询问主机B的IP地址对应的MAC地址 。主机B收到该请求后,回复自己的MAC地址 ,主机A和B都会将对方地址的映射关系写入ARP Cache。注意:ARP协议只作用于局域网,两主机IP不在同一网段时,数 据报文应先转发到路由器 

4. 连接不同的网络(IP分片)

4.1 IP分片

4.2 IP分片实例

4.3 IP分片的缺点有哪些?

不能充分利用网络资源

  • • 网络转发代价与包数目相关,与大小无关
  • • IP分片不能探测传输路径MTU大小:数据报文太大,导致分片 ; 数据报文太小,转发数据包增多

端到端性能很差

• 当一个分片丢失时,接收端会丢弃同一报文的其他分片


解决方案: 使用路径MTU发现机制,在数据传输过程中确定沿途网络的最小MTU
 

5.网络控制与诊断(ICMP)

5.1 互联网控制消息协议(ICMP)

互联网控制消息协议(Internet Control Message Protocol, ICMP)
ICMP协议通过发送错误代码、控制信息等来诊断和控制网络

  1. 由IP协议封装
  2. 基本不用于数据传输

• 应用举例:

  1. • Ping:检查对端主机是否可达
  2. • 终点不可达:不同的代码指示为什么数据包不可达
  3. • 时间超时:数据包超出最大跳数限制
  4. • 路由控制:重定向网络或主机
  5. • 源点抑制:控制节点发送速率
     

5.2 IP地址带来的问题

5.3 NAT技术(Network Address Translation)

RFC1918定义全局IP地址/私有IP地址:

  1.  全局IP地址:用于互联网--公共主机
  2.  私有IP地址:仅用于组织的专用网内部--本地主机      10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  • 在组织内部,给每个主机分配一个私有IP地址 ,使用标准IP路由协议,且可以进一步划分子网
  • NAT负责私有地址与全局地址之间的翻译;外部网络无需知道内部网络的地址情况

6. IPv6技术

百科:IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。

由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。

互联网数字分配机构(IANA)在2016年已向国际互联网工程任务组(IETF)提出建议,要求新制定的国际互联网标准只支持IPv6,不再兼容IPv4。 

6.1 为什么要设计IPv6?

6.2 IPv的地址格式

6.3 IPv6的编址

6.4 IPv6单播地址的分层结构

6.5 以太网地址转换为IPv6地址

6.6 IPv6地址到IPv4地址的映射

6.7 IPv6数据包头部格式

6.8 IPv6扩展报头及其优点

6.9 关于IPv6地址的自动配置问题

6.10 IPv6地址解析过程

6.11 IPv4向着IPv6过渡情况

6.12 IPv6的网络增量部署情况(场景)

7.IPv4  VS  IPv6

描述IPv4IPv6
地址长度为 32 位(4 个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D 或 E。IPv4 地址的总数为 4 294 967 296。

IPv4 地址的文本格式为 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每个 n 都是十进制数。可省略前导零。最大打印字符数为 15 个,不计掩码。

长度为 128 位(16 个字节)。基本体系结构的网络数字为 64 位,主机数字为 64 位。通常,IPv6 地址(或其部分)的主机部分将派生自 MAC 地址或其他接口标识。

根据子网前缀,IPv6 的体系结构比 IPv4 的体系结构更复杂。

IPv6 地址的数目比 IPv4 地址的数目大 1028(79 228 162 514 264 337 593 543 950 336)倍。IPv6 地址的文本格式为 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每个 x 都是十六进制数,表示 4 位。可省略前导零。可在地址的文本格式中使用一次双冒号(::),用于指定任意数目的 0 位。例如,::ffff:10.120.78.40 表示 IPv4 映射的 IPv6 地址。

地址分配最初,按网络类分配地址。随着地址空间的消耗,使用“无类域间路由”(CIDR)进行更小的分配。没有在机构和国家或地区之间平均分配地址。分配尚处于早期阶段。“因特网工程任务组织”(IETF )和“因特网体系结构委员会”(IAB)建议基本上为每个组织、家庭或实体分配一个 /48 子网前缀长度。它将保留 16 位供组织进行子网划分。地址空间是足够大的,可为世界上每个人提供一个其自己的 /48 子网前缀长度。
地址生存期通常,除使用 DHCP 分配的地址之外,此概念不适用于 IPv4 地址。IPv6 地址有两个生存期:首选生存期和有效生存期,而首选的生存期总是小于等于有效的生存期。

首选生存期到期后,如果有同样好的首选地址可用,那么该地址便不再用作新连接的源 IP 地址。 有效生存期到期后,该地址不再用作入局信息包的有效目标 IP 地址或源 IP 地址。

根据定义,某些 IPv6 地址有无限多个首选生存期和有效生存期,如本地链路(请参阅地址作用域)。

地址掩码用于从主机部分指定网络。未使用(请参阅地址前缀)。
地址前缀有时用于从主机部分指定网络。有时根据地址的表示格式写为 /nn 后缀。用于指定地址的子网前缀。按照打印格式写为 /nnn(最多 3 位十进制数字,0 <= nnn <= 128)后缀。例如 fe80::982:2a5c/10,其中前 10 位组成子网前缀。
地址解析协议(ARP)IPv4 使用 ARP 来查找与 IPv4 地址相关联的物理地址(如 MAC 或链路地址)。IPv6 使用因特网控制报文协议版本 6(ICMPv6)将这些功能嵌入到 IP 自身作为无状态自动配置和邻节点发现算法的一部分。因此,不存在类似于 ARP6 之类的东西。
地址作用域此概念不适用于单点广播地址。有指定的专用地址范围和回送地址。将该范围之外的地址假设为全局地址。

在 IPv6 中,地址作用域是该体系结构的一部分。单点广播地址有两个已定义的作用域,包括本地链路和全局链路;而多点广播地址有 14 个作用域。为源和目标选择缺省地址时要考虑作用域。

作用域区域是特定网络中作用域的实例。因此,有时必须输入 IPv6 地址或使它与区域标识相关联。语法是 %zid,其中 zid 是一个数字(通常较小)或名称。区域标识写在地址之后前缀之前。 例如,2ba::1:2:14e:9a9b:c%3/48。

地址类型IPv4 地址分为三种基本类型:单点广播地址、多点广播地址和广播地址。IPv6 地址分为三种基本类型:单点广播地址、多点广播地址和任意广播地址。有关描述,请参阅 IPv6 地址类型
通信跟踪通信跟踪是一个收集进入和离开系统的 TCP/IP(及其他)信息包的详细跟踪资料的工具。同样支持 IPv6。
配置新安装的系统必须在进行配置之后才能与其他系统通信;即,必须分配 IP 地址和路由。根据所需的功能,配置是可选的。IPv6 可与任何以太网适配器配合使用并且可通过回送接口运行。IPv6 接口是使用 IPv6 无状态自动配置进行自我配置的。还可手工配置 IPv6 接口。这样,根据网络的类型以及是否存在 IPv6 路由器,系统将能与其他本地和远程的 IPv6 系统通信。
域名系统(DNS)应用程序使用套接字 API gethostbyname() 接受主机名,然后使用 DNS 来获得 IP 地址。

应用程序还接受 IP 地址,然后使用 DNS 和 gethostbyaddr() 获得主机名。

对于 IPv4,逆向查找域为 in-addr.arpa。

同样支持 IPv6。使用 AAAA(四个 A)记录类型和逆向查找(IP 到名称)支持 IPv6。应用程序可选择(是否)从 DNS 接受 IPv6 地址,然后(是否)使用 IPv6 进行通信。

套接字 API gethostbyname() 仅支持 IPv4。对于 IPv6,使用新的 getaddrinfo() API 以仅获取 IPv6 或获取 IPv4 和 IPv6 地址(在应用选择上)。

对于 IPv6,用于逆向查找的域为 ip6.arpa,如果找不到,那么会使用 ip6.int。(请参阅 API getnameinfo() - 获取套接字地址的名称信息,以获取详细信息。)

动态主机配置协议(DHCP)DHCP 用于动态获取 IP 地址及其他配置信息。IBM i 支持对 IPv4 使用 DHCP 服务器。通过 IBM i 实现的 DHCP 不支持 IPv6。但是,可以使用 ISC DHCP 服务器实现。
文件传输协议(FTP)FTP 允许通过网络发送和接收文件。同样支持 IPv6。
片段如果一个信息包对于要传送它的下一链路来说太大,那么可由发送方(主机或路由器)对其分段。对于 IPv6,只能在源节点进行分段,且只能在目标节点完成重新装配。使用分段扩展报头。
主机表将因特网地址与主机名关联的可配置表,例如,127.0.0.1 用于回送。在开始 DNS 查找之前或者 DNS 查找失败之后(由主机名搜索优先级确定),套接字名称解析器将使用此表。同样支持 IPv6。
IBM Navigator for i支持IBM Navigator for i提供完整的 TCP/IP 配置解决方案。同样支持 IPv6。
接口概念性或逻辑实体,由 TCP/IP 用来发送和接收信息包,即使不以 IPv4 地址命名也始终与 IPv4 地址紧密关联。有时称为逻辑接口。

可使用 IBM Navigator for i以及使用 STRTCPIFC 和 ENDTCPIFC 命令彼此独立并独立于 TCP/IP 启动和停止 IPv4 接口。

同样支持 IPv6。
因特网控制报文协议(ICMP)由 IPv4 用来进行网络信息通信。由 IPv6 的使用情况类似;然而,因特网控制报文协议版本 6(ICMPv6)提供一些新的属性。

保留了基本错误类型,如目标不可到达、回传请求和应答。 添加了新的类型和代码以支持邻节点发现和相关的功能。

因特网组管理协议(IGMP)IGMP 由 IPv4 路由器用来查找需要特定多点广播组通信的主机,并由 IPv4 主机用来向 IPv4 路由器通告(主机上)现有的多点广播组侦听器。IGMP 在 IPv6 中由 MLD(多播侦听器发现)协议取代。MLD 执行 IGMP 对 IPv4 所执行的必要操作,但通过添加一些特定于 MLD 的 ICMPv6 类型值来使用 ICMPv6。
IP 报头根据提供的 IP 选项,有 20-60 个字节的可变长度。40 个字节的固定长度。没有 IP 报头选项。通常,IPv6 报头比 IPv4 报头简单。
IP 报头选项IP 报头(在任何传输报头之前)可能附带各种选项。IPv6 报头没有选项。而 IPv6 添加了附加(可选)的扩展报头。扩展报头包括 AH 和 ESP(和 IPv4 的一样)、逐跳扩展、路由、分段和目标。目前,IPv6 支持一些扩展报头。
IP 报头协议字节传输层或信息包有效负载的协议代码,例如,ICMP。报头类型紧跟在 IPv6 报头后面。使用与 IPv4 协议字段相同的值。此结构的作用是允许以后的报头使用当前定义的范围并且易于扩展。下一个报头将是传输报头、扩展报头或 ICMPv6。
IP 报头“服务类型”字节由 QoS 和差别服务用来指定通信类。但使用不同的代码来指定 IPv6 流量类。目前,IPv6 不支持 TOS。
LAN 连接LAN 连接由 IP 接口用来到达物理网络。存在许多类型,例如,令牌环和以太网。有时,它称为物理接口、链路或线路。IPv6 可与任何以太网适配器配合使用并且可通过虚拟以太网在逻辑分区间使用。
第 2 层隧道协议(L2TP)可将 L2TP 看作是虚拟 PPP,并通过任何支持的线路类型工作。同样支持 IPv6。
回送地址回送地址是地址为 127.*.*.*(通常是 127.0.0.1)的接口,只能由节点用来向自身发送信息包。该物理接口(线路描述)被命名为 *LOOPBACK。与 IPv4 的概念相同。单个回送地址为 0000:0000:0000:0000:0000:0000:0000:0001 或 ::1(简短版本)。虚拟物理接口被命名为 *LOOPBACK。
最大传输单元(MTU)链路的最大传输单元是特定链路类型(如以太网或调制解调器)支持的最大字节数。对于 IPv4,最小值一般为 576。IPv6 的 MTU 下限为 1280 个字节。也就是说,IPv6 不会在低于此极限时对信息包分段。要通过字节数小于 1280 的 MTU 链路发送 IPv6,链路层必须以透明方式对 IPv6 信息包进行分段及合并。
NetstatNetstat 是一个用于查看 TCP/IP 连接、接口或路由状态的工具。在使用 IBM Navigator for i和字符界面时可用。同样支持 IPv6。
网络地址转换(NAT)集成到 TCP/IP 中的基本防火墙功能,是使用 IBM Navigator for i配置的。目前,NAT 不支持 IPv6。通常,IPv6 不需要 NAT。IPv6 扩展了地址空间,这样就解决了地址短缺问题并使重新编号变得更加容易。
网络表IBM Navigator for i上一个将网络名称与无掩码的 IP 地址相关联的可配置表。例如,主机网络 14 与 IP 地址 1.2.3.4。对于 IPv6,目前此表不变。
节点信息查询不存在。一种简易的网络工具,其工作方式应类似于 ping,只是内容不同:IPv6 节点可查询目标 DNS 名称的另一个 IPv6 节点、IPv6 单点广播地址或 IPv4 地址。 目前不受支持。
开放式最短路径优先协议(OSPF)OSPF 是在优先于 RIP 的较大型自治系统网络中使用的路由器协议。同样支持 IPv6。
信息包过滤信息包过滤是集成到 TCP/IP 中的基本防火墙功能。它是通过使用 IBM Navigator for i配置的。信息包过滤不支持 IPv6。
信息包转发

可将 IBM i TCP/IP 堆栈配置为转发其接收到的非本地 IP 地址的 IP 信息包。通常,入站接口和出站接口各自连接到不同的 LAN。

信息包转发对 IPv6 的支持有限。IBM i TCP/IP 堆栈不支持作为路由器而执行的邻节点发现。

PINGPING 是测试可达性的基本 TCP/IP 工具。在使用 IBM Navigator for i和字符界面时可用。同样支持 IPv6。
点到点协议(PPP)PPP 支持基于各种调制解调器和线路类型的拨号接口。同样支持 IPv6。
端口限制IBM Navigator for i 允许客户配置已选择的 TCP 或用户数据报协议 (UDP) 端口号或端口号范围,以便其只对特定概要文件可用。IPv6 的端口限制与 IPv4 的端口限制完全相同。
端口TCP 和 UDP 有独立的端口空间,分别由范围为 1-65535 之间的端口号标识。对于 IPv6,端口的工作与 IPv4 相同。因为它们处于新地址系列,现在有四个独立的端口空间。 例如,有应用程序可绑定的两个 TCP 端口 80 空间,一个在 AF_INET 中,一个在 AF_INET6 中。
专用地址和公用地址除由 IETF RFC 1918 指定为专用的三个地址范围 10.*.*.* (10/8)、172.16.0.0 至 172.31.255.255 (172.16/12) 和 192.168.*.* (192.168/16) 之外,所有 IPv4 地址都是公用的。专用地址域通常在组织内部使用。专用地址不能通过因特网路由。IPv6 有类似的概念,但还有重要差别。

地址是公用或临时的,先前称为匿名地址。 请参阅 RFC 3041。与 IPv4 专用地址不同,临时地址可进行全局路由。动机也不一样:IPv6 临时地址要在它开始通信时屏蔽其客户机的身份(涉及隐私)。临时地址的生存期有限,且不包含是链路(MAC)地址的接口标识。它们通常与公用地址没有区别。

IPv6 具有受限地址作用域的概念,它使用其设计的作用域指定(请参阅地址作用域)。

协议表在 IBM Navigator for i中,协议表是将协议名称与其分配的协议号关联(例如,将 UDP 与 17 关联)的可配置表。随系统交付的只有少量的项:IP、TCP、UDP 和 ICMP。该表可与 IPv6 直接配合使用而不需要更改。
服务质量(QoS)服务质量允许为 TCP/IP 应用程序请求信息包优先级和带宽。目前,通过 IBM i 实现的 QoS 不支持 IPv6。
重新编号重新编号通过手工重新配置完成,可能存在 DHCP 的例外情况。通常,对于站点或组织,重新编号是应尽可能避免的复杂且烦琐的过程。重新编号是 IPv6 的一个重要结构元素,特别是在 /48 前缀中已很大程度上实现自动化。
路由从逻辑上讲,是一组 IP 地址(可能只包含 1 个)的映射,这些 IP 地址映射为物理接口和单个下一中继段 IP 地址。使用该线路将其目标地址定义为该组的一部分的 IP 信息包转发至下一中继段。IPv4 路由与 IPv4 接口关联,因此,它是一个 IPv4 地址。

缺省路由为 *DFTROUTE。

从概念上讲,与 IPv4 类似。一个重要差别是:IPv6 路由与物理接口(链路,如 ETH03)而不是接口相关联(绑定)。路由与物理接口相关联的一个原因是 IPv6 与 IPv4 的源地址选择功能不同。请参阅源地址选择

路由信息协议(RIP)RIP 是路由守护程序支持的路由协议。目前,RIP 不支持 IPv6。
服务表

IBM i 上的一个可配置表,它将服务名称与端口和协议关联(例如,将服务名称 FTP 与端口 21、TCP 及用户数据报协议(UDP)关联)。

服务表中列示了大量众所周知的服务。许多应用程序使用此表来确定要使用哪个端口。

对于 IPv6,此表不变。
简单网络管理协议(SNMP)SNMP 是一个用于系统管理的协议。同样支持 IPv6。
套接字 API应用程序通过使用这些 API 来使用 TCP/IP。不需要 IPv6 的应用程序不受为支持 IPv6 所做的套接字更改的影响。IPv6 使用新的地址系列:AF_INET6 增强了套接字以便应用程序现在可使用 IPv6。

设计了这些增强以便现有的 IPv4 应用程序完全不受 IPv6 和 API 更改的影响。希望支持并发 IPv4 和 IPv6 通信或纯 IPv6 通信的应用程序可以容易地适应使用 IPv4 映射的 IPv6 地址格式 ::ffff:a.b.c.d,其中 a.b.c.d 是客户机的 IPv4 地址。

新的 API 还支持从文本至二进制及从二进制至文本的 IPv6 地址转换。

有关 IPv6 的套接字增强的更多信息,请参阅使用 AF_INET6 地址系列

源地址选择应用程序可指定源 IP(通常,使用套接字 bind())。如果它绑定至 INADDR_ANY,那么根据路由来选择源 IP。与 IPv4 一样,应用程序可使用 bind() 指定源 IPv6 地址。和 IPv4 类似,它可通过使用 in6addr_any 让系统选择 IPv6 源地址。但是,因为 IPv6 线路有许多 IPv6 地址,所以选择源 IP 的内部方法不同。
启动和停止请使用 STRTCP 或 ENDTCP 命令来启动或结束 IPv4。当运行 STRTCP 命令来启动 TCP/IP 时,IPv4 始终处于启动状态。请使用 STRTCP 或 ENDTCP 命令的 STRIP6 参数来启动或结束 IPv6。当 TCP/IP 已启动时,IPv6 可能未启动。稍后,可独立启动 IPv6。

如果 AUTOSTART 参数设置为 *YES(缺省值),那么任何 IPv6 接口都会自动启动。IPv6 必须与 IPv4 配合使用或配置。当启动 IPv6 时,会自动定义并激活 IPv6 回送接口 ::1。

TelnetTelnet 允许登录并使用远程计算机,就好象直接与其连接一样。同样支持 IPv6。
跟踪路由跟踪路由是进行路径确定的基本 TCP/IP 工具。在使用 IBM Navigator for i和字符界面时可用。同样支持 IPv6。
传输层TCP、UDP 和 RAW。IPv6 中存在相同的传输。
未指定地址顾名思义,未定义的地址。套接字编程将 0.0.0.0 用作 INADDR_ANY。定义为 ::/128(128 个 0 位)。 它在某些邻节点发现信息包和各种其他的上下文(如套接字)中用作源 IP。套接字编程将 ::/128 用作 in6addr_any。
虚拟专用网络(VPN)虚拟专用网络(使用 IPsec)允许在现有的公用网络上扩展安全的专用网络。

同样支持 IPv6。有关详细信息,请参阅虚拟专用网络

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值