自动协商是以太网中最受争议概念之一。它的出现到底是好是坏呢?这要看情况而定了。在你使用自动协商时,供应、驱动版本和管理员的选择,这些都是需要考虑的方面。
什么是自动协商?
802.3标准中的第28条是这样定义自动协商功能的:它允许一个设备向链路远端的设备通告自己所运行的工作方式,并且侦测远端通告的相应的运行方式。自动协商的目的是给共享一条链路的两台设备提供一种交换信息的方法,并自动配置它们工作在最优能力下。
照字面上来讲,自动协商就是一种在两台设备间达到可能的最大传输速率的方式。它允许设备用一种方式“讨论”可能的传输速率,然后选择双方可接受的最佳速率。它们使用叫做快速链路脉冲的FLP交换各自传输能力的通告。FLP可以让对端知道源端的传输能力是怎样的。当交换FLP时,两个站点根据以下从高到低的优先级侦测双方共有的最佳方式。
- 1000BASE-T全双工
- 1000BASE-T
- 100BASE-T2 全双工
- 100BASE-TX 全双工
- 100BASE-T2
- 100BASE-T4
- 100BASE-TX
- 10BASE-T 全双工
- 10BASE-T
例如,A和B正在自动协商,并且A具有10/100/1000全半双工的能力,但是B只有10/100全半双工的能力,这样双方共有的最高链路能力为100,全双工。一旦双方进行自动协商,链路就会运行在双方能够支持的最佳能力下。
自动协商会产生什么问题?
有关自动协商的大多数问题是由于有一方没有工作在自动协商方式。当一个站点工作在自动协商方式而另一方没有时,只有一方发送快速链路脉冲。另一方已经设定在特定的速率和双工方式下,这样就不会跟对端进行协商。他已经被强行设定,就不会再考虑他连接端的工作方式。
由于强行设定的站点不会告诉正在协商的站点自己的速率和单双工方式,自动协商的站点就必须自己决定合适的速率和单双工方式来匹配对端,这叫做平行检测。协商站点监听从对端过来的链路脉冲能够辨别通信速率。10,100和1000Mbs以太网使用不同的信号方式,所以协商站点能识别对端的工作速率。
然而,全半双工又是另外一回事了。因为强行设定的站点不进行协商,协商站点没有方法知道强行设定站点工作在哪种双工方式下。协商站点为了避免全半双工不匹配,根据802.3标准,它必需与强行站点使用相同的速率,但是工作在半双工方式下。不管速率如何(除了10Gig),半双工是以太网的默认方式。在许多情况下,这会产生全半双工不匹配问题。
为了两端都达到全双工方式,要么两端都自动协商,要么两端都强行设定。
务必不要一端自动协商,另一端强行设定。这会导致双工不匹配。建议把两端设置留在自动协商以减少人为错误。
怎样才能知道全半双工不匹配问题?
双工不匹配会在链路上产生冲突,因为一端可以同时发和收而另一端不能。全双工站点不可能和半双工站点很好的工作。在半双工站点一侧会产生冲突。受影响端口的重传,差的吞吐率和高错误数会损害链路性能。使用福禄克网络公司的OptiView查看时,会在交换机端口上显示错误。