五、以太网速率计算

我们通常所说的10M、100M,1000M、10GE,这些都是指物理介质每秒可以传送多少bit的数据。在我们实际中经常使用每秒传送实际数据帧的数目即PPS(packets per second)来表示报文的速率。下面介绍对于以太网来说如何进行链路速率与pps之间的换算。

以太网传送数据时,每两个帧之间存在帧间隙IFG(Inter Frame Gap),帧间隙的作用是使介质中的信号处于稳定状态,同时让帧接收者对接收的帧作必要的处理(如调整缓存取的指针、更新计数、发中断让主机对报文进行处理)。对于Ethernet(10M)帧间隙时间为9.6usec,100M快速以太网帧间隙为0.96usec,1000M帧间隙为0.096usec,10GE帧间隙为0.0096usec,这个时间正好相当于传送96bit数据的时间。

下面我们看怎么把以太网速率与pps进行换算,假设数据帧的长度为 k bytes(包括CRC),端口速率为R,转化后的PPS为N,那么:

N=R/(k×8+8×8+96)

其中k×8表示实际数据帧的长度(bits),8×8表示前导码(Preamble+SFD)的长度,96bit相当于帧间隙占用的bits。

下面举例说明,假设端口速率为100M,发送数据帧的长度为64字节,那么线速发送报文换算成pps后,

N=100 000 000/(64×8+8×8+96)≈148810 pps

六、半双工、全双工、自协商

在10BASE5和10BASE2的总线型拓扑中,同一时刻只能有一个节点发送数据。随着10BASE-T和hub的出现,网络节点的连接变成了点到点的连接。在节点之间点到点连接中,同一节点同一时刻只能接收或发送数据,不能同时接收、发送数据。这种同一时刻只能接收或发送数据的工作模式为半双工模式。在半双工模式下,使用CSMA/CD的机制来避免冲突。

全双工模式下,同一时刻可以同时接收和发送数据帧。

自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接收对方可能传递过来的相应信息。对于两端处于自协商工作方式的设备,最终协商的结果是采用二者技术能力域中优先级低的网口提供的工作方式工作。协商级别一般为1000Mfull,1000Mhalf,100Mfull,100Mhalf,10Mfull,10Mhalf。

10BASE-T的以太网接口(它只支持10M,不支持自协商)在链路UP之前会发送Link Test Pulse(LTP),该脉冲用以检测链路是否应该UP;而100BASE-T以太网接口(它只支持100M,不支持自协商)在链路UP之前会发送FAST ETHERNET IDLE流,用以检测链路是否应该UP。

支持自协商(Autonegotiation)的以太网接口则在链路UP之前发送FLP(Fast Link Pulse),FLP实际上是一组LTP和数据脉冲的组合,它们表明一种含义:例如我支持100M全双工。较旧的设备例如10BASE-T仍然将这些FLP识别为LTP,而自协商设备则能够识别FLP的含义并通过交互这种握手信息来使链路成为最优配置。如果自协商设备看到有一般的LTP(不是有特定含义的FLP)输入,它就将本端设置为10M半双工。如果自协商设备看到有FAST ETHERNET IDLE输入,它就将本端设置为100M半双工。以上所述的自协商机制只对10/100兆铜缆接口或千兆光/电口有效,100BASE-FX不支持自协商。

千兆自协商和10/100兆自协商使用同样的机制,1000BASE-LX和1000BASE-SX使用自协商机制来协商双工和流控。1000BASE-T设备的自协商还会包含附加域(例如是MASTER还是SLAVE)的协商。千兆设备几乎没有半双工的情况(虽然可以协商),所以很多双工的问题都不存在了。

七、流控

流控指当接收者没有能力处理接收到的报文时,为了防止丢包,接收者需要通知报文的发送者一段时间内停止发送报文。

对于半双工模式和全双工模式,流控通过不同的方式来实现。在全双工模式下,接收者通过发送一种特殊的数据帧来通知发送者,停止发送报文,这种特殊的数据帧称为PAUSE帧,下面是PAUSE帧的结构:

PAUSE帧的长度固定为64字节(包括CRC),PAUSE帧的目的MAC为组播MAC:0180-c200-0001,源MAC为发送PAUSE帧的节点的MAC,LENTH/TYPE字段固定为0x8808。MAC CONTROL PARAMETERS字段表示要求发送者暂停发送流量的时间,数值有效范围为0-65535, 单位为512bit time(bit time指链路上传输1bit需要的时间,如100M链路bit time为10ns)。如果数据报文的接收者在发送PAUSE帧后,在PAUSE帧发送的等待时间超时之前可以处理数据报文,则再发送一个等待时间为0的PAUSE帧通知数据发送者开始发送数据。

PAUSE的接收者(也是数据报文的发送者),收到PAUSE帧后会根据PAUSE帧中的等待时间停止发送报文,等待时间超时后继续发送报文。

半双工模式下,以太网利用CSMA/CD机制处理冲突和链路使用问题。根据CSMA/CD机制,半双工的模式下,采取的流控方式为Backpressure,即背压。该种方法有两种实现,一个是数据接收者有意制造一次冲突,数据发送者检测到冲突采取Backoff,这样就延缓了数据的发送;另外一个方法是制造载波信号,使数据发送者感觉到接收者要发送数据,从而通过检测到载波而进行延时传输。

转载于:https://www.cnblogs.com/ifys/archive/2011/05/05/2037340.html

以太网基本知识小结(二)相关推荐

  1. 【整理】电容知识小结(二)

    目录 聚合物电容与MLCC电容对比 不同类型电容对比 电容的ESR与Q值 ESR Q值 自谐振频率(Self-Resonance Frequency) 聚合物电容与MLCC电容对比 转载自:murat ...

  2. 好程序员分享24个canvas基础知识小结

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

  3. Android技能树 — 树基础知识小结(一)

    前言: 现在安卓面试,对于数据结构的问题也越来越多了,也经常看到别人发的面试题都是问什么红黑树,二叉树查找等,所以我们虽然不会马上就会各种难的面试题,但起码树的基础知识还是要会的,这样才能去进一步学. ...

  4. 好程序员分享24个canvas基础知识小结 1

    好程序员分享24个canvas基础知识小结,非常全面详尽,推荐给大家. 现把canvas的知识点总结如下,以便随时查阅. 1.填充矩形 fillRect(x,y,width,height); 2.绘制 ...

  5. 知识小结------数据分析------Fisher‘s exact test(费希尔检测)

    系列知识小结目录 Cox比例风险回归模型(proportional hazards model) Fisher's exact test费希尔检测 系列知识小结目录 前言 一.Fisher's exa ...

  6. 推广知识小结(名词篇CPA、CPS、CPC、CPM、CPT、CPD)

    推广知识小结(名词篇) 一.CPC 二.CPM 三.CPA 四.CPS 五.CPT 六.CPD 一.CPC CPC,这一种推广模式全称为:Cost Per Click.这一种推广方式是按照点击量来进行 ...

  7. 知识小结------数据分析------Bonferroni correction(邦费罗尼校正)

    系列文章目录 Cox比例风险回归模型(proportional hazards model) 知识小结------数据分析------Fisher's exact test(费希尔检测) Bonfer ...

  8. JavaSE学习小结二

    JavaSE学习小结二 记录学习----------JavaSE模块三&四 其中大部分是一些工具类,会将常用方法及其功能描述整理成表格方便日后查阅 文章目录 JavaSE学习小结二 一.Obj ...

  9. 开学第一周的WEB知识小结

    开学第一周的WEB知识小结 一.HTML重点知识总结 <p></p>:用于展示段落的元素 为了将一段 HTML 中的内容置为注释,需要将其用特殊的记号<!--和--> ...

最新文章

  1. 700页的机器学习笔记火了!完整版开放下载
  2. ORACLE百万记录SQL语句优化技巧
  3. 2021年春季学期-信号与系统-第十二次作业参考答案-第五小题
  4. python主要用途-学习Python的三大主要用途
  5. mysql explain理解
  6. [LeetCode] 402. Remove K Digits Java
  7. React-router总结
  8. JQuery 数组按指定长度分组
  9. project 打印的时候上面的表格和下面的图例中间有个很大的空白,这块东西怎么能去掉呢?
  10. jpa-spring -basic
  11. Excel中快速调整行高或列宽为适合内容显示的长度
  12. 谁更安全?WI-FI无线网加密方式大比拼
  13. 重写equals()与hashcode()方法,及comparable接口的实现
  14. WPF 自定义 写实风 雷达图控件
  15. Fresco图片库研读分析
  16. TILERA--Makefile实例
  17. c语言调用calculate函数,关于c语言中int calculate函数求解。谢谢
  18. Android开发知识(二十二)LayoutInflater装载xml布局过程的源码解析
  19. 腾讯广点通接入总结及源码
  20. Android FrameWork 系统源码调试

热门文章

  1. Flink 完美搭档:数据存储层上的 Pravega
  2. iamond operator is not supported in -source 1.5
  3. 批量绘制train和test关于特征上的差异
  4. .ipynb转化为.py文件后批量删除一大堆#In[53]
  5. xubuntu沒有登錄輸入框,左上角出現白色方框,解決方案
  6. 凸优化函数的一些概念(转)
  7. java值传递试题_面试题:java参数传递 | 学步园
  8. 关于Integer大小比较的问题
  9. 这个时代,给了我们年轻人太多
  10. 登陆工行网上银行报60058017错误及输入正确网银密码提示密码不正确