JUNOS Books on Oreilly

Junos Security

http://oreilly.com/catalog/0636920001317

JUNOS Enterprise Switching

http://oreilly.com/catalog/9780596153984

Junos Enterprise Routing, Second Edition

http://oreilly.com/catalog/0636920015963

JUNOS Cookbook

http://oreilly.com/catalog/9780596100148

Network Mergers and Migrations – Junos Design and Implementation下载

又一个月没上来更新了,放本书上来,补偿一下关注的朋友们。虽然Wordpress上的存放空间本来就不多,放几本书还是可以的吧,我以为。

Network Mergers and Migrations – Junos Design and Implementation 点击下载

Google Books 在线阅读版本

This book provides a complete reference to network mergers and migrations using the Junos operating system

Network Mergers and Migrations provides readers with a comprehensive guide for network migration activities by detailing a variety of internetworking case studies. Both enterprise and service provider scenarios are examined based on the experience and expertise of two senior Juniper Networks engineers. From MPLS Layer 3 VPN migration approaches to comprehensive network protocol consolidation and integration, each case study covers planning, design and implementation, as well as discussing alternatives and leveraging additional specific services and Junos resources, to ensure successful completion at each migration phase. These case studies are complemented with solid state-of-the-art protocol analysis and with practical application notes focused on specific functionalities. Readers are shown, not told, how to accomplish one of the more critical tasks of modern day networking – merging two or more networks or migrating one into the other. This is a book that truly describes the challenges that involve networks in modern environments, in both enterprise and service provider milieus.

Key Features:

    Provides an invaluable reference for engineers needing to upgrade networks, consolidate activities, or deploy new features or services.
    Contains case studies and application notes of network migrations, moving well beyond theoretical technology descriptions.
    Offers advanced techniques from engineers who have planned, designed, and accomplished complicated internetwork migrations, offering lessons learned from their success stories and pitfall situations.
    Covers specific Junos resources for routing tables, link-state interior gateway protocols, BGP, MPLS label distribution protocols, MPLS Layer 3 VPN and many more Junos related features and functionalities

Network Mergers and Migrations will be of immense interest to network engineers, network designers, architects, and operators, as well as network planners and consultants. Networking engineering students will discover a treasure trove of real-world scenarios and solutions and the book is additional recommended reading for students pursuing Juniper Networks Technical Certification Programs.

VDC与Logical Routers设计及部署最佳实践 Part1

总该写点原创性强一点的东西,不过同样不评论两种相似的虚拟化技术的优异,一项技术问世的时机以及后续的推广灰常重要,所谓来得早不如来得巧。逻辑路由器有完善的Features支持程度,而VCD一旦集合了NX-OS的VPC/LISP/FabricPath/OTV等特性,那么在云计算数据中心虚拟化程度越来越高的时候,同样有逻辑路由器无法实现的优势。从这一方面而言,VDC 正好抓住了很好的时机。

明显的,无论Cisco的Virtual Device Context (VDC)还是Juniper的Logical Routers均通过虚拟化技术,将物理设备划分成两台甚至更多的逻辑设备。试想一下,你很难想象IT投资者愿意非常乐意为了独立分离的1、2个端口而增加一台设备的采购。对了,通过划分VLAN似乎能解决。同时你要考虑到,采用VLAN划分的话可能会碰到两个挑战:

  1. VLAN采用二层接口隔离,当客户需要三层接口进行隔离的时候VLAN显得捉襟见肘 —— 当然你也可以说服客户采用一个VLAN SVI三层接口捆绑一个VLAN二层接口略显笨拙的形式;
  2. 马上第二个问题就来了,即便如此,对于设备而言这些VLAN相互间不但同时共享全局路由表,同时你需要为了实现真正的分离而不得不设计繁复的访问控制策略 —— 虽然实际上它们无法被真正分离;

此时,通过虚拟化,然后按需的将端口分配到划分出来的虚拟化设备上面,就显得非常吸引眼球了。另外,不要忘了每台虚拟出来的设备均可以被配置为独立管理的设备,就象一台独立物理设备一样。每台虚拟的逻辑设备均包含独立的控制层面,数据转发层面,以及独立的管理层面。因此,它们之间很容易的便能实现生成树,广播风暴,UDP泛洪等一堆乱七八糟的二层流量的隔离,将所有的相关类似失效机制限制在虚拟设备边缘。

所以,通过虚拟化的逻辑划分技术,Cisco与Juniper都提出了相关的解决方案,也就是所谓的Cisco Nexus™ 7000 Virtual Device Context (VDC),还是Juniper JUNOS的逻辑路由器 (Logical Routers) —— 不要怪我啰嗦,我得更多的命中关键字,以便你能Google出这篇文档;一方面在资源调配与整合上满足了IT投资者降低CPEX投资成本的需求;另一方面,通过容错与失效隔离机制使得一旦出现网络失效的时候,将影响限制在虚拟化设备边缘,满足了IT投资者降低OPEX运维成本的需求。

唐僧跑出来了:“弱弱的问一句,通过设置Pravite VLAN是不是也能满足隔离的要求?” Grrr… VLAN …. Who care? 偏执于现有技术可能让你连与客户见面说话的机会都木有,See?未来几天争取介绍几种VDC的设计与部署案例,争取吧~

Cisco Nexus™ 7000 VDC与Juniper逻辑路由器

五一节确实应该勤劳一点,当然按照惯例得先帖一段概述性语言,不单纯为了写blog,更重要的是以后用来写标书的时候还用得上。VDC与逻辑路由器的设计理念,其实大部分都相同,所以你完全可以参考两家的概念去描述同一个对象。同时,也没必要真的去比较谁更优秀或者谁先谁后的问题了,技术真正的价值在于应用部署而不仅仅在实验室内部。所以假如你之前了解过Juniper JUNOS上实现的逻辑路由器的概念,那么很容易就能将相关的经验迁移到Cisco N7K的VDC当中去。

由于维护不断扩大的IT基础设施不仅成本高昂,而且效率很低,因此很多企业都开始实施大规模的基础设施整合计划。虚拟化技术让IT部门可以在多个逻辑职能之间共享一台物理设备,最大限度地利用现有资源。这可以避免将整个设备专门用于单一职能,导致物理设备的利用率过低。

不同的虚拟化级别

根据故障遏制和管理分离的层次要求,可以对设备执行多种不同级别的虚拟化。决定网络设备虚拟化级别的主要组件包括:

  • 控制平面:创建多个独立控制平面例程的能力让用户可以创建多个逻辑拓扑和故障域。
  • 数据(或者转发)平面:用户可以通过对转发表和其他数据库进行分区,实现数据隔离。
  • 管理平面:可以为每个虚拟设备独立提供精简的管理环境。
  • 软件分区:可以将模块化软件进程合并到专门用于特定虚拟设备的分区之中,从而创建明确定义的故障域。
  • 硬件组件:用户可以对硬件组件进行分区,将某个分区专门用于特定的虚拟设备,从而以可预测的方式,将硬件资源分配给不同的虚拟设备。

Cisco Nexus™ 7000系列可以通过虚拟交换机技术(VDC),支持所有这些不同的虚拟化级别。VDC能够将专用软件进程和专用硬件组合到一起,在一个独立的管理上下文中提供虚拟的控制和数据平面。

对于虚拟化的需求

计算、存储和网络基础设施资源的容量和功耗在最近几年中大幅增加。与此同时,对于这些资源的需求也在不断增长。这两个因素导致分布式基础设施资源的迅速扩散,但同时也使得一些过剩的、没有得到充分利用的基础设施容量散布于整个网络之中。

随着需求的进一步增长,利用率低下的系统数量继续增多,进而形成极为庞大、复杂和昂贵的基础设施,以及高昂的投资开支(CapEx)和运营开支(OpEx)。另外,与供电、冷却和占地空间有关的成本也随着基础设施的扩大而增加。

图1. 通过采用合适的虚拟化技术逐渐降低运营开支

将多种职能整合到少量设备的能力可以简化系统架构,进而在不降低效率、利用率和可扩展性的前提下,减少需要执行的任务和需要维护的组件。这将最终可以提高企业的运营效率。在网络基础设施的虚拟化方面,VDC可以帮助企业将多个网络整合到一个统一的物理基础设施上,同时保持整合网络之间的运营独立性,同时提高设备的利用率。

虚拟设备上下文环境

Cisco Nexus 7000系列交换机可以根据业务需求划分为多个虚拟设备(如图2所示)。VDC能够真正地区分不同虚拟设备的网络流量,提供上下文级别的故障隔离,以及通过创建独立的硬件和软件分区实现有效的管理。

图2 虚拟设备上下文

整合的基础设施可以提高灵活性和简化运营。VDC能够通过降低功耗和空间要求,提高设备利用率,以及简化维护和加快维修速度,有效地节约投资开支和运营开支。

Cisco Nexus 7000系列交换机支持Cisco NX-OS操作系统。这是一种专为数据中心而设计的新型操作系统。Cisco NX-OS建立在Cisco IOS® 软件、Cisco® MDS 9000 SAN-OS软件和一些重要的收购成果的基础上,可以为VDC提供有力的支持,并能在设备级别实现交换机的虚拟化。对于该物理交换机框架中的连接用户而言,该系统所配置的每个VDC都会显示为一个不同的设备。VDC会作为一个单独的逻辑实体在交换机中运行,具有其自己独特的软件进程集,拥有独立的配置,并由一个单独的管理员负责管理。

Cisco Nexus 7000系列虚拟化网络设备的特性

  • 故障遏制是指防止某个虚拟设备上的问题影响运行于同一个物理设备上的其他虚拟设备。
  • 为每个虚拟设备设立独立的管理环境对于简化各种虚拟环境的运营和管理极为重要。管理用户的层次化结构要求限制某些操作人员只能使用特定的管理环境,或者这些管理环境的子集。
  • 在不同的虚拟设备之间灵活地区分和分配软件组件的能力非常重要。在OS内部,软件组件通常包括多个进程或者进程例程。Cisco NX-OS可以提供模块化的软件进程,而这种模块化对于实现VDC所需要的软件组件隔离和分配极为有用。
  • 为将硬件资源分配到特定的虚拟设备,需要灵活地区分硬件资源。遏制故障的程度在很大程度上取决于为不同虚拟设备隔离和分配硬件资源的能力。端口等资源可以专门用于某个VDC;在某个端口被分配给一个VDC之后,其他VDC就将无法使用该端口。
  • 一个硬件平台要想支持虚拟化,必须具备一定的可扩展性。在部署多个逻辑设备时,物理设备所需要管理的流量会大幅增加。Cisco Nexus 7000系列交换机的分布式架构,加上VDC的硬件分配能力,可以为硬件平台带来出色的智能扩展功能,最大限度地提高现有资源的利用率。

VDC的运行特性

VDC是交换机物理端口的一个子集

  • 使用一个独特的配置文件来定义设备的功能
  • 与其他VDC分开管理
  • 可被用于隔离同一个物理基础设施上支持的其他VDC的数据流
  • 支持同一交换机上不同VDC之间的进程独立性和故障隔离(如图3所示)

图3 VDC故障隔离

VDC的潜在应用案例

  • 为多个部门的流量提供安全的网络分区,让每个部门可以独立管理和维护其各自的配置
  • 整合数据中心内部的多个层次,以降低总体的投资开支和运营成本,提高资产的利用率。
  • 在生产网络的隔离VDC上测试新型配置或连接选项,从而大幅度缩短部署服务所需的时间。
  • 支持效用计算,让不同的客户以不同的SLA连接到隔离的网络域
  • 为网络管理员和操作人员的培训提供一个设备上下文环境,降低培训开支

为什么数据中心客户应投资于VDC

投资于数据中心的客户可以通过部署Cisco NX-OS中的VDC,获得显著的优势。

VDC能够通过创建多个逻辑交换机上下文,帮助数据中心客户划分物理交换机资源,从而提高虚拟化水平。此外,一些新推出的功能――例如在不同VDC之间重复使用ID(VLAN、虚拟路由转发[VRF]等)――可以实现真正独立的基础设施运营和扩展

为数众多的运营改进功能(例如故障和管理隔离)可以提高系统的可用性和加强隔离,从而为数据中心客户提供创新的网络服务。

VDC可以提供流量隔离功能,将交换机的物理资源的使用范围扩展到基本限制之外。这些范围广泛的优势可以为数据中心客户提供对下一代虚拟化技术的支持,帮助他们将Cisco Nexus 7000系列交换机的应用范围拓展到其物理限制之外。

学习笔记: Internet cheat sheets on PacketLife

Stretch@packetlife一直在blog上发布一系列技术Cheat Sheets ── 浓缩式技术笔记,或者是考试前提前准备的小抄。:-D 这些Cheat Sheets涵盖了包括BGP、IS-IS、OSPF、802.11、QoS……甚至Physical Terminations等各方面的内容,每一份都是一到两页纸的PDF文件,是很好的一套个人复习笔记。我个人并没有仔细阅读其中的内容,同时希望对您有所帮助。当然,Stretch所做的远远不止单纯发布学习笔记和Cheat Sheets,相对而言应当说这他的兴趣更为准确。详细的信息请参考Site Transition and Other Stuff.

另外,这些Cheat Sheets的国际版目前也正在寻找志愿协作人员,这里有一个BGP Cheat Sheet的法语版本。目前还没有找到中文简体版本的协作者,Stretch编辑的Cheat Sheets无论从界面,还是实用性上面取决于各人观念差异,相信仍然会吸引很大一部分网络工作人员的眼球。如果您有兴趣,可以联系Stretch,相信他会欢迎您的协助。PS: 考虑到版权原因,请到PacketLife上下载相关的资料,下面是相关资料截图 ──

Protocols – BGP

tn_BGP.pdf

Protocols – IS-IS

tn_IS-IS.pdf

Protocols – OSPF

tn_OSPF.pdf

Protocols – EIGRP / First Hop Redundancy

tn_EIGRP.pdftn_First_Hop_Redundancy.pdf

Protocols – IEEE 802.11 WLAN

tn_IEEE_802.11_WLAN.pdf

Protocols – IEEE 802.1x / IPsec

tn_IEEE_802.1X.pdftn_IPsec.pdf

Protocols – IPv4 Multicast / IPv6

tn_IPv4_Multicast.pdftn_IPv6.pdf

Protocols – Spanning Tree

tn_Spanning_Tree.pdf

Applications – Wireshark Display Filters

tn_Wireshark_Display_Filters.pdf

Reference – tcpdump / IOS IPv4 Access Lists

tn_tcpdump.pdftn_IOS_IPv4_Access_Lists.pdf

Reference – IPv4 Subnetting / Common Ports

tn_IPv4_Subnetting.pdftn_common-ports.pdf

Technologies – QoS

tn_QoS.pdf

Technologies – Frame Mode MPLS / VLANs

tn_Frame_Mode_MPLS.pdftn_VLANs.pdf

Miscellaneous – Cisco IOS Versions / Physical Terminations

tn_Cisco_IOS_Versions.pdftn_physical-terminations.pdf

Miscellaneous – Markdown / MediaWiki

tn_Markdown.pdftn_MediaWiki.pdf

Juniper/Cisco Interoperability Simulator – iJunOS

juniper-your-net1ITAA is offering the Juniper JUNOS and Cisco IOS interoperability simulating lab gear – iJunOS torrent for bt downloading now. iJunOS software subscriptions appliances deliver advanced routing and security in an affordable, flexible package that scales from the personal internetworking technology studying, lab practise to the multiple OS interoperability research.

NOTES: Related document is available in Simplified Chinese, and it runs on the VMware Player infrastructure as a plug-and-play packaged file.

And we DO NOT offer any system level installation and configuration supports. Bugs reporting will be acceptable by leaving comments under this post, yet adjusting recommendations is NOT guaranteed.

downloadsClick to Download:
ITAA iJunOS Version 3.0 Torrent

– Registration may be required.

JNCIP案例分析 – Juniper/Cisco OSPF互操作 Part7

JUNOS与IOS OSPF接口开销调节

kangaroo

  1. 基于带宽优化路由选择:保证所有快速以太网接口被自动分配Metric值为10,另外你需要手动调节Metric使R5到区域1的内部网段实现负载均衡;

我们先把第13个实验目标提前分析,JUNOS与IOS的OSPF参考带宽同为100Mbps,在之前的实验过程中IOS对于快速以太网接口开销值定义为10仅仅因为fa0/0接口与实验台交换机自动协商带宽为10Mbps,可以在接口下修复该配置,以下以R4为例,包含环回接口在内的4个OSPF接口当前开销值均被修改为1。

!
interface FastEthernet0/0.34
 bandwidth 100000
 encapsulation dot1Q 134
 ip address 10.0.2.6 255.255.255.252
 ip mtu 1496
 ip ospf message-digest-key 10 md5 jnx
!

r4#show ip ospf interface | include Cost
  Process ID 64, Router ID 10.0.3.4, Network Type
  LOOPBACK, Cost: 1
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 1
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 1
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 1

通过在所有OSPF路由器上修改参考带宽能够在全局修改链路开销值,除环回接口保持默认开销值,JUNOS环回接口默认开销为0;而IOS环回接口默认开销为1。所有快速以太网接口的开销值均设置为10,假如你使用输出导出符精确定位信息,注意JUNOS与IOS对大小写的区分行为。

[edit logical-routers]
nigel@itaa7.2# set r1 protocols ospf reference-bandwidth
1g 

nigel@itaa7.2#run show ospf interface logical-router r5
detail | match cost
Type: LAN, Address: 10.0.2.1, Mask: 255.255.255.252, MTU:
1496, Cost: 10
Type: LAN, Address: 10.0.2.9, Mask: 255.255.255.252, MTU:
1496, Cost: 10
Type: LAN, Address: 10.0.3.5, Mask: 255.255.255.255, MTU:
65535, Cost: 0
Type: LAN, Address: 10.0.8.6, Mask: 255.255.255.252, MTU:
1496, Cost: 10
Type: LAN, Address: 10.0.8.9, Mask: 255.255.255.252, MTU:
1496, Cost: 10

r4(config)#router ospf 64
r4(config-router)#auto-cost reference-bandwidth 1000
% OSPF: Reference bandwidth is changed.
        Please ensure reference bandwidth is consistent
        across all routers.

r4#show ip ospf interface | include Cost
  Process ID 64, Router ID 10.0.3.4, Network Type
  LOOPBACK, Cost: 1
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 10
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 10
  Process ID 64, Router ID 10.0.3.4, Network Type
  BROADCAST, Cost: 10

为了使R5能通过R3/R4实现进入区域1流量的负载均衡,我们需要手动调整R3/R4通告的10.0.4/22汇总LSA-3的Metric值。在R5的OSPF数据库内对比两者的LSA,由于JUNOS与IOS默认对汇总路由的Metric计算方式的差异,使得R5当前优选R4作为流量进入区域1的ABR。

nigel@itaa7.2# run show ospf database logical-router r5
lsa-id 10.0.4.0 detail                  

    OSPF link state database, area 0.0.0.0
 Type      ID      Adv Rtr  Seq      Age Opt Cksum Len
Summary 10.0.4.0 10.0.3.3 0x80000019 493 0x2 0xc451 28
  mask 255.255.252.0
  TOS 0x0, metric 20
Summary 10.0.4.0 10.0.3.4 0x8000001d 444 0x22 0x708a 28
  mask 255.255.252.0
  TOS 0x0, metric 10

有多种方式能够实现调整汇总路由Metric以达到负载均衡的目的,给出JUNOS与IOS各自最直接覆盖默认汇总路由开销值的解决方案。

[edit logical-routers]
nigel@itaa7.2# show r3 protocols ospf
area 0.0.0.1 {
        area-range 10.0.4.0/22 override-metric 30;
}

r4(config-router)#area 1 range 10.0.4.0 255.255.252.0
cost 30

nigel@itaa7.2# run show route logical-router r5
10.0.4/22 exact 

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

10.0.4.0/22        *[OSPF/10] 00:00:27, metric 40
                    > to 10.0.2.2 via fxp2.35
                      to 10.0.2.10 via fxp2.45

JNCIP案例分析 – Juniper/Cisco OSPF互操作 Part6

5. JUNOS与IOS OSPF/RIP重分布及路由策略协调

kangaroo

  1. R6/R7必须将10.0.5/24路由通告给RIP路由器,同时R7上通告的RIP路由Metric应大于R6上的通告;
  2. 172.16.40/24网段以OSPF内部路由的形式出现,该子网上不应存在OSPF邻接;

默认情况下,JUNOS会将直接重分布进入RIP的路由Metric值设置为1,而IOS则将来自任何协议重分布进RIP的Metric统一设置为16跳不可达Metric,在IOS上进行入向RIP重分布的时候总需要手动指定Metric值。由于之前的分解实验中已经讨论过JUNOS上从OSPF到RIP的重分布方式,这里仅快速列出R6上的相关配置。

[edit logical-routers]
nigel@itaa7.2# show r6 policy-options policy-statement
ospf-rip

term 1 {
    from {
        protocol ospf;
        route-filter 10.0.5.0/24 exact;
    }
    then accept;
}

[edit logical-routers]
nigel@itaa7.2# show r6 protocols rip
group rip {
    export ospf-rip;
    neighbor fxp1.60;
}
nigel@itaa7.2# run show route advertising-protocol rip
172.16.40.2 logical-router r6    

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

10.0.5.0/24        *[OSPF/150] 00:22:02, metric 14, tag 
                    420
                    > to 10.0.8.6 via fxp2.56

从R6通告给RIP的路由中顺带可以看到,作为转换LSA-7到LSA-5的NSSA ABR R4,IOS并没有将其本地外部路由的Metric带入骨干区域,而是保留了其初始的Metric值10,与JUNOS 8.5版本的行为相似。由于该外部路由的ASBR地址10.0.6.2经过域间汇总至10.0.4/22内,R3通告10.0.4/22汇总路由的Metric为2,因此在R6上的Metric值为10+2+2=14。同时,从IOS路由器R7将10.0.5/24网段重分布进入RIP的流程稍显复杂,为了验证RIP路由器同时从R6/R7上同时收到该段路由,我们要求R7向RIP注入Metric值同样为1的路由。

!
router rip
 version 2
 redistribute ospf 64 route-map ospf-rip
 network 172.16.0.0
!
access-list 2 permit 10.0.5.0 0.0.0.255
!
route-map ospf-rip permit 10
 match ip address 2
 set metric 1
!

而我们查看RIP路由器上的路由表的时候,却并没有发现同时出现两条10.0.5/24的条目,仅存在由R6通告过来的信息。而且我们在R1上采用默认的traceroute访问192.168.x/24网段能够返回成功的信息。由于我们并没有将除10.0.5/24以外的其他OSPF路由重分布到RIP里面,R1应当使用10.0.5.1作为traceroute源地址方能正常访问192.168.x/24网段。

nigel@itaa7.2# run show route logical-router rip
10.0.5/24    

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

10.0.5.0/24        *[RIP/100] 00:03:04, metric 2, tag 420
                    > to 172.16.40.2 via fxp2.60

nigel@itaa7.2# run traceroute 192.168.2.1 logical-router
r1

traceroute to 192.168.2.1 (192.168.2.1), 30 hops max,
40 byte packets

 1  10.0.4.13 (10.0.4.13)  1.168 ms  0.844 ms  1.150 ms
 2  10.0.2.1 (10.0.2.1)  1.094 ms  1.182 ms  1.160 ms
 3  10.0.8.5 (10.0.8.5)  1.314 ms  1.867 ms  1.747 ms
 4  192.168.2.1 (192.168.2.1)  5.232 ms  3.682 ms
     3.841 ms

在不存在其他后门链路的情况下,唯一能够解析的原因在于RIP路由器上存在10.0.5/24子网的汇总路由,R1发送到RIP路由器上的traceroute正是匹配了该汇总路由才能被返回。在172.16/16与10/8网络边缘,IOS路由器R7执行了自动汇总,10.0.5/24路由于是被自动汇总成为10.0.0.0/8主网路由,然后被通告到RIP路由器上面。我们通过查看RIP路由表能确认这点。

nigel@itaa7.2# run show route logical-router rip 10/8 

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

10.0.0.0/8         *[RIP/100] 00:08:31, metric 2, tag 0
                    > to 172.16.40.6 via fxp2.70
10.0.5.0/24        *[RIP/100] 00:09:21, metric 2, tag 420
                    > to 172.16.40.2 via fxp2.60

正是由于需要RIP支持无类路由,因此我们开始设置R7上RIP的时候便直接启用Version 2的RIP。关闭R7上的自动汇总,同时由于实验目标要求R7注入RIP的路由应该包含更大的Metric值,在route-map中我们将其调节为2。

!
router rip
 version 2
 redistribute ospf 64 route-map ospf-rip
 network 172.16.0.0
 no auto-summary
!
access-list 2 permit 10.0.5.0 0.0.0.255
!
route-map ospf-rip permit 10
 match ip address 2
 set metric 2
!

重新启动RIP路由器的路由进程,而问题却依然没有得到彻底解决,当RIP路由器收到来自R7的10.0.5/24明细路由后,原本从R6接收到的路由却消失掉。

nigel@itaa7.2# run restart routing logical-router rip
rip started, pid 4830

可能你已经能猜到,我们又回到了在R6上OSPF外部路由150与RIP 100的Preference冲突上。继续修正R6上的RIP导入策略。完成后为了尽快实现路由收敛,你可能需要清空R7的路由表以及重启R6/RIP的路由进程。制定策略的时候由于我们需要过滤从RIP路由更新注入同样为RIP路由协议的信息,此时默认策略为accept,因此我们需要增加term 2,将除192.168.x/24以外的其他路由明确拒绝掉。而对于IOS路由器R7,由于OSPF内部及外部路由的管理距离均为110,小于RIP的120,暂时不需要应用distribut-list in进行入向RIP路由过滤。

[edit logical-routers r6]
nigel@itaa7.2# show policy-options policy-statement
rip-ospf

term 1 {
    from {
        protocol rip;
        route-filter 192.168.0.0/21 orlonger;
    }
    then accept;
}

policy-statement rip-import {
    term 1 {
        from {
            protocol rip;
            route-filter 192.168.0.0/21 orlonger;
        }
        then accept;
    }
    term 2 {
        then reject;
    }
}

最后我们确定仅有10.0.5/24网段路由被注入RIP内部,在R1上分别使用10.0.5.1以及默认接口作为源地址对192.168.x/24网段进行traceroute,仅有当10.0.5.1作为源地址的时候traceroute才能成功。

nigel@itaa7.2# run traceroute 192.168.1.1 logical-router
 r1

traceroute to 192.168.1.1 (192.168.1.1), 30 hops max,
40 byte packets
 1  10.0.4.13 (10.0.4.13)  5.114 ms  1.243 ms  1.498 ms
 2  10.0.2.1 (10.0.2.1)  1.839 ms  2.311 ms  1.471 ms
 3  10.0.8.5 (10.0.8.5)  1.972 ms  2.019 ms  1.756 ms
 4  * * *
 8  *^C

nigel@itaa7.2# run traceroute 192.168.1.1 logical-router
r1 source 10.0.5.1

traceroute to 192.168.1.1 (192.168.1.1) from 10.0.5.1,
30 hops max, 40 byte packets
 1  10.0.4.13 (10.0.4.13)  1.414 ms  0.955 ms  1.458 ms
 2  10.0.2.1 (10.0.2.1)  1.378 ms  1.740 ms  1.786 ms
 3  10.0.8.5 (10.0.8.5)  1.916 ms  1.834 ms  1.877 ms
 4  192.168.1.1 (192.168.1.1)  2.527 ms  2.221 ms
     2.048 ms

相对而言,对于172.16.40.x网段的通告配置比较简单,利用JUNOS对OSPF内外路由的区分,最后在R5上通过检查两条路由的Preference确认为域内路由。

[edit logical-routers r6]
nigel@itaa7.2# set protocols ospf area 20 interface
fxp1.60 passive 

!
router ospf 64
 passive-interface FastEthernet0/0.70
 network 172.16.40.4 0.0.0.3 area 20
!

nigel@itaa7.2# run show route logical-router r5 172.16/16 

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

172.16.40.0/30     *[OSPF/10] 00:01:50, metric 2
                    > to 10.0.8.5 via fxp1.56
172.16.40.4/30     *[OSPF/10] 00:01:50, metric 11
                    > to 10.0.8.10 via fxp1.57
r7# show ip ospf interface fa0/0.70
FastEthernet0/0.70 is up, line protocol is up
  Internet Address 172.16.40.6/30, Area 20
  Process ID 64, Router ID 10.0.9.7, Network Type
  BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 10.0.9.7, Interface address
  172.16.40.6
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40,
  Wait 40, Retransmit 5
    oob-resync timeout 40
    No Hellos (Passive interface

JNCIP案例分析 – Juniper/Cisco OSPF互操作 Part5

4. JUNOS与IOS OSPF域间及域外地址汇总

kangaroo

  1. 汇总所有的非骨干区域路由进入骨干区域,包括内部路由以及外部路由;
  2. 汇总来自RIP路由器的192.168.x/24路由,但你不能修改RIP路由器上的配置;

到目前为止,我们需要汇总进入OSPF骨干区域的内部路由包括区域1与区域20内的网段,而外部路由仅包括从R1/R2重分布进OSPF的直连网段10.0.5/24网段路由。来自NSSA的外部路由仅有10.0.5/24一条,因此对于这条路由我们不需要对该网段进行汇总。我们可以将汇总的焦点放在两边非骨干区的OSPF内部地址汇总上,在之前的OSPF地址汇总实验中我们已经计算出两边网段的汇总地址分别是10.0.4/22及10.0.8/23;我们在3台ABR上分别应用汇总配置。值得借鉴的是,我们可以在JUNOS上通过应用area-range命令的restrict参数批量过滤OSPF域间路由,相应的在IOS上同样可以在该命令后应用not-advertise达到相同的效果。而在IOS中,对于域间汇总路由的Metric计算直接采用ABR所在汇总区域接口的开销值,另外我们也能通过cost参数进行定义。

[edit logical-routers]
nigel@itaa7.2# show r5 protocols ospf area 20
area-range 10.0.8.0/23;

[edit logical-routers]
nigel@itaa7.2# show r3 protocols ospf area 1
nssa {
    default-lsa {
        default-metric 1;
        type-7;
    }
    no-summaries;
}
area-range 10.0.4.0/22;
r4#conf t
Enter configuration commands, one per line.
End with CNTL/Z.
r4(config-router)#area 1 range 10.0.4.0 255.255.252.0
r4(config-router)#area 1 range 10.0.4.0 255.255.252.0 ?
  advertise        Advertise this range (default)
  cost             User specified metric for this range
  not-advertise    DoNotAdvertise this range
  <cr>

同样,可以在骨干区域路由器上查看两边非骨干区域的明细网段是否仅匹配路由表内的汇总路由,从而确认地址汇总被成功配置。我们将查询两边区域内的直连网段路由及各路由器的环回接口网段:在R4上分别查询10.0.8.0与10.0.9.0两个网段,均匹配10.0.8/23路由;另一方面,我们在R5上分别查询10.0.4.0及10.0.6.0两个网段,均匹配10.0.4/22路由。

r4#show ip route 10.0.8.0
Routing entry for 10.0.8.0/23
  Known via "ospf 64", distance 110, metric 12,
  type inter area
  Last update from 10.0.2.9 on FastEthernet0/0.45,
  00:27:09 ago
  Routing Descriptor Blocks:
  * 10.0.2.9, from 10.0.3.5, 00:27:09 ago,
  via FastEthernet0/0.45
      Route metric is 12, traffic share count is 1

r4#show ip route 10.0.9.0
Routing entry for 10.0.8.0/23
  Known via "ospf 64", distance 110, metric 12,
  type inter area
  Last update from 10.0.2.9 on FastEthernet0/0.45,
  00:27:16 ago
  Routing Descriptor Blocks:
  * 10.0.2.9, from 10.0.3.5, 00:27:16 ago,
  via FastEthernet0/0.45
      Route metric is 12, traffic share count is 1
nigel@itaa7.2# run show route logical-router r5 10.0.6.0    

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

10.0.4.0/22        *[OSPF/10] 00:17:42, metric 3
                    > to 10.0.2.2 via fxp2.35

nigel@itaa7.2# run show route logical-router r5 10.0.4.0    

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

10.0.4.0/22        *[OSPF/10] 00:17:44, metric 3
                    > to 10.0.2.2 via fxp2.35

需要注意的是尽管对于区域1的地址汇总,尽管10.0.4/22包含10.0.5/24网段,然而由于10.0.5/24网段采用域外路由的形式注入OSPF,作为域间路由汇总的area-range并不会将域外及域间路由混合在同一条汇总路由内通告,因此在R5上我们仍然能够接收到10.0.5/24网段路由,而且其依然保留域外路由的Preference。

nigel@itaa7.2# run show route logical-router r5 10.0.5.0    

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

10.0.5.0/24        *[OSPF/150] 00:19:40, metric 13,
                    tag 420
                    > to 10.0.2.2 via fxp2.35

下一步我们开始对来自RIP的192.168.x/24域外路由进行汇总,在实验目标中明确提出不允许通过修改RIP路由器的配置来实现路由汇总,我们需要在R6与R7上通过RIP接收全部明细路由后再汇总重分布进入OSPF域内。先在JUNOS路由器R6和IOS路由器R7上完成RIP的基本配置,并确认两者RIP路由表同步。

[edit logical-routers r6]
nigel@itaa7.2# show protocols rip
group rip {
    neighbor fxp1.60;
}
r7#wr t
!
router rip
 version 2
 network 172.16.0.0
!
nigel@itaa7.2# run show route logical-router r6 protocol
rip 

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

192.168.0.0/24     *[RIP/100] 00:22:22, metric 2, tag 0
                    > to 172.16.40.1 via fxp1.60
192.168.1.0/24     *[RIP/100] 00:22:22, metric 2, tag 0
                    > to 172.16.40.1 via fxp1.60
192.168.2.0/24     *[RIP/100] 00:22:22, metric 2, tag 0
                    > to 172.16.40.1 via fxp1.60
192.168.3.0/24     *[RIP/100] 00:22:22, metric 2, tag 0
                    > to 172.16.40.1 via fxp1.60
192.168.4.0/24     *[RIP/100] 00:22:22, metric 2, tag 0
                    > to 172.16.40.1 via fxp1.60
224.0.0.9/32       *[RIP/100] 00:22:32, metric 1
                      MultiRecv

r7# show ip route rip
R    192.168.4.0/24 [120/1] via 172.16.40.5,0:34,Fa0/0.70
R    192.168.0.0/24 [120/1] via 172.16.40.5,0:34,Fa0/0.70
R    192.168.1.0/24 [120/1] via 172.16.40.5,0:34,Fa0/0.70
R    192.168.2.0/24 [120/1] via 172.16.40.5,0:34,Fa0/0.70
R    192.168.3.0/24 [120/1] via 172.16.40.5,0:34,Fa0/0.70

此时我们有机会比较JUNOS与IOS在对OSPF域外路由汇总上采取的不同的路径,JUNOS先将RIP明细路由通过Aggregate进行汇总,在把汇总后的Aggregate路由通过策略重分布进入OSPF;而IOS则直接将RIP明细路由重发布进入OSPF内,下一步使用summary-address将域外路由在OSPF协议内部进行汇总。相比之下,JUNOS的配置量似乎大得多,其实情况不一定正如看上去那么完美。

[edit logical-routers r6]
nigel@itaa7.2# show routing-options
aggregate {
    route 192.168.0.0/21;
}

[edit logical-routers r6]
nigel@itaa7.2# show policy-options
policy-statement rip-ospf {
    term 1 {
        from {
            protocol aggregate;
            route-filter 192.168.0.0/21 exact;
        }
        then accept;
    }
}

r7(config-router)#router ospf 64
r7(config-router)#redistribute rip subnets
r7(config-router)#summary-address 192.168.0.0
255.255.248.0

查看R5上的OSPF数据库,同时从R6/R7上均收到汇总后的192.168/21域外LSA-5,似乎与我们设想中的结果吻合。而当我们进一步查看R5上的全部域外LSA的时候,却发现从R7上注入了172.16.40.4/30这条额外的LSA,在下一个实验目标中明确规定该网段应当以域内路由的形式出现在OSPF内。由于我们在IOS上进行RIP到OSPF重分布的时候并没有做任何地址限制,因此172.16.40.4/30作为R7上RIP数据库内的路由随同192.168.x/24路由被重分布进OSPF内。

nigel@itaa7.2# run show ospf database logical-router r5
lsa-id 192.168.0.0

    OSPF AS SCOPE link state database
 Type     ID         Adv Rtr  Seq	   Age Opt Cksum Len
Extern 192.168.0.0 10.0.9.6 0x80000001  50 0x2 0x5007 36
Extern 192.168.0.0 10.0.9.7 0x80000005 109 0x2 0x47d8 36

nigel@itaa7.2# run show ospf database logical-router r5
extern

    OSPF AS SCOPE link state database
 Type     ID         Adv Rtr  Seq	   Age Opt Cksum Len
Extern 10.0.5.0    10.0.3.4 0x80000005 887 0x2 0x341b 36
Extern 172.16.40.4 10.0.9.7 0x80000001 366 0x2 0xaaf5 36
Extern 192.168.0.0 10.0.9.6 0x80000001 147 0x2 0x5007 36
Extern 192.168.0.0 10.0.9.7 0x80000005 206 0x2 0x47d8 36

r7#show ip rip database
172.16.0.0/16    auto-summary
172.16.40.4/30   directly connected, Fa0/0.70

显然我们还需要对IOS追加地址过滤的配置,其目的不单纯为了满足实验目标的需求,更重要的是防止在多点双向重分布的网络中形成路由倒灌而产生环路的潜在危险,详见前面的章节。而最简单快速的方式便是access-listroute-map组合在一起,然后将route-map绑定到redistribute命令中。下面的route-map写得不太直观,然而只要你对IOS策略路由的逻辑是否关系有清晰的了解,应该不会感到疑惑。重新应用redistribut,R5上已经不存在172.16.40.4/30的外部LSA-5。

!
access-list 1 permit 172.16.40.4 0.0.0.3
!
route-map rip-import deny 10
 match ip address 1
!
route-map rip-import permit 20
!

r7(config-router)#redistribute rip subnets route-map
rip-import

nigel@itaa7.2# run show ospf database logical-router r5
extern

    OSPF AS SCOPE link state database
 Type     ID         Adv Rtr  Seq	   Age Opt Cksum Len
Extern 10.0.5.0    10.0.3.4 0x80000006 960 0x2 0x321c 36
Extern 192.168.0.0 10.0.9.6 0x80000002 372 0x2 0x4e08 36
Extern 192.168.0.0 10.0.9.7 0x80000006 368 0x2 0x45d9 36