当前位置: 首页 > news >正文

IPv4和IPv6比特转发率和包转发率的关系


IPv4和IPv6比特转发率和包转发率的关系

目录:

一、bps和pps如何换算?

二、为什么以太网最短是64字节?

三、IPv6 的最短包长是多少?

四、Spirent上为什么设置IPv6最短长度为76字节,Spirent仪器上能否发送64字节的IPv6报文?

五、IPv6 包的pps如何计算比价合理?



一、bps和pps如何换算?

比特转发率:bps(bits per second)/包转发率:pps(packets per second)

两者采用最短64字节包进行换算。

1Gbps = 1000M bits/((84字节)*8(bit 每字节))=1.488095 Mpps .

包的转发率在最短字节的时候最难达到线速,所以,采用最短字节做为计算包转发率(pps)的包长参数。最短以太包长为64字节,包含DMAC(6)+SMAC(6)+Type(2)+IP Header(20)+填充+CRC(4)。

根据Ethernet的CSMA/CD的工作原理,报文在发送之前,要先侦听一段时间线路是否空闲,空闲才能发送。这个监听时间为帧间隙( IFG:InterframeGap; IPG:InterPacketGap),为发送12个字节的时间。

为了能接受同步,在以太网帧结构前增加了8个字节的前导码(Preamble),其中7个字节为AA(其二进制形式为01010101)用于与接收端同步,第8个字节为AB(帧定界符),用于定界,标明从现在开始后面的是以太网帧。

所以,最短帧的实际长度为:

64字节+12(字节帧间隙)+8(前导码)= 84字节,从而得出前面的转换公式。



二、为什么以太网最短是64字节?

全双工方式下,允许两个站点通过支持全双工数据传输的点到点链路来交换数据,站点能同时传输和接收。没有别的站点来竞争对链路的访问权限,从而也不会出现冲突,不促要CSMA/CD协议的限制,有帧要传输就可以马上发送。

半双工采用CSMA/CD:一个站点要么传输,要么接收,它不可以同时做这两件事,所以存在冲突。由于半双工来自古老的过去,而恰恰最短64字节来10M的自半双工的机制。

半双工里面的,碰撞槽时间在以太网中是一个极为重要的参数,有如下特点:

(1)它是检测一次碰撞所需的最长时间。

(2)要求帧长度有个下限。(即最短帧长)

(3)产生碰撞,就会出现帧碎片。

(4)如发生碰撞,要等待一定的时间。t=rT。(T为碰撞槽时间)

最坏情况下,检测到冲突所需的时间描述如下:

(1)A和B是网上相距最远的两个主机,设信号在A和B之间传播时延为τ,假定A在t时 刻开始发送一帧,则这个帧在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一帧,则B在t+τ时就会检测到冲突,并发出阻塞信号。

(2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,所以一帧的 发送时间必须大于2τ。

(3)按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米,最多经过4个中继器,因 此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。

(3)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定 义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。

对于半双工:10Mbps以太网的最小帧长为512比特,覆盖的范围可以为2500米,而100Mbps以太网为了能够和10Mbps以太网兼容,同样也要求最小帧长为512比特,这时覆盖的范围只有200米。那么在1Gbps以太网中呢?

1G以太网的半双工对CSMA/CD机制做了修改,在MAC帧的尾部附加了一些特殊的编码,这些编码不会和正常数据相同,这样使得帧的传输时间最少为4096比特时间。

所以,以太网帧采用64字节(512 bits)做为最短帧。



三、IPv6 的最短包长是多少?

IPv6和IPv4区别很小,IPv6的报文头40字节,但这个不会影响到最短的报文长度。实际上IPv6 最短的协议报文应该是ICMP的(destination unreachable )报文,这个报文长度为DMAC(6)+SMAC(6)+TYPE(2)+IP头(40)+type(1)+Code(1)+Checksum(2)+payload(xx)+CRC(4)= 62+payload。

对于数据报文,最短应该和ICMP报文长度一致。所以IPv6的最短包长也来自半双工以太网的限制。



四、 Spirent上为什么设置IPv6最短长度为76字节,Spirent仪器上能否发送64字节的IPv6报文?

Spirent公司为了统计报文的时延,抖动等参数,在payload打邮戳,共18个字节。如果不打这个邮戳,将无法统计测试数据,如果将这个signature去掉,在Spirent公司的仪器上可以发送出长度为64字节的报文。

76 = 40(报文头)+ 18(Dmac,Smac,CRC,type)+18(用来打时间邮戳,以便统计报文的时延等)=76字节。



五、 IPv6 包的pps如何计算比价合理?

由于采用64字节无法测试出设备包转发的重要参数,所以,建议使用76字节做为最短的包长来进行pps的计算。也可以直接提供76或64字节能达到的bps转发率,而不提供pps参数

原文地址 http://bbs.51cto.com/thread-464060-1-1.html

相关文章:

  • [LeetCode]-Pascal's Triangle III 杨辉三角问题
  • 令狐冲和TCP/IP协议的第三层协议的关系
  • [LeetCode]-Spiral Matrix III 螺旋矩阵
  • 蓝牙3.0+HS规范正式公布 携手802.11大提速
  • [LeeCode]-Divide Two Integers 不用乘除的除法运算
  • 浏览器之父卷土重来 开发新浏览RockMelt
  • Singleton Pattern 单例模式
  • 浏览器也能当操作系统!——3款中文浏览器操作系统体验评测
  • Linux进程管理中的hash
  • 浏览器真的能“永不假死”?——六款主流浏览器防假死功能测试
  • [九度—剑指offer]—二维数组查找
  • 人人都能当“苍天哥” 手把手教你制作游戏视频
  • Linux 2.6 中导出sys_call_table表修改系统调用函数
  • [九度 1510 剑指offer]—替换空格 数组插入逆向移动
  • 个人设置随身携带口袋操作系统手到擒来
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • canvas 高仿 Apple Watch 表盘
  • Docker入门(二) - Dockerfile
  • httpie使用详解
  • interface和setter,getter
  • Java深入 - 深入理解Java集合
  • Mithril.js 入门介绍
  • Python十分钟制作属于你自己的个性logo
  • quasar-framework cnodejs社区
  • react 代码优化(一) ——事件处理
  • Vue ES6 Jade Scss Webpack Gulp
  • 给Prometheus造假数据的方法
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 每天10道Java面试题,跟我走,offer有!
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 物联网链路协议
  • 线性表及其算法(java实现)
  • 新手搭建网站的主要流程
  • 一文看透浏览器架构
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $$$$GB2312-80区位编码表$$$$
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (超详细)语音信号处理之特征提取
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net 发送邮件
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net多线程总结
  • [17]JAVAEE-HTTP协议
  • [ACTF2020 新生赛]Upload 1
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C#]DataTable常用操作总结【转】