我有2台PC(PC1和PC2),它们希望在全双工以太网交换机中同时传输到PC3。让我们考虑所有端口都在同一个VLAN中,那么交换机内部发生了什么?谁先传送数据到PC3?
我在使用CSMA / CD之前就已经阅读过,但是只有在半双工模式下运行的早期以太网版本中才使用它,并且交换机的每个端口都是冲突如果有2台计算机尝试同时传输,则执行算法以给每台计算机一个随机的时间来传输和解决冲突问题。但是,在全双工交换机中,我读到消除了冲突的可能性,因此,如果两台PC尝试同时发送,交换机内部会发生什么?交换机是否执行算法来选择谁先发送?
#1 楼
交换机会将来自两个发送系统的传入数据帧完全加载到其缓冲区中。我不确定如何确定哪个帧将首先在队列中进行后续转发。但这可能是基于帧开始的初始接收时间。然后,交换机将处理传输缓冲区队列,将帧一帧一帧地发送到目标端口/段。帧“相互运行”没有问题。真正的问题是最终端口/网段能否足够快地接受帧。 (当然,交换机可以足够快地处理其缓冲区/队列。)
#2 楼
非常有趣的问题,不幸的是,没有确切的答案,因为确切的解决方案因硬件而异。但是,在231-232页的“计算机网络-系统附录”中明确讨论了此问题。
设计解决方案的要点是“阳光开关”,即您具有图表输入-蝙蝠-陷阱-选择器==榕树===输出,并且具有连接选择器的延迟盒给配料员。我引用:
当在同一周期内将一个(单个)榕树大小的数据包指定用于单个输出时,它们将通过
延迟盒,并在下一个周期中重新提交给交换机。
进一步:
陷阱网络识别出那些将能够通过榕树退出交换机(每个输出端口最多l个交换机),并且
标记其余部分以便再循环。
#3 楼
两台计算机发送到第三台计算机之间总是会有一些差异,除非您在交换机上进行任何特殊操作,否则它将以FIFO为基础进行传输,因此无论先到达的帧都是先传输的。评论
由于PC [23]是自己连接的,因此没有任何阻止帧能够同时精确到达硬件正在运行的“瞬间”(频率)的精度。这样做,但我想它将以循环方式读取端口的帧。
–ytti
2013年6月4日15:39
好一点,我的意思是,两帧完全同时到达的机会非常低。正如您所提到的,它很可能取决于ASIC设计,而且我敢肯定,除非您与客户团队进行了一系列合作,否则不会在任何地方进行记录。
–大卫·罗瑟拉(David Rothera)
2013年6月4日15:57
假设其他所有条件均相同,则中断第一个获胜者。
–generalnetworkerror
2013年6月4日18:10
评论
是的,有直通和无碎片切换。主要用于高速交易环境。已知DST MAC后,直通将开始传输。无分片确保该帧不是冲突分片,因此在传输之前它需要接收64个字节。
–丹尼尔·迪布(Daniel Dib)
2013年6月4日15:35
是的,我认为某些人将其称为直通转发,而不是存储转发。在直通方法中,交换机可以在收到并查找目标MAC后立即开始转发,但是存在混合方法,它需要等待更长的时间,例如能够查看IP以检查出站ACL 。 (Ethertype字段将告诉它框架中是否存在IP地址)。
–格尔本
2013年6月4日15:36
^^^这个。这就是NE摇摆的原因。
–克雷格·康斯坦丁(Craig Constantine)
2013年6月4日15:38
由于没有人提及,因此切入的缺点是出现了帧错误的奇怪情况。尽管直通确实会稍微减少初始帧上的等待时间(帧越大,影响越大),但无论帧是否有效,它都会转发帧,因为这样做不会收到完整的帧并能够验证FCS 。存储和转发交换机将接收完整帧,并能够在转发之前检查FCS,从而允许它们丢弃无效帧。
– YLearn♦
2013年6月4日16:08
大多数交换器仅是存储转发式的,直通在几年前卷土重来,因为它很容易卖给金融界。在10G上进行存储和转发会导致1.2us的延迟,即235m。切入和切入的速度也不能不同。
–ytti
2013年6月4日19:12