自协商原理:
           自协商是通过一种叫做快速连接脉冲(Fast Link Pulse)的信号实现的,简称FLP。自协商的双方通过FLP来交换数据。

在具备自协商能力的端口没有Link的情况下,端口一直发送FLP,在FLP中包含着自己的连接能力信息,包括支持的速率能力、双工能力、流控能力等。这个连接能力是从自协商能力寄存器中得到的(Auto-Negotiation Advertisement Register ,PHY标准寄存器地址4 )。FLP中的编码方式如图。依靠脉冲位置编码携带数据。一个FLP突发包含33个脉冲位置。17个奇数位置脉冲为时钟脉冲,时钟脉冲总是存在的;16个偶数位置脉冲用来表示数据:此位置有脉冲表示1,此位置没有脉冲表示0。这样1个FPL的突发就可以传输16bit的数据。自协商交互数据就这样通过物理线路被传输。

如果两端都支持自协商,则都会接收到对方的FLP,并且把FLP中的信息解码出来。得到对方的连接能力。并且把对端的自协商能力值记录在自协商对端能力寄存器中(Auto-Negotiation Link Partner Ability Register , PHY标准寄存器地址5 )。同时把状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)置成1。在自协商未完成的情况下,这个bit一直为0。然后各自根据自己和对方的最大连接能力,选择最好的连接方式Link。比如,如果双方都即支持10M也支持100M,则速率按照100M连接;双方都即支持全双工也支持半双工,则按照全双工连接。一定连接建立后,FLP就停止发送。直到链路中断,或者得到自协商Restart命令时,才会再次发送FLP。
并行检测
为了保证在对端不能支持自协商的情况下也能连接,引入了被称为并行检测(Parallel Detection)的机制。在一端打开自协商,另一端关闭自协商的情况下,连接的建立就依靠并行检测功能实现。
并行检测机制是这样的:在具有自协商能力的设备端口上,如果接收不到FLP,则检测是否有10M链路的特征信号或100M链路的特征信号。
       1) 如果设备是10M设备,不支持自协商,则在链路上发送普通连接脉冲(Normal Link Pulse)简称NLP。NLP仅仅表示设备在位,不包含其它的额外信息。
       2) 如果是100M设备,不支持自协商,则在没有数据的情况下,在链路上一直发送4B/5B编码的Idle符号。
并行检测机制如果检测到NLP,则知道对方支持10M速率;如果检测到4B/5B编码的Idle符号,则知道对方支持100M速率。但是对方是否支持全双工、是否支持流控帧这些信息是无法得到的。因此在这种情况下,认为对方只支持半双工,不支持全双工,且不支持流控帧。

基于以上原理,在对端不打开自协商时,打开自协商的一方只能协商成半双工模式。

802.3协议规定,通过并行检测建立连接后,PHY的状态寄存器(PHY标准寄存器地址1)的自协商完成bit(bit5)依然要置位成1,尽管链路上并非使用了真正的自协商操作。同时规定在自协商完成bit为1的情况下,本地自协商能力寄存器(PHY标准寄存器地址4)和对端自协商能力寄存器(PHY标准寄存器地址5)是有意义的。所以,要把寄存器5中的数据更新。如果建立的连接为10M,则寄存器5的10M能力bit(bit5)置1,其它bit置0,表示对端只能支持10M半双工;如果建立的连接为100M,则寄存器5的100M能力bit(bit7)置1,其它bit置0,表示对端只能支持100M半双工。

千兆光口自协商:

千兆光口可以工作在强制和自协商两种模式。802.3规范中千兆光口只支持1000M速率,支持全双工(Full)和半双工(Half)两种双工模式。

千兆光口自协商过程:

1) 两端都设置为自协商模式

双方互相发送/C/码流,如果连续接收到3个相同的/C/码且接收到的码流和本端工作方式相匹配,则返回给对方一个带有Ack应答的/C/码,对端接收到Ack信息后,认为两者可以互通,设置端口为UP状态

2) 一端设置为自协商,一端设置为强制

自协商端发送/C/码流,强制端发送/I/码流,强制端无法给对端提供本端的协商信息,也无法给对端返回Ack应答,故自协商端DOWN。但是强制端本身可以识别/C/码,认为对端是与自己相匹配的端口,所以直接设置本端端口为UP状态

3) 两端均设置为强制模式

双方互相发送/I/码流,一端接收到/I/码流后,认为对端是与自己相匹配的端口,直接设置本端端口为UP状态

注意:

以太网交换机的两个千兆电口对接时,如果一端配置成强制千兆全双工模式,那么协商结果很可能是千兆全双工模式。这个结果和常识相悖。正常情况下,一端强制一端自协商的话,协商结果应该是半双工模式。
   之所以出现上面的情况,是因为这里的强制模式是假象,实际上端口依然工作在自协商模式,只是取消了千兆全双工以外的能力。这样,两个自协商模式的端口对接,协商出全双工模式也就是意料之中的事了。如果再深入一点点,就会产生一个疑问——为什么交换机要这样设定呢?这要从千兆电口的工作原理说起。
   两个千兆电口对接时,一端要工作在master模式,另一端则工作在slave模式。Slave一端不使用自己的时钟,而是从接收到的信号中恢复时钟,自己发送信号时就使用恢复出来的时钟。这样,可以有效保证双方的同步。但是,谁当master,谁又当slave呢?这就要通过自协商功能做出裁决。正是因为这个原因,IEEE 802.3ab-1999标准规定,自协商功能是1000BASE-T以太网的必选项。

PHY以太网自动协商原理相关推荐

  1. 以太网接口的双工模式及自动协商原理

    以太网相信大家不会陌生,因为以太网是当今现有局域网采用的最通用的通信协议标准,使用非常广泛.有一定网络知识的朋友,可能会知道以太网有半双工和全双工两种工作模式,而且全双工模式比半双工模式要好.那么这两 ...

  2. 网络口协商_以太网端口协商原理

    以太网端口协商原理 以太网端口电口工作模式简单介绍: 1 .以太网口的两端工作模式( 10M 半双工. 10M 全双工. 100M 半双工. 100M 全双工.自协商)必须设置一致. 2. 如果一端是 ...

  3. 网络口协商_以太网端口协商解析

    [ 推荐 ] 以太网端口协商原理 , 以太网自适应原理 (2011-07-31 18:21:44) 以太网端口电口工作模式简单先容: 1 .以太网口的两端工作模式( 10M 半双工. 10M 全双工. ...

  4. GE千兆以太网光口模式协商原理

    目录 一.千兆以太网光口模式和协商原理 二.千兆以太网光口的协商过程 ①.两端都设置为自协商模式 ②.一端设置为自协商,一端设置为强制 ③.两端均设置为强制 三.对接建议 1.自适应模式: 2.强制1 ...

  5. 关于网络的自动协商属性

    1.首先普及点网线的基础知识 网线分为:直通线,交叉线和反转线 直通线: 两头都是A类(规范的制作方法,100M接法) 交差线: 一头是A类,一头是B类 反转线: 一头是A类,另一头是完全把A反过来排 ...

  6. PHY以太网DP83848IVV/NOPB 工业温度、10/100-Mbps 以太网 PHY 收发器,支持 SNI 和 JTAG

    供求PHY以太网DP83848IVV/NOPB 工业温度.10/100-Mbps 以太网 PHY 收发器,支持 SNI 和 JTAG产品 美裕芯科技产品描述: DP83848IVV/NOPB 旨在通过 ...

  7. 电口以太网物理层一致性测试原理与过程

    电口以太网物理层一致性测试原理与过程    关键字: 以太网  物理层  一致性测试 1. 以太网物理层信号特点 以太网对应OSI七层模型的数据链路层和物理层,对应数据链路层的部分又分为逻辑链路控制子 ...

  8. 华为以太网链路聚合原理及配置

      链路聚合在华为交换机中称Eth-Trunk,是将一组相同类型的物理以太网口绑定在一起的逻辑接口,是一种用于增加链路带宽的方法.该逻辑接口与物理接口一样,可以被配置为Access.Hybrid.Tr ...

  9. 《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.3 自动协商故障...

    本节书摘来自异步社区<Network Warrior中文版(第2版)--思科网络工程师必备手册>一书中的第3章,第3.3节,作者[美]Gary A. Donahue,更多章节内容可以访问云 ...

最新文章

  1. 随机器学习兴起的Julia编程语言
  2. 力扣Java编译器_力扣--设计单链表
  3. 将Ehcache添加到Openxava应用程序
  4. EmguCV学习遇到的问题记录
  5. 3_03 蛇形填数(数组)
  6. vue element Form-Item prop
  7. jq cookie的使用
  8. 书籍:Learn Web Development with Python - 2018.pdf
  9. 1. JavaScript Array 对象
  10. 华为8817升级Android5,华为c8817E官方升级包大集合
  11. 在售后技术服务里,Kubernetes到底是什么? | 凌云时刻
  12. 【对话系统】对话系统核心技术概要
  13. msvcr71.dll等dll丢失的解决方法
  14. 使用uniapp开发微信小程序的人脸采集功能/人脸识别功能
  15. 虚拟专用网络安全技术
  16. 教你3分钟快速开发微信公众号[订阅号][服务号]
  17. 什么是url静态化?
  18. C++读取和写入CSV文件,实现判断文件格式,并且特定的排序输出的实例
  19. 未来10年,5个C/C++吃香的细分领域技术
  20. MVC和MVVM框架介绍

热门文章

  1. 1001. A+B Format (20)---------------PAT开始
  2. Jquery 全选、反选问题解析
  3. javascript学习代码
  4. java面向对象:异常处理 —(18)
  5. MangoFix:iOS热修复另辟蹊径
  6. 给页面加速,干掉Dom Level 0 Event
  7. Asp.Net 设计模式 之 “简单工厂”模式
  8. python基础知识-列表,元组,字典
  9. Linux平台Oracle多个实例启动说明
  10. 蓝桥杯 参考题目 黄金队列(水题)