以太网相信大家不会陌生,因为以太网是当今现有局域网采用的最通用的通信协议标准,使用非常广泛。有一定网络知识的朋友,可能会知道以太网有半双工和全双工两种工作模式,而且全双工模式比半双工模式要好。那么这两种模式具体有什么区别呢?以太网设备之间的双工模式又是如何进行协商的呢?下面为大家详细介绍。

一、全双工和半双工的概念

 

1、全双工(Full Duplex)

       是在微处理器与外围设备之间采用发送线和接受线各自独立的方法,可以使数据在两个方向上同时进行传送操作。指在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。   

 

2、半双工(Half Duplex)

       所谓半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机、以及早期集线器等设备都是基于半双工的产品。随着技术的不断进步,最近10年制造的网卡、交换机、路由器都支持全双工模式。半双工的网络设备已经逐渐退出历史舞台。

 

二、全双工和半双工以太网的特点

 

1、半双工以太网

1)任意时刻只能接收数据或者发送数据。

2)采用CSMA/CD访问机制。

3)有最大传输距离的限制。

 

2、全双工以太网

1)同一时刻可以接收和发送数据。

2)传输数据帧的效率大大提高,最大吞吐量达到双倍速率。

3)全双工从根本上解决了以太网的冲突问题,以太网从此告别CSMA/CD。

4)消除了半双工的物理距离限制。

 

三、以太网的自动协商

 

1、自动协商的目的

       最早的以太网都是10M半双工的,所以需要CSMA/CD等一系列机制保证系统的稳定性。随着技术的发展,出现了全双工,接着又出现了100M,以太网的性能大大改善。但是随之而来的问题是:如何保证原有以太网络和新以太网的兼容?

       于是,提出了自动协商技术来解决这种矛盾。自动协商的主要功能就是使物理链路两端的设备通过交互信息自动选择同样的工作参数。自动协商的内容主要包括双工模式、运行速率以及流控等参数。一旦协商通过,链路两端的设备就锁定在同样的双工模式和运行速率。

 

2、以太网自协商机制的标准

1)百兆以太网标准IEEE 802.3u规范,将自协商作为可选功能。

2)千兆以太网标准IEEE 802.3z规范,将自协商作为强制功能,所有设备必须遵循并且必须默认启用自协商。

 

3、自动协商原理

       自动协商是建立在双绞线以太网的一种底层机制上的,它只对双绞线以太网有效。光纤接口的以太网不能进行自动协商。

       在双绞线链路上,如果没有数据传输,链路并不是一直空闲,而是不断的互相发送一种频率较低的脉冲信号,任何具有双绞线接口的以太网卡都能识别这种信号。如果再插入一些频率更低的脉冲,这些脉冲称为快速链路脉冲FLP(Fast Link Pulse),两端设备也能识别。于是,可以利用FLP进行少量的数据传输,达到自动协商的目的。

 

       以太网速率双工链路自协商优先级别从高到低,顺序如下:

 

1)1000M全双工

2)1000M半双工

3)100M全双工

4)100M半双工

5)10M全双工

6)10M半双工

 

       如果协商通过,网卡就把链路置为激活状态,可以开始传输数据了。如果不能通过,则该链路不能使用。

       如果有一端不支持自动协商,则支持自动协商的一端选择一种默认的方式工作,一般情况下是10M半双工模式。

       例如:把一台使用100M网卡的计算机连接到1000M的交换机上,假如交换机的端口设置为自动协商,最终交换机的端口会协商为100M全双工模式。假如交换机的端口强制设置为1000M,将导致自协商不能通过,此计算机无法连接网络。

       自协商完全由物理层芯片设计实现,因此并不使用专用数据包或带来任何高层协议开销。

 

原文出处:http://www.net1980.com/2011/01/05/duplex/