TCPIP路由技术(卷一)第二版_第1页
TCPIP路由技术(卷一)第二版_第2页
TCPIP路由技术(卷一)第二版_第3页
TCPIP路由技术(卷一)第二版_第4页
TCPIP路由技术(卷一)第二版_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、Chapter 1. TCP/IP ReviewChapter 2. IPv6 Overview IPv6 Addresses1. Address Representation128位的IPv6地址被分为8个16位的段,用16进制数值表示,形如:3ffe:1944:0100:000a:0000:00bc:2500:0d0b书写IPv6地址的规则:1. 每个段的开头的0可以被省略,例如上面的IPv6地址可以被写为:3ffe:1944:100:a:0:bc:2500:d0b;2. 单一连续的多个段的0,可以被简写为“:”。例如:ff02:0000:0000:0000:0000:0000:0000:

2、0005可以被简写为ff02:5(“:”在一个IPv6地址中只能存在一个,否则会出现混淆);3. 掩码的规则是:3ffe:1944:100:a:/64以下是部分特殊的IPv6地址:默认路由::/0;unspecified地址,在NDP中使用::/1282. IPv6 Address TypesIPv6地址的三种类型:1. Unicast2. Anycast3. MulticastIPv6地址中不存在广播地址,取而代之的是"all nodes" multicast地址(FF02:1)。Global Unicast Addresses全球唯一的unicast地址。其格式为:该格

3、式在RFC 3587中定义,废弃和简化了之前将IPv6 unicast地址分为Top Level Aggregator (TLA)、Next-Level Aggregator (NLA)和其它区域的老格式。主机部分(Host Portion)被称为Interface ID,Subnet ID包括在网络部分(Network Portion)中,global IPv6地址的Interface ID部分在大多数情况下长度为64位,Subnet ID在大多数情况下是16位。IANA 和 Regional Internet Registries (RIRs)机构分配给Local Internet Reg

4、istries (LIRs)的地址掩码通常为/32或者/35,LIR通常为大型的ISP,LIR分配的地址一般为/48,但在下列特殊情况下会有所不同(就是前面提到的大多数情况之外的情况):1. 非常大型的客户可以分配比/48更短的掩码;2. 有且仅有一个子网分配的时候应使用/64掩码;3. 有且仅有一个设备分配地址的时候应使用/128 掩码;Identifying IPv6 Address Types地址的前几位决定了地址的类型:Address TypeHigh-Order Bits (binary)High-Order Bits (Hex)Unspecified00.0:/128Loopbac

5、k00.1:1/128Multicast11111111FF00:/8Link-Local Unicast1111111010FE80:/10Site-Local Unicast (Deprecated)1111111011FEC0:/10Global Unicast (Currently allocated)0012xxx:/4 or 3xxx:/4Reserved (Future global unicast allocations)Everything else 6Bone(公共IPv6研究网络)使用的地址从3ffe开始,而RIRs使用的地址由2001开始分配。Local Un

6、icast AddressesIPv6中包括link local unicast地址,其作用范围(scope)被限制在单一链路(single link)内,它只在一条链路上面是唯一的,它的开头始终为FE80:/10;RFC 3879中,site local unicast地址为不赞成(Deprecated);Anycast Addressesanycast地址代表一种服务/业务(service)而不是一个设备,该地址也可以存在于多个提供相同服务的设备上。anycast地址的好处在于router始终将数据路由到最近(或说cost最低)的服务器。anycast地址由业务功能定义而不是由格式定义,所

7、以理论上可以是任何IPv6 unicast地址,但是在RFC 2526中还是定义了anycast地址的格式。Multicast Addressmulticast地址指定了一组设备,这组设备称为一个multicast group。multicast地址绝不会成为源地址。下图是IPv6多播(multicast)地址的格式。前8位始终为1,接着的4Bit是Flag。目前前三位没有使用,始终为0,第四位指示该地址是否为一个永久的(permanent)、well-known的地址(0) 或者管理员指定的瞬时(transient)地址 (1)。后面的四位是(Scope)。Scope Field Value

8、Scope0x0Reserved0x1Node-Local0x2Link-Local0x5Site-Local0x8Organization Local0xEGlobal0xFReserved下表列出了保留的well-known的IPv6多播地址。(都是Link-Local的)AddressMulticast GroupFF02:1All NodesFF02:2All RoutersFF02:5OSPFv3 RoutersFF02:6OSPFv3 Designated RoutersFF02:9RIPng RoutersFF02:AEIGRP RoutersFF02:BMobile Agent

9、sFF02:CDHCP Servers/Relay AgentsFF02:DAll PIM Routers以上的IPv6多播地址,它们的作用范围都是link-local的。因为多播组(multicast group)总是一组独立(individual)的节点,所以不需要subnet段。剩下的112 bits 被用作Group-ID,定义不同的多播组(multicast groups)。前面的80 bits被设置为0,仅仅使用后面的32 bits。 IPv6 Packet Header FormatIPv6包头(长度为40个字节)的格式如下:1. Traffic Class对应原来IPv4的To

10、S字段,现在用于DiffServ;2. Flow Label是IPv6独有的,用以标识(labeling)流量(traffic)中的特殊流(flow);3. IPv6包中的头是定长的,总是40字节。IPv6 Payload Length 段是20 bit的,所以可以有更长的负载(1,048,575 字节1MB)。4. Next Header段和IPv4中的Protocol段非常相似,当下一个头(next header)是一个上层协议头的时候,它和IPv4中的Protocol段作用相同。下一个头也可能是一个extension header(具体见后面一节)。5. Hop Limit段和IPv4中

11、的TTL段的大小以及意义完全一样;6. Source和Destination Address段和IPv4中的同名段意义完全一样,只是长度变成128bit;7. IPv4段中的Checksum段在IPv6中被去除,因为传输可靠性的长足进步,以及上层协议都有差错控制功能,所以该段的作用变小,故而去除。 Extension HeadersExtension Headers段被加入IPv6地址格式中,以替代原来IPv4中的Option字段,这样做有以下的好处:1. 数据包中只携带用到信息,不包括未使用的信息;2. 新的可选功能可以通过这种方式添加IPv6数据包中;Extension headers格式

12、:RFC 1883中定义了在IPv6包头中的Next Header字段取值意义:HeaderNext Header ValueHop-By-Hop Options0Routing43Fragment44Encapsulating Security Payload (ESP)50Authentication Header (AH)51Destination Options60TCP/IP ProtocolsProtocol number value defined for that protocol (such as TCP = 6, UDP = 17, OSPF = 89, and so on

13、)No Next Header59每个extension header指出跟随在其后的header:RFC 1883还定义了extension header的出现顺序:1. IPv6 Header2. Hop-By-Hop Options3. Destination Options (only if intermediate routers specified in the Routing header must examine this header)4. Routing5. Fragment6. Authentication7. Encapsulating Security Payload

14、8. Destination Options (if only the final destination must examine this header)9. Upper-Layer Header ICMPv6ICMPv6包头的格式:ICMP for IPv4 的协议号为1, ICMPv6 for IPv6 的Next Header 数值是58。ICMPv6在RFC 2463中定义,大多功能和IPv4相同,但有一些消息如Source Quench和Timestamp,在ICMPv6没有相等同的消息。ICMPv6 使用 type 和 code 数值的组合来定义一般类别以及其下的子类别。 这些

15、数值由RFC 1885 定义,具体如下:TypeCodeMessage1 DESTINATION UNREACHABLE0No route to destination1Communication with destination administratively prohibited2Not a neighbor3Address unreachable4Port unreachable20PACKET TOO BIG3 TIME EXCEEDED0Hop limit exceeded in transit1Fragment reassembly time exceeded

16、4 PARAMETER PROBLEM0Erroneous header field encountered1Unrecognized Next Header type encountered2Unrecognized IPv6 option encountered1280ECHO REQUEST1290ECHO REPLY1300GROUP MEMBERSHIP QUERY1310GROUP MEMBERSHIP REPORT1320GROUP MEMBERSHIP REDUCTION1330Router Solicitation1340Router Advertisement N

17、eighbor Discovery ProtocolIPv6 具有即插即用(plug-and-play)特性。NDP (邻居发现协议,Neighbor Discovery Protocol)使得即插即用特性得以实现。· Router Discovery 节点可以无需DHCP的帮助而发现本地路由器(local routers);· Prefix Discovery 当节点连接到IPv6链路的时候,节点可以发现该链路指派的prefix(es);· Parameter Discovery 参数发现;· Address Autoconfiguration 节点无

18、需DHCP的帮助可决定其完整地址;· Address Resolution节点无需ARP能发现该链路其他节点的链路层地址;· Next-Hop Determination 链路上的节点能决定到目的(destination)的下一跳链路层地址, 目的可以是本地的位置或是一个到达该目的的路由器;· Neighbor Unreachability Detection 能检测到链路上的邻居不再可达;· Duplicate Address Detection 重复地址检测,即地址冲突检测;· Redirect 和IPv4中的同名技术一样。NDP 消息的作

19、用范围(scope)总是link-local的,所以封装该消息的包应使用link-local的IPv6地址(FE80:/10)或是一个link-local作用范围的multicast地址。为了安全,传送所有NDP消息的IPv6 包的Hop Limit 段被设置为255。 若收到Hop Limit比此数值更小的包,则说明该数据包至少经过了一个路由器,则该数据包被丢弃(dropped)。 这就防止了NDP 被攻击或者被没有连接到(attached)本地链路的源地址(source)假冒(spoofed)。1. NDP Messages1) NDP 在RFC 2461中定义。它使用ICMPv6来交换必

20、要的消息,还特别定义了5种新的 ICMPv6 消息:l Router Advertisement (RA) 由路由器生成来通告其存在和关于链路的参数,如链路的prefixes、MTU和hop limits。这些消息被定期发送,同时也作为Router Solicitation消息的回应。l Router Solicitation (RS) 由主机(host)发送来请求路由器回应一个RA。l Neighbor Solicitation (NS) 由节点发送用来请求其他节点的链路层地址,也被用于DAD(duplicate address detection,重复地址检测)和NUD(neighbor

21、unreachability detection,邻居不可达检测)。l Neighbor Advertisement (NA) 被作为NS消息的回应发送。若一个节点改变了它的链路层地址,则它会发送一个主动的(unsolicited)NA来通告新地址。l Redirect 和IPv4中的ICMP Redirect消息相同,但在IPv6被移到NDP。2) Router Advertisement 消息的格式。其 ICMPv6 type 是134,code 是 0。封装RA 的IPv6数据包的源地址总是发送该数据包的接口的IPv6 link-local 地址。当RA 定期通告的时候,它的目的地址是a

22、ll-nodes多播地址 (FF02:1);若RA是作为Router Solicitation的回应,则它的目的地址是发送RS的节点的link-local地址。l Hop Limit 发自此链路的数据包应给的Hop Limit数值。若发送此包的路由器没有指定Hop Limit 则该段被设置为全零。l M 是Managed Address Configuration标志。 若该位被设置,则表明发送此数据包的路由器告诉该链路上的主机通过DHCPv6使用stateful 地址自动配置。若该位没有设置,则使用stateless地址自动配置。l O 是Other Stateful Configurati

23、on标志。若该位被设置,则表明发送此数据包的路由器告诉该链路上的主机使用DHCPv6来获得其他链路信息。M和O标志可以同时使用。l Router Lifetime 仅当originating路由器是默认路由器(default router)的时候,则将此段设置为除了0以外的数值。这种情况下,该段指定默认路由器的生存时间(lifetime),数值的单位是秒。最大可以有18.2 小时。l Reachable Time 由NDP的Neighbor Unreachability Detection 功能使用。当节点确认邻居可达性后这么长时间,节点便认为该邻居是可达的。单位是毫秒(millisecond

24、s)。l Retransmit Timer 由NDP的Address Resolution和Neighbor Unreachability Detection 功能使用。指定重传(retransmitted)Neighbor Solicitation消息的最小时间间隔,单位是毫秒(milliseconds)。l RA 的Options 可能会包含以下选项:n 生成该RA的接口的链路层地址n 该链路指定的MTUn 指派给该链路的一个或多个prefix。 该信息对于 stateless 地址自动配置非常重要,它告知连接到链路上的主机该链路的prefix是什么。3) Router Solicitat

25、ion消息的格式如下:其 ICMPv6的type是133 , code是 0。封装RS 的IPv6数据包的源地址是发送该数据包的接口的IPv6地址,或者当该主机开始地址自动配置的时候,发送该RS包的接口没有指派地址,源地址被设置为:(全零)。目的地址是all-routers 多播地址(FF02:2)。Options段能包含发送该RS的接口的链路层地址。但是若封装该RS的数据包的源地址没有指定,则源链路层地址一定不能被包含。4) Neighbor Solicitation消息格式如下:其ICMPv6的type是135,code是0。封装NS 的IPv6数据包的源地址是发送该数据包的接口的IPv6

26、地址,若NS因DAD(Duplicate Address Detection)功能而被送出,源地址则被设置为:(全零)。目的地址是一个被请求的节点对应(corresponding)的Target Address的multicast地址,或者就是target address。Target Address是该NS请求的目标(target)的IPv6 地址。 target address决不会是一个multicast地址。Options段能包含发送该RS的接口的链路层地址。5) Neighbor Advertisement消息格式如下:其ICMPv6的type是136,code是0。n R 是Rou

27、ter标志,该位被设置表明发送该数据包的设备是一个router。该标志位在Neighbor Reachability Detection中使用。n S 是Solicited标志。 该位被设置表明NA作为NS的回应送出。n O是Override标志,该位被设置表明此NA中的信息应覆盖(override) 邻居中相应的缓存条目并更新缓存的链路层地址。n Target Address ,当NA 作为NS的回应送出的时候,NS中的Target Address的数值被填入该段。如果NA是unsolicited的 (送出是为了通告originator的链路层地址有变动), 则该Target Address

28、 段被填入originator的地址。6) Redirect消息格式如下:其ICMPv6的type是136,code是0。Target Address是链路上面更好的router的链路层地址;Destination Address是Target Address指向的router的IPv6地址;2. Router Discoveryrouter使用RA向其连接的链路通告其存在,并向连接到该链路上面的主机通告其配置的参数。RFC 2461指定了传输RA之间的间隔为4到1800秒之间,默认是600秒,RA的通告的最小周期默认为200秒。unsolicited RAs的源地址是本地router的接口的

29、link-local地址,目的地址为all-nodes multicast地址(FF02:1)。1. 启用IPv6,并使得Cisco路由器在Ethernet和FDDI链路上面发送RA,命令:ipv6 unicast-routing2. RA发送的默认周期为200秒,通过以下命令更改:ipv6 nd ra-interval3. 传送的RA的Router Lifetime默认为1800秒,通过以下命令更改:ipv6 nd ra-lifetime若不想让router称为链路上的默认router,则可以将其Router Lifetime设置为0。4. RA默认的Reachable Time为0(意味着

30、未指定),通过以下命令更改:ipv6 nd reachable-time5. Retransmit Timer段被默认设置为0(未指定),通过以下命令更改:ipv6 nd ns-interval6. M和O的标志位可以使用以下命令配置:ipv6 nd managed-config-flag ipv6 nd other-config-flag7. 如果不想让某个接口发送RA,则可以使用以下命令禁止:ipv6 nd suppress-ra8. Cisco router默认将orinating接口的所有prefix都包含到RA中,可以通过以下命令控制通告的prefix:ipv6 nd prefix当

31、主机在一条链路上面起来的时候,它会发送一个RS(目的地址为all-routers multicast地址FF02:2)来请求RA,取得相关router的信息,并将router加入默认router的列表中。3. Address Autoconfiguration当IPv6主机在链路上面第一次起来的时候,它能自己配置自己的接口地址,第一步就是决定其地址中64位的Interface ID部分。广播接口上面,使用MAC-to-EUI64方法将48位MAC地址转换为64位的Interface ID,过程如下:U/L位,Universal/Local位决定地址的前64-bit prefix是直接使用保留的

32、link-local地址0xFE80:/64。例如上图中的接口最终的IPv6地址为:FE80:0200:0BFF:FE0A:2D51。若主机只用和链路上面的设备通讯,则自动配置的link-local地址足够使用,但若需和链路外的设备通讯,则需要使用一个global IPv6地址。取得global IPv6地址的两种方法:1. stateful:咨询DHCPv6(由RFC 3315定义)服务器,取得地址信息。主机可以预先配置DHCPv6服务器的地址,或者收到一个设置了M标志位的RA,指示其使用DHCPv6;2. stateless:主机从收到的RA中获得一个或多个链路的prefix,然后将这些

33、prefix加上先前决定的Interface ID于是便成了全局唯一的 IPv6 地址。4. Duplicate Address Detection设备取得了一个unicast地址以后,在使用该地址之前必须进行DAD(Duplicate Address Detection),以确定该地址是唯一的。只有Anycast地址是例外的。进行DAD的节点送出一个NS,其Target Address设置为需要验证的地址,目的地址设置为solicited-node multicast地址(ff02:0:0:0:0:1:FFxx:xxxx/104,其中x代表任意数字)。solicited-node multi

34、cast地址是将Target Address中的地址的后24位前面加上ff02:0:0:0:0:1:FFxx:xxxx/104。solicited-node multicast地址的优点在于:一个接口配置多个地址的时候可以只用发送一个NS;如果两个节点同时通过DAD验证相同的地址,则两者都会得知。如果发送NS(DAD)的节点,收到了NA的回应,则说明该地址已经被使用,不能再使用。5. Neighbor Address ResolutionIPv4使用ARP来发现IPv4地址和链路层地址的对应关系,而IPv6使用NDP来实现这个功能。nc(neighbor cache)相当于IPv4的ARP c

35、ache,节点发送数据包的时候,如果没有在nc中找到条目,则将地址加入但标记为Incomplete,节点于是向solicited-node multicast地址发送NS,收到NS的节点,回应NA,节点收到NA后将条目加入nc,并将该条目标记为Reachable。在Cisco router中查看nc的命令如下:show ipv6 neighbors6. Privacy Addresses不变的Interface ID会产生安全问题,RFC 3041定义了IPv6 privacy地址。privacy地址,使得Interface ID大概每天会变化一次(周期可以配置),或者每次获得新的IPv6地址

36、的时候变化。7. Neighbor Unreachability Detectionnc条目可以有以下几种状态:1. Incomplete:NS已经送出,但NA还没有收到;2. Reachable:地址近期确定(recently confirmed)为可达的。 “近期确定”的意思是节点在RA指定的时间(Reachable Time段)内收到了该地址可达性信息。若在RA中没有指定,则默认的Reachable Time是30 秒;3. Stale:上次收到该地址的可达性确认到现在的时间已经超过了Reachable Time指定的时间;4. Probe:每个Retransmit Time 周期(默认

37、为1000ms)向地址发送的可达性信息的确认(使用NS)已经送出。5. Delay:当向一个Stale地址发送数据包以后,该地址便成为Delay状态。该状态停留5秒,如果在此时间段内没有收到可达性信息的确认,该地址状态变为Probe。该状态是一个优化:在NS被送出前,给上层协议一个确认可达性机会。邻居的可达性可以有两种方式确认:1. 上层协议提供的信息,如TCP消息中的ACK2. 回应probe地址的RA或者NANeighbor Unreachability Detection是确认节点和邻居之间的双向连通性,而不是单向的。Chapter 3. Static RoutingChapter 4.

38、 Dynamic Routing Protocols路由算法至少要做到:将网络可达性信息传给其他的router接收从其他router传来的可达性信息基于可达性信息决定最优路由,并将其记录到路由表中对网络中拓扑变化作出反应,修正并将其通告Chapter 8. OSPFv2 Operation of OSPF1. Overview从高层次上来看,OSPF可被理解为:1) speaking router会从所有启用了OSPF的接口发送Hello包,有相同参数配置相连的router会成为邻居(neighbor)2) 毗邻(Adjacency)3) 每个router会发送LSA到所有邻居。因为有很多链路

39、状态(link state)类型信息,故OSPF定义了很多LSA类型。4) 每个收到从某个邻居过来的LSA的router,将此LSA记录到LSDB,并将此LSA的副本发送到其它邻居。5) LSA被flood传遍整个区域后,每个router都将有相同的LSDB6) 当数据库完成后,每个router都会使用SPF算法,将自己作为root,计算到每个已知目的的无环路的、最短(cost最低)的路径7) 每个router都由自己的SPF tree建立其路由表当网络达到收敛以后,OSPF在稳定(stable)的情况下只会每30分钟发送一次LSA2. Neighbors and Adjacencies 邻居

40、和毗邻Cisco router决定其Router ID(RID)的方法如下:1) 若Router ID被手动指定,则使用它2) 若未手动指定,则使用最大的loopback接口IP地址3) 若未定义loopback接口,则使用所有物理接口中IP地址最大的,不要求该接口启用OSPF4) 若被配置为Router ID的物理接口被删除或者down,router还是会继续使用其IP为RID。OSPF router是通过在Hello包中通告其RID开始建立邻居关系的.3. Hello Protocol Hello协议Hello协议的作用如下:1) 用以发现邻居2) 用以通告若干参数,两台router必须同

41、意此参数才能成为邻居3) 用作两个router之间的keepalive4) 用以确保邻居之间的双向通信5) 用以选举DR和BDR(在广播和NBMA网络上只有在Broadcast和NBMA网络中才会进行DR和BDR的选举)HelloInterval:在启用OSPF的接口上定期发送Hello包的间隔(10秒广播网络、30秒非广播网络),配置命令如下:ip ospf dead-intervalHello包里包含的信息:1) Router ID2) 源router接口所属的Area ID3) 源接口的地址掩码4) 源接口的认证类型和认证信息5) 源接口的HelloInterval6) 源接口的Rout

42、erDeadInterval7) router的优先级(priority)8) DR和BDR的地址(其接口的IP地址,而非RID)9) 5位的flag,指示其可选能力10) 源router的邻居的Router ID,此列表仅包括从源接口在RouterDeadInterval时间内收到的Hello包的发送者的RID在收到Hello包以后router会对其包含的信息进行检验。如果收到此包的接口上的配置与其不匹配,则此包被丢弃;如果所有信息匹配,则此Hello包被认为有效。如果源router的RID已经在邻居列表中存在,则RouterDeadInterval计时器被重置。若此RID没有在邻居列表中,

43、则将其加入邻居表。router从一个接口发送Hello包的时候,该包中会包含其所有邻居的RID。如果router收到一个有效的Hello包,其中包含了自己的RID,则此router便知道与发送Hello包的router之间的two-way通信已经建立。在two-way通信确立以后,毗邻(adjacency)将被确立(根据网络类型)。4. Network Types 网络类型OSPF定义的5种网络类型:n point-to-point 点到点n broadcast 广播n nonbroadcast multiaccess(NBMA) NBMAn point-to-multipoint 点到多点n

44、 virtual links 虚链路point-to-point网络(如T1/E1, DS-3, SONET/SDH)中,不选举DR和BDR,成为邻居的router总会变成毗邻(adjacent)。OSPF包发送的地址为224.0.0.5(AllSPFRouters)。broadcast网络(如Ethernet, TokenRing, FDDI)中,会选举DR和BDR,Hello会发送到224.0.0.5,其它的router会向224.0.0.6(DR和BDR)发送LSU和LSAck。NBMA网络(如X.25, FrameRelay, ATM)中,选举DR和BDR,但所有的OSPF包都以单播(

45、unicast)的形式发送。point-to-multipoint网络是NBMA网络的一个特殊配置,它认为网络是point-to-point链路的集合,这上面不选举DR和BDR(和point-to-point网络一样),但所有的OSPF包都以单播的形式发送到已知的邻居。virtual links在router上被认为是一个unnumbered point-to-point网络,不选举DR和BDR,OSPF包在上面以单播传送。网络一般可分为以下两个类型:1) Transit网络:连接两个或更多的router,将数据包从一个网络传送到另一个中(数据在Transit网络上面传输,但是不以其为起点也不

46、以其为终点。说白了就是可以看成一个传输数据的云)。2) Stub网络:只连接一台router,所有数据包在Stub网络中都由此发起或传送到此地。OSPF将主机路由通告为Stub网络,loopback接口也被认为是Stub网络,并被以主机路由通告。5. Designated Routers and Backup Designated Routers DR和BDR1) 由于需要flood LSA,在广播网络中便出现两个问题:n 每个router之间需要建立的adjacency数量巨大n 每个router将LSA flood到adjacent邻居会产生大量无用的copy解决上述问题的方法便是选举DR

47、。DR的作用如下:n 向其他的OSPF区域描述本广播网络n 控制广播网络中的flood过程2) 广播链路本身被认为是一个“虚拟节点”(pseudonode)或一个虚拟路由器(virtual router)。SPF树计算完毕后,广播链路显示为一个节点(node),连接此链路的router都连接到此节点。router到此节点的cost是其连接此链路的接口的cost,但节点到任何router的cost为0(所以从一个节点通过广播链路到另一个节点的cost就是此节点连接广播链路出口接口的cost)。3) 网络中的每个router都要和DR建立adjacency,DR将pseudonode描述成为一个特

48、殊的Network LSA。DR是接口而不是一个router。4) 为了保证对DR的冗余,提出了BDR5) DR和BDR选举正常进行需要满足以下几个前提:a) 每个接口有一个priority(0255)b) Hello包中包含了源router想参加选举的接口的prioriy和IP地址c) 第一次在广播网络上激活的接口将DR和BDR设为.0,并设置一个wait timer,其值为RouterDeadInterval(若在此计时器超时后还未收到DR和BDR的信息,便开始DR和BDR的选举)d) 广播网络上存在的接口将DR和BDR的地址记录于接口数据结构(Interface Data Structu

49、re)中6) 选举过程如下:a) 在一个或多个邻居变为2way以后,检查每个邻居Hello中的priority、DR和BDR字段,将所有eligible(优先级大于0,状态至少为2way)的邻居列出(包括自己)b) 在列表中建立一个没有将自己声明为DR的邻居的子列表c) 若在此子列表中有一个或多个邻居声明自己为BDR,则priority最高或RID最高的被本router选举为BDRd) 若没有邻居声明自己为BDR,则priority或RID最高的被选为BDRe) 若在DR列表中有一个或多个邻居声明自己为DR,则priority或RID最高的被本router选为DRf) 若进行此计算的route

50、r被选为DR或BDR,或者不再是DR或BDR,则重复b)到f)的步骤。以上提到的过程可以简单地理解为:当router在网络上激活并发现邻居后,它首先检查有没有DR和BDR存在,若已经有它们的存在,则接受它们,若没有则开始选举,priority或者RID最高的变为DR,第二高的变为BDR。当DR和BDR被选出以后,DROther会与DR和BDR建立毗邻。所有router都向224.0.0.5发送Hello,DROther发送更新时使用224.0.0.6,这个地址只有DR和BDR能收到。DR发送更新则会使用224.0.0.5,这个地址所有的OSPF router都可以收到。6. OSPF Inte

51、rfaces(P8)1) Interface Data Structure:OSPF router为每个启用了OSPF的接口都保存一个数据结构,这个数据结构便是Interface Data Structure。n IP Address and Mask:此接口的IP地址和掩码n Area ID:此接口的Area IDn Process ID:OSPF进程号n Router IDn Network Type网络类型:Broadcast、NBMA、Point-to-point、Point-to-Multipoint、Virtual linkn Cost:108÷Bandwidth1000

52、00000÷带宽(即100M为1,10M为10)这个可以使用命令:auto-cost reference-bandwidth更改更改接口cost的命令:ip ospf costn InfTransDelay:即Transit Delay,从此接口出去的LSA的age增加的秒数配置命令:ip ospf transmit-delayn State:Down、Point-to-point、Waiting、DR、Backup、DROther、Loopbackn Router Priority:0255配置命令:ip ospf priority在广播型网络中的interface data st

53、ructuren Designated Routern Backup Designated Routern HelloInterval:广播网络(P2P)都为10s,非广播网络为30sn RouterDeadInterval:HelloInterval×4n wait timer:若在此计时器超时后还未收到DR和BDR的信息,便开始DR和BDR的选举。时间长度RouterDeadIntervaln RxmtInterval:Retransmit Interval。重传(Retransmit)队列中的OSPF数据包,在重传前等待的时间。默认为5s。n HelloTimer:此计时器超时

54、以后便从此接口发送一个Hello包HelloIntervaln Neighboring Routers:只显示adjacent的Router IDn AuType:Null、Simple、Password、Cryptographic(MD)n Authentication Key:64位密码2) Interface State Machine 接口状态机接口在变为完全可用之前,会经历若干状态的变化:n Down:接口的初始状态。当接口在此状态下是不可用的。其所有的parameter都设为初始值,接口上没有流量收发。n Point-to-point:在接口类型为point-to-point、vi

55、rtual link和point-to-multipoint时,其状态为point-to-point。在此状态下接口完全可用,定期发送Hello包,并试图和链路另一端建立毗邻(adjacency)。n Waiting:只有在broadcast和NBMA网络中才会出现此状态。在此状态下,接口会收发Hello包,并设置wait timer,试图确定DR和BDR。n DR:此接口成为DR。在此状态下,试图在网络中和其他的router建立毗邻(adjacency)。n BDR:此接口为BDR,并试图和DROther建立毗邻。n DROther:此接口不是DR也不是BDR,在此状态下,接口试图和DR以及

56、BDR建立毗邻。n Loopback:接口被硬件或者软件环回了,此接口的IP地址仍被Router LSA通告。7. OSPF Neighbors(P14)1) 邻居关系的最终目的是建立毗邻(adjacency),并于其上传送路由信息2) 建立毗邻(adjacency)的作用在于:建立2-way以后进行数据库同步。DDP(DBD)、LSR、LSU和LSAck包在同步过程中被使用来确保数据信息的一致性。为了让两个router建立毗邻(adjacency),其中有一个便会成为master,另一个成为slave。Master控制DDP(DBD)的交换。3) 邻居关系的建立和维护是通过Hello包的交换

57、实现的。n 在broadcast和point-to-point网络中,Hello被发送到224.0.0.5。n 在NBMA、point-to-multipoint和virtual link网络中,Hello包被以单播形式发送到各个邻居。于是在这样的网络中,必须首先通过手动或自动配置知道其邻居的存在。n 在每种网络类型中,Hello包都以HelloInterval的周期发送,只有一种情况例外:在NBMA网络中,router会向其状态为Down的邻居以PollInterval(Cisco默认为120s)的时间间隔发送Hello包。4) Neighbor Data Structure使用命令show ip ospf

温馨提示

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

评论

0/150

提交评论