- 交换机查询地址表时,发现目的 MAC 地址的目标端口和这个包的源端口,是同一个端口,怎么办?
我们看下,假设它不丢弃,会发生什么情况 。
- A发了个消息给B,中间经过一个集线器,此时消息会被广播到B和交换机 。
- 此时B收到第一条A发给它的消息
- 交换机从1号端口收到A的消息后,解包,获得目的MAC地址是BB-BB-BB-BB-BB-BB 。查MAC地址表,发现要发到1号端口 。此时,源和目的端口都是同一个,如果交换机不丢弃这个消息,B会收到第二条A发给它的消息 。
因此,当交换机查询地址表时,发现目标端口和源端口,是同一个端口时,会丢弃这个包 。
- MAC地址表里找不到对应的MAC地址,怎么办?
这种情况下,交换机无法判断应该把包转发到哪个端口,只能将包转发到除了源端口之外的所有端口上,无论该设备连接在哪个端口上,都能收到这个包 。
此时,交换机就会跟集线器一样进行广播 。
发送了包之后目标设备会作出响应,只要返回了响应包,交换机就可以将它的地址写入地址表,下次也就不需要把包 发到所有端口了 。
交换机内部结构再看下交换机内部结构 。
其实对比可以发现,交换机和集线器内部结构很像 。
重点需要提到的是MAC模块 。消息以电信号的形式从网口进入,到了PHY会被转成通用格式的电信号 。而MAC模块的作用是把这个电信号转为数字信号,这样就能提取出MAC包头,并通过MAC数据帧末尾的FCS校验这个包有没有问题,如果没问题,则把数据放到内存缓冲区里,否则直接丢弃 。
另外,这个MAC模块,虽然这么叫 。但其实交换机MAC模块不具有 MAC 地址 。因此交换机的端口不核对接收方 MAC 地址,而是直接接收所有的包并存放到缓冲区中 。
放入到内存缓冲区后,还会把MAC地址和端口号记录到MAC地址表中 。同时检查目的MAC地址在不在MAC地址表中,在的话则会转发到对应端口 。否则广播 。
交换机与网桥的区别网桥,本质上可以理解为两个网线口的交换机,正好可以把两台电脑给连起来,也叫桥接 。而交换机,则是多网线口的网桥,可以把多台电脑给连(桥接)起来 。
其他功能方面,大差不差,不必太过纠结 。
交换机和二层交换机和三层交换机有什么区别这一部分提到的交换机,其实就是二层交换机,也就是工作在第二层(数据链路层)的交换机,二者没区别 。
而三层交换机,是工作在第三层(网络层)的交换机,其实就是接下来要提到的路由器 。
什么是路由器有了交换机之后,小网吧里的电脑就都可以被连起来了 。交换机网口不够?那就再接个交换机 。
但世界上电脑这么多,交换机里的MAC地址表难道全都要记住吗?
显然做不到 。为了解决这个问题 。
于是就有了路由器,工作在网络层,比数据链路层更高一层 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- PET材质的区别 塑料pp材质和pet材质的区别
- 电工与电气工程师区别对比 电工与电气工程师的区别
- HR和猎头的区别在哪里 hr跟猎头有什么区别
- 有机物与无机物的区别 有机物和无机物
- 纯水和软水三种水质到底有什么区别 软水是纯水吗?
- 洗脚还有这些好处 洗脚有啥好处
- 发表有什么区别和意义 发表的区别
- 碳酸钠和碳酸氢钠的区别 碳酸钠和碳酸氢钠的区别?
- 长春胺和甲钴胺有什么区别 长春胺和甲钴胺的区别
- 高铁和动车有什么区别 高铁和动车有什么区别视频