什么叫路由:
所谓"路由"是指把数据从一个地方传送到另一个地方的行为和动作,而路由器,正是执行这种行为动作的机器,是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行"翻译",以使他们能够相互"读懂"对方的数据,从而构成一个更大的网络.
路由器的主要有以下几种功能:
第一,网络互连,路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信.
第二,数据处理,提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能.
第三,网络管理,路由器提供包括配置管理、性能管理、容错管理和流量控制等功能.

为了完成"路由"的工作,在路由器中保存着各种传输路径的相关数据 路由表(routing table),供路由选择时使用.路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容.路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制.在路由器中涉及到两个有关地址的名字概念,那就是:静态路表和动态路由表.由系统管理员事先设置好固定的路由表称之为静态路由表.一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变,动态路由表是路由器根据网络系统的运行情况而自动调整的路由表.路由器根据路由选择协议提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径.

静态路由协议:
参考层次化的协议,当一个封装完好的数据包到达路由器的时候,因为路由器是3层设备,会将此数据包从帧中剥离,传递给网络层。如果这个数据包符合可路由的条件,路由器会查找自己的路由表。寻找相应的路由条目,进行数据包的转发

路由表的结构:
1.目的前缀 2.下一跳路由器(即:到达目的地的指向)

 

例如,R1去往R3,按如上所说,到达目的地的指向,即下一跳路由器,就是R2,细致来说是R2面向R1的接口。

静态路由写法:
ip route XXXX----目的网络前缀 XXXX----目的网络前缀掩码 XXXX-----下一跳路由器
有关于静态路由的下一跳写法,可以写下一跳路由器与自己直连的接口IP,也可以写自己的出接口。
关于静态路由,直连路由AD
静态路由:
R1#show ip route 5.5.5.5 255.255.255.255
Routing entry for 5.5.5.5/32
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via FastEthernet0/0
Route metric is 0, traffic share count is 1

直连路由:
R1#show ip route 1.1.1.1 255.255.255.255
Routing entry for 1.1.1.1/32
Known via "connected", distance 0, metric 0 (connected, via interface)
Redistributing via eigrp 100
Routing Descriptor Blocks:
* directly connected, via Loopback0
Route metric is 0, traffic share count is 1
静态路由的两种写法,下一跳和接口,注意讲解,AD是一样的,只是路由器在查找时,方式不一样,路由器执行递归查找,知道查找到一条本地直连路由,找到直连接口才会发包
有些书上写,静态路由下一跳和接口的AD是不一样的。纯属虚构。

路由器递归查询:

 

R3上如果有一环回口3.3.3.3/24,如果R1要到达,写静态路由,如何去做。
分析:
R1去往3.3.3.3/24势必要走23.0.0.3这个地址,首先,在R1上写这样一条路由:
ip route 3.3.3.0 255.255.255.0 23.0.0.3
这时候查看R1的路由表:

Gateway of last resort is not set

12.0.0.0/24 is subnetted, 1 subnets
C 12.0.0.0 is directly connected, Serial1/0
没有任何显示。OK,稍后做解释。
接下来,R1去往23.0.0.3/24 肯定要走12.0.0.2/24 继续在R1上写静态路由:
ip route 23.0.0.0 255.255.255.0 12.0.0.2
然后查看路由表:

Gateway of last resort is not set

3.0.0.0/24 is subnetted, 1 subnets
S 3.3.3.0 [1/0] via 23.0.0.3
23.0.0.0/24 is subnetted, 1 subnets
S 23.0.0.0 [1/0] via 12.0.0.2
12.0.0.0/24 is subnetted, 1 subnets
C 12.0.0.0 is directly connected, Serial1/0
如果没有如上现象,可尝试clear ip route *试下。
如果需要全网互通,在R2,R3上写上各个路由器非直连网段的静态路由即可。
重点是R1上的静态路由,综上实验可以看出,如果R1去往3.3.3.3这个地址,需要去找下一跳23.0.0.3,如果去23.0.0.3 需要去找12.0.0.2 如果要去12.0.0.2 请从你自己的S1/0接口出去。这就是递归查询。
路要一步步走,饭要一口口吃。步子迈大了,容易扯着蛋。
之所以在R1上写第一条静态路由,路由表中没反应,是因为当静态路由下一跳不存在(或者说不可达)的时候,此静态路由是不会显示在路由表中的。