计算机网络资料:IPv6 详解_第1页
计算机网络资料:IPv6 详解_第2页
计算机网络资料:IPv6 详解_第3页
计算机网络资料:IPv6 详解_第4页
计算机网络资料:IPv6 详解_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IPv6详解

一IPv6地址

IPv6地址类型

•单播地址(UnicasiAddresses):同IPv4中的单播地址,一个接口对应一个。

•组播地址(MulticastAddresses):用于表示一组IP设备的地址,一个发往

组播地址的信息将发给它所代表的组中的所有设备。IPv6中为组播提供更

多的支持。

•任播地址(AnycastAddresses):将信息发送到一组设备中的任意一个,通常

会发给这组设备中最近的一个。一个常见的用途:客户端有两个或多个服务

器提供服务,而客户端不介意哪个服务器提供服务,重点是哪个服务器更容

易提供服务,这时候就可以用任播。

在IPv6中广播被移除了。

IPv6地址空间大小

IPv4存在的一个很大的问题便是地址空间太小了,即使后来我们用了如NAT

的方法去解决他,但用NAT也使得一些功能被限制了,不管用什么方法也是无

法解决IPv4地址空间太小,而人们的需求日益增加的基本问题。最简单有效的

方法就是在下一代中扩大地址空间。

用一个字来概括IPv6的地址空间就是大!非常大!

IPv4的地址长度为32bits,所以最多有4,294,967,296个地址,而IPv6的地址

长度达到了惊人的128bits,最多可以有

340,282,366,920,938,463,463,374,607,431,768,211,456个地址!

IPv6地址表示

128bits的长度使得IPv6地址写起来很长,即使用十进制表示也很长,所以一

般用十六进制来表示IPv6地址。

Q.100000000101101100101101100111011101110000101ooooooooooooooooooo

y0000000000000030111111000101011111010100110010000001111111111111

Dotted

12891451572204000002528721220031255

Decimal

3296128

Hexadecimal

StraightHex805B2D9DDC2800000000FC57D4C81FFF

Leading-Zero

805B2D9DDC2800FC57D4C81FFF

Suppressed

Zero-

805B2D9DDC28FC57D4C81FFF

Compressed

MixedNotation805B2D9DDC28•FC5721220031255

压缩书写

•Leading-ZeroSuppressed:将全为0的用一个0表示。

•Zero-Compressed:将连续的0用双冒号(二)代替,仅可出现一次,如果

出现多次,我们就无法确定此处代替了多少个0。

MixedNotation用于表示最后32bits为嵌入式IPv4地址的IPv6地址,前

96bits用冒号六进制表示,后32bits用IPv4的点十进制表示。

IPv6地址分配

IPv6地址通过开始的若干bits来指示地址类型(用于指示的位数称为FP,

formatprefix),这和IPv4分类寻址中使用前1〜4bils来区分的方式很像,但

IPv6中的FP范围为3〜10。

IPv6地址分配计划:

开头配给

00000000未分配(包括环回地址等)

00000001未分配

0000001为NSAP地址分配保留

000001未分配

开头配给

00001未分配

0001未分配

001全球单播地址

()1()未分配

()11未分配

1(X)未分配

101未分配

110未分配

1110未分配

11110未分配

111110未分配

1111110未分配

111111100未分配

1111111010链路本地地址(Link-LocalUnicastAddresses;

1111111011站点本地地址(Site-Lx)calUnicastAddresses)

11111111多播地址

IPv6全球单播地址格式

0326496128

GlobalRoutingPrefixSubnetIDInterfaceIdentifier

(48bits)(16bits)(64bits)

字段名长度(bits)描述

Prefix48GlobalRoutingPrefix:含网络号用于路由,前三位为()()1表示为1

SubnetID16SubnetIdentifier:标识站点内部的子网。

InterfaceID64InterfaceID:一个接口的唯一标识。

IPv6接口标识符与物理地址间的映射

从上面可以发现单播地址中最后64bits用作接口标识符,这么长的接口标识符

当然不能随便浪费,因为几乎所有设备接口的物理地址长度都为64bils或更少,

所以可以基于接口的物理地址来指定这个接口标识符,而不是用没有意义的数字

作为接口标识符,这样做的好处有:使得网络更容易管理,我们不需要记录接口

标识符和设备的对应关系,可以通过MAC地址得知IP地址,也可以通过IP

地址得知其MAC地址。

从数据链路层地址到1P接口标识符的实际映射取决与特定的算法。当然,同一

网络下所用的映射算法是相同的。

•IEEE802MAC地址:MAC地址分为两部分,前24bits为制造商ID,后

24bits为底板ID(装配时唯一指派给网络适配器)。

•EUI-64:64-bitextendeduniqueidentifiero将IEEE802MAC地址从24bits

扩充到40bitso

从EUI-64地址映射到IP接口标识很简单,只要将EUI-64的第七位从0改

成1即可。

从IEEE802MAC地址映射到IP接口标识要先转换成EUI-64再将第七位改

为1。怎么将IEEE802MAC地址改成EUI-64呢?在IEEE802MAe地址的

制造商ID和底板ID中间插入111111111111II10(“FFFE”inhexadecimal)

即可。

IPv6特殊地址

保留地址(ReservedAddresses)

不像IPv4中有很多小的保留地址块分布在整个地址空间中,IPv6的保留地址

在整个地址空间的“最前面”:开头为“00000000”的地址。之后要说的特

殊地址有些就来自与这里。

私人地址(PrivateAddresses)

私人地址的开头为“111111101”,有两种类型:链路本地地址(Link-Local

UnicastAddresses)和站点本地地址(Site-LocalUnicastAddresses)。

链路本地地址(Link-LocalUnicastAddresses)

这个地址的作用范围比站点本地地址小,它只在特定的物理网络中。路由器不会

使用链路本地地址传输数据报。它可以用于地址配置或ND操作如地址识别

(addressresolution)和邻居发现(neighbordiscovery)<,地址前缀为“1111111010”

站点本地地址(Site-LocalUnicastAddresses)

这个地址可以在整个站点或组织范围内使用,路由器将在站内使用站点本地地址

传输数据报,不会传到公共网络。地址前缀为“1111111011”。

环回地址(LoopbackAddress)

和IPv4不同,IPv6只有一个环回地址不再是一个地址块。地址为

0:0:0:0:0:0:0:1(缩写::1)o

未指定地址(UnspecifiedAddress)

在IPv4中全为零的地址有特殊的含义:它指主机自己,在主机不知道自己的地

址时使用。在IPv6中这一概念被正式化,全为零的地址称为未指定地址

(0:0:0:0:0:0:0:0,缩写为“::")0往往出现在设备配置自己的IP时询问的数据

报的源地址。

嵌入式IPv6/IPv4地址

因为不可能突然全球都使用IPv6,需要一段时间来从IPv4过渡到IPv6,这段

时间里,IPv4和IPv6是共存的。所以我们需要一个方法使得IPv6可以向下

兼容IPv4,于是就开发出了一种方案,允许IPv4地址嵌入到IPv6地址中,

使得IPv6设备识别IPv4设备实现通信。因为IPv6的地址空间比IPv4的地

址空间大得多,所以将IPv4嵌入进IPv6地址很容易实现。这种嵌入式地址是

上面提到的保留地址块中的一部分,所以以“00000000”开头。有两种无同

格式的嵌入式地址,两种地址的前80bits都为0,并将IPv4嵌入进最后32bitso

不同之处在于中间剩余的16bils。

•IPv4兼容的IPv6地址(IPv4-CompatibleIPv6Addresses):这种特殊地址分

配给双栈设备(既可以使用IPv4也可以使用IPv6),中间的16bits全为

0o

•IPv4映射的IPv6地址(IPv4-MappedIPv6Addresses):这种地址分配给只

支持IPv4的设备,中间16bils全为Io

IPv6组播(Multicast)

组播允许一个设备发送数据报给一组接收者。组播地址开头为“11111111”。

IPv6组播地址格式

字段度

描述

名(bi

ts)

(Indic

8前8bits总为“11111111"表示这个地址为多播地址。

ator)

表明这个多播地址的一些特性。在现阶段前3bits未使用设为0,

第四位为T(Transient)Flag,如果值为()则表明此多播地址永久

Flags4

分配,即众所周知的地址。如果设为1则表明此多播地址为临时

地址,不是永久分配的。

这4bits用于定义此多播地址的作用范围,16个不同的值,从0

到15o

ScopeIDValueMulticastAddressScope

0]Reserved

1Node-LocalScope

Scope

42Link-LocalScope

ID

5Site-LocalScope

8Organization-LocalScope

14GlobalScope

151Reserved

Group11

定义在每个不同范围级别的特殊组号

ID2

组播范围(MulticastScopes)

众所周知的组播地址

如下表所示,其中地址中的“x”为组播地址的scopeID字段。

组播地址模ScopeID可用

名称描述

型值

FF0x::00~15ReservedGroupID全为0的组播地址

FF0x::l1,2AllNodes当GroupID为1时,此地址为scopeID范围I

All当GroupID为2时,此地址为scopeID范围|

FF0x::21,2,5

Routers址

被请求节点组播地址(Solicited-NodeMulticastAddresses)

除了常规的组播地址以外,每个单播地址都有一个特殊的组播地址,叫做被请求

节点组播地址。该地址是通过设备的单播地址特殊映射得到的。当同一网络的其

他设备需要访问此设备时可以使用。用于邻居发现协议(NeighborDiscovery,ND)

以提供比IPv4中ARP更高效的地址解析。

所有被请求节点组播地址的Tflag值为0,scopeID为2。GroupID中前

80bits为0:0:0:0:1,接着8bits全为1(FF),最后24bits为其单播地址的最后

24bitSo

326496128

IPv6UnicastAddress805B2D9DDC2800FC57D4C81FFF

SolicitedNodeMulticast

FormatWithLowest24BitsFF0200000000000000000001FFC81FFF

OfUnicastAddress

SolicitedNodeAddressFF0200001FFC81FFF

SolicitedNodeAddressFF02::1:FFC81FFF

hColonHexadecimal

IPv6任播(Anycast)

任播是出现在IPv6的一种新的IP地址。我们可以认为是一种介于单播和组播

之间的地址。单播是将数据报发送到一个接口;组播是将数据报发送到一个组的

所有成员;而任播是将数据报发送到一个组的随便一个成员。实际上是发送到组

里最容易到达的成员,即最近的那个成员。

IPv6数据报(Datagram)

IPv6数据报一般格式

MainHeader(40bytes)

ExtensionHeader#1:

ExtensionHeader#2

«JL»

■T

:ExtensionHeader#NT

Data-=

长度

组成部分描述

(bytes)

MainHeader40每个数据报包含源地址、目的地址和一些必须的重要信息

Extension每个ExtensionHeaders都包含一种类型的扩展信息,以支持各

可变的

Headers种功能,如分片、源路由、安全性和各种选项

Data可变的装载来自上层要传输的信息

IPv6主报头(MainHeader)格式

0N8121620242832

III1

VersionTrafficClassFlowLabel

PayloadLengtnNextHeaderHopLimit

SourceAddress

(128bits)

DestinationAddress

(128bits)

长度

字段名描述

(bytes)

生成该数据报所用IP协议的版本。IPv6中值为6(二进制

Version0.5

0110)。

指示IPv6数据流通信类别或优先级,与IPv4中的TOS相似,

TrafficClass1

但使用DifferentiatedServices(DS)o

该标签为实时数据传输和服务质量功能提供额外支持。路径上的

FlowLabel2.5路由器可以根据该标签对数据流进行区分和处理。不是所有路由

器和设备都支持流标签处理,该字段是可选的。

该字段代替了IPv4中的TotalLength,TotalLength不同,

Payload

2它测量的不是整个数据报的长度,而只是扩展头和荷载的字节

Length

数,即整个数据报的长度减去40bytes的主头部。

该字段代替了IPv4中的Protocol。有两个用处,当数据报有扩

NextHeader1展头时,该字段指向地一个扩展头,当数据报没有没有扩展头时,

该字段和IPv4中的Protocol一样。

该字段代替了IPv4中的TTLo这个名字更好的反映了TTL的

HopLimit1

实际工作方式,因为TTL实际上是计算跳数,而非时间。

Source

16源地址

Address

Destination

16目的地址

Address

IPv6下一报头字段(NextHeader)

下一报头是IPv6数据报中新加入的一个重要字段。该字段包含一个表示第一个

扩展头的标识符,扩展头又有自己的下一报头字段指向它的下一个扩展头,最后

一个扩展头的下一报头字段则指出上层协议。

值(十六进制)协议/扩展头

00逐跳选项(Hop-By-HopOplions)扩展头

01ICMPv4

02IGMPv4

04IPinIPEncapsulation

06TCP

08EGP

11UDP

29IPv6

2B路由(Routing)扩展头

2C分片(Fragmentation)扩展头

2E资源预留协议(RSVP)

32ESP扩展头

33AH扩展头

3AICMPv6

3B没有下一报头

3C目的选项(DestinationOptions)扩展头

IPv6数据报扩展头

IPv6DatagramWithNoExtensionHeadersCarryingTCPSegment

NextHeaderNextHeaderNextHeaderTCP

0446HeaderTCPSegmentData

Hop-by-HopFragment

IPHeaderOptionsHeaderHeaderIPData

IPv6DatagramWithTwoExtensionHeadersCarryingTCPSegment

IPv6数据报扩展头通过下一报头字段形成一个链式结构。所有扩展头的长度必

须为8bytes的整数倍。

下一报头

长度

值(十进扩展头名描述

(bytes)

制)

Hop-By-Hop定义一组选项,这些选项用于传输路径上所有设备

0可变的

Options进行检查

指定数据报传输的路由,相当与IPv4中的loose

43Routing可变的

sourceroutingoptiona

当数据报仅为原始消息的片段时,包含此扩展头,

44Fragment8它包含IPv6主报头去除的FragmentOffset.

Identification和MoreFragment字段的信息。

50ESP可变的携带用于安全道信的加密数据。

51AH可变的包含确保加密数据可靠性的信息。

Destination

60可变的定义一组选项,这些选项仅用于检查目的。

Options

IPv6RoutingExtensionHeader

041121620242832

\111

HeaderExtension

NextHeaderRoutingType(=0)SegmentsLeft

Length

Reserved

Addressl

(128bits)

AddressN

(128bits)

字段名长度(bytes)描述

NextHeader1同主报头的下一报头字段。

HeaderExtension以8-byte为一单位,指出该扩展头的长度,不包

1

Length含该头的前8byteso

该字段允许定义多种路由类型,现阶段唯一使用值

RoutingType1

为0。

SegmentsLeft1指定到目的之前路由中剩余的显式命名节点数。

Reserved4还未使用,设为0。

Address1~可变的(16的倍

一组用于指定路由的IPv6地址。

AddressN数)

IPv6FragmentExtensionHeader

048121620242832

0*/1//23;・,■

_1/

Moro

ReservedFrag­

ments

长度

字段名描述

(bits)

NextHeader8同上

Reserved8保留,还未使用,设为0。

Fragment指定数据报片段在原始信息中的偏移量或位置,以8bytes为一单位,

13

OffsetOffset字段相同。

Res2保留,还未使用,设为0。

同IPv4中的MoreFragmentsFlago当设为0时表示该片段为原始1

MFlag1

反之则表示后面还有其他片段。

Identification32同IPv4中的Identification字段,不同的是扩展到32bits。

IPv6扩展头顺序

每个扩展头在任何数据报中之出现一次(DestinalionOplions例外)。当有多个

扩展头时,它们在主报头之后和数据报的上一层办议报头之前按以下顺序排列:

1.Hop-By-HopOptions

2.DestinationOptions(被目的设备和路由扩展头中指定的设备处理)

3.Routing

4.Fragmentation

5.AH

6.ESP

7.DestinationOptions(仅被最终目的设备处理)

IPv6数据报选项(DatagramOptions)

IPv6通过用扩展头包装选项的方式实现了IPv4报头中的选项字段。

IPv6中有两种选项扩展头:Hop-By-HopOptions和DestinationOptionso它们

仅在包含的选项如何由设备处理方面有所不同,它们的格式和使用方式都是相同

的。

IPv6Hop-By-HopOptionsandDestinationOptionsHeaderFormats:

048121620242832

0248

UnrecognizedOption

ChangeRemainderofOptionType

OptionActionAllowed

子长

字度

描述

段(byt

名es)

表示该选项的类型

长度

子子字段名描述

(bits)

Opt

前两位指定处理选项的设备无法识别选项类型时采取【

ion

1值操作

Typ

eUnrecognized

200跳过选项,处理后面的报头

OptionAction

01丢弃数据报,不进行操作

10丢充数据报,发送一个2代号的ICMPParamc

message给发送数据报的源设备

丢弃数据报,仅当目的地址不为组播地址时发

11

ICMP信息

OptionChange

1如果选项数据允许在数据报传送中途被修改则设为1,

AllowedFlag

Remainderof剩余的五个位允许为上述三个位的每个组合指定32,

5

OptionType合。

Opt

Dat

1指出接下来的OptionData字段的长度

a

Len

Opt

ion

变选项数据

Dat

a

MTU,分片(Fragmentation)和重组(Reassembly)

IPv6与IPv4在MTU,分片和重组上的不同:

•增大了默认MTU:在IPv4中,路由器和物理链路要求的最低MTU为

576bytcso而在IPv6中,最低要求为1280bytcso

•取消了路由器分片:在IPv6中,数据报只能由发送者进行分片,路由器不

能进行分片。所以在发送数据报之前要进行PathMTU发现,并将数据报

分片成合适的碎片进行发送。

•MTUSizeError回复:因为路由器不能对数据报进行分片,当要传递一个过

大的数据报时就只能将其丢弃,并返回一个ICMPv6PacketTooBig信息。

•去除报头中的Fragment相关字段:在IPv4中固定存在的Fragment相关

字段被去除,改为以Fragment扩展头的形式存在,仅在需要的时候添加。

IPv6分片处理

IPv6数据报被分为两部分:

•不可分段部分(Unfragmentable分rt):主报头和以下扩展头(如果有的话):

Hop-By-HopOptions,DestinationOptions(可被路由上的设备处理的选项)

和Routingo

•可分段部分(FragmentablePart):数据报的数据部分和以下扩展头(如果有

的话):AH,ESP和DestinationOptions(仅被目的设备处理的选项)。

数据报碎片:

•笫1个碎片:熨制不可分段部分,加入Fragment扩展头,加入可分段部

分,复制数据部分将数据报补至MTU大小。

•第2至N个碎片:复制不可分段部分,加入Fragment扩展头,复制剩余

的数据部分将数据报补至MTU大小,直至复制完所有数据部分,最后一

个数据报碎片大小通常小于MTUo

Fragment#3:Bytes240-269ofFragmentablePart

IPv6数据报(Datagram)

IPv6数据报一般格式

MainHeader(40bytes)

ExtensionHeader#1

ExtensionHeader#2

ExtensionHeader#N

Data

长度

组成部分描述

(bytes)

Main

40每个数据报包含源地址、目的地址和一些必须的重要信息

Header

Extension可变每个ExtensionHeaders都包含一种类型的扩展信息,以支

Headers的持各种功能,如分片、源路由、安全性和各种选项

可变

Data装载来自上层要传输的信息

IPv6主报头(MainHeader)格式

08121620242832

III1

VersionTrafficClassFlowLabel

PayloadLengthNextHeaderHopLimit

SourceAddress

(128bits)

DestinationAddress

(128bits)

长度

字段名描述

(bytes)

生成该数据报所用IP协议的版本。IPv6中值为6(二进

Version0.5

制()110)。

Traffic韦示IPv6数据流通信类别或优先级,与IPv4中的TOS

1

Class相似,但使用DifferentiatedServices(DS)o

该标签为实时数据传输和服务质量功能提供额外支持。路

势上的路由器可以根据该标签对数据流进行区分和处理。

FlowLabel2.5

不是所有路由器和设备都支持流标签处理,该字段是可选

的。

该字段代替了IPv4中的TotalLength,但和TotalLength

Payload

2不同,它测量的不是整个数据报的长度,而只是扩展头和

Length

荷载的字节数,即整个数据报的长度减去40bytes的主头

长度

字段名描述

(bytes)

部。

该字段代替了IPv4中的Protocol有两个用处,当数据

Next

1很有扩展头时,该字段指向地一个扩展头,当数据报没有

Header

没有扩展头时,该字段和IPv4中的Protocol一样。

该字段代替了IPv4中的TTLo这个名字更好的反映了

HopLimit1TTL的实际工作方式,因为TTL实际上是计算跳数,而

非时间。

Source

16源地址

Address

Destination

16目的地址

Address

IPv6下一报头字段(NextHeader)

下一报头是IPv6数据报中新加入的一个重要字段。该字段包含一个表示第一个

扩展头的标识符,扩展头又有自己的下一报头字段指向它的下一个扩展头,最后

一个扩展头的下一报头字段则指出上层协议。

值(十六进制)协议/扩展头

00逐跳选项(Hop-By-HopOptions)扩展头

01ICMPv4

02IGMPv4

04IPinIPEncapsulation

值(十六进制)协议/扩展头

06TCP

08EGP

11UDP

29IPv6

2B路由(Routing)扩展头

2C分片(Fragmentation)扩展头

2E资源预留协议(RSVP)

32ESP扩展头

33AH扩展头

3AJCMPv6

3B没有下一报头

3C目的选项(DestinationOplions)扩展头

IPv6数据报扩展头

IPv6DatagramWithNoExtensionHeadersCarryingTCPSegment

NextHeaderNextHeaderNextHeaderTCP

TCPSegmentData

0446Header

Hop-by-HooFragment

IPHeaderOptionsHeaderHeaderIPData

IPv6DatagramWithTwoExtensionHeadersCarryingTCPSegment

IPv6数据报扩展头通过下一报头字段形成一个链式结构。所有扩展头的长度必

须为8bytes的整数倍。

下一

报头长度

扩展头名描述

值(十(bytes)

进制)

Hop-By-Hop可变定义一组选项,这些选项用于传输路径上所有设

0

Options的备进行检查

可变指定数据报传输的路由,相当与IPv4中的

43Routing

的loosesourceroutingoptiono

当数据报仅为原始消息的片段时,包含此扩展

头,它包含IPv6主报头去除的Fragment

44Fragment8

Offset,Identification和MoreFragment字段的

信息。

可变

50ESP携带用于安全通信的加密数据。

下一

报头长度

扩展头名描述

值(十(bytes)

进制)

可变

51AH包含确保加密数据可靠性的信息。

Destination可变

60定义一组选项,这些选项仅用于检查目的。

Options的

IPv6RoutingExtensionHeader

字段名长度(bytes)描述

NextHeader1同主报头的下一报头字段。

Header

以8-byte为一单位,指出该扩展头的长度,不

Extension1

包含该头的前8byteso

Length

该字段允许定义多种路由类型,现阶段唯一使

RoutingTypeI

用值为0c

字段名长度(bytes)描述

指定到目的之前路由中剩余的显式命名节点

SegmentsLeft1

数。

Reserved4还未使用,设为0o

Address1~可变的(16的

一组用于指定路由的IPv6地址。

AddressN倍数)

IPv6FragmentExtensionHeader

048121620242832

II1II1II11I1I_______

NextHeaderReservedFragmentOffset/Resivr,

Identification

0/1/23;:

More

ReservedFrag­

ments

长度

字段名描述

(bits)

NextHeader8同上

Reserved8保留,还未使用,设为0o

Fragment指定数据报片段在原始信息中的偏移量或位置,以8bytes

13

Offset为一单位,和IPv4中的FragmentOffset字段相同。

Res2保留,还未使用,设为0。

同IPv4中的MoreFragmentsFlago当设为0时表示该

MFlag1

片段为原始信息的最后一个片段,反之则表示后面还有其

长度

字段名描述

(bits)

他片段。

同IPv4中的Identification字段,不同的是扩展到

Identification32

32bitSo

IPv6扩展头顺序

每个扩展头在任何数据报中之出现一次(Destinalion

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论