JNCIP实验: OSPF NSSA区域外部路由负载均衡

这是JNCIPOSPF部分第三个实验模块:OSPF NSSA区域配置的最后一个主题,先将之前的几个主题按序归纳一下,这次没什么新意,还是把袋鼠再请出来。
kangaroo

  1. OSPF NSSA区域配置 – Part 1
  2. OSPF NSSA区域配置 – Part 2
  3. OSPF Metric Mania – LSA Type 7 to Type 5
  4. OSPF NSSA Metric Mania – JUNOS 7.2/8.5

配置JUNOS OSPF接口开销 (Metric/Cost)

既然了解了NSSA域外路由的Metric计算原则,我们便可以通过手工指定R1与R3之间的链路在OSPF上的开销,使R5同时利用两台ABR R3/R4通过负载均衡发送数据包到3/8区域外部路由IP网段上面。指定OSPF Metric的时候需要注意,采用独立SPF算法的链路状态路由协议,包括OSPF和ISIS使用的都是异步路由 (Asynchronous Routing) 计算,连接在同一条链路上面的两端OSPF邻居并不要求对该链路设置相同的开销。根据实验需求,我们只需要保证从R5到R1的流量方向上所有流量流出接口的Metric累加和相同即可实现负载均衡。特别是当网络拓扑中不存在明显的要求流量双向实现负载需求的时候,同时调节两端路由器接口的Metric值往往并非明智的选择。因此,我们仅仅在R3上把R1与R3之间的Metric修改为2。

[edit logical-routers]
nigel@junos7.2# set r3 protocols ospf area 10 interface
fxp2.13 metric 2

nigel@junos7.2# run show route logical-router r5 3/8 

inet.0: 23 destinations, 23 routes (23 active,
0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

3.0.0.0/8         *[OSPF/150] 00:00:00, metric 15, tag 0
                    to 10.0.2.2  via fxp2.35
                  > to 10.0.2.10 via fxp2.45

配置JUNOS NSSA区域外部路由Per-Packet Load balancing

另外,我们需要指定转发策略,修改R5对于3/8目标网段的转发行为,并且把转发策略hash绑定至R5的Forwarding Table上面。关于JUNOS per-packet load balancing配置之前已经提及,这里不在重复阐述,仅列出实验配置。

policy-options {
    policy-statement hash {
        term 1 {
            from {
                protocol ospf;
                route-filter 3.0.0.0/8 exact;
            }
            then {
                load-balance per-packet;
                accept;
            }
        }
    }
}

nigel@junos7.2# set r5 routing-options forwarding-table
export hash

重新查看R5的转发表,R5将同时使用两个接口最到达目标网段3/8的流量进行负载均衡。为了达到最好的显示效果,我们在R1上建立一个fxp1.38接口,并且赋予一个3.0.0.1/30的固定IP地址,最后,traceroute确定修改转发策略成功应用到R5上面。

nigel@junos7.2# run show route forwarding-table | find r5
Logical router: r5
Routing table: inet
Internet:
Destination Type RtRef Next hop  Type Index NhRef Netif
default     perm     0           dscd   398     1
3.0.0.0/8   user     0           ulst 131070    1
                       10.0.2.2  ucst   645     4 fxp2.35
                       10.0.2.10 ucst   640     8 fxp2.45
......
<!--output omitted-->

nigel@junos7.2# run traceroute 3.0.0.1 logical-router r5
traceroute to 3.0.0.1 (3.0.0.1), 30 hops max,
40 byte packets
 1  10.0.2.2 (10.0.2.2)
    1.406 ms 10.0.2.10 (10.0.2.10)  0.751 ms  0.862 ms
 2  3.0.0.1 (3.0.0.1)
    0.949 ms  0.948 ms 10.0.4.10 (10.0.4.10)  0.797 ms

[edit logical-routers]
nigel@junos7.2# run traceroute 3.0.0.1 logical-router r5
traceroute to 3.0.0.1 (3.0.0.1), 30 hops max,
40 byte packets
 1  10.0.2.10 (10.0.2.10)
    1.784 ms 10.0.2.2 (10.0.2.2)  1.701 ms  2.369 ms
 2  10.0.4.10 (10.0.4.10)
    2.166 ms  3.002 ms 3.0.0.1 (3.0.0.1)  2.390 ms

实验的最后一个需求为保证区域0.0.0.10内所有路由器能够到达所有OSPF域间路由以及其他外部路由网段上。我们之前已经通过R3/R4向NSSA注入默认路由。我们可以在R1/R2上对远端的R6以及在JNCIP OSPF的第二个实验模块:JUNOS OSPF域外(外部)路由/LSA当中,通过R7重分布进入OSPF的200.200/24网段进行traceroute,完成最后测试。记得因为我们并没有分配一个确实存在于200.200/24网段内的目的IP地址,返回!H目标不可达信息是正确的回复确认。

nigel@junos7.2# run traceroute 10.0.9.6 
logical-router r1

traceroute to 10.0.9.6 (10.0.9.6), 30 hops max,
40 byte packets
 1  10.0.4.13 (10.0.4.13)
    1.872 ms  2.077 ms  0.782 ms
 2  10.0.2.1 (10.0.2.1)
    1.951 ms  2.445 ms  2.289 ms
 3  10.0.9.6 (10.0.9.6)
    2.298 ms  2.887 ms  2.110 ms

[edit logical-routers]
nigel@junos7.2# run traceroute 10.0.9.6 
logical-router r2

traceroute to 10.0.9.6 (10.0.9.6), 30 hops max,
40 byte packets
 1  10.0.4.9 (10.0.4.9)
    1.666 ms  2.465 ms  1.535 ms
 2  10.0.2.9 (10.0.2.9)
    1.973 ms  2.463 ms  2.444 ms
 3  10.0.9.6 (10.0.9.6)
    3.242 ms  2.511 ms  2.685 ms

[edit logical-routers]
nigel@junos7.2# run traceroute 200.200.0.1
logical-router r1

traceroute to 200.200.0.1 (200.200.0.1), 30 hops max,
40 byte packets
 1  10.0.4.13 (10.0.4.13)
    1.072 ms  1.858 ms  1.084 ms
 2  10.0.2.1 (10.0.2.1)
    1.562 ms  1.862 ms  1.394 ms
 3  10.0.8.10 (10.0.8.10)
    2.402 ms  2.285 ms  1.829 ms
 4  10.0.8.10 (10.0.8.10)
    1.690 ms !H  2.792 ms !H  2.053 ms !H

[edit logical-routers]
nigel@junos7.2# run traceroute 200.200.0.1
logical-router r2

traceroute to 200.200.0.1 (200.200.0.1), 30 hops max,
40 byte packets
 1  10.0.4.9 (10.0.4.9)
    1.894 ms  1.331 ms  1.078 ms
 2  10.0.2.9 (10.0.2.9)
    1.659 ms  2.495 ms  1.488 ms
 3  10.0.8.10 (10.0.8.10)
    1.739 ms  2.180 ms  1.746 ms
 4  10.0.8.10 (10.0.8.10)
    1.881 ms !H  2.193 ms !H  2.148 ms !H

One thought on “JNCIP实验: OSPF NSSA区域外部路由负载均衡

  1. JNCIP实验视频: JUNOS OSPF路由汇总及LSA管理03 « JUNIPER JUNOS & CISCO IOS 互联路由

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s