IPV6-邻居发现ND协议资料课件

上传人:n85ho7****4h85bh 文档编号:240981224 上传时间:2024-05-22 格式:PPT 页数:47 大小:621.71KB
返回 下载 相关 举报
IPV6-邻居发现ND协议资料课件_第1页
第1页 / 共47页
IPV6-邻居发现ND协议资料课件_第2页
第2页 / 共47页
IPV6-邻居发现ND协议资料课件_第3页
第3页 / 共47页
点击查看更多>>
资源描述
LWFIPV6邻居发现LWF1常见术语节点(node):执行IP协议的设备。路由器(router):一个节点,转发不是显示寻址到自己的IP分组。主机(host):任何不是路由器的节点。上层(upperlayer):紧挨着下面的IP层的协议层。例如传输协议TCP和UDP、控制协议ICMP、路由协议OSPF,以及被在IP上“隧道化”(即,被封装进IP)的互联网络层(或低层)协议,例如IPX、AppleTalk或IP自身。链路(link):通信设施或媒介,是紧挨着上面的IP层的协议层,节点能够在其上的链路层通信。例如以太网(简单或桥接)、PPP链路、X.25、帧中继、ATM网络,以及互联网络层(或高层)“隧道”,例如IPv4或IPv6自身之上的隧道。LWF常见术语节点(node):执行IP协议的设备。LWF2接口(interface):节点附着到链路的点。邻居(neighbors):附着在相同链路的节点们。前缀(prefix):由地址的一些起始比特构成的比特串。链路层地址(link-layeraddress):接口的链路层标识符。例如以太网链路的IEEE802地址。on-link:一个地址。该地址分配给特定链路上的接口。如果满足下述条件,节点认为地址是on-link:该地址由链路的多个前缀之一覆盖(例如,由PrefixInformation选项中on-link标记标识),或邻近路由器规定该地址为Redirect消息的目标,或收到针对该(目标)地址的NeighborAdvertisement消息,或从该地址收到任何NeighborDiscovery消息。LWF接口(interface):节点附着到链路的点。LWF3off-link:与“on-link”相反;它也是一个地址,该地址没有分配给特定链路上的任何接口。最长前缀匹配(longestprefixmatch):在覆盖目标地址的一组前缀中确定一个前缀的处理。如果前缀中的所有比特匹配目标地址的最左边比特,目标地址由该前缀覆盖。当多个前缀覆盖一个地址时,最长前缀是那个匹配的前缀。可达性(reachability):在任何情况下通向邻居的单向“转发”路径正在正常运行。尤其是,是否发送到邻居的分组正在达到邻居的IP层,以及正在被接收IP层适当处理。对于邻近路由器,可达性意味着由节点的IP层发送的分组被交付到该路由器的IP层,并且该路由器的确正在转发分组(即,它被配置为路由器,而不是主机)。对于主机,可达性意味着由节点的IP层发送的分组正在交付到邻居主机的IP层。LWFoff-link:LWF4链路类型不同链路层有不同特性.与NeighborDiscovery有关的链路特性是:多播能力(multicastcapable):一条链路,它在链路层上支持一种本地机制,发送分组到所有邻居(即,广播),或所有邻居的一个子集。点对点(point-to-point):一条链路,它仅连接两个接口。假定点对点链路有多播能力和链路本地地址。非广播多址(non-broadcastmulti-access,NBMA):一条链路,有多于两个接口附着到它,但是该链路不支持多播或广播的本地形式(例如,X.25、ATM、帧中继等)。共享介质(sharedmedia):一条链路,它允许众多节点间直接通信,但是附着在共享介质上的节点们按这样一种方法配置:对于所有on-link目的地,它们没有完整的前缀消息。即,在IP层,在同一链路上的节点们或许不知道它们彼此是邻居;默认情况,它们通过路由器通信。例如大型公共数据网络,如SMDS和B-ISDN。也称为“大型云”。参阅SH-MEDIA。可变MTU(variableMTU):一条链路,它没有公认的MTU(例如,EEE802.5令牌环)。许多链路(例如,以太网)有由链路层协议或由特定的文件定义的标准MTU,描述如何在链路层上运行IP。非对称可达性(asymmetricreachability):一条链路,在那里,非折返可达性,和/或非传递可达性是正常操作的一部分。(非折返可达性意味着分组可从A到B的,但是分组不能从B到A。非传递可达性意味着分组可从A到B,并且分组可从B到C,但是分组不能从A到C。)许多无线链路具有这种性质。LWF链路类型不同链路层有不同特性.与NeighborDisc5地址分类所有节点多播地址(all-nodesmulticastaddress):到所有节点的链路本地范围地址,FF02:1。所有路由器多播地址(all-routersmulticastaddress):到所有路由器的链路本地范围地址,FF02:2。被请求-节点多播地址(solicited-nodemulticastaddress):FF02:1:FFXX:XXXX24位LWF地址分类所有节点多播地址(all-nodesmultica6链路本地地址(link-localaddress):(FE80:/10)站点本地地址FEC0:/10唯一本地地址FC00:1/7未指定地址(unspecifiedaddress):保留地址值,它表示没有这个地址(例如,地址未知)。它决不能用于目的地地址,但是可用于源地址,如果发送者(还)不知道它自己的地址(例如,在无状态地址自动配置期间验证地址没有被使用时ADDRCONF)。未指定地址的值为0:0:0:0:0:0:0:0。LWF链路本地地址(link-localaddress):LW7ICMPv6报文格式报文格式Type值决定了报文所属的类别0-127:错误报文128-255:信息报文ICMPv6errormessages:1DestinationUnreachable目的不可达2PacketTooBig数据包超长3TimeExceeded超时4ParameterProblem参数问题ICMPv6informationalmessages:128EchoRequest回送请求129EchoReply回送应答LWFICMPv6报文格式Type值决定了报文所属的类别ICMPv8邻居发现(NeighborDiscovery)协议IPv6的邻居发现(NeighborDiscovery)协议结合了IPv4中的地址解析协议(AddressResolutionProtocolARP)和ICMP的路由器发现和重定向。IPv6节点将邻居发现用于下列目的:确定同一链路节点的第2层地址;找到可以转发它们的数据包的邻近路由器随时跟踪哪些邻居可达,哪些不可达并且检测有改变的链路层地址。LWF邻居发现(NeighborDiscovery)协议IPv69ND协议功能邻居发现协议邻居发现协议地址解析地址解析(NUD)无状态自动配置无状态自动配置路由器重定向路由器重定向路由器发现路由器发现重复地址检测重复地址检测(DAD)前缀重新编址前缀重新编址LWFND协议功能邻居发现协议地址解析无状态自动配置路由器重定向路10IPv6邻居发现(ND)机制邻居发现使用ICMPv6协议包括IPv6报头,ICMPv6报头,邻居发现(ND)报头,ND选项ND定义了5种ICMPv6报文类型1路由器请求Routersolicitation(ICMPv6type133)2路由器公告Routeradvertisement(ICMPv6type134)3邻居请求Neighborsolicitation(ICMPv6type135)4邻居公告Neighboradvertisement(ICMPv6type136)5重定向Redirect(ICMPV6type137)LWFIPv6邻居发现(ND)机制邻居发现使用ICMPv6协议11IPv6的ND相对于对于IPv4协议的改进邻居不可达检测是基础协议的一部分,邻居不可达检测在路由器出错或链路接口改变的情况下,改善了数据包的传输。路由器通告和ICMP重定向使用本地链路地址来识别路由器。邻居发现协议被用来检测一个链路上重复的IP地址。现在路由器发现是基础协议集的一部分,IPv4机制则需要从路由表中获取信息。路由器通告数据包中包含了路由器的链路层地址。收到路由器通告的节点无需再发出ARP请求来获取该路由器接口的链路层地址。路由器通告数据包包含一个链路的前缀(子网信息),再也不用配置子网掩码。邻居发现提供了一种易于对网络进行重新编号的机制,引入新的前缀和地址。路由器通告使得无状态地址自动配置变为可能,可以通知何时应用有状态地址配置。一个链路可以分配多个前缀。默认,主机从路由器得知所有的前缀,但路由器也可以配置为不通告前缀,此时路由器接收到含未通告的前缀的数据包,会发布ICMP重定向消息。标准身份验证和安全机制可应用于邻居发现。LWFIPv6的ND相对于对于IPv4协议的改进邻居不可达检测是基12IPv6地址结构地址结构IPv6地址地址=前缀前缀+接口标识接口标识前缀前缀:相当于v4地址中的网络ID接口标识接口标识:相当于v4地址中的主机ID2001:A304:6101:1:E0:F726:4E582001:A304:6101:1E0:F726:4E58前缀前缀接口标识接口标识LWFIPv6地址结构IPv6地址=前缀+接口标识200113IPv6地址配置方法分类地址配置方法分类手工配置有状态地址自动配置(DHCPv6)无状态地址自动配置(ND协议)LWFIPv6地址配置方法分类手工配置LWF14无状态地址自动配置无状态地址自动配置路由发现路由发现和和前缀获得前缀获得主机发送RouterSolicitation报文路由器回应RouterAdvertisement报文主机获得前缀及其它参数RS报文报文RA报文报文1:1/64节点请求路由通告LWF无状态地址自动配置路由发现和前缀获得主机发送Router15路由器请求和公告路由器请求和公告2.RA1.RS1ICMP Type=133(RS)Src=link-local address(FE80:/10)Dst=all-routers multicast address(FF02:2)Query=please send RA2ICMP Type=134(RA)Src=link-local address(FE80:/10)Dst=all-nodes multicast address(FF02:1)Data=options,subnet prefix,lifetime,autoconfig flagLWF路由器请求和公告2.RA1.RS1ICMPType16无状态地址自动配置无状态地址自动配置接口接口IDID生成生成48位位MAC地址地址64位接口位接口ID将将48比特的比特的MAC地址转化为地址转化为64比特的接口比特的接口IDMAC地址的唯一性保证了接口地址的唯一性保证了接口ID的唯一性的唯一性设备自动生成,不需人为干预设备自动生成,不需人为干预LWF无状态地址自动配置接口ID生成48位MAC地址64位接口I17CMTS中无状态地址自动配置在ip-bundle下配置生效C175-40G(ip-bundle2)#ipv6address2000:172:158:1:1/64autoconfigC175-40G(ip-bundle2)#ipv6address2000:172:158:1:1/64no-onlinkC175-40G(ip-bundle2)#ipv6address2000:172:158:1:1/64autoconfigno-onlink注:其中可单独配置no-onlink,autoconfig,也可以autoconfig与no-onlink搭配使用。LWFCMTS中无状态地址自动配置在ip-bundle下配置生效L18在在IPv6IPv6网络中,路由器网络中,路由器以一定的时间间隔以一定的时间间隔发送路由发送路由通告消息,便利主机获得通告消息,便利主机获得IPv6IPv6前缀,但是,当主机前缀,但是,当主机产生了链路地址后,主机就会发送路由器请求消息产生了链路地址后,主机就会发送路由器请求消息RouterSolicitationRouterSolicitation,主机将,主机将RouterRouterSolicitationSolicitation消消息发送到息发送到ALL-ROUTERSALL-ROUTERS多播组,典型的源地址是多播组,典型的源地址是一个接口的链路本地地址。一个接口的链路本地地址。RouterSolicitationRouterSolicitation消息消息促使路由器立即发送促使路由器立即发送Router-AdvertisementRouter-Advertisement消息。消息。路由器周期性发送路由通告路由器周期性发送路由通告LWF在IPv6网络中,路由器以一定的时间间隔发送路由通告消息,便19LWF消息格式LWF20RouterSolicitation消息格式-主机发送RouterSolicitations以便督促路由器尽快生成RouterAdvertisements。RouterSolicitation消息格式如图1所示。LWFRouterSolicitation消息格式LWF21RouterAdvertisement消息格式-路由器周期地发出RouterAdvertisement消息,或因响应RouterSolicitations而发送RouterAdvertisement消息。RouterAdvertisement消息格式如图2所示。LWFRouterAdvertisement消息格式-路22CMTS与RFC的RA格式对比RFC定义的RA格式CMTS上RA格式LWFCMTS与RFC的RA格式对比RFC定义的RA格式CMTS上23CMTS里RA参数的设置C158-C10G(conf-if-mac10)#router-advertisementcur-hop-limithoplimitenableenablerouteradvertisements,defaultenablelife-timelifetimeoftherouterlink-mtulinkMTUsizemanaged-flagmanagedaddressconfigflag.max-advert-intervalmaxadvertintervalmin-advert-intervalminadvertintervalmulticast-onlymulticastresponsetorouter-solicitationother-config-flagotherstatefulconfigflagprefixprefixoptionreachable-timerouterreachabletimeretransmit-timeretransmittimerfieldinrouteradvertrow-staterowstatusLWFCMTS里RA参数的设置C158-C10G(conf-if-24NeighborSolicitation消息格式节点发送NeighborSolicitations消息,请求目标节点的链路层地址,同时也提供它们自己的链路层地址给目标节点。当节点需要解析地址时,多播发送NeighborSolicitations消息;当节点搜索以便验证邻居的可达性时,单播发送NeighborSolicitations消息。NeighborSolicitation消息格式如图3所示。LWFNeighborSolicitation消息格式LWF25CMTS与RFC的NS格式对比RFC定义的NS格式CMTS上的NS格式LWFCMTS与RFC的NS格式对比RFC定义的NS格式CMTS上26NeighborAdvertisement消息格式节点发送NeighborAdvertisements以响应NeighborSolicitations,发送非请求NeighborAdvertisements以便(非可靠)快速传播新信息。NeighborAdvertisement消息格式如图4所示。3个标志:R路由器标志为1,发送方为路由器;S请求标志为1,消息为响应邻居请求发出;O覆盖标志(1)表示通告消息中的信息应当覆盖现有邻居缓存记录,并且更新所有缓存器中的链路层地址。LWFNeighborAdvertisement消息格式LWF27CMTS与RFC的NA格式对比RFC定义的NA格式CMTS上的NA格式LWFCMTS与RFC的NA格式对比RFC定义的NA格式CMTS上28Redirect消息格式发送Redirect分组的路由器通知主机,在前往目的地的路径上有一个较好的第一跳节点。主机能够被重定向到较好的第一跳路由器,但是也能够用重定向通知目的地事实上是邻居。后者由设置ICMPTargetAddress等于ICMPDestinationAddress实现。Redirect消息格式如图5所示。LWFRedirect消息格式LWF29DuplicateAddressDetection(DAD)-重复地址检测节点在发送路由器公告(RA)之前要获得唯一的本地链路地址。IPv6自动配置要求在使用地址之前进行地址重复检测(DAD)。标准DAD花费较长时间才能完成,因而引入了“乐观的DAD”(RFC4429)注:CMTS中的DAD功能开启是在ipbundle下使能的:C158-C10G(ip-bundle10)#ipv6dadenable(DAD默认是开启的)LWFDuplicateAddressDetection(DA30标准DAD过程(1)在发送邻居请求(NS)前,接口必须加入全节点组播地址(FF02:1)和生成IPv6地址的请求节点组播地址(solicited-nodemulticastaddress),即接收目的地址为这些IPv6地址的分组。(2)生成IPv6地址后随机延时一段时间后开始发送用于DAD的邻居请求(NS)消息。邻居请求(NS)消息的源地址为:,目的地址为临时单播地址的请求节点组播地址。(3)在DAD过程中地址处于Tentative状态(“暂时的”)(IFA_F_TENTATIVE)。在完成DAD过程后,tenativeAddr将会被作为“首选的”地址(PreferedAddr)。若发现了重复地址,则该地址变为废弃的地址(deprecatedAddr)。背后原理:未确定唯一性的地址不能使用,即不能接收目的地址或者发送源地址为此地址的分组,但是与DAD相关的邻居公告(NA)消息除外。(4)以下参数值是Linux操作系统下的缺省值,这些参数可根据需要配置:发送邻居请求(NS)的个数n=1发送间隔Tret=1000msLWF标准DAD过程(1)在发送邻居请求(NS)前,接口必须加入31地址冲突处理(1)当节点收到目的地址为其正在做DAD检测地址的邻居请求(NS)消息时:如果请求的源地址类型为IPV6_ADDR_ANY(全0地址:),则节点从接口上删除这个地址(DAD检测失败),否则节点不处理此NS消息(2)当节点收到目的地址为其正在做DAD检测地址的邻居公告(NA)时,则节点从接口上删除这个地址(DAD检测失败)(3)如果节点为某个IPv6地址完成DAD检测后,收到来自其它节点发送的目的地址为此IPv6地址的用作DAD检测的邻居请求(NS)消息(此时该请求的源地址为IPV6_ADDR_ANY),则节点应该向全节点地址(ff02:1)发送邻居公告(NA)。LWF地址冲突处理(1)当节点收到目的地址为其正在做DAD检测地32主机概念性数据结构主机需要维护下述每个接口信息:(RFCP20)NeighborCache一组单个邻居(最近有流量发送到这些邻居)条目。DestinationCache一组关于最近有流量发送去的目的地的条目。PrefixList定义了一组on-link地址的前缀列表。PrefixList条目根据在RouterAdvertisements中收到的信息生成。每个条目有关联的失效计时器值(从此通告中抽取),用于当前缀变得无效时终止前缀。DefaultRouterList路由器列表,分组将发送到这些路由器。LWF主机概念性数据结构主机需要维护下述每个接口信息:(RFCP33概念性发送算法节点向目的地发送数据包时,使用目的地缓存、前缀列表、默认路由器列表确定合适的下一跳,然后路由器查询邻居缓存确定邻居的链路层地址。IPv6单播地址下一跳确定的操作方法是:发送者使用前缀列表中的前缀进行最长前缀匹配,确定数据包的目的地是在连接的还是非连接的。如果下一跳是在连接的,下一跳地址就和目的地址相同,否则发送者从默认路由器列表中选择下一跳。LWF概念性发送算法节点向目的地发送数据包时,使用目的地缓存、前缀34地址解析通过邻接点请求报文(NS)和邻接点公告报文(NA)的交互来解析链路层地址发送主机在接口上发送组播NS报文,该报文的目的地址为目标IP地址所对应的请求节点组播地址(Solicited-node),在其中也包含了自己的链路层地址目标主机收到NS报文后,就会了解到发送主机的IP地址和相应链路层地址目标主机向源发送主机发送一个邻接点公告报文(NA),该报文中包含自己的链路层地址LWF地址解析通过邻接点请求报文(NS)和邻接点公告报文(NA)的35地址解析示意图LWF地址解析示意图LWF36邻居不可到达性探测(NUD)NeighborUnreachabilityDetection用于主机和相邻节点间的所有路径,包括主机到主机通信,主机到路由器通信和路由器到主机通信。NeighborUnreachabilityDetection也可用于路由器之间,但是如果相同的机制存在(例如作为路由协议的一部分),对此不作要求。注:(CMTS主要关注的是RF端邻居的不可达,Testgroup中做了详细的测试)LWF邻居不可到达性探测(NUD)NeighborUnreach37邻居缓存和目的地缓存邻居缓存:邻居缓存维护着一份最近有过通信的邻居的列表。按照他们的单播IP地址列出,每条记录包含了有关邻居的链路层地址的信息,以及一个标志(邻居是路由器还是主机)。记录还包含队列中数据包的信息,邻居可达性信息,以及下次邻居不可达性检测时间。目的地缓存:用于维护最近有过通信的目的地的信息,包括本地目的地和远程目的地。邻居缓存可以被看作是目的地缓存信息的子集。远程通信时,列出了下一跳路由器的地址。包含MTU大小和往返定时器附加信息。LWF邻居缓存和目的地缓存邻居缓存:邻居缓存维护着一份最近有过通38NeighborCache条目状态NeighborCache条目可处于以下5种状态之一:INCOMPLETE关于该条目的地址解析正在被执行。具体来说,NeighborSolicitation已经发送到目标的请求-节点多播地址,但是相应的NeighborAdvertisement还没有收到。REACHABLE在最后的ReachableTime毫秒内收到肯定确认,该确认指出到邻居的转发路径正常运行。在REACHABLE状态期间,发送分组时不发生特定操作。STALE自从收到最后一个表示转发路径正常运行的肯定确认后,超过ReachableTime毫秒时间已经过去。在STALE状态期间,直到分组被发送为止没有操作发生。进入STALE状态,依赖于收到非请求NeighborDiscovery消息,该消息更新了缓存的链路层地址。收到这样的消息不能确认可达性,进入STALE状态确保可达性被迅速检验,如果该条目实际上正在被使用。然而,直到该条目实际被使用为止可达性实际上没有被检验。LWFNeighborCache条目状态NeighborCa39DELAY自从收到最后一个表明转发路径正常运行的肯定确认,超过ReachableTime毫秒时间已经过去,并且在最后DELAY_FIRST_PROBE_TIME秒内发送了分组。如果在进入DELAY状态后的DELAY_FIRST_PROBE_TIME秒内没有收到可达性确认,发送NeighborSolicitation并改变状态到PROBE。DELAY状态是一种优化,它适用于在下述场景给上层协议一些附加时间,以便提供可达性确认。这些场景是指,由于最近流量缺乏,自最近的确认以来ReachableTime毫秒时间已经过去。没有这个优化,在流量间歇之后,当打开TCP连接时会进行初始化探测,即使随后的三次握手几乎立即提供可达性确认。PROBE通过每RetransTimer毫秒重复发送NeighborSolicitations直到收到可达性确认,来主动地搜索可达性确认。LWFDELAYLWF40ICMP重定向消息(ICMPRedirect)路由器发出ICMP重定向消息用来告诉节点去往给定目的地的路径上更优的第一跳节点。重定向消息可告知节点使用的目的地实际上是同一个链路上的一个邻居,而不是远程子网上的一个节点。IP报头中的源地址必须是发送消息的接口的本地链路地址,而目的地址是触发重定向消息的数据包的源地址。跳数是255LWFICMP重定向消息(ICMPRedirect)路由器发出I41ICMP重定向消息LWFICMP重定向消息LWF42TargetAddress(目标地址)包含了路径中更优的下一跳接口的本地链路地址。DestinationAddress(目的地址)重定向的目的地址,用它来到达目的地址。如果两个地址相同,目的地就是一个邻居而不是远程节点Options包含了目标(最佳下一条路由器)的链路层地址LWFTargetAddress(目标地址)包含了路径中更优的下43IPv6的重定向过程IPv6的重定向过程包含以下步骤:起始主机向它的默认路由器转发单播数据包。路由器处理数据包,并且注意到起始主机的地址是一个邻节点。另外,它也注意到起始主机的地址和下一跳地址都在同一链路上。路由器向起始主机发出重定向报文。在重定向报文中的目标地址字段的值是用做新的下一跳地址的节点的地址,起始主机应该把后续的发往目标的数据包首先发给该节点。路由器将数据包转发到适当的下一跳地址,如果需要获得下一跳的链路层地址,则路由器会使用地址解析。LWFIPv6的重定向过程IPv6的重定向过程包含以下步骤:L44协议常数路由器常数:MAX_INITIAL_RTR_ADVERT_INTERVAL16秒MAX_INITIAL_RTR_ADVERTISEMENTS3次发送MAX_FINAL_RTR_ADVERTISEMENTS3次发送MIN_DELAY_BETWEEN_RAS3秒MAX_RA_DELAY_TIME0.5秒主机常数:MAX_RTR_SOLICITATION_DELAY1秒RTR_SOLICITATION_INTERVAL4秒MAX_RTR_SOLICITATIONS3次发送节点常数:MAX_MULTICAST_SOLICIT3次发送MAX_UNICAST_SOLICIT3次发送MAX_ANYCAST_DELAY_TIME1秒MAX_NEIGHBOR_ADVERTISEMENT3次发送REACHABLE_TIME30,000毫秒RETRANS_TIMER1,000毫秒DELAY_FIRST_PROBE_TIME5秒MIN_RANDOM_FACTOR.5MAX_RANDOM_FACTOR1.5LWF协议常数路由器常数:LWF45NDPSECURITYND易遭受一些攻击,这些攻击能够使IP分组流动到不希望到达的位置。这类攻击能够用于引起拒绝服务,而且能让节点截获和选择性地修改分组的目的地为其他节点。为应对NDP协议的安全威胁,这里提供了一种扩展协议-SEND协议,针对NDP协议中的各个安全问题提供安全保护机制。(截至到目前的版本,CMTS还不支持该机制所做的认证保护)LWFNDPSECURITYND易遭受一些攻击,这46总结:总结:邻居发现协议(NDP)解决了很多与单一链路上的节点有关的问题,并提供了路由器发现、地址自动配置以及邻居地址解析等功能。对于IPV4来说需要多种协议(包括DHCP、IGMP、路由器发现、ARP等)才能提供的功能,而NDP利用ICMPv6即可完成。这些功能作为IPv6的一个必须组件整合到了ICMPv6中,体现出了IPv6相对于IPv4的先进性。LWFThankyou!总结:LWF47
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!