MSCD龙帝国计算机和语言学习论坛
Would you like to react to this message? Create an account in a few clicks or log in to continue.

RIP路由协议快速入门

向下

RIP路由协议快速入门 Empty RIP路由协议快速入门

帖子 由 Admin 周日 三月 23, 2008 2:22 am

许多路由协议可以完成路径选择的工作,常见的有RIP,OSPF,IGRP和 EIGRP协议等等。这些算法中,我们不能简单的说谁好谁坏,因为算法的优劣要依据使用的环境来判断。比如RIP协议,它有时不能准确地选择最优路径,收敛的时间也略显长了一些,但对于小规模的,没有专业人员维护的网络来说,它是首选的路由协议,我们看中的是它的简单性。  X_=K-c
如果你手头正有一个小的网络项目,那么,就让我们来安排一个计划,30分钟读完本文(一读),20分钟再细看一遍本文提及的命令和操作方法(二读),用30分钟配置网络上的所有路由器(小网络,没有几台路由器可以配的),最后20分钟,检查一下网络工作是否正常。好了,一百分钟,你的RIP网络运转起来了。就这么简单,不信,请继续往下看。  l}q'L }q
5+ 7dn 0
一、RIP是什么  ^< VXDs]
n%\%f4$)f
RIP(Routing Information Protocols,路由信息协议)是使用最广泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RIP是XNS(Xerox Network Service,施乐网络服务)协议簇的一部分。TCP/IP版本的RIP是施乐协议的改进版。RIP最大的特点是,无论实现原理还是配置方法,都非常简单。  PT#3 !/
Cy2lq1>
度量方法  Sat od38
bxAup-
RIP的度量是基于跳数(hops count)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。  S 1ODX?Pv
4gH;7BgZv
路由更新  zMURMRDG$
C6ZKTEE-#l
RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(Update Timer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。  s%rvv)2ta
K o35%`X
路由循环  U~54 hZ1
Qw=3mvZ4
距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。为了避免这个问题,RIP等距离向量算法实现了下面4个机制。  VIZl&c
,>t0W4
水平分割(split horizon)。水平分割保证路由器记住每一条路由信息的来源,并且不在收到这条信息的端口上再次发送它。这是保证不产生路由循环的最基本措施。  DS-Lg
[#lp48*
毒性逆转(poison reverse)。当一条路径信息变为无效之后,路由器并不立即将它从路由表中删除,而是用16,即不可达的度量值将它广播出去。这样虽然增加了路由表的大小,但对消除路由循环很有帮助,它可以立即清除相邻路由器之间的任何环路。  L:S|nr5 
GWyA}X16
触发更新(trigger update)。当路由表发生变化时,更新报文立即广播给相邻的所有路由器,而不是等待30秒的更新周期。同样,当一个路由器刚启动RIP时,它广播请求报文。收到此广播的相邻路由器立即应答一个更新报文,而不必等到下一个更新周期。这样,网络拓扑的变化会最快地在网络上传播开,减少了路由循环产生的可能性。  ncg[oRc%1
"aa~R&|
抑制计时(holddown timer)。一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。   @ ^tj
u.}mnlHNX
即便采用了上面的4种方法,路由循环的问题也不能完全解决,只是得到了最大程度的减少。一旦路由循环真的出现,路由项的度量值就会出现计数到无穷大(Count to Infinity)的情况。这是因为路由信息被循环传递,每传过一个路由器,度量值就加1,一直加到16,路径就成为不可达的了。RIP选择16作为不可达的度量值是很巧妙的,它既足够的大,保证了多数网络能够正常运行,又足够小,使得计数到无穷大所花费的时间最短。  ^,R^1>-
6':gGxif
邻居  /o}}dI
K3cGF"7Ag
有些网络是NBMA(Non-Broadcast MultiAccess,非广播多路访问)的,即网络上不允许广播传送数据。对于这种网络,RIP就不能依赖广播传递路由表了。解决方法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某一台特定的路由器。  &B;67+?o
Q9*WUYg
RIP的缺陷  ^MQ( {K?
DnfcYn98>
RIP虽然简单易行,并且久经考验,但是也存在着一些很重要的缺陷,主要有以下几点:  gd~ h:h[
过于简单,以跳数为依据计算度量值,经常得出非最优路由;  fM_YE 
度量值以16为限,不适合大的网络;  8;iVP`j
安全性差,接受来自任何设备的路由更新;  J8uC{AX*
不支持无类IP地址和VL***(Variable Length Subnet Mask,变长子网掩码);  70$8$~ gF
收敛缓慢,时间经常大于5分钟;  u=kywe5e4
消耗带宽很大。  &J>Izd
$nH{Tx+c'
二、路由器怎么配  ;QKu_Z=%<\
be C"d)
路由器本身就是一台有多个网络接口的计算机,同普通计算机一样,它也有中央处理器(CPU)、系统主存(RAM)和只读存储器(ROM)等部件。  +'h;0j&F7
_{(NmQ
除此之外,一个很重要的部分是它的网络接口(Inte***ce),为了连结不同类型的网络,路由器的网络接口种类繁多,比如应用在局域网中的以太、快速以太、令牌环接口,应用于广域网的V.35、RS232、ISDN BRI PRI接口等等。  ; F{/UXB
路由器的外存储器主要有两种:NVRAM(Non-Volatile RAM,非易失性RAM)和Flash(闪存)。NVRAM存储路由器的配置文件,Flash用于存放操作系统IOS(Internet Operating System)。  {PSmG[[kp
sK;?&cR 2=
配置模式  e}1wl 5K
_r=Yj
CISCO路由器最基本的配置模式有两种:用户(user)和特权(privileged)。在用户模式下,只能显示路由器的状态,特权模式还可以更改路由器的配置。  tT?a`IL~
w75 vRgS^=
特权模式下可以进入安装(setup)模式、全局配置(global config)模式,局部配置(sub config)模式。   U"YWYGbXX
安装模式提供菜单提示,引导用户进行路由器的基本配置。新路由器第一次启动后,自动进入安装模式。  T2HhyI
全局配置模式中可以改变路由器的全局参数,如主机名、密码等等。  )b%1QI|]s
局部配置改变路由器的局部参数,例如某一个网络接口的配置、某一种路由协议的配置等等。  ee]/Hbu
)]W1N QX
配置方法  JMx*mX*mI
.?[G
路由器的配置可以使用多种方法,下面这五种是最常见的:  @[9'0#]H
使用超级终端类的工具通过串行口登录控制台(console port)。  %PK++F5
将调制解调器连结至路由器的辅助口(auxiliary port),远程拨号登录控制台。  Uq()^5[hW
远程登录(telnet)至路由器的某一IP 地址,通过VTY(virtue terminal line,虚拟终端)方式访问路由器。  Z=6gVrLv f
编辑配置文件,并通过TFTP上传至路由器。  $ 86 (k2[
通过网络管理软件(network management system)远程设置路由器参数。  xkKHr
]LOIt\j
安装路由器  QF fzf
Hc+`bRV
假设我们的项目网络中只有三台路由器。它们放在北京、上海和天津,名字分别叫testBJ、testSH和testTJ。我们采用B类保留IP地址172.16.0.0,共划分了四个子网172.16.1.0、172.16.2.0、172.16.3.0和172.16.4.0,子网掩码均为255.255.255.0。 4.*s2`690
  9 K4oj/
基本配置  WVB#;4O
@92JCoDlu
将包装中附带的串行电缆一端连接到Beijing路由器的console口上,另外一端连接到计算机的com口上。启动超级终端程序(Win95/NT中),作适当配置,连接路由器。给路由器加电,连续键入数个回车,出现如下提示符,显示路由器处于用户模式。  i0  D
-+q" K`%y
testBJ>  |rVuE~
;SzX由用户模式转入特权模式,使用enable命令。  N==tZ)
bC'p) Lr
testBJ> enable  M8Xpn9RcN
~>A Nau^%
testBJ#  uyCOz'ce
J@923$
和UNIX主机一样,“#”代表特权(root)用户的系统提示符,它表示你进入了特权模式。与enable作用相反,即从特权模式返回用户模式的命令是disable。  'H.@3=I C
;g |B)| Lh
特权模式下,可以使用config terminal命令进入全局配置模式。全局配置模式下,可以使用一些配置子项的名称进入局部配置模式。返回的方法都是exit命令。其中,从局部配置模式直接返回特权模式的命令是end。如下所示。  >u\u`zLM
fxo{7x_oH
testBJ#config terminal  1rB6 }
^P~ !v1x
Enter configuration commands, one per line. End with CNTL/Z.  ;=^;HDf1N
\tJ' k\' *
testBJ(config)#router rip  _? =g 06:
testBJ(config-router)#exit  Q<$!N8HE
Y_q`}n&
testBJ(config)#exit  O:d55nyd
;R9scH%
testBJ#  uf7]an#
!6'>Rjpx
CISCO IOS的一个非常引人的特色是它的命令行帮助,一个?解决了所有的问题。?可以显示当前模式下的命令列表,可以显示命令全称,还可以显示命令的参数和帮助信息。在任何对命令不确定的地方键入?,系统会给出提示信息。  Nc2l U 5yw
 ?ZCD =
CISCO路由器还支持命令简写功能,只要不引起歧义,可以用命令的前几个字符替代整个命令,这样,配置时的打字工作量就小多了。  KMA?8{
<(L5}v{(
路由器的全部配置信息都保存在配置文件中,当前正在使用的配置文件是running-config,它存放在系统内存里,我们在特权模式下对配置的修改会立即反映到running-config中。startup-config是存储在NVRAM中的配置文件,只有它是掉电不丢失的,所以如果想使所做的修改到下一次启动时仍然有效,就必须保存当前配置。存盘命令如下:  pgj_|=H
)%YS971
testBJ#copy running-config startup-config  X^H\\5NL
o7geaw'J
Building configuration...  f#~Et"A
,[JJ?$F
[OK]  "y</C{
T 1]G&?
testBJ#  KKMkLrX
TH+!J$p
更改路由器名、密码  /QTZQ. {V
路由器的名字可以用hostname命令修改。  $JX?qYxD/
OP@L MA"
Router(config)#hostname testBJ  NcmnNuy% /
} ,|QM
testBJ(config)#  ^ oWMA+w
cU=xuD~
enable password和enable secret命令可以修改特权模式的密码。  AOaMn]5
H0ZH4V6
testBJ(config)#enable password cisco  pvccqM;*
[$=[0a\o
testBJ(config)#enable secret cisco  iEKy[{x
(vhJx-yt
进入line console局部配置模式下,修改console登录密码;进入line vty局部配置模式,修改telnet登录的密码。login命令指出需要登录,修改密码的命令都是password。  *|t=!U'y
L?A-0
testBJ(config)#line console 0  L"EcL2.F
`{*SGS+
testBJ(config-line)#login  K HN=[ sK
u_U$_C )
testBJ(config-line)#password cisco  Z-|*k8ILy
jf"rw&'
testBJ(config-line)#exit  Tr+}gd#N
qCGe1Z.s7i
testBJ(config)#line vty 0 4  #a/Qf u
b ~oi[f
testBJ(config-line)#login  :0Gw| "[
b[ha dU|d
testBJ(config-line)#password cisco  Qr2^R*Onw
a.h $ @, -
测试连通性  sYFO6T1L
EJP0qMIeB
打开其余两台路由器,按上述方法进行配置,然后就可以检查它们之间是否连通了。  0D:| JYc2z
e!iJ9WGzH
测试线路连通性的方法有三种,ping、traceroute和telnet。ping可以检测目的地是否可达;trace不仅检测连通性,还给出到达目的地所经过的路径;telnet测试应用层软件的连通性,如下所示。  o-^S;_0Yf
P-6/,/7Z1
testBJ#ping 172.16.4.2  m$H\Hn=
Y?)skI`3"
Type escape sequence to abort.  4 f0R+N>
As.aA#zAX
Sending 5, 100-byte ICMP Echos to 172.16.4.2, timeout is 2 seconds:  HoOe9.LcRC
9!!!!!  n /^`=8:
U|W\BnFr
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/25/28 ms  M#{qi"rM
?bLTo?
testBJ#traceroute 172.16.4.2  SgT$f _!
OhoHZM@(Y
Type escape sequence to abort.  Gria8
VY8!K*qbo<
Tracing the route to 172.16.4.2  f]L^U;T
}gdY{#
1 172.16.2.2 16 msec 16 msec *  X{7%| DbY
N\VRe_ :JJ
testBJ#telnet 172.16.4.2  uA*fkj9m
C J?&J^T
Trying 172.16.4.2 ... Open  \j."62boDhx
User Access Verification  [ M%Iko~t
\E]vf^l?f
Password:  Ax_M0oQM
96|Y_:is
testTJ>  k=T&2]T
x3f-&jtb
172.16.4.2是路由器testTJ上的一个端口,我们在testBJ上运行上述三个命令,得知它运行正常。  \1{{XSQ
<,`:@r]v
显示当前状态  85KJ_BG
~`z\qvxv9
为了使网络管理员能够方便地了解路由器的状态,CISCO路由器提供了丰富的show命令。我们在这里介绍最简单的几个,如下所示。  &5:u%MfA f
r&E /Q+b
show version命令显示路由器的硬软件版本号及配置信息。  KG*~m_W
/\'M{
show flash:命令相当于DOS的dir命令,显示flash中包含的文件信息。  .uvt
ITcu:%$
show inte***ce命令显示网络接口的状态。  v(mF j\sq
{^[x
配置路由器的过程中,最重要的一个show命令莫过于查看配置文件的内容,可以用show命令查看running-config或startup-config,如下所示。  oSg,yC&z>
;)C%~*S+
show running-config  [1QO{62k
Rg7jbVmuk
show startup-config  SlVJve%s@
~cIWvlQ
配置文件是一个文本文件,其中包含着你键入的每一条配置命令。可以将配置文件下载到计算机上,用文本编辑器修改之后,再传回路由器。  2-OQwB<@
' X : 1 
三、RIP要配什么  {S-Zf5SBg
0.E]uS?2
IP地址配置  6xbG@;d@U
=E^/c} *
我们可以使用inte***ce命令进入局部配置模式,然后利用ip address设置接口的IP地址。如下所示。  }R.41+Ef
7bV\Auw[
testBJ#conf t   8$zuHsm
&'T3Pv}P!o
Enter configuration commands, one per line. End with CNTL/Z.  L>@C!
u97Zp***
testBJ(config)#inte***ce e0/1  k$tre -&
cp:#?tz]0`
testBJ(config-if)#ip address 172.16.1.2 255.255.255.0  gJ0<8zA
~a[/?;S
testBJ(config-if)#  1!m34/nF>
f"t-K:
为了便于配置和记忆,你还可以给每个端口添加一些描述信息。如下所示,在端口局部配置模式下使用description命令。  -DP;SB \
u,'un++C;
testBJ(config-if)#description connect to testSH  rsu3)0A
`tzu|]E%u
testBJ(config-if)#end  _+`H
R{hj&q(&
testBJ#  Mad)wuBl(Q
$/l3LnZW
有些网络是NBMA(Non-Broadcast MultiAccess,非广播多路访问)的,即网络上不允许广播传送数据。对于这种网络,RIP就不能依赖广播传递路由表了。解决方法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某一台特定的路由器。  Q9{RXY`[ G
7H, OxwKb
有些网络是NBMA(Non-Broadcast MultiAccess,非广播多路访问)的,即网络上不允许广播传送数据。对于这种网络,RIP就不能依赖广播传递路由表了。解决方法有很多,最简单的是指定邻居(neighbor),即指定将路由表发送给某一台特定的路由器。  [I@WtK~
I;<["X
RIP配置  ^_nf~
a~LwAu@?
RIP是最容易配置的路由协议。配置它只需要两步操作,首先,指定使用RIP协议,然后,声明所连接的网络号,如下所示。  }:CLz53j
\gz8l)"Q;
testBJ(config)#router rip  7]SOZ{+ Y
Hv68T= /
testBJ(config-router)#network 172.16.0.0  pc:nUCi
0)5kR',c'
testBJ(config-router)#end  7mh[v;C
> ;^-:>\h
testBJ#  uYqk\5
a:U d$$Fa
router rip命令用于指定使用RIP协议,network命令声明网络号,由于RIP是一个有类路由协议,所以不必声明各个子网号。  ' |K) *bv
o,&b0[% >L

Admin
Admin

帖子数 : 368
注册日期 : 08-03-19

http://xuexileyuan.longluntan.cn

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题