1. 路由——网络层实现的功能
1.1 路由功能
(1)网络层的功能:给传输层协议提供简单灵活的、无连接的、尽最大努力交付的数据包服务。
(2)路由器为每一个数据包单独地选择转发路径,网络层并不提供服务质量的承诺。也就是说路由器直接丢弃传输过程中出错的数据包,如果网络中待发的数据包太多,路由器处理不了也直接丢弃,既不判断数据包重复,也不确保数据包按发送顺序到达终点。
(3)路由就是路由器从一个网段到另一个网段转发数据包的过程。即在不同网段转发数据包就是路由。私网地址通过NAT技术将数据包发送到Internet,这也是路由,只不过在路由过程中修改了数据包的源IP地址和源端口。
(4)两种方式构建路由表
①静态路由:在每个路由器上添加到各个网络的路由,适合规模较小的网络或网络不怎么变化的情况。
②动态路由:配置路由器使用路由协议(RIP、EIGRP或OSPF等)自动构建路由表,适合规模较大的网络,能够针对网络的变化自动选择最佳路径。
1.2 网络畅通的条件:数据包能去能回。
(1)计算机A要想与B通信,沿途的所有路由器必须有到目标网络192.168.1.0/24的路由(即R1、R2和R3都必须知道到192.168.1.0/24怎么走)
(2)同时,计算机B到A沿途的路由器也必须知道到192.168.0.0/24的网段怎么走。
(3)如果在计算机A上ping计算机B,当沿途的路由器有任何一个缺少到达目标网络的192.168.1.0/24的路由,该路由将返回计算机A一个ICMP响应数据包,提示“目标主机不可到达”
(4)如果计算机A发送的数据包能够到达B,计算机B将返回响应数据包给计算机A ,沿途的路由器有任何一个缺少到达网络192.168.0.0/24的路由,计算机B返回的数据包将不能到达A,将在计算机A显示“请求超时.”
2. 静态路由
2.1 全网通信
(1)要实现全网通信,也就是网络中任意两个节点都通信,就要求每个路由器的路由表中必须有到所有网段的路由。
(2)对于路由器来说,它只知道自己直接的网段,对于没有直接的网络,需要人工添加到这些网段的路由。如R1路由器直接A、B两个网段,C、D网段没有直接,需要添加到C、D网段的路由(如上图所示)
(3)“下一跳”指的是数据包下一步给哪个路由器,应该填写该路由器的入口地址。对于点到点链路,“下一跳”地址可能写成目标网络的出口(如serial 2/0)。因为PPP协议,数据帧从一端发出,接收端只有一个。对于路由器之间是一个以太网连接。这种情况下添加路由器,只能写下一跳地址,而不能写路由器的出口,因为路由器的出口连的是以太网,根本不知道该将数据包发给该以太网中的哪个路由器。
(4)路由器只关心到某个网段如何转发数据包。所以添加路由时一定要是某个网段的地址,而不能是某个特定地址的路由,即一定要确保IP地址的主机位全是0。如果要让路由器转发到一个IP地址的路由,子网掩码要写成4个255。如R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2
2.2 配置静态路由
(1)查看路由表:进入特权模式,输入“show ip route”。如:R1# show ip route。(注意:路由前面的C为Connect的首字母,表示直连的网络。S为Static的首字母,代表静态路由。R为RIP首字母,O为OSPF首字母等)
(2)添加静态路由:进入全局配置模式。输入“ip route 目标网段 子网掩码 下一跳”。如R1(config)#ip route 172.16.1.0 255.255.255.0 172.16.0.2
(3)测试网络是否畅
①在PC1上ping PC2网络是否畅通。
②tracer命令跟踪数据包的路径。
③可根据需要测试“目标主机不可到达”(方法是删除A→B链路上任何一个路由器上到B网段的路由)。也可以测试“请求超时”的现象(方法删除B→A链路上任何一个路由器上到A网段的路由)
(4)删除静态路由:进入全局配置模式。使用no ip route命令。 如,R2(config)#no ip route 192.168.1.0 255.255.255.0 172.16.1.2