IPv6邻居发现ND

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1IPv6基本术语邻节点主机主机邻节点主机主机交换机内部子网路由器路由器其他子网局域网段链路子网网络IPv6的网络元素2IPv6地址分类单播地址(UnicastAddress)组播地址(MulticastAddress)任播地址(AnycastAddress)3单播地址IPv6单播地址分类:全球单播地址例2001:A304:6101:1::E0:F726:4E58链路本地地址例FE80::E0:F726:4E58站点本地地址例FEC0::E0:F726:4E58唯一本地地址例FC00::1/7特殊地址例::1::兼容地址例0:0:0:0:0:0:192.168.1.14IPv4和IPv6报文头对比FragmentOffsetFlagsTotalLengthTypeofServiceIHLPaddingOptionsDestinationAddressSourceAddressHeaderChecksumProtocolTimetoLiveIdentificationVersionIPv4报头NextHeaderHopLimitFlowLabelTrafficClassDestinationAddressSourceAddressPayloadLengthVersionIPv6报头IPv4和IPv6相同字段IPv6不再保留字段IPv6中名称和位置改变的字段IPv6新字段Legend5报文结构固定头部扩展头部上层协议扩展头部1扩展头部n上层协议扩展头部NextHeader固定头部NextHeaderNextHeaderNextHeaderNextHeader6ICMPv6报文格式Type值决定了报文所属的类别0-127:错误报文128-255:信息报文ICMPv6errormessages:1DestinationUnreachable目的不可达2PacketTooBig数据包超长3TimeExceeded超时4ParameterProblem参数问题ICMPv6informationalmessages:128EchoRequest回送请求129EchoReply回送应答7邻居发现(NeighborDiscovery)协议IPv6的邻居发现(NeighborDiscovery)协议结合了IPv4中的地址解析协议(AddressResolutionProtocolARP)和ICMP的路由器发现和重定向。IPv6节点将邻居发现用于下列目的:确定同一链路节点的第2层地址;找到可以转发它们的数据包的邻近路由器随时跟踪哪些邻居可达,哪些不可达并且检测有改变的链路层地址。8ND协议功能邻居发现协议地址解析(NUD)无状态自动配置路由器重定向路由器发现重复地址检测(DAD)前缀重新编址9IPv6邻居发现(ND)机制邻居发现使用ICMPv6协议包括IPv6报头,ICMPv6报头,邻居发现(ND)报头,ND选项ND定义了5中ICMPv6报文类型1路由器请求Routersolicitation(ICMPv6type133)2路由器公告Routeradvertisement(ICMPv6type134)3邻居请求Neighborsolicitation(ICMPv6type135)4邻居公告Neighboradvertisement(ICMPv6type136)5重定向Redirect(ICMPV6type137)10ND重要概念On-link:地址存在于指定链路某个接口上Off-link:地址不存在与指定链路某个接口上可达性(reachability):邻居节点的IP层是否可达目标(target)地址:地址解析、重定向、DAD和NUD中用到,注意不要和目的地址(Destination)混淆11主机的数据结构IPv6主机需要为每一接口维护的信息是:邻居缓存表:近期发送过数据流的邻居信息组成的表项目的地缓存表:由已发送报文的目的地址所组成的表项前缀列表:规定一组“在连接(On-link)”地址的前缀组成的列表。前缀列表的表项产生于路由器通告接收到的信息。默认路由器列表:接收数据包的路由器列表。12主机数据包的发送算法节点向目的地发送数据包时,使用目的地缓存、前缀列表、默认路由器列表确定合适的下一跳,然后路由器查询邻居缓存确定邻居的链路层地址。IPv6单播地址下一跳确定的操作方法是:发送者使用前缀列表中的前缀进行最长前缀匹配,确定数据包的目的地是在连接的还是非连接的。如果下一跳是在连接的,下一跳地址就和目的地址相同,否则发送者从默认路由器列表中选择下一跳。13IPv6的ND相对于对于IPv4协议的改进邻居不可达检测是基础协议的一部分,邻居不可达检测在路由器出错或链路接口改变的情况下,改善了数据包的传输。路由器通告和ICMP重定向使用本地链路地址来识别路由器。邻居发现协议被用来检测一个链路上重复的IP地址。现在路由器发现是基础协议集的一部分,IPv4机制则需要从路由表中获取信息。路由器通告数据包中包含了路由器的链路层地址。收到路由器通告的节点无需再发出ARP请求来获取该路由器接口的链路层地址。路由器通告数据包包含一个链路的前缀(子网信息),再也不用配置子网掩码。邻居发现提供了一种易于对网络进行重新编号的机制,引入新的前缀和地址。路由器通告使得无状态地址自动配置变为可能,可以通知何时应用有状态地址配置。一个链路可以分配多个前缀。默认,主机从路由器得知所有的前缀,但路由器也可以配置为不通告前缀,此时路由器接收到含未通告的前缀的数据包,会发布ICMP重定向消息。标准身份验证和安全机制可应用于邻居发现。14IPv6邻居发现(ND)机制IPv6地址解析15地址解析IPv6取消了ARP协议通过邻接点请求报文(NS)和邻接点公告报文(NA)的交互来解析链路层地址16地址解析发送主机在接口上发送组播NS报文,该报文的目的地址为目标IP地址所对应的请求节点组播地址(Solicited-node),在其中也包含了自己的链路层地址目标主机收到NS报文后,就会了解到发送主机的IP地址和相应链路层地址目标主机向源发送主机发送一个邻接点公告报文(NA),该报文中包含自己的链路层地址17地址解析示意图1::1:A/6400E0-FC00-00011::2:B/6400E0-FC00-0002NS报文源MAC:00E0-FC00-0001;目的MAC:3333-FF02-000B源IP地址:1::1:A;目的IP地址:FF02::1:FF02:B(被请求节点组播地址)目标地址:1::2:B选项:00E0-FC00-0001(源节点MAC地址)NA报文源MAC:00E0-FC00-0002;目的MAC:00E0-FC00-0001源IP地址:1::2:B;目的IP地址:1::1:A目标地址:1::2:B选项:00E0-FC00-0002(目的节点MAC地址)标志S位:置1AB18邻居请求NS结构两个功能:由ARP处理的链路层地址解析,以及邻居不可达性检测机制。如果目的地址是一个多播地址,那么源地址正在解析一个链路层地址。如果源地址正在检测一个邻居的可达性,那么目的地址是一个单播地址。可用于重复IP地址检测(duplicateIPaddressdetection,DAD)。在该类IP报头中,源地址可以是发起主机的接口地址,或是DAD中的未指定地址。19邻居通告NA结构3个标志:R路由器标志为1,发送方为路由器;S请求标志为1,消息为响应邻居请求发出;O覆盖标志(1)表示通告消息中的信息应当覆盖现有邻居缓存记录,并且更新所有缓存器中的链路层地址。20邻居发现选项Type:1.源链路层地址;2.目标链路层地址;3.前缀信息;4.重定向报头;5.MTULength指出选项长度(含Type和Length)。数值0不合法,该数据包会被丢弃21邻居不可到达性探测(NUD)NUD(NeighborUnreachabilityDetective)是节点确定它邻居可达性的过程NUD加强了网络的强壮性,它使用的不是简单的超时删除机制,而是可达性状态机。22邻居缓存和目的地缓存邻居缓存:邻居缓存维护着一份最近有过通信的邻居的列表。按照他们的单播IP地址列出,每条记录包含了有关邻居的链路层地址的信息,以及一个标志(邻居是路由器还是主机)。记录还包含队列中数据包的信息,邻居可达性信息,以及下次邻居不可达性检测时间。目的地缓存:用于维护最近有过通信的目的地的信息,包括本地目的地和远程目的地。邻居缓存可以被看作是目的地缓存信息的子集。远程通信时,列出了下一跳路由器的地址。包含MTU大小和往返定时器附加信息。23NUD状态网络中的设备在通信最初只知道对方三层的地址,而在邻居缓存表中找不到相应的二层地址时,这时关于主机的邻居缓存条目状态为“未完成(Imcomplete)”,经过地址解析获得二层地址,从而进入“(Reachable)可达”状态进行通信,这时主机“可到达时间”定时器开始计时。定时器超时后,表项就进入“(Stale)失效”状态。有报文发往邻居时,这个报文会利用缓存的二层地址进行封装,并进入“Delay延迟”状态,期待上层协议给出一个关于邻居的“可达到性”信息。在Delay_first_probe_time时间之内还未能收到关于该邻居的任何“可达到性”信息,向该邻居发送邻居请求报文,并且该表项进入“probe探测”状态。Probe状态:节点会持续向probe状态的邻居发送请求报文,直到收到“可达到性”信息,两个请求间隔为retranstimer,最多尝试Max_unicase_solicit次。24NUD状态25典型邻居状态迁移PC1PC2Switch1::11::2上层要发送报文1::1,1::2邻居表中没有1::2项:添加[1::2,,Incomplete]MulticastNeighborSolicitation:[1::2,?],[1::1,MAC1]添加邻居缓存项1::1,MAC1,STALEUnicastNeighborAdvertisement:[1::2,MAC2]修改为[1::2,MAC2,Reacheable][MAC1toMAC2]EchoRequest修改1::1,MAC1,Delay[MAC2toMAC1]EchoReplyUnicastNeighborSolicitation:[1::1,?],[FE80::,MAC2]修改1::1,MAC1,ProbeNeighborAdvertisement:[1::1,MAC1]修改1::1,MAC1,ReachableRECHEABLETIME以后。。。修改1::1,MAC1,Stale上层要发送报文1::2,1::1UnicastNeighborAdvertisement:[1::2,MAC2]NeighborUnreachabilityDetection26IPv6邻居发现(ND)机制无状态地址自动配置27IPv6地址配置方法分类手工配置有状态地址自动配置(DHCPv6)无状态地址自动配置(ND协议)28IPv6地址结构IPv6地址=前缀+接口标识前缀:相当于v4地址中的网络ID接口标识:相当于v4地址中的主机ID2001:A304:6101:1::E0:F726:4E582001:A304:6101:1E0:F726:4E58前缀接口标识29无状态地址自动配置—路由发现和前缀获得RS报文RA报文主机发送RouterSolicitation报文路由器回应RouterAdvertisement报文主机获得前缀及其它参数1::1/64节点请求路由通告30路由器请求和公告1—ICMPType=133(RS)Src=link-localaddress(FE80::/10)Dst=all-routersmulticastaddress(FF0

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功