当网络规模较大的时候,需要设备来隔离广播域,防止网络中因产生广播风暴而导致网络效率降低,而二层交换机不能隔离广播域,所以需要三层路由器设备来隔离广播域!
但三层路由器为什么能够隔离广播域,是如何隔离广播域的呢?
**1.**首先A知道D的IP地址,知道数据往哪里发送
**2.**然后将D的IP地址(目的ip地址)和自己的掩码相与,发现目标地址和自己在同一网络!
**3.**我们知道了IP,但IP只是一个逻辑地址,数据发送需要唯一标识的MAC地址,但真正的物理地址却不知道!
4.所以在发送数据前,A将会发出一个ARP广播,询问谁的IP地址是192.168.0.3,是的话,把你的MAC地址发给我
**5.**由于是广播,这个子网里的所有网卡设备都能收到这个信息!
5.1首先,A发送的数据,当数据到达二层交换机端口的时候,交换机处理,发现这个数据帧的目的MAC地址:FFFFFF(广播帧),所以将这一数据帧从剩余的其他全部端口转发出去!
5.2当B,C,D和路由器左侧端口收到后做各自的处理:
**B:**收到信息后,去掉帧头帧为,发现自己和目标MAC地址不符合,发现不是找自己,果断丢弃这个数据帧
**C:**和B做了同样的操作!
**D:**收到信息后,去掉帧头帧为,发现自己和目标MAC地址完全符合,发现正在找的是自己,根据数据帧内容的处理,发送一个单播响应,将自己的MAC地址发送给了A
(请求分组时广播 响应分组是单播)
**路由器左侧端口:**网卡接收电信号后,数据从电信号变为比特流;从比特流变为数据帧,从数据帧变为数据包,因为三层设备路由器只能识别“包”,它是不识别帧的!
左侧端口接收到这个数据包(ARP请求广播时,广播帧里的目的ip是本网络的网络号192.168.0.0),路由器收到后会将目标IP地址和自己的掩码相与,发现目标IP的网络号和自己接受这个数据包的端口所在的网络号一致,数据内部转发,根本不需要通过路由器,所以就会把这个数据包丢弃!
路由器的工作原理:
1.路由选择:寻找合适的路由,就是ip和端口一一对应的信息
2.分组转发:有合适路由就转发,没有合适路由就丢包!
交换机工作机制
1.转发:是决定数据帧转向那个端口发出,这个过程需要借助交换机表完成!
2.过滤:决定一个数据帧是应该转发到接口还是丢弃,需要借助交换机表!
3.自学习:建立MAC地址和端口的一一对应,当收到数据帧后检查目的MAC,通过查找交换表,从而查出要从那个端口把这个数据发出去!
A得到了D的MAC地址,A将要发送给D的信息通过一层层的数据封装,到数据包,再到数据帧,最后得到比特流!通过操作系统调用网络协议程序,最终通过网卡,将数据以电信号形式发出!接受方D接受到消息后,然后解封,然后得到信息!
**1.**首先A知道E的IP地址:192.168.3.1,知道数据往哪里发送
**2.**然后将E的IP地址(目的ip地址)和自己的掩码相与,发现目标地址和自己不在同一网络!
**3.**我们知道了IP,但IP只是一个逻辑地址,数据发送需要唯一标识的MAC地址,但真正的物理地址却不知道!
**4.**所以在发送数据前,A将会发出一个ARP广播,询问谁的IP地址是 192.168.3.1,是的话,把你的MAC地址发给我
**5.**由于是广播,这个子网里的所有网卡设备都能收到这个信息!
5.1首先,A发送的数据,当数据到达二层交换机端口的时候,交换机处理,发现这个数据帧的目的MAC地址:FFFFFF(广播帧),所以将这一数据帧从剩余的其他全部端口转发出去!所有端口当然能收到这些信息!
5.2当B,C,D和路由器左侧端口收到后做各自的处理:
**B:**收到信息后,去掉帧头帧为,发现自己和目标MAC地址不符合,发现不是找自己,果断丢弃这个数据帧
**C,D:**和B做了同样的操作!
路由器左侧端口:讲收到的电信号一步步转换到数据包,左侧端口接收到这个数据包后会将目标IP地址和自己的掩码相与,发现目标IP的网络号和自己接受这个数据包的端口所在的网络号不一致,数据要通过路由器转发到别的网络(路由器是属于网络互联设备,每一个端口连接的都是不同的网络),所以查路由表,查到这个数据包,需要通过右侧这个端口转发出去能够最终到达它的目的地,就将数据包从这个端口转发出去!
后面的接力过程,在忽略拓扑接口的云状图网络里,通过各种网络设备,如果遇到路由器就路由选择,分组转发,如果遇到交换机会再次发送广播,寻找目的MAC地址,直到找到为止!
A得到了E的MAC地址,A将要发送给E的信息通过一层层的数据封装,到数据包,再到数据帧,最后得到比特流!通过操作系统调用网络协议程序,最终通过网卡,将数据以电信号形式发出!接受方E接受到消息后,然后解封,然后得到信息!
所以三层设备之所以能够隔离广播风暴,是路由器通过判断目的IP与自己端口的IP是否一致,不一致就丢掉这个包,广播风暴就不会影响到其他网络里,只在自己小范围的网络里进行传递!这样还能够整体的提高网络的通信效率!