返回信息流比如IP包的长度不同的话,在传输时主要影响哪些问题?是怎么影响的?(包括时延、丢包率、传输效率等)
这是一条镜像帖。来源:北邮人论坛 / communications / #11155同步于 2009/9/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
请教牛人 数据包的长度不同会产生哪些影响
bengou
2009/9/23镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
时延取决于传输距离和队列长度
正常情况下不会丢包,一般只有发生拥塞或者链路中断后路由收敛完成之前会丢
对于不同长度的包,得到的QoS一般不会有区别
一般在MTU范围内,包越大效率越高,因为包头长度都一样
不同的应用会有不同的策略,FTP等追求吞吐量,一般用很长的包长,VoIP需要低时延,一般包长只有几十字节。
【 在 bigeye 的大作中提到: 】
: 时延取决于传输距离和队列长度
: 正常情况下不会丢包,一般只有发生拥塞或者链路中断后路由收敛完成之前会丢
: 对于不同长度的包,得到的QoS一般不会有区别
: ...................
VOIP需要短时延所以包较短,这说的是每个包的时延吧,包长影响的是传输时延,但应用更关注的是端到端时延,相比传输时延,更大的是传播时延吧?而且应该是就整个应用而言,而不是针对单个包吧?另外长包在发生误码重传时是不是比短包消耗带宽?
Throughput=TransferSize/TransferTime
TransferTime=RTT+1/Bandwidth x TransferSize
Efficiency=Throughput/Bandwidth=1/(1+(RTT x Bandwidth)/TransferSize)
显然RTT和Bandwidth不变即网络情况固定的时候,TransferSize越小,效率越低
端到端你说的是从耳朵到耳朵还是主机到主机?
人说话,从声卡或者其他ADC就会不断传来数据,这些数据是没有经过压缩的,经过编码器变成压缩编码,再把压缩后的语音通过一定方式装到IP包中,发送到对端,按相反的过程变成声音。
在骨干网中,路由器的转发时延在微秒或亚微秒级,只要不拥塞基本可以忽略;你说的传播时延,在距离较大的情况下会增加,但国内地面线路一般不会超过20ms。
在主机上,也会产生时延;如果使用AMR或iBLC编码,每秒钟的话音大概可以填满一个1500B的包,但这会导致1S的延迟,完全不可接受,假如需要控制在200ms,那一秒钟就要5个包,如果要控制在20ms,那就需要打50个包。
对于整个应用,终端的时延是确定的,网络的时延是不确定的,为了抗抖动,还需要缓存,可是引入缓存也会增加时延。
对于VoIP,一般话音是没有重传的,丢了就丢了。丢的多了,耳朵就会有感觉。对于已经放过的声音,前边缺的信息再找回来也没用了。
如果你感兴趣时延,可以看一下ITU-T E.771文档
【 在 bengou 的大作中提到: 】
: VOIP需要短时延所以包较短,这说的是每个包的时延吧,包长影响的是传输时延,但应用更关注的是端到端时延,相比传输时延,更大的是传播时延吧?而且应该是就整个应用而言,而不是针对单个包吧?另外长包在发生误码重传时是不是比短包消耗带宽?
【 在 bengou 的大作中提到: 】
: VOIP需要短时延所以包较短,这说的是每个包的时延吧,包长影响的是传输时延,但应用更关注的是端到端时延,相比传输时延,更大的是传播时延吧?而且应该是就整个应用而言,而不是针对单个包吧?另外长包在发生误码重传时是不是比短包消耗带宽?
长包重传的代价当然比短包要严重,这个是很直白的。就比如你作为卖家要给淘宝买家寄5斤苹果。作为一个包裹寄,寄丢了你要重新寄5斤。如果分成5个包裹寄,寄丢了一个,你再新寄1斤就好了。前者你要付10斤苹果的运费,后者你只要付6斤(顺丰速递只按重量收费)。
另外,包裹越重寄丢的可能性就越高,hehe。
你摘苹果的速率是恒定的,假设是1斤/秒。你要装5斤的包裹,就得等5秒才能让顺丰速递的人拿走包裹。而你1斤就装包,则每秒钟都有包裹寄出。你的买家VoIP很着急吃苹果,所以他肯定希望你按第二次方式发货。ls的同学说的AMR语音打包的例子就是这个道理罗。
要说传播时延比传输时延大,基本只有一种例子,那就是卫星通信。