以太网 ------ Auto-Negotiation(自动协商)
说起自动协商(Auto-negotiation),我想很多人都不会陌生。当你把你PC机器上的网卡通过一段双绞线连接到某个交换机的某个端口的时候,如果你的网卡和交换机都支持自动协商功能的话,一件有趣的事情就会发生了,网卡和交换机似乎能够互相告知对方自己可以工作的方式包括网速,双工状态。然后自动选择一个大家都能接受的最佳工作状态!
首先给大家说说为什么会出现自动协商!它为解决什么问题而来!
众所 周知,早期的以太网工作在低速的10M,半双工状态,后来随着网络不断发展的,又出现了交换机--支持全双工,100M,1000M,甚至最新的万兆以太网。为了保护以前的投资,新的标准一般都向下兼容比如100M的系统能够支持就的10M,半双工。但是这样同时又产生了一个新的问题,如果没有某种机制能够让两台互联的以太网设备之间能够协商获得两者都能接受的最佳工作方式的话,你只能通过手工设置来保证通讯双方工作状态的一致性!
这对于有少量这种问题的网络也许是个小问题,但是对于存在大量这种问题的网络而言就是一个头疼的问题。幸好,以太网的标准制定者推出了自动协商(Auto-Negotiation)这种机制,来解决这个问题。
说完这个自动协商机制用来解决什么问题,我们再讲讲自动协商机制是如何协商的.Auto-Negotiation实际上我们可以把它看作成一种主动地协商方式,具有这种功能的设备会主动与对方协商,并且等待对端返回协商结果,它不仅能够协商两端的工作速度是10M,还是100M还是1000M,而且还可以协商两端工作的双工方式是半双工还是全双工.
Auto-Negotiation通过和对端交换一种FLP(Fast Link Pluse)的特殊Frame,里面包含了自己这端可以支持的工作组合方式(速度/双工方式),对端收到之后和自己可以支持的工作组合方式相比较选择一种最佳的工作方式.
简单介绍完自动协商Auto-Negotiation这种机制,我们在说说一个类似的解决方案:
Auto-Sense,自动适应--这是一种被动的方式,它通过对比从对端收到的信号的时间间隔来计算对端的工作速度是10M还是100M.这种方式有个很明显的缺陷就是无法Sense双工状态.
现在大部分的网络设备对Auto-Negotiation和Auto-Sense都支持,当自动协商失败的时候,它可以
通过Auto-Sense确定和对端一致的工作速度.
需要再给大家提醒的就是自动协商并不能百分之一百的可靠。也就是说因为各种各样的原因可能
造成速度不匹配或者双工不匹配。速度不匹配的情况下,我们通常可以很容易的感觉的到,因为
速度不匹配的情况下通讯双方是无法正常通讯的。而双工不匹配的情况下,双方能够互相正常通讯但是会造成接口错误包数量的不断增加,特别在接口流量较大的情况下会造成性能下降的问题!往往因为这个问题比较隐蔽不易查找!
由于以太网的历史悠久而且像自动协商这种机制并不是和以太网一起诞生的而是随着以太网的不断发展而出现的。所以在使用自动协商机制的时候可能会因为对端不支持自动协商或者被手工指定工作方式而导致协商失败或者协商不匹配。
所以我们在一般的应用的时候遵循以下原则
1.对于重要设备之间的互联,我们一般不起用自动协商机制我们一般通过强制指定两端设备的工作速度和双工状态,比如核心交换机之间互联,核心交换机和核心路由器互联
2.对于一般的主机和交换机之间的互联我们起用自动协商机制
3.对于那些无法协商或者协商失败的设备互联的时候,手工强制指定合适的工作状态
以太网 ------ Auto-Negotiation(自动协商)的更多相关文章
- Atitit.auto complete 自动完成控件的实现总结
Atitit.auto complete 自动完成控件的实现总结 1. 框架选型 1 2. 自动完成控件的ioc设置 1 3. Liger 自动完成控件问题 1 4. 官网上的code有问题,不能 ...
- Auto ML自动特征工程
Auto ML自动特征工程 特征工程是在做机器学习训练的过程中必不可少的环节,特征工程就是找出对模型结果有益的特征交叉关系,通常特征工程需要耗费算法工程师大量的精力去尝试.针对这样的场景,PAI推出智 ...
- Auto ML自动调参
Auto ML自动调参 本文介绍Auto ML自动调参的算法介绍及操作流程. 操作步骤 登录PAI控制台. 单击左侧导航栏的实验并选择某个实验. 本文以雾霾天气预测实验为例. 在实验画布区,单击左上角 ...
- ubuntu auto mount自动挂载硬盘
Ubuntu 挂载的文章在网上也不少,推荐一个: http://wenku.baidu.com/link?url=N2c7axijp_KYaYkt2CrZFNZPzzS8xBHLQSTUcI2F85I ...
- auto printer 自动打字机效果
前段时间在知乎上看到了一个打字机的效果,所以,心血来潮,自己也来写了一个打字机的效果. 比较简单,但还有待优化的地方,因为自己感觉这个效果不够炫,等哪天想出好的点子了.再来更新…… 代码效果预览地址: ...
- overflow: auto;溢出自动显示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ztree 样式修改 white-space: nowrap; 后 下划线要是跟上的话 宽度 width 要 auto 就自动更新了
width:auto; border-bottom:1px solid #ccc; height:30px; display: inline-block;white-space: nowrap;
- 以太网MAC地址组成与交换机基本知识
以太网MAC地址 MAC地址由48位二进制组成,通常分为六段,用十六进制表示,工作在数据链路层. 数据链路层功能: 链路的建立,维护与拆除 帧包装,帧传输,帧同步 帧的差错恢复 简单的流量控制 第八位 ...
- Huawei-R&S-网络工程师实验笔记20190524-VRP的系统、接口视图下基本操作
>Huawei-R&S-网络工程师实验笔记20190524-VRP的系统.接口视图下基本操作(重命名.配置IP.VLAN接口.双工模式.console口) >>实验开始,先上 ...
随机推荐
- How to remove tag on Github
git tag -d 22 git push origin :refs/tags/22
- Wiener Filter
假设分别有两个WSS process:$x[n]$,$y[n]$,这两个process之间存在某种关系,并且我们也了解这种关系.现在我们手头上有process $x[n]$,目的是要设计一个LTI系统 ...
- 静态变量setter注入
1.java中静态方法调用非静态成员变量.非静态方法 public class Circle { private double radius = 1.0; double getAre() { retu ...
- 大学jsp实验3include指令的使用
1.include指令的使用 (1)编写一个名为includeCopyRight.jsp的页面,页面的浏览效果如下: 要求“2016”这个值可以实现动态更新.请写出页面代码: <%@ page ...
- 【XSY1602】安全网络 树形DP 数学
题目大意 有一颗树,要为每个节点赋一个值\(l_i\leq a_i\leq r_i\),使得任意相邻的节点互素.然后对每个节点统计\(a_i\)在所有可能的情况中的和. \(n\leq 50,1\le ...
- 微信开发使用webstorm&phpstrom 配置
材料: 下载链接:https://pan.baidu.com/s/1pLn6jFl 密码:fgo5 -----(将其中的wecharCode.jar 下载下来,然后在webStorm 的 File ...
- 洛谷P3222 [HNOI2012]射箭(计算几何,半平面交,双端队列)
洛谷题目传送门 设抛物线方程为\(y=ax^2+bx(a<0,b>0)\),我们想要求出一组\(a,b\)使得它尽可能满足更多的要求.这个显然可以二分答案. 如何check当前的\(mid ...
- Educational Codeforces Round 33 (Rated for Div. 2) F. Subtree Minimum Query(主席树合并)
题意 给定一棵 \(n\) 个点的带点权树,以 \(1\) 为根, \(m\) 次询问,每次询问给出两个值 \(p, k\) ,求以下值: \(p\) 的子树中距离 \(p \le k\) 的所有点权 ...
- rt-thread之stm32系列BSP制作方法
@2019-01-24 [小记] bsp制作方法: 官网下载 rt-thread 源码,将路径 bsp/stm32/libraries/templates/ 下的模板文件,Copy至路径 bsp/st ...
- 如何在代码中减少if else语句的使用
前言 代码中嵌套的if/else结构往往导致代码不美观,也不易于理解.面向过程的开发中代码有大量的if else,在java中可以用一些设计模式替换掉这些逻辑,那么在js中是否也有类似的方法用来尽可能 ...