Chapter5 IP Routing
Routing Basics
路由协议(routing protocol):用于routers动态寻找网络最佳路径,保证所有routers拥有相同的路由表.一般,路由协议决定数据包在网络上的行走的路径.这类协议的例子有OSPF,RIP,IGRP,EIGRP等
可路由协议(routed protocol):当所有的routers知道了整个网络的拓扑结构以后,可路由协议就可以用来发送数据.一般的,可路由协议分配给接口,用来决定数据包的投递方式.这类例子有IP和IPX
路由:把1个数据包从1个设备发送到不同网络里的另1个设备上去.这些工作依靠routers来完成.routers并不关心主机,它们只关心网络的状态和决定网络中的最佳路径
router可以路由数据包,必须至少知道以下状况:
1.目标地址(destination address)
2.可以学习到远端网络状态的邻居router
3.到达远端网络的所有路线
4.到达远端网络的最佳路径
5.如何保持和验证路由信息
The IP Routing Process
路由原理:当IP子网中的一台主机发送IP包给同一IP子网的另一台主机时,它将直接把IP包送到网络上,对方就能收到.而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的router,把IP包送给该router,由它负责把IP包送到目的地.如果没有找到这样的router,主机就把IP包送给一个称为缺省网关(default gateway)的router上.缺省网关是每台主机上的一个配置参数,它是接在同一个网络上的某个router接口的IP地址,router转发IP包时,只根据IP包目的IP地址的网络号部分,选择合适的接口,把IP包送出去.同主机一样,router也要判定接口所接的是否是目的子网,如果是,就直接把包通过接口送到网络上,否则,也要选择下一个router来传送包.router也有它的缺省网关,用来传送不知道往哪儿送的IP包.这样,通过router把知道如何传送的IP包正确转发出去,不知道的IP包送给缺省网关,这样一级级地传送,IP包最终将送到目的地,送不到目的地的IP包则被网络丢弃了
当主机A发送个IP包到主机B,目标MAC地址使用的是默认网关的以太网接口地址.这是因为帧不能放置在远端网络.
show ip route:查看路由表信息,比如:
Router#sh ip route
(略)
Gateway of last resort is not set
C 192.168.10.0/24 is directly connected, FastEthernet0/0
C 192.168.20.0/24 is directly connected, Serial 0/0
Router#
C代表的是:直接相连
Configuring IP Routing in Our Network
当1个router收到1个目标网络号没有在路由表中列出的包的时候,它并不发送广播寻找目标网络,而是直接丢弃它
几种不同类型的路由:
1.静态路由(static routing)
2.默认路由(default routing)
3.动态路由(dynamic routing)
Static Routing
静态路由:手动填加路由线路到路由表中,优点是:
1.没有额外的router的CPU负担
2.节约带宽
3.增加安全性
缺点是:
1.网络管理员必须了解网络的整个拓扑结构
2.如果网络拓扑发生变化,管理员要在所有的routers上手动修改路由表
3.不适合在大型网络中
静态路由的配置命令:ip route [dest-network] [mask] [next-hop address或exit interface][administrative distance] [permanent]
ip route:创建静态路由
dest-network:决定放入路由表的路由表
mask:掩码
next-hop address:下1跳的router地址
exit interface:如果你愿意的话可以拿这个来替换next-hop address,但是这个是用于点对点(point-to-point)连接上,比如广域网(WAN)连接,这个命令不会工作在LAN上
administrative distance:默认情况下,静态路由的管理距离是1,如果你用exit interface代替next-hop address,那么管理距离是0
permanent:如果接口被shutdown了或者router不能和下1跳router通信,这条路由线路将自动从路由表中被删除.使用这个参数保证即使出现上述情况,这条路线仍然保持在路由表中
Default Routing
默认路由:一般使用在stub网络中,stub网络是只有1条出口路径的网络.使用默认路由来发送那些目标网络没有包含在路由表中的数据包.根据上面的拓扑图,你就不能把默认路由定义在RouterB上,因为RouterB拥有不止1个出口路径接口.其实你可以把默认路由理解成带通配符(wildcard)的静态路由
配置默认路由:
首先要去掉之前配置的静态路由
RouterC(config)#no ip route 192.168.10.0 255.255.255.255 192.168.40.1
RouterC(config)#no ip route 192.168.20.0 255.255.255.255 192.168.40.1
RouterC(config)#no ip route 192.168.30.0 255.255.255.255 192.168.40.1
接下来配置默认路由:
RouterC(config)#ip route 0.0.0.0 0.0.0.0 192.168.40.1
额外的命令,使各个接口打破分类IP规则,12.x的IOS默认包含这条命令,如下:
RouterC(config)#ip classless
再验证下:
RouterC(config)#^Z
RouterC#sh ip route
(略)
S* 0.0.0.0/0 [1/0] via 192.168.40.1
S*代表默认路由 ---见下文