纠正交换机原理误解

 
                                                纠正交换机原理误解
三层交换机分为MLS和CEF之分,MLS已经逐渐被套淘汰,CEF是MLS的替身,下面对两种一一分析一下,这里有很多人的看法或研究不太科学,也是一种理解的误区。
如图:
角色:192.168.10.2是内网客户机,192.168.20.2是服务器,
 交换机F0/1端口192.168.10.1
交换机F0/2端口是192.168.20.1
 
 
对环境了解后,下面阐述一种理解原理,将以实例展开:
由于需要在内网和外网进行工作,在局域网内交换机识别的是网卡的MAC地址,所以,若内网客户机要访问192.168.20.0的服务器,就必须要写明源MAC地址,目标MAC地址,源IP ,目标IP ,然后将自己信息封装成数据包,转发出去,客户机首先是利用自己的网关发出ARP广播,询问谁是192.168.10.0网段,当三层交换机查看到自己的MAC地址与客户机的请求相符时,即可确认该数据包是发给自己的,三层交换机受到数据包后有两种处理的方法,一种是自己的路由表中存在客户机数据包中目标MAC地址,直接对该数据包进行处理,如果是路由表中不存在路由,则三层交换机开始根据客户机的请求向网络发广播,询问192.168.20.2服务器的MAC地址是什么,当得到服务器的回应后,再将得到的MAC地址回应给客户机,这样的话客户机就得到了自己目标IP的MAC地址。然后客户机调好自己的;目标MAC地址,将数据包发给服务器,这样好像非常成功,于是使许多人进入了误区。
此时问题就出现了,若客户机将目标MAC地址写成了4444.4444.4444,
如图
对环境了解后,下面阐述一种理解原理,将以实例展开:
由于需要在内网和外网进行工作,在局域网内交换机识别的是网卡的MAC地址,所以,若内网客户机要访问192.168.20.0的服务器,就必须要写明源MAC地址,目标MAC地址,源IP ,目标IP ,然后将自己信息封装成数据包,转发出去,客户机首先是利用自己的网关发出ARP广播,询问谁是192.168.10.0网段,当三层交换机查看到自己的MAC地址与客户机的请求相符时,即可确认该数据包是发给自己的,三层交换机受到数据包后有两种处理的方法,一种是自己的路由表中存在客户机数据包中目标MAC地址,直接对该数据包进行处理,如果是路由表中不存在路由,则三层交换机开始根据客户机的请求向网络发广播,询问192.168.20.2服务器的MAC地址是什么,当得到服务器的回应后,再将得到的MAC地址回应给客户机,这样的话客户机就得到了自己目标IP的MAC地址。然后客户机调好自己的;目标MAC地址,将数据包发给服务器,这样好像非常成功,于是使许多人进入了误区。
此时问题就出现了,若客户机将目标MAC地址写成了4444.4444.4444,
如图
 
 
封装好的数据包发送时三层交换机不会识别和处理该数据包,因为它的网关没有指向交换机,交换机不会认为这是发给自己的数据,所以会直接丢弃,也就没有了之后的数据发送,最后客户的需求是没法实现的。
 
 
下面是另一种解释:
客户机网关指向三层交换机后,交换机查看是发给自己的数据包,于是对第一个数据包处理,此时也有两种情况,若其他网段客户以前访问过192.168.20.0的服务器,则在三层交换机自己的模块路由缓存中有该路由的MAC地址,直接应答客户机10.2的请求,如果没有,则三层交换机自己不能学习路由,所以先向路由器学习路由,在路由表中查看10.2的请求应该从FA0/2端口出去,将这条信息回应给三层交换机,交换机要将客户10.2的原目标MAC改成自己的MAC地址,然后将数据包发送给服务器,服务器将交换机的请求回应给交换机,交换机受到回应后,将20.0网段的服务器MAC地址列入自己的缓存中,另外将10.2的数据包进行重新封装,回应客户10.2的请求,如果有10000个数据包要发送,同样第一个数据包过程一样,剩下的1999个数据包发送给三层交换机后,交换机根据自己的缓存中MAC地址直接将客户机的请求发送给服务器,也就省去了路由的学习,这种理解比上面的理解更合理,但是科学的发展是很快的,最终还是被更新的CEF代替。
 
下面来看一个具体实践,具体的示意图和配置如下:

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

本文出自 “申雷岗 鸿鹄驰骋 欢迎您” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,交换机原理)