路由
网络层功能就是给传输层协议提供简单灵活的、无连接的、尽最大努力交付的数据包服务
通俗一点来讲,网络中的路由器为每一个数据包单独的选择转发路径,网络层不提供服务质量的承诺
也就说路由器直接丢弃传输过程中出错的数据包,如果网络中待发的数据包太多,路由器处理不了就直接丢弃,路由器也不判断数据包是否重复,也不确保数据包按发送顺序到达终点
网络通畅的条件
计算机网络畅通的条件就是数据包能去能回,道理很简单、也很好理解,却是我们排除网络故障的理论依据
- 目标主机不可到达
- 请求超时
明白了网络畅通的条件,网络排错就变得简单了。先检查数据包是否能够到达目标网络,再检查数据包是否能够返回来。如果网络不通,就要检查计算机是否配置了正确的IP地址子网掩码以及网关,再逐一检查沿途路由器上的路由表,查看是否有到达目标网络的路由;然后逐一检查沿途路由器上的路由表,检查是否有数据包返回所需的路由
静态路由
要想实现全网通信,也就是网络中的任意两个节点都能通信,这就要求每个路由器的路由表中必须有到所有网段的路由
对于路由器来说,它只知道自己直连的网段,对于没有直连的网段,需要管理员人工添加到这些网段的路由。管理员人工添加到某个网段如何转发,就是静态路由
后面还会讲到配置网络中的路由器使用动态路由协议(RIP、OSPF)自动构建路由表,就是动态路由
- R1路由器直连A、B两个网段,C、D网段没有直连,你需要添加到C、D网段的路由
- R2路由器直连B、C两个网段,A、D网段没有直连,你需要添加到A、D网段的路由
- R3路由器直连C、D两个网段,A、B网段没有直连,你需要添加到A、B网段的路由
路由器只关心到某个网段如何转发数据包,因此我们在路由器上添加路由,必须是到某个网段(子网)的路由,不能添加到某个特定地址的路由
以下命令试图添加到一个IP地址的路由,路由器报错
R1(config)#ip route 192.168.1.3 255.255.255.0 172.16.0.2
如果你就想让路由器转发到一个IP地址的路由,子网掩码要写成四个255,这就意味着IP地址的32位二进制是全部的网络位,该网段中就这一个地址
R1(config)#ip route 192.168.1.3 255.255.255.255 172.16.0.2