简单剖析静态路由封装过程并进行路由转发实验
静态路由(英语:Static routing),一种路由的方式,路由项(routing entry)由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。
什么是静态路由重新封装过程呢?可以通过下面的两张图进行理解
图看不懂?没关系,静态路由的封装过程简单来说就是1--2--3--4,最终目标机收到的数据帧格式就如同图二。
而复杂点说具体由以下5步组成:
1、HostA发出数据帧,将该数据帧发送到A路由的E0接口,里面包含自身的ip与MAC和E0接口的ip与MAC(如果HostA是第一次向A路由进行发送需先使用ARP协议进行广播,广播的目标MAC为FFFF-FFFF-FFFF-FFFF以此来获得A路由E0接口的MAC)
2、A路由E0接口收到由HostA发出的数据帧后先比对其目标MAC是否是自身(如果不是,直接丢弃),比对完后,对该数据帧进行解封,留下数据包,通过数据包的ip头部中的目标ip与路由表的比对将数据包移至A路由E1接口,将解封剩下的MAC头部丢弃
3、数据包在A路由E1接口重新进行封装,为原来的数据包重新添加源以及目标MAC地址(先通过比对路由表的得到下一跳的ip,再通过比对ARP表获得下一跳的MAC,如果是第一次发送仍需进行ARP广播)
4、这里A路由E1接口将重新封装的数据帧发送到B路由E1接口,与步骤二相同,再次进行解封--比对--再封装的过程,通过B路由E0接口,将数据帧发送到HostB上。
5、由HostB收到的数据帧其源MAC应为B路由E0接口MAC,目标MAC应为HostB的MAC。
以上都是静态路由转发的原理,要是不愿意看可以直接跳到下面实验中
本实验意在具体的理解静态路由封装的原理并通过设置虚拟交换机与虚拟客户机完成不同网段的数据互通
一、完成实验环境的搭建并设置两台客户机的设置
1、打开GNS3,并通过程序左边的图标栏往工作区域拖放两台交换机、两台客户机
2、使用网线工具将四台设备连接起来,并使用标注工具标注各个接口的ip地址与子网掩码(注:ip地址后面加的24就代表子网掩码为255.255.255.0下文皆如此标注)来方便实验,从左到右依次为"192.168.5.5/24"、"192.168.5.1/24"、"192.168.6.1/24"、"192.168.6.2/24"、"192.168.7.1/24"、"192.168.7.7/24"如图
3、双击PC1、PC2在弹出控制窗口里输入标注里注明的ip与网关地址即"ip 192.168.5.5 192.168.5.1"与"ip 192.168.7.7 192.168.7.1"(这里我用的不是GNS3自带的控制台,用的是CRT)
到这里完成第一大步,接下来就是剩下的两个交换机各个接口的ip与路由表里需要手动添加非直连路由(直连路由不需要手动添加,为接口指定完ip就存在)
二、为R1的两个接口f0/0、f0/1添加ip并手动添加非直连路由
1、双击R1路由,在控制台中输入"configure terminal"进入全局模式,紧接着输入"interface fastEthernet 0/0"进入f0/0接口的接口模式
2、在f0/0的接口模式中输入"ip address 192.168.5.1 255.255.255.0"为f0/0接口指定ip,回车后输入"no shutdown"保持其接口为开启状态
3、现在理论上我们应该输入"end"退回特权模式,然后重新进入全局模式--f0/1的接口模式,这样退回会非常麻烦也非常影响工作效率,那么可不可以直接在f0/0的接口模式进入f0/1的接口模式吗?答案是肯定的。在f0/0接口模式下直接输入"interface fastEthernet 0/1"即可进入,同样为f0/1接口设定好ip并保持开启
4、紧接着输入"exit"从接口模式返回全局模式,输入"ip route 192.168.7.0 255.255.255.0 192.168.6.2"为R1指定静态路由。这里的"192.168.7.0"为R1路由非直连路由的网段;"192.168.6.2"为下一跳ip地址即为下一个R2路由接口的地址(目前还没指定,后面会进行相应的设置)。然后输入"do show ip interface brief"即可在全局模式下查看各个接口ip以及开启情况,接着输入"do show ip route"查看静态路由表
三、为R2的两个接口f0/0、f0/1添加ip并手动添加非直连路由
流程同R1(简洁没有废话)具体流程图如下
四、检查两个不同网段的客户机进行数据互通
返回任意客户机(这里我选择的是PC1)对另一台客户机进行ping试验
出现超时是因为虚拟环境里两台客户机乃至交换机都属于全新,所以数据互通都需要提前进行ARP广播才能互通。
同样,因为本次实验拓扑结构较为简单,两个路由有且仅有一个接口进行互联,所以满足使用默认路由进行互联的要求,故可以选取一个路由重新进行默认路由的设置。
一、选取R2路由在没有保存的情况下进行重启,重新为其设置直连路由
二、因为拓扑结构简单,具体结构如图,R1\R2路由仅有一个接口进行对外互联
什么是默认路由呢?简单来说就是接受方ip不能与路由表中静态路由、直连路由找到对应才会进入默认路由,如果没有设定默认路由,表中找不到对应,路由就会直接将其丢弃
三、在全局模式中输入"ip route 0.0.0.0 0.0.0.0 192.168.6.1"指定默认路由,目标ip不在192.168.6.0、192.168.7.0网段内的通通进入默认路由
四、接下来就跟之前一样选取一台pc机与另一台PC机进行互通(这里是PC2与PC1互通)
五、请慎用默认路由,一旦该拓扑结构中两台路由皆设定了默认路由,在进行ping实验时不小心输进去一个不存在的ip,会让两个路由器之间陷入死循环
此时两个路由都设定了默认路由,在做ping实验时输错了ip,结果。。。。。。无限进行转发