什么是集线器
- 集线器(hub):工作在物理层,有多个网口,会把某个端口收到的数据通过中继电路广播到所有端口上
- 比如 IP 包,会有目标地址,非目标地址的机器收到包,会将其丢弃
- 传输过程可能出现错误,接收方会进行校验,如果失败会直接丢弃,发送方会尝试重新发送
- 交换机(switch):工作在数据链路层
- 通过一张 MAC 表维护着 MAC 地址和端口的映射关系,很大程度避免无限制的广播,减少资源浪费
- 如果表里面找不到这个资源,会通过广播进行转发,如果有响应,会将地址隐射关系写入地址表,下次可以直接转发
- 如果 MAC 地址的目标端口和源端口是同一个,会丢弃,否则加入源数据经过了集线器走到交换机,本身会先广播一次,在通过交换机发送又会广播一次,目标机器会收到两次数据,导致异常
- 网桥:两个网线口的交换机,可以连接两台设备,其他和交换机基本一致
- 路由器(也可以称为三层交换机):工作在网络层
- 通过路由表维护目的 IP 和端口的关系(包括目的 IP、子网掩码、网关、端口的表)
- 如果路由表不存在目标 IP,会打到默认网关(一条目的 IP 和子网掩码全零的记录),只有这条记录有网关,这时会发送到其他路由器
- 如果没有配置默认网关,会丢弃这个包,并通过 ICMP 消息告知发送方。
- 这个网关的端口一般就是运营商通过光纤等接进来的那个端口。
- 每个网口都有自己的 MAC 地址和 IP 地址,都能称为数据链路层的发送发和接收方
- 交换机没有,所以不能作为接收方,只能作为中转,且不会校验数据帧目的地是不是自己
- 路由器可以作为接收方,可以组装下一个路由器的 MAC 地址下跳。
- 现在一般路由器也支持交换机的能力
- 光猫:一种调制解调器,其实就是用于光电信号转换的设备,现在的大部分也都配备了路由功能。
