TCPIP路由技术卷一第二版Word文档格式.docx
- 文档编号:21294811
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:25
- 大小:205.25KB
TCPIP路由技术卷一第二版Word文档格式.docx
《TCPIP路由技术卷一第二版Word文档格式.docx》由会员分享,可在线阅读,更多相关《TCPIP路由技术卷一第二版Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
unspecified地址,在NDP中使用:
/128
2.IPv6AddressTypes
IPv6地址的三种类型:
1.Unicast
2.Anycast
3.Multicast
IPv6地址中不存在广播地址,取而代之的是"
allnodes"
multicast地址(FF02:
1)。
GlobalUnicastAddresses
全球唯一的unicast地址。
其格式为:
该格式在RFC3587中定义,废弃和简化了之前将IPv6unicast地址分为TopLevelAggregator(TLA)、Next-LevelAggregator(NLA)和其它区域的老格式。
主机部分(HostPortion)被称为InterfaceID,SubnetID包括在网络部分(NetworkPortion)中,globalIPv6地址的InterfaceID部分在大多数情况下长度为64位,SubnetID在大多数情况下是16位。
IANA和RegionalInternetRegistries(RIRs)机构分配给LocalInternetRegistries(LIRs)的地址掩码通常为/32或者/35,LIR通常为大型的ISP,LIR分配的地址一般为/48,但在下列特殊情况下会有所不同(就是前面提到的大多数情况之外的情况):
1.非常大型的客户可以分配比/48更短的掩码;
2.有且仅有一个子网分配的时候应使用/64掩码;
3.有且仅有一个设备分配地址的时候应使用/128掩码;
IdentifyingIPv6AddressTypes
地址的前几位决定了地址的类型:
AddressType
High-OrderBits(binary)
High-OrderBits(Hex)
Unspecified
00...0
Loopback
00...1
1/128
Multicast
11111111
FF00:
/8
Link-LocalUnicast
1111111010
FE80:
/10
Site-LocalUnicast(Deprecated)
1111111011
FEC0:
GlobalUnicast(Currentlyallocated)
001
2xxx:
/4or3xxx:
/4
Reserved(Futureglobalunicastallocations)
Everythingelse
6Bone(公共IPv6研究网络)使用的地址从3ffe开始,而RIRs使用的地址由2001开始分配。
LocalUnicastAddresses
IPv6中包括linklocalunicast地址,其作用范围(scope)被限制在单一链路(singlelink)内,它只在一条链路上面是唯一的,它的开头始终为FE80:
/10;
RFC3879中,sitelocalunicast地址为不赞成(Deprecated);
AnycastAddresses
anycast地址代表一种服务/业务(service)而不是一个设备,该地址也可以存在于多个提供相同服务的设备上。
anycast地址的好处在于router始终将数据路由到最近(或说cost最低)的服务器。
anycast地址由业务功能定义而不是由格式定义,所以理论上可以是任何IPv6unicast地址,但是在RFC2526中还是定义了anycast地址的格式。
MulticastAddress
multicast地址指定了一组设备,这组设备称为一个multicastgroup。
multicast地址绝不会成为源地址。
下图是IPv6多播(multicast)地址的格式。
前8位始终为1,接着的4Bit是Flag。
目前前三位没有使用,始终为0,第四位指示该地址是否为一个永久的(permanent)、well-known的地址(0)或者管理员指定的瞬时(transient)地址
(1)。
后面的四位是(Scope)。
ScopeFieldValue
Scope
0x0
Reserved
0x1
Node-Local
0x2
Link-Local
0x5
Site-Local
0x8
OrganizationLocal
0xE
Global
0xF
下表列出了保留的well-known的IPv6多播地址。
(都是Link-Local的)
Address
MulticastGroup
FF02:
1
AllNodes
2
AllRouters
5
OSPFv3Routers
6
OSPFv3DesignatedRouters
9
RIPngRouters
A
EIGRPRouters
B
MobileAgents
C
DHCPServers/RelayAgents
D
AllPIMRouters
以上的IPv6多播地址,它们的作用范围都是link-local的。
因为多播组(multicastgroup)总是一组独立(individual)的节点,所以不需要subnet段。
剩下的112bits被用作Group-ID,定义不同的多播组(multicastgroups)。
前面的80bits被设置为0,仅仅使用后面的32bits。
※IPv6PacketHeaderFormat
IPv6包头(长度为40个字节)的格式如下:
1.TrafficClass对应原来IPv4的ToS字段,现在用于DiffServ;
2.FlowLabel是IPv6独有的,用以标识(labeling)流量(traffic)中的特殊流(flow);
3.IPv6包中的头是定长的,总是40字节。
IPv6PayloadLength段是20bit的,所以可以有更长的负载(1,048,575字节=1MB)。
4.NextHeader段和IPv4中的Protocol段非常相似,当下一个头(nextheader)是一个上层协议头的时候,它和IPv4中的Protocol段作用相同。
下一个头也可能是一个extensionheader(具体见后面一节)。
5.HopLimit段和IPv4中的TTL段的大小以及意义完全一样;
6.Source和DestinationAddress段和IPv4中的同名段意义完全一样,只是长度变成128bit;
7.IPv4段中的Checksum段在IPv6中被去除,因为传输可靠性的长足进步,以及上层协议都有差错控制功能,所以该段的作用变小,故而去除。
※ExtensionHeaders
ExtensionHeaders段被加入IPv6地址格式中,以替代原来IPv4中的Option字段,这样做有以下的好处:
1.数据包中只携带用到信息,不包括未使用的信息;
2.新的可选功能可以通过这种方式添加IPv6数据包中;
Extensionheaders格式:
RFC1883中定义了在IPv6包头中的NextHeader字段取值意义:
Header
NextHeaderValue
Hop-By-HopOptions
Routing
43
Fragment
44
EncapsulatingSecurityPayload(ESP)
50
AuthenticationHeader(AH)
51
DestinationOptions
60
TCP/IPProtocols
Protocolnumbervaluedefinedforthatprotocol(suchasTCP=6,UDP=17,OSPF=89,andsoon)
NoNextHeader
59
每个extensionheader指出跟随在其后的header:
RFC1883还定义了extensionheader的出现顺序:
1.IPv6Header
2.Hop-By-HopOptions
3.DestinationOptions(onlyifintermediateroutersspecifiedintheRoutingheadermustexaminethisheader)
4.Routing
5.Fragment
6.Authentication
7.EncapsulatingSecurityPayload
8.DestinationOptions(ifonlythefinaldestinationmustexaminethisheader)
9.Upper-LayerHeader
※ICMPv6
ICMPv6包头的格式:
ICMPforIPv4的协议号为1,ICMPv6forIPv6的NextHeader数值是58。
ICMPv6在RFC2463中定义,大多功能和IPv4相同,但有一些消息如SourceQuench和Timestamp,在ICMPv6没有相等同的消息。
ICMPv6使用type和code数值的组合来定义一般类别以及其下的子类别。
这些数值由RFC1885定义,具体如下:
Type
Code
Message
DESTINATIONUNREACHABLE
Noroutetodestination
Communicationwithdestinationadministrativelyprohibited
Notaneighbor
3
Addressunreachable
4
Portunreachable
PACKETTOOBIG
TIMEEXCEEDED
Hoplimitexceededintransit
Fragmentreassemblytimeexceeded
PARAMETERPROBLEM
Erroneousheaderfieldencountered
UnrecognizedNextHeadertypeencountered
UnrecognizedIPv6optionencountered
128
ECHOREQUEST
129
ECHOREPLY
130
GROUPMEMBERSHIPQUERY
131
GROUPMEMBERSHIPREPORT
132
GROUPMEMBERSHIPREDUCTION
133
RouterSolicitation
134
RouterAdvertisement
※NeighborDiscoveryProtocol
IPv6具有即插即用(plug-and-play)特性。
NDP(邻居发现协议,NeighborDiscoveryProtocol)使得即插即用特性得以实现。
∙RouterDiscovery节点可以无需DHCP的帮助而发现本地路由器(localrouters);
∙PrefixDiscovery当节点连接到IPv6链路的时候,节点可以发现该链路指派的prefix(es);
∙ParameterDiscovery参数发现;
∙AddressAutoconfiguration节点无需DHCP的帮助可决定其完整地址;
∙AddressResolution节点无需ARP能发现该链路其他节点的链路层地址;
∙Next-HopDetermination链路上的节点能决定到目的(destination)的下一跳链路层地址,目的可以是本地的位置或是一个到达该目的的路由器;
∙NeighborUnreachabilityDetection能检测到链路上的邻居不再可达;
∙DuplicateAddressDetection重复地址检测,即地址冲突检测;
∙Redirect和IPv4中的同名技术一样。
NDP消息的作用范围(scope)总是link-local的,所以封装该消息的包应使用link-local的IPv6地址(FE80:
/10)或是一个link-local作用范围的multicast地址。
为了安全,传送所有NDP消息的IPv6包的HopLimit段被设置为255。
若收到HopLimit比此数值更小的包,则说明该数据包至少经过了一个路由器,则该数据包被丢弃(dropped)。
这就防止了NDP被攻击或者被没有连接到(attached)本地链路的源地址(source)假冒(spoofed)。
1.NDPMessages
1)NDP在RFC2461中定义。
它使用ICMPv6来交换必要的消息,还特别定义了5种新的ICMPv6消息:
●RouterAdvertisement(RA)由路由器生成来通告其存在和关于链路的参数,如链路的prefixes、MTU和hoplimits。
这些消息被定期发送,同时也作为RouterSolicitation消息的回应。
●RouterSolicitation(RS)由主机(host)发送来请求路由器回应一个RA。
●NeighborSolicitation(NS)由节点发送用来请求其他节点的链路层地址,也被用于DAD(duplicateaddressdetection,重复地址检测)和NUD(neighborunreachabilitydetection,邻居不可达检测)。
●NeighborAdvertisement(NA)被作为NS消息的回应发送。
若一个节点改变了它的链路层地址,则它会发送一个主动的(unsolicited)NA来通告新地址。
●Redirect和IPv4中的ICMPRedirect消息相同,但在IPv6被移到NDP。
2)RouterAdvertisement消息的格式。
其ICMPv6type是134,code是0。
封装RA的IPv6数据包的源地址总是发送该数据包的接口的IPv6link-local地址。
当RA定期通告的时候,它的目的地址是all-nodes多播地址(FF02:
1);
若RA是作为RouterSolicitation的回应,则它的目的地址是发送RS的节点的link-local地址。
●HopLimit发自此链路的数据包应给的HopLimit数值。
若发送此包的路由器没有指定HopLimit则该段被设置为全零。
●M是ManagedAddressConfiguration标志。
若该位被设置,则表明发送此数据包的路由器告诉该链路上的主机通过DHCPv6使用stateful地址自动配置。
若该位没有设置,则使用stateless地址自动配置。
●O是OtherStatefulConfiguration标志。
若该位被设置,则表明发送此数据包的路由器告诉该链路上的主机使用DHCPv6来获得其他链路信息。
M和O标志可以同时使用。
●RouterLifetime仅当originating路由器是默认路由器(defaultrouter)的时候,则将此段设置为除了0以外的数值。
这种情况下,该段指定默认路由器的生存时间(lifetime),数值的单位是秒。
最大可以有18.2小时。
●ReachableTime由NDP的NeighborUnreachabilityDetection功能使用。
当节点确认邻居可达性后这么长时间,节点便认为该邻居是可达的。
单位是毫秒(milliseconds)。
●RetransmitTimer由NDP的AddressResolution和NeighborUnreachabilityDetection功能使用。
指定重传(retransmitted)NeighborSolicitation消息的最小时间间隔,单位是毫秒(milliseconds)。
●RA的Options可能会包含以下选项:
⏹生成该RA的接口的链路层地址
⏹该链路指定的MTU
⏹指派给该链路的一个或多个prefix。
该信息对于stateless地址自动配置非常重要,它告知连接到链路上的主机该链路的prefix是什么。
3)RouterSolicitation消息的格式如下:
其ICMPv6的type是133,code是0。
封装RS的IPv6数据包的源地址是发送该数据包的接口的IPv6地址,或者当该主机开始地址自动配置的时候,发送该RS包的接口没有指派地址,源地址被设置为:
(全零)。
目的地址是all-routers多播地址(FF02:
2)。
Options段能包含发送该RS的接口的链路层地址。
但是若封装该RS的数据包的源地址没有指定,则源链路层地址一定不能被包含。
4)NeighborSolicitation消息格式如下:
其ICMPv6的type是135,code是0。
封装NS的IPv6数据包的源地址是发送该数据包的接口的IPv6地址,若NS因DAD(DuplicateAddressDetection)功能而被送出,源地址则被设置为:
目的地址是一个被请求的节点对应(corresponding)的TargetAddress的multicast地址,或者就是targetaddress。
TargetAddress是该NS请求的目标(target)的IPv6地址。
targetaddress决不会是一个multicast地址。
5)NeighborAdvertisement消息格式如下:
其ICMPv6的type是136,code是0。
⏹R是Router标志,该位被设置表明发送该数据包的设备是一个router。
该标志位在NeighborReachabilityDetection中使用。
⏹S是Solicited标志。
该位被设置表明NA作为NS的回应送出。
⏹O是Override标志,该位被设置表明此NA中的信息应覆盖(override)邻居中相应的缓存条目并更新缓存的链路层地址。
⏹TargetAddress,当NA作为NS的回应送出的时候,NS中的TargetAddress的数值被填入该段。
如果NA是unsolicited的(送出是为了通告originator的链路层地址有变动),则该TargetAddress段被填入originator的地址。
6)Redirect消息格式如下:
TargetAddress是链路上面更好的router的链路层地址;
DestinationAddress是TargetAddress指向的router的IPv6地址;
2.RouterDiscovery
router使用RA向其连接的链路通告其存在,并向连接到该链路上面的主机通告其配置的参数。
RFC2461指定了传输RA之间的间隔为4到1800秒之间,默认是600秒,RA的通告的最小周期默认为200秒。
unsolicitedRAs的源地址是本地router的接口的link-local地址,目的地址为all-nodesmulticast地址(FF02:
1.启用IPv6,并使得Cisco路由器在Ethernet和FDDI链路上面发送RA,命令:
ipv6unicast-routing
2.RA发送的默认周期为200秒,通过以下命令更改:
ipv6ndra-interval
3.传送的RA的RouterLifetime默认为1800秒,通过以下命令更改:
ipv6ndra-lifetime
若不想让router称为链路上的默认router,则可以将其RouterLifetime设置为0。
4.RA默认的ReachableTime为0(意味着未指定),通过以下命令更改:
ipv6ndreachable-time
5.RetransmitTimer段被默认设置为0(未指定),通过以下命令更改:
ipv6ndns-interval
6.M和O的标志位可以使用以下命令配置:
ipv6ndmanaged-config-flag
ipv6ndother-config-flag
7.如果不想让某个接口发送RA,则可以使用以下命令禁止:
ipv6ndsuppress-ra
8.Ciscorouter默认将orinating接口的所有prefix都包含到RA中,可以通过以下命令控制通告的prefix:
ipv6ndprefix
当主机在一条链路上面起来的时候,它会发送一个RS(目的地址为all-routersmulticast地址FF02:
2)来请求RA,取得相关router的信息,并将router加入默认router的列表中。
3.AddressAutoconfiguration
当IPv6主机在链路上面第一次起来的时候,它能自己配置自己的接口地址,第一步就是决定其地址中64位的InterfaceID部分。
广播接口上面,使用MAC-to-EUI64方法将48位MAC地址转换为64位的InterfaceID,过程如下:
U/L位,Universal/Local位
决定地址的前64-bitprefix是直接使用保留的link-local地址0xFE80:
/64。
例如上图中的接口最终的IPv6地址为:
0200:
0BFF:
FE0A:
2D51。
若主机只用和链路上面的设备通讯,则自动配置的link-local地址足够使用,但若需和链路外的设备通讯,则需要使用一个globalIPv6地址。
取得globalIPv6地址的两种方法:
1.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TCPIP 路由 技术 第二