第 一 章 : 路 由 选 择 原 理
1.1路由选择基础知识
路由是将对象从一个地方转达发到另一个地方的一个中继过程
学习和维持网络拓朴结构知识的机制被认为是路由功能。渡越数据流经路由器进入接口
穿过路由器被移送到外出接口的过程,是另一项单独的功能,被认为是交换/转发功能。路由设备必须同时具有路由和交换的功能才可以作为一台有效的中继设备。
为了进行路由,路由器必须知道下面三项内容:
l路由器必须确定它是否激活了对该协议组的支持;
l路由器必须知道目的地网络;
l路由器必须知道哪个外出接口是到达目的地的最佳路。
路由选择协议通过度量值来决定到达目的地的最佳路径。小度量值代表优选的路径;如果两条或更多路径都有一个相同的小度量值,那么所有这些路径将被平等地分享。通过多条路径分流数据流量被称为到目的地的负载均衡。
执行路由*作所需要的信息被包含在路由器的路由表中,它们由一个或多个路由选择协议进程生成。路由表由多个路由条目组成,每个条目指明了以下内容:
l学习该路由所用的机制(动态或手动)
l逻辑目的地
l管理距离
l度量值(它是度量一条路径的总"总开销"的一个尺度)
l去往目的地下一HOP的中继设备(路由器)的地址;
l路由信息的新旧程度
l与要去往目的地网络相关联的接口
使用命令SHOW IP ROUTE可看到以上内容
缺省管理距离的预先分配原则是:人工设置的路由条目优先级高于动态学到路由条目,度量值算法复杂的路由选择协议优先级高于度量值算法简单的路由选择协议。
路由器一般选择具有最小度量值的路径;CISCO路由器的IP环境中如果同时出现了多条度量值最低且相同的路径,那么在这多条路径上将启用负载均衡,C ISCO默认支持4条相同度量值的路径,通过使用"maximum-paths"命令可以认CISCO路由器支持最多达6条相同度量值路径。
RIP是一种用在小到中型TCP/IP网络中采用的路由选择协议,它采用跳数作为度量值,它的负载均衡功能是缺省启用的,RIP决定最佳路径时是不考虑带宽的!!!
IGRP是一种用在中到大型TCP/IP网络中采用的路由选择协议,它采用复合的度量值,它考虑了带宽、延迟、可靠性、负载和最大传输单元(M TU),但缺省地使用了带宽和延时值。IGRP也能进行负载均衡
在路由器启动之后,它立刻试图与其相邻路由设备建立路由关系。该初始通信的目的是为了识别相邻设备,并且开始进行通信并学习网络相结构。建立相邻关系的方法和对拓朴结构的初始学习随路由选择协议的不同而不同。
路由选择协议会交换定期的HELLO消息或定期的路由更新数据包,以维持相邻设备间进行着通信。
在了解了网络拓朴结构,且路由表中已包含了到已知地网络的最佳路径后,向这些目的地的数据转发就可以开始了;)
1.2 路由选择协议
有类别路由选取择(classful routing)概述
不随各网络地址发送子网掩码信息的路由选择协议被称为有类别的选择协议(RIPv1、IGRP)
当采用有类别路由选择协议时,属于同一主类网络(A类、B类和C类)有所有子网络都必须使用同一子网掩码。运行有类别路由选择协议的路由选择协议的路由器将执行下面工作的一项以确定该路由型网络部分:
l如果路由更新信息是关于在接收接口上所配的同一主类网络的,路由器将采用配置在接口上的子网掩码;
l如果路由更新是关于在接收接口上所配的不同主类的网络的,路由器将根据其所属地址类别采用缺省的子网掩码。
有类别归纳路由的生成是由有类别路由选择协议自动处理的
无类别路由选择(classless routing)概述
无类别路由选择协议包括开放最短路径优先(OSPF)、EIGRP、RIPV2、中间系统到中间系统(IS-IS)和边界网关协议版本4(BGP4)。
在同一主类网络中使用不同的掩码长度被称为可变长度的子网掩码(VLSM)。无类别路由选择路由选择协议支持VLSM,因此可以更为有效的设置子网掩码,以满足不同子网对不同主机数目的需求,可以更充分的利用主机地址。
多数距离矢量型路由选择协议产生的定期的、例行的路由更新只传输到直接相连的路由设备。
在纯距离矢量型路由环境中,路由更新包括一个完整的路由表,通过接收相邻设备的全路由表,路由能够核查所有已知路由,然后根据所接收到的更新信息修改本地路由表。解决路由问题的距离矢量法有时被称为" 传闻路由(routing by rumor)"
CISCO IOS支持几种距离矢量型路由选择协议,凶手RIPv1、RIPv2和IGRP。CISCO也直持EIGRP,它是一种高级的距离矢量型路由选择协议。
路由选择协议通常与协议组的网络层关联
大多数距离矢量型路由选择协议采用贝乐曼-福特(Bellman-Ford)算法来计算路由。EIGRP是一种高级的距离矢量路由协议,它采用弥散修正算法(D UAL)
Cisco的IP距离矢量型路由选择协议的比较
特征RIPv1RIPv2IGRPEIGRP
计数到无限XXX
横向距离XXXX
抑制计时器XXX
触发式更新,路由反向 XXXX
负载均衡-等成本路径XXXX
负载均衡-非等成本路径XX
VLSM支持XX
路由算法贝尔曼-福特贝尔曼-福特贝尔曼-福特DUAL
度量值跳数跳数复合复合
跳数限制1515100100
易扩展性小小中大
注:IGRP和EIGRP的跳数限制缺省为100,但是可以配置到最大为255。
链路状态型路由选择协议只当网络拓朴结构发生变化时才生成路由更新数据包。当链路状态发生变化时,检测到这一变化的设备就生成一个关于该链路(路由)的链路状态通告(L SA)。随后LSA通过一个特殊的多目组播地址被传播给所有相邻设备。每台路由设备都会保留LSA拷贝,并向其相邻设备转发该LSA(这个过程变称为扩散f looding)然后更新其拓朴结构数据库(这是一个包含网络所有链路状态信息表)。LSA扩散被用于确保所有路由设备都能了解到这个变化,这样它们就能够更新它们的数据,并生成一个更新过的、反映新的网络拓朴结构的路由表。
Cisco的链路状态型路由选择协议的比较
特征OSPFIS-ISEIGRP
要求体系化拓朴结构XX
保留对所有可能路由的了解XXX
路由归纳-人工XXX
路由归纳-自动X
事件触发式通告XXX
负载均衡-等成本路径XXX
负载均衡-非等成本路径X
VLSM支持XXX
路由算法DijkstraIS-ISDUAL
度量值链路成本(带宽)链路成本(带宽)复合
跳数限制无1024100
易扩展性大很大大
各路由器中的路由进程都必须留有到各可能目的地逻辑网络的无环路单路径,当所有路由表都达到同步,且每个路由表都包含有到各目的地网络的一条可用路由时,网络就达到了收敛状态。收敛是在网络拓朴结构发生变化后,比如增加了新的路由或现有路由的状态发生了变化后,与路由表同步相关联的活动。
收敛时间是网络中所有路由对当前拓朴结构的认知达到一致所需的时间,网络的大小、所使用的路由选择协议以及众多可配置的计时器都能够影响收敛时间。
有两种检测的方法:
l当物理层或数据链路层没能接收到一定数量(通常是3)的连续keepalive消息时,就认为该链路失效。
l当路由选择协议没能接收到一定数量(通常是3)的连续Hello消息或路由更新或相类似消息时,就认为该链路失效了。
大多数路由选择协议都具有防止在链路状态转换过程中产生拓朴结构环路用的计时器。
第 二 章 扩 展 I P 地址
Internet的发展快的令人难以置信。这种迅猛发展导致了地址方面的两大挑战:
lIP地址的耗尽
l路由表的增长和可管理性
IP寻址解决方案:
通过在IP地址中启用更多的分级层来减慢IP地址的消耗及减少Internet路由表条目的
量。这些解决方案包括:
l子网掩码
l私有网络的地址分配
l网络地址转换(NAT)
l体系化编址
l可变长度子网掩码(VLSM)
l路由归纳
l无类别域间路由(CIDR)
IP地址所属类别:
地址的第一字节(十进制)地址类别
1~126A类
128~191B类
192~223C类
224~239D类
240~255E类
D类地址还没有被广泛使用,它是多目组播地址;一些路由选择协议所使用的D类多目组播地址如下:
OSPF-----224.0.0.5和224.0.0.6
RIPv2-----224.0.0.9
EIGRP----224.0.0.10
体系化编址:
体系化编址很像我们打电话一般,每个电话局并不需要知道全国的电话号码,你打电话如果第一位不是0的话总机就到自己的电话条目中找到链路然后接过, 如果是0,那么它就看是那个区号,比如是0791-6221155,它就把这信息传给南昌电话局(0791)由南昌话局找到6221155这链路并接通,这样自己的总机就不需要存有外地的话条目了, 让别人也有口饭吃吧J,原理同样可以用在路由器中.
体系化编址的优点:
l减少路由条目的数量
路由归纳是当我们采用了一种体系化编址规划后的一种用一个IP地址代表一组IP地址的集合的方法.通过对路由进行归纳,我们能够将路由表条目保持为可管理的, 而它可以带来以下益处:
------提高路由(转发)效率;
------当重新计算路由表或通过路由表条目检索一个匹配时,所需的CPU周期数减少了;
------降低了对路由器的内存需求
------在网络发生变化时可以更快的收敛
------容易排错
l有效的地址分配
体系化编址使我们能够利用所有可能的地址,因为我们的地址分组是连续的;
可变长度子网掩码 (VLSM)
VLSM提出供了在一个主类(A、B、C类)网络内包含多个子网掩码的能力,以及对一个子网的再进行子网划分的能力。它的优点如下:
l对IP地址更为有效的使用-如果不采用VLSM,公司将被限制为在一个A、B、C类网络号内只能使用一个子网掩码;
l就用路由归纳的能力更强-VLSM允许在编址计划中有更多的体系分层,因此可以在路由表内进行更好的路由归纳。
路由归纳
在大型互连网络中,存在着成百上千的网络。在这环境中,一般不希望路由器在它的路由表中保存所有的这些路由。路由归纳(也被子称为路由聚合或超网s upernetting)可以减少路由器必须保存的路由条目数量,因为它是在一个归纳地址中代表一系列网络号的一种方法。
在大型 、复杂的网络中使用路由归纳的另一个优点是它可以使其它路由器免受网络拓朴结构变化的影响。
只有在就用了一个正确的地址规划时,路由归纳才能可行和最有效,在子网环境中,当网络地址是以2的指数形式的连续区块时,路由归纳是最有效的。
路由选择协议根据共享网络地址部分来归纳或聚合路由。无类别路由选择协议---OSPF和EIGRP-支持基于子网地址,包括VLSM编者按址的路由归纳。有类别路由选择协议- RIPv1和IGRP-自动地在有类别网络的边界上归纳路由。有类别路由选择协议不支持在任何其它比特边界上的路由归纳,而无类别路由选择协议支持在任何比特边界上的路由归纳。
因为路由表的条目少了,路由归纳可以减少对路由器内存的占用,减少路由选择协议造成的网络流量。要使网络中的路由归纳能够正确的工作,必须满足下面要求:
l多个IP地址必须共享相同的高位比特;
l路由选择协议必须根据32比特的IP地址和高达32比特的前缀长度来作出路由转发决定
l路由更新必须将前缀长度(子网掩码)与32比特的IP地址一起传输。
Cisco路由器中路由归纳的*作
CISCO通过以下两种方法来管理路由归纳:
l发送路由归纳
l从路由归纳中选择路由
地址不连续的子网是指由其它不同的主类网络所分开的同一主类网络中的一些子网
路由选择协议对路由归纳的支持情况
协议是否在有类别网络边界自动归纳?能否关闭自动归纳是否能够在的类别网络边界之外进行归纳
RIPv1是否否
RIPv2是是否
IGRP是否
EIGRP是是是
OSPF否--是
无类别域间路由(CIDR)
CIDR是开发用于帮助减缓IP地址和路由表增大问题的一项技术。CIDR的理念是多个C类地址块可以被组合或聚合在一起生成更大的无类别I P地址集(也就是说允许有更多的主机)。成块的C类地址是分配给各个ISP的
在串行接口上使用无编号IP地址
要在不给接口分配一个明确IP地址的前提出下在串行接口上启用IP处理功能,可以使用 "ip unnumbered type number"接口配置命令。在该命令中"type number"是路由器上具有分配的IP地址的另一个接口(该接口被称为指定接口或参考接口,即无编号接口从其处借用IP地址的那个接口)的类型和编号。它不能是另一个无编号接口。如果要关闭串行接口中的I P处理功能,可心使用该命令的NO形式。
无编号接口的限制:
l使用HDLC、PPP、LAPB、SLIP协议的串行接口,以及隧道接口可以采用无编号方式。不能在X。25或交换式多兆位数据服务SMDS接口上使用无编号接口配置命令。
l我们不能使用PING命令来确定无编号接口是否已经UP了,因为该接口没有地址。SNMP可以远程监控该接口状态。
例子:
Interface Ethernet0 Ip address 10.1.1.1 255.255.255.0!interface Serial0 ip unnumbered Ethernet0
使用帮助地址(Helper Address)
路由器是不转达发广播的,帮助地址通过将这些广播数据包直接转发到目标服务器而帮助客户机和服务器建立联系。
帮助地址命令将广播性目的地地址改变为单点传达室送地址(或一个定向的广播-在某个子网内的本广播),使该广播消息可以被路由到一个具体的目的地而不是所有地方
使用"ip helper-address address"接口配置命令配置一个可能会接收到广播的接口。在该命令中"ADDRESS"是指在转发用户数据报协议(UDP)广播时所使用的目的地地址。该指定地址可以是远程服务器的单点传送地址或定向广播地址。
如果定义了"ip helper-address address"命令,为8个缺省UDP端口进行转发的功能就被自动启用,它们是:TFTP(69)、DNS(53)、时间(37)、NETBIOS服务(137)、N ETBIOS数据报服务(138)、BOOTP服务器(67)、BOOTP客户机(68)和终端访问控制器访问控制系统TACACS(49)。
如果定义了"ip helper-address address"命 令 和 指定 了 这 8 个 U D P端 口 的"ip forward-protocol udp"命令,那么寻址这8个UDP端口的广播数据包将被自动转发。
"ip forward-protocol"描述:
"ip forward-protocol"命令描述
udpUDP-传输层协议
port(任选)当指定了"udp"关键字时,可以定义UDP目的地端口号或端口名
nd网络磁盘;无盘Sun工作站使用的一种老的协议
sdns网络安全协议
实例:
Interface Ethernet 0 Ip address 172.16.1.100 255.255.255.0 Ip helper-address 172.16.2.2!ip forward-protocol udp 3000no ip forward-protocol udp tftp
"ip helper-address"命令必须被配置在接收到最初客户广播数据包的路由器接口上。
第 三 章 在 单 个 区 域 办 配 置OSPF
OSPF是一项链路状态型技术,比如路由选择信息协议(RIP)这样的距离矢量型技术相对。OSPF协议完成各路由选择协议算法的两大功能:路径选择和路径交换。
OSPF是一种内部网关协议(IGP),也就是说它在属于同一自治系统的路由器间发布路由信息。
OSPF是为解决RIP不能解决的大型、可扩展的网络需求而写的OSPF解决了以下问题:
l收敛速率
l对可变长度掩码(VLSM)的支持
OSPF、RIPV2支持VLSM,RIP只支持固定长度子网掩码(FLSM)
l网络可达性
RIP跨度达16跳时被认为是不可达,OSPF理论上没有可达性限制
l带宽占用
RIP每隔30秒广播一次完整路由,OSPF只有链路发生变化才更新
l路径选择方法
RIP是基于跳数选择最佳路径的,OSPF采用一种路径成本(cost)值(对于Cisco路由器它基于连接速率)作为路径选择的依据。OSPF与RI P、IGRP一样直持等开销路径
OSPF信息在IP数据包内,使用协议号89
OSPF可以运行在广播型网络或非广播型网络上
在广播型多路访问拓朴结构中的OSPF运行
Hello协议负责建立和维护邻居关系
通过IP多目组广播224.0.0.5,也被称为ALLSPFROUTER (所有SPF路由器)地址,Hello数据包被定期地从参与OSPF的各个接口发送出去。
Hello数据包中所包含的信息如下:
l路由器ID
这个32比特的数字在一个自治系统内唯一的标识一个路由器。它缺省是选用活跃接口上的最高IP地址。这个标识在建立邻居关系和直辖市运行在网络中S PF算法拷贝的消息时是很重要的。
lHELLO间隔和DOWN机判断间隔(dead interval)
HELLO间隔规定了路由发送HELLO的时间间隔(秒)。DOWN机判定间隔是路由器在认为相邻路由器失效之前等待接收来自邻居消息的时间,单位为秒,缺省是H ELLO间隔的4倍。
l邻居
这些是已经建立了双向通信关系的相邻路由器
l区域ID
要能进行通信,两台路由器必须共享一个共同的网络分段
l路由器优先级
这8个比特数字指明了在选择DR和BDR时这台路由器的优先级。
lDR和BDR的IP地址
l认证口令
l未节(stb)区域标志
OSPF数据包头中的各个域:
l版本号 1(字节数)
l类型 1
HELLO
链路状态请求
链路状态更新
链路状态确认
l数据包长度 2
l路由器ID 4
l区域ID 4
l校验和 2
l认证类型 2
l认证 8
l数据 可变的
指定路由器DR和备用指定路由器BDR
在一个以太网分段这样的多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络。在DR运行时,BDR不执行任何DR功能。但它会接收所有信息,只是不做处理而已,由D R完成转发和同步的任务。BDR只有当DR失效时才承担DR的工作,
DR和BDR的价值:
l减少路由更新数据流
DR和BDR为给定多路访问网络上的链路状态信息交换起着中心点的作用。每台路由器都有必须建立与DR和BDR的毗邻关系,DR向多路访问网中的所有其它路由器发送各路由的链路状态信息。这一扩散过程大大减少了网络分段上与路由器相关的数据流。
l管理链路状态同步
DR和BDR可保证网络上的其它路由器都有有关于网络的相同链路状态信息
毗邻关系是存在于路由器与其DR和BDR之间的关系。毗邻的路由器将具有同步的链路状态数据库