. Use of link-local addresses
IPv6 link-local addresses are for use on a single link, for purposes of neighbor discovery, auto-configuration, etc. IPv6 routers do not forward IPv6 datagrams having link-local source addresses []. Link-local unicast addresses are assigned from the IPv6 address range FF80/10. OSPF for IPv6 assumes that each router has been assigned link-local unicast addresses on each of the router's attached physical segments. On all OSPF interfaces except virtual links, OSPF packets are sent using the interface's associated link-local unicast address as source. A router learns the link-local addresses of all other routers attached to its links, and uses these addresses as next hop information during packet forwarding.OSPF包的源地址都是链路本地地址,包转发时,使用链路本地地址作为下一跳的信息。 On virtual links, global scope or site-local IP addresses must be used as the source for OSPF protocol packets.
Link-local addresses appear in OSPF Link-LSAs (see ). However, link-local addresses are not allowed in other OSPF LSA types. In particular, link-local addresses must not be advertised in inter-area-prefix-LSAs (), AS-external-LSAs ( ) or intra-area-prefix-LSAs (). 链路本地地址只在Link-LSA中出现,其它均不允许出现。
Encapsulation of OSPF packets
OSPF runs directly over the IPv6's network layer. OSPF packets are therefore encapsulated solely by IPv6 and local data-link headers. OSPF does not define a way to fragment its protocol packets, and depends on IPv6 fragmentation when transmitting packets larger than the link MTU. If necessary, the length of OSPF packets can be up to 65,535 bytes. The OSPF packet types that are likely to be large (Database Description Packets, Link State Request, Link State Update, and Link State Acknowledgment packets) can usually be split into several separate protocol packets, without loss of functionality. This is recommended; IPv6 fragmentation should be avoided whenever possible. Using this reasoning, an attempt should be made to limit the sizes of OSPF packets sent over virtual links to 1280 bytes unless Path MTU Discovery is being performed [].OSPF没有定义分段机制,而是依赖于IPv6的分段机制。 OSPF包大部分可以自己拆分,而不影响,这是推荐的做法。 The other important features of OSPF's IPv6 encapsulation are: o Use of IPv6 multicast. Some OSPF messages are multicast, when sent over broadcast networks. Two distinct IP multicast addresses are used. Packets sent to these multicast addresses should never be forwarded; they are meant to travel a single hop only. As such, the multicast addresses have been chosen with link-local scope, and packets sent to these addresses should have their IPv6 Hop Limit set to 1. 发往多播地址的包不会被转发,是单跳的。
AllSPFRouters This multicast address has been assigned the value FF02::5. All routers running OSPF should be prepared to receive packets sent to this address. Hello packets are always sent to this destination. Also, certain OSPF protocol packets are sent to this address during the flooding procedure.Hello包的目的地址是ff02::5,某些OSPF协议包在洪泛过程中,会发到这个地址。 AllDRouters This multicast address has been assigned the value FF02::6. Both the Designated Router and Backup Designated Router must be prepared to receive packets destined to this address. Certain OSPF protocol packets are sent to this address during the flooding procedure.
o Addresses in LSAs are now expressed as [prefix, prefix length] instead of [address, mask] (see Section A.4.1). The default route is expressed as a prefix with length 0.地址由[地址,掩码]改变为[前缀,前缀长度] o The Router and Network LSAs now have no address information, and are network-protocol-independent. Router-LSA(只有Router ID)和Network-LSA(只有该网络中所有路由器的Router ID)中没有了地址信息,是网络协议独立的。
In IPv4, the router-LSA carries a router's IPv4 interface addresses, the IPv4 equivalent of link-local addresses. These are only used when calculating next hops during the OSPF routing calculation (see Section 16.1.1 of []), so they do not need to be flooded past the local link; hence using link-LSAs to distribute these addresses is more efficient. 下一跳计算过程中会使用router-LSA中。
关于DR和BDR选举
对于广播网络,比如以太网,如果所有路由器都分别互相交互信息,会造成较大开销。
可以利用广播特性,选择一个中心节点DR,先收集其它路由器的信息,然后,再广播出去。
步骤为:
先选举BDR,再选举DR
BDR,会首先看Router Priority,谁大,选谁;如果一样,看Router ID,谁大选谁。
Router Priority默认是1,若是0,则没有被选举权。Router ID肯定唯一的,因此,肯定能否选出一个BDR来。
之后,会让BDR变为DR,再选举一个BDR出来。
关于master和slave确定
只与Router ID相关,与优先级无关。