什么是Auto-Negotiation以太网的技术

发布时间:2019-07-08

浏览次数:216

分享到:
  说起自动协商(Auto-negotiation),我想很多人都不会陌生。当你把你PC机器上的网卡通过一段双绞线连接到某个交换机的某个端口的时候,如果你的网卡和交换机都支持自动协商功能的话,一件有趣的事情就会发生了,网卡和交换机似乎能够互相告知对方自己可以工作的方式包括网速,双工状态。然后自动选择一个大家都能接受的最佳工作状态!

  众所 周知,早期的以太网工作在低速的10M,半双工状态,后来随着网络不断发展的,又出现了交换机--支持全双工,100M,1000M,甚至最新的万兆以太网。为了保护以前的投资,新的标准一般都向下兼容比如100M的系统能够支持就的10M,半双工。但是这样同时又产生了一个新的问题,如果没有某种机制能够让两台互联的以太网设备之间能够协商获得两者都能接受的最佳工作方式的话,你只能通过手工设置来保证通讯双方工作状态的一致性!

  这对于有少量这种问题的网络也许是个小问题,但是对于存在大量这种问题的网络而言就是一个头疼的问题。幸好,以太网的标准制定者推出了自动协商(Auto-Negotiation)这种机制,来解决这个问题。

  说完这个自动协商机制用来解决什么问题,我们再讲讲自动协商机制是如何协商的.Auto-Negotiation实际上我们可以把它看作成一种主动地协商方式,具有这种功能的设备会主动与对方协商,并且等待对端返回协商结果,它不仅能够协商两端的工作速度是10M,还是100M还是1000M,而且还可以协商两端工作的双工方式是半双工还是全双工.

 
 
  自动协商 Auto-negotiation

  802.3标准中的第28条是这样定义自动协商功能的:它允许一个设备向链路远端的设备通告自己所运行的工作方式,并且侦测远端通告的相应的运 行方式。自动协商的目的是给共享一条链路的两台设备提供一种交换信息的方法,并自动配置它们工作在最优能力下。

     Auto-Negotiation可以看作成一种主动地协商方式,具有这种功能的设备会主动与对方协商,并且等待对端返回协商结果,它不仅能够协商两端的工作速度是10M,还是100M还是1000M,而且还可以协商两端工作的双工方式是半双工还是全双工。

     Auto-Negotiation通过和对端交换一种FLP(Fast Link Pluse)的特殊Frame,里面包含了自己这端可以支持的工作组合方式(速度/双工方式),对端收到之后和自己可以支持的工作组合方式相比较选择一种最佳的工作方式.

     当交换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),半双工是以太网的默认方式。在许多情况下,这会产生全半双工不匹配问题。

  为了两端都达到全双工方式,要么两端都自动协商,要么两端都强行设定。

  务必不要一端自动协商,另一端强行设定。这会导致双工不匹配。建议把两端设置留在自动协商以减少人为错误。
 
     Auto-Sensing,自适应--这是一种被动的方式,它通过对比从对端收到的信号的时间间隔来计算对端的工作速度是10MB还是100MB,无法确定工作模式是全双工或半双工。

     自动协商并不能百分之一百的可靠。因为各种各样的原因可能造成速度不匹配或者双工不匹配。速度不匹配的情况下,通常可以很容易的感觉的到,因为速度不匹配的情况下通讯双方是无法正常通讯的。而双工不匹配的情况下,双方能够互相正常通讯但是会造成接口错误包数量的不断增加,特别在接口流量较大的情况下会造成性能下降的问题。往往因为这个问题比较隐蔽不易查找。

  • 自动协商并不能百分百可靠
  • 双工不匹配的链接能通讯,但是产生大量错误,造成网络繁忙,降低网络性能
  • 对于大多数接口速度和双工需要设置为自动以完全自动协商方式工作
  • 强制为特定速度的交换机接口禁用自动协商双工设置
  • 只有链路两边都设置为自动协商或手动设置为全双工才能实现全双工
  • 主机与交换机或其他设备直接连接可工作在全双工模式,不能使用中继器或集线器
  • 如果仅仅在链路一侧使能自动协商,默认为半双工模式,而不管另一侧的双工模式
  • 如果链接的一侧被强制为全双工,另一侧设为自动协商,会发生双工不匹配
  • 只需拔主机电缆 10 秒钟,可以强制进行新的自动协商
  • 大多数10 Mb接口只支持10Mb半双工模式
  • 大多数10/100Mb接口支持自动协商,大多数使用RJ-45双绞线插口的10/100Mb接口支持全双工模式
  • 通过AUI端口连接的网络只支持10Mb半双工 
文章转自于:CSDN博客
 
18928494385