《VMware 网络技术:原理与实践》—— 3.3 扩展以太网段:中继器、集线器和交换机

简介:

本节书摘来自华章出版社《VMware 网络技术:原理与实践》一 书中的第3章,第3.3节,作者:(美)Christopher Wahl Steven Pantol,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 扩展以太网段:中继器、集线器和交换机

我们在表3.1中已经看到,每个物理以太网标准都有最大电缆长度,这种距离限制的原因和穿越介质时电信号的衰减(attenuation)有关。当你想要连接更远的设备时该怎么办?早期的解决方案是中继器(repeater),这种设备连接两个网段,将其在一端侦听到的所有信号发送到另一端。中继器在10BASE5和10BASE2的时代很常见,当时以太网段通常是单一的共享同轴电缆。

434d8983564844cff74a616575db48eec53705b4

当基于UTP的电缆技术推出时,中继器被集线器(hub)所代替,如图3.2所示。集线器实际上是一个多端口的中继器,网段上的每个设备都连接到集线器,集线器将接收到的所有传输数据重发到其他各个端口。如果8端口集线器接收到端口1上的传输数据,它将把传输数据重发到端口2~8,而不会将其发到接收到传输数据的端口上。从集线器传输的数据都是新鲜的,可以发到最大距离,从而重置了距离计数器。
通过堆叠集线器,你可以支持许多设备的互连。但是,因为每个集线器盲目地重发信号,形成的网络仍然是单一的共享总线,很容易引起冲突。这种网络上的所有设备被称为同一冲突域(collision domain)的组成部分。而且,CSMA/CD要求一次只有一个设备传输。因此,可用的带宽在所有连接的设备之间共享。最终,在基于集线器的以太网中,没有设备能够同时传输和接收。这被称为半双工(half-duplex)通信。随着共享总线上的设备数量的增加,冲突的概率也会增加。最终,不断的冲突使通信无法持续。
因为冲突的倾向和低下的带宽利用率,人们开发出了更智能的互连设备——交换机(switch)。交换机不通过盲目的重新广播建立单一的共享总线,而是检查每个帧的目标地址,只将其转发到相关的端口。如果多个帧同时被发送到同一个目标地址,交换机可以缓存这些帧,一次发送一个,以避免冲突。所以,在交换机中,尽管背板的带宽是共享的,但每个当前通信连接的带宽不是共享的,每组通信中的端口可以使用全部带宽,仅受交换机背板的限制。
由于这些特性,每个交换端口自成冲突域。只要每个端口只连接一个设备,就不会发生冲突。CSMA/CD算法可以禁用,允许连接的两端同时发送和接收,实际上成倍提高了性能。这被称作全双工(full-duplex)通信。
虽然交换机能为单播流量做出智能的转发决策,但是仍然必须支持广播和组播流量,允许发送者传输到所有或者多个连接的设备。当一个交换机端口接收到广播,它会被重传到所有其他端口,这就是交换机和所连接设备被称作共享一个广播域(broadcast domain)的原因。当交换端口接收到组播时,只向与该地址有关的端口转发。

交换逻辑

让我们更深入地探究一下交换机的魔法。交换机必须检查每个输入帧,确定是转发它还是忽略它。为此,交换机必须学习与每个端口相关的MAC地址。这一映射由交换机检查每个输入帧源MAC地址建立。知道源端口和源MAC地址之后,交换机在设计用于快速搜索的特种内存中建立一个查找表,这一内存被称作内容可寻址存储器(Content Addressable Memory,CAM)。
检查输入帧源地址之后,交换机检查帧的目标地址,并搜索MAC地址表中的匹配项。如果没有找到匹配项,交换机向所有其他端口发送该帧,假设位置的目标地址将会响应,然后将其加入地址表。如果找到匹配项,且匹配项不是源端口,交换机将该帧转发到目标地址对应的端口。如果匹配项就是源端口,该帧被忽略。如果你将一个集线器连接到交换机端口,就会看到这种情况。交换机将把连接到集线器的所有设备的MAC地址关联到同一个交换机端口,集线器将会把它连接的设备接收到的所有信号重发到交换端口上。

相关文章
|
6天前
|
机器学习/深度学习 算法 PyTorch
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
本文探讨了图神经网络(GNN)与大型语言模型(LLM)结合在知识图谱问答中的应用。研究首先基于G-Retriever构建了探索性模型,然后深入分析了GNN-RAG架构,通过敏感性研究和架构改进,显著提升了模型的推理能力和答案质量。实验结果表明,改进后的模型在多个评估指标上取得了显著提升,特别是在精确率和召回率方面。最后,文章提出了反思机制和教师网络的概念,进一步增强了模型的推理能力。
24 4
基于图神经网络的大语言模型检索增强生成框架研究:面向知识图谱推理的优化与扩展
|
3天前
|
JSON 算法 Java
Nettyの网络聊天室&扩展序列化算法
通过本文的介绍,我们详细讲解了如何使用Netty构建一个简单的网络聊天室,并扩展序列化算法以提高数据传输效率。Netty的高性能和灵活性使其成为实现各种网络应用的理想选择。希望本文能帮助您更好地理解和使用Netty进行网络编程。
22 12
|
1月前
|
缓存 负载均衡 网络协议
|
2月前
|
Java 应用服务中间件
面对海量网络请求,Tomcat线程池如何进行扩展?
【10月更文挑战第4天】本文详细探讨了Tomcat线程池相较于标准Java实用工具包(JUC)线程池的关键改进。首先,Tomcat线程池在启动时即预先创建全部核心线程,以应对启动初期的高并发请求。其次,通过重写阻塞队列的入队逻辑,Tomcat能够在任务数超过当前线程数但未达最大线程数时,及时创建非核心线程,而非等到队列满才行动。此外,Tomcat还引入了在拒绝策略触发后重新尝试入队的机制,以提高吞吐量。这些优化使得Tomcat线程池更适应IO密集型任务,有效提升了性能。
面对海量网络请求,Tomcat线程池如何进行扩展?
|
2月前
|
2月前
|
监控 物联网 网络架构
|
4月前
|
存储 安全 数据中心
交换机和集线器有什么区别?
【8月更文挑战第4天】
2625 12
|
4月前
|
缓存 网络协议 Linux
扩展Linux网络栈
扩展Linux网络栈
87 3
|
5月前
|
存储 传感器 监控
智慧养殖的智慧网络:构建高效、可扩展的养殖生态
智慧养殖,在国家政策的大力扶持和农业数字化浪潮的推动下,正迅速发展。然而,许多人对它的价值仍持怀疑态度:认为智慧养殖只是昂贵的技术堆砌,短期内看不到经济回报,甚至怀疑其实用性。本文将挑战这些观点,展示智慧养殖如何通过技术整合提高效率、降低成本,并探讨如何克服网络稳定性和速度等技术障碍,引领养殖企业走向高效、经济的现代化转型。
312 22
下一篇
DataWorks