路由器在转发数据时,要先在路由表(Routing Table)中在找相应的路由,才能知道数据包应该从哪个端口转发出去。路由器建立路由表基本上有以下三种途径。
(1)直连路由:路由器自动添加和自己直接连接的网络的路由。
(2)静态路由:管理员手动输入到路由器的路由。
(3)动态路由:由路由协议动态建立的路由。
静态路由既然是由管理员输入到路由器的,那么当网络拓扑发生变化而需要改变路由时,管理员就必须手工改变路由信息,所以静态路由的缺点就是不能动态反映网络拓扑。然而静态路由也经常有它的应用场合,因为静态路由不会占用路由器的CPU和RAM,也不占用线路的带宽。而动态路由会在路由器之间发送路由更新信息,这些信息会占用线路的带宽。同时由于路由器必须对这些路由更新信息进行处理,增加了CPU的运算量,也增加了 RAM 的开销。
使用静态路由还有另外一些原因。动态路由协议会在路由器之间交换路由信息,不可避免地会把网络拓扑暴露出去,如果出于安全的考虑想隐藏网络的某些部分,可以使静态路由。在一个小而简单的网络中,也常使用静态路由,因为配置静态路由会更为简捷。
适用场合:适合规模较小,网络拓扑结构没有变化的局域网和采用点到点方式连接的较为简单的网络互联环境。
命令格式:ip route <目的网络地址> <子网掩码> <网关地址 | 出接口>
router-test(config)#ip route 10.0.0.0 255.0.0.0 192.168.1.1
提示:在写静态路由时,如果链路是点到点的链路(例如PPP封装的链路),采用网关地址和接口都是可以的;如果链路是多路访问的链路(例如以太网),则只能采用网关地址。
其中,默认路由的静态配置方式为:
ip route 0.0.0.0 0.0.0.0 下一跳路由器的IP地址
终端设备(End Devices):2台PC-PT
网络设备(NetWoek Devices):3个“2811”型号的路由器,需要配置好串行接口
串行接口配置如下:
静态路由示例:
需要注意的是设备之间的连接所选用的线路类型,一般情况下路由器和PC之间使用交叉线,两台路由器相连接使用串行线。
在路由器各端口附近的“.1、.2、.3”表示的是端口的IP地址,例如R1的以太网口(Fa0/0)IP为10.1.1.1/24。对于R1路由器Fa0/0以太网口直接和10.1.1.0/24子网连接,Se0/0接口直接和12.12.12.0/24连接。因此R1知道要到达这两个直连子网的数据包应该从哪个端口转发,但是R1并不知道要到达23.23.23.0/24和192.168.1.0/24子网的数据包应从哪个端口转发,这可以使用ip route命令进行配置。
Router>enable (进入特权用户模式)
Router#configure terminal (进入全局配置模式)
Router(config)#hostname R1 (配置主机名)
R1(config)#interface FastEthernet0/0 (配置接口描述信息,R1左侧的以太网接口)
R1(config-if)#ip address 10.1.1.1 255.255.255.0 (配置接口地址)
R1(config-if)#no shutdown (打开接口)
R1(config-if)#interface Serial0/3/0 (配置接口描述信息,R1右侧的串行接口)
R1(config-if)#ip address 12.12.12.1 255.255.255.0 (配置接口地址)
R1(config-if)#clock rate 64000 (给接口配置时钟)
R1(config-if)#no shutdown (打开接口)
R1(config-if)#exit (从接口配置模式退回到全局配置模式)
R1(config)#ip route 23.23.23.0 255.255.255.0 12.12.12.2 (配置到达23.23.23.0/24的路由)
R1(config)#ip route 192.168.1.0 255.255.255.0 12.12.12.2 (配置到达192.168.1.0/24的路由)
R1(config)#
R1到达子网23.23.23.0/24和192.168.1.0/24都是从R2的Se0/3/0接口出去,因此到达这两个子网的下一跳是相同的。
在本例中,Se0/3/0接口配置了时钟,这是因为在试验环境中,两个路由器的串口直接对接,必须有一个路由器充当DCE(Data Circuit-terminating Equipment,数字通信设备),另一个路由器充当DTE(Data Terminal Equipment,数字终端设备)。究竟哪个路由器是DCE,哪个路由器是DTE,取决于路由器所接的线。在充当DCE的路由器上的串口要配置时钟。
Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface Serial0/3/0
R2(config-if)#ip address 12.12.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface Serial0/3/1
R2(config-if)#ip address 23.23.23.2 255.255.255.0
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#ip route 10.1.1.0 255.255.255.0 12.12.12.1
R2(config)#ip route 192.168.1.0 255.255.255.0 23.23.23.3
R2(config)#
Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface Serial0/3/0
R3(config-if)#ip address 23.23.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#ip route 12.12.12.0 255.255.255.0 23.23.23.2
R3(config)#ip route 10.1.1.0 255.255.255.0 23.23.23.2
R3(config)#
设置主机A、B的IP地址、子网掩码和网关地址:
双击主机A、B,在“Desktop”界面找到“IP Configuration”,填写IP地址、子网掩码和默认网关
测试网络的连通情况:
双击主机A、B,在“Desktop”界面找到“Command Prompt”
在以上的例子中,配置了静态路由表后,可以使用show ip route命令查看路由表。该命令非常重要,网络不能正常通信时常常需要查看路由表(不仅可以显示静态路由,也可以显示动态路由)。如下:
用show interface命令可以查看接口的状态、IP地址等信息
第一条是至关重要的,该行中的第一个参数反映了是否有载波信号存在,第二个参数反映了是否接收到数据链路层的“激活”信息。含义如下:
(1) Serial0/3/0 is up,line protocol is up:接口正常。
(2)Serial0/3/0 is up,line protocol is down:连接的问题,如没有正确配置时钟、封装格式不对。
(3)Serial0/3/0 is down,line protocolis down:接口的问题,如对方路由器没有开机。
(4)Serial0/3/0 is administratively down,line protocolis down:接口被管理员关闭。
如果一个接口能正常工作,在路由表中会自动添加该接口直接连接的网络的路由条目;如果接口处于down状态,相应的路由将从路由表中被删除。
show ip interface命令列出与所有IP 口相关的状态和全局参数,而show ip interface brief命令显示各个接口的简要信息。如下:
默认路由,也是一个存根路由。如果依旧采用静态路由进行配置,则在R1上需要配置多个路由。
例如:
ip route 10.1.3.0 255.255.255.0 10.1.2.2
ip route 10.1.4.0 255.255.255.0 10.1.2.2
ip route 10.1.5.0 255.255.255.0 10.1.2.2
ip route 10.1.6.0 255.255.255.0 10.1.2.2
… …
详细分析一下,对于R1路由器,只要不是到Fa0/0和Fa0/1直连网络的数据包,就必须从10.1.2.2转发出去。这时候,使用默认路由更为简单。==所谓默认路由,是指路由器在路由表中如果找不到到达目的网络的路由时最后会采用的路由。==例如:
ip route 0.0.0.0 0.0.0.0 10.1.2.2
这一命令可以代替上面的6条路由,命令中的8个0表示配置的是默认路由。采用默认路由时,通常要先执行ip classless命令。不过它是默认值,如果没有人关闭它(即执 no ip classles命令),可以不必执行这一命令。
使用上面静态路由的网络拓扑,配置默认路由。
路由器R1的配置:
Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#interface FastEthernet0/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#interface Serial0/3/0
R1(config-if)#ip address 12.12.12.1 255.255.255.0
R1(config-if)#exit
R1(config)#interface Serial0/3/0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 12.12.12.2
路由器R2的配置:
R2的配置命令不变,参考上面静态路由的配置方法。
路由器R3的配置:
Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface Serial0/3/0
R3(config-if)#ip address 23.23.23.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#ip route 0.0.0.0 0.0.0.0 23.23.23.2