精华全集 冲广角币 获取广角币的更多方法
【名称】:端对端延迟(end-to-enddelay)
【作者】:维基百科,自由的百科全书
【格式】:PDF
【页数】:3
【语言】:中文
【出版社】:
【出版日期】:
【摘要或目录】:
延迟(delay)为讯号在网路上传输所需的时间。 以IP网路而言,端对端延迟(end-to-enddelay)为在来源端产生的IP
封包传送到目的端所需的时间。 换句话说,端对端延迟为封包由来源端到目的端传输,经由不同的网路设备与线路
所造成的延迟时间总合。
因此,封包的端对端延迟=目的端接收封包时间-来源端发送封包时间。 而当封包并未成功传送到目的端时,其
端对端延迟为未定义。
底下利用awk程式,针对模拟范例example5_1.tcl所产生的out.tr记录档,量测FTP与CBR封包所有有定义的端对端
延迟,将结果分别存入“ftp_delay”与“cbr_delay”档。
#档名为"delay_measure.awk" BEGIN{ #程式初始化 highest_packet_id=0;#可省略 } { action=$1; time=$2; flow_id=$8;
packet_id=$12; #记录目前处理过的最高封包id if(packet_id>highest_packet_id) highest_packet_id=packet_id; #记录封包传
送时间与对应flow if(start_time[packet_id]==0) start_time[packet_id]=time; flow_num[packet_id]=flow_id; #记录所有封包的
接收时间 if(action=="r"){ end_time[packet_id]=time; }else{ #将未接收封包的接收时间设为-1 end_time[packet_id]=-1; } }
END{ #计算有定义的end-to-enddelay for(packet_id=0;packet_id<=highest_packet_id;packet_id++)
{ packet_duration=end_time[packet_id]-start_time[packet_id]; #将所需结果存档 if(packet_duration>0){ if(flow_num
[packet_id]==1){ printf("%f%f\n",start_time[packet_id],packet_duration)>"ftp_delay"; }else{ printf("%f%f\n",start_time
[packet_id],packet_duration)>"cbr_delay"; } } } }