分组丢失和延时是怎样发生的?
在路由器缓冲区的分组队列
分组到达链路的速率超过了链路输出的能力
分组等待排到队头、被传输
分组排队,传输分组(延时)
分组到达路由器,没有可用的队列,则该分组被丢掉(分组丢失)
四种分组延时
-
(节点)处理延时:
检查 bit级差错
检查分组首部和决定将分组导向何处
-
排队延时
在输出链路上等待传输的时间
取决于路由器的拥塞程度
-
传输延时:
R=链路带宽(bps)
L=分组长度(bits)
将分组发送到链路上的
时间= L/R
存储转发延时
(R 带宽 ,打一个比特需要1/R秒,分组长L,需要L/R秒)
-
传播延时:
d = 物理链路的长度
s = 在媒体上的传播速度
(~2x108 m/sec)
传播延时 = d/s
![[Pasted image 20240421150537.png|150]]![[Pasted image 20240421151036.png|200]]
如果距离短,传播时延忽略。
A-B称为一跳(hop)
车队类比
![[Pasted image 20240421151503.png]]
汽车以100 km/hr 的速度传播
收费站服务每辆车需 12s(传输时间)
汽车~bit; 车队 ~ 分组
Q: 在车队在第二个收费站排列好之前需要多长时间?
即:从车队的第一辆车到达第一个收费站开始计时,到这个
车队的最后一辆车离开第二个收费站,共需要多少时间
将车队从收费站输送到公路上的时间 = 12*10 =120s
最后一辆车从第一个收费站到第二个收费站的传播时间:
100km/(100km/hr)= 1 hr
A: 62 minutes
(续)
汽车以1000 km/hr 的速度传播汽车
收费站服务每辆车需 1分钟
Q:在所有的汽车被第一个收费站服务之前,汽车会
到达第二个收费站吗?
==Yes!==7分钟后,第一辆汽车到达了第二个收费站,
而第一个收费站仍有3辆汽车
在整个分组被第一个路由器传输之前,第一个比特已经
到达了第二个路由器!
(信道容量:计算机局域网:容量几乎没有
local:很大)
![[Pasted image 20240421152052.png]]
dproc = 处理延时
通常是微秒数量级或更少
dqueue = 排队延时
取决于拥塞程度
dtrans = 传输延时
= L/R, 对低速率的链路而言很大(如拨号),通常为微秒级
到毫秒级
dprop = 传播延时
几微秒到几百毫秒
排队延时
取决于:流量强度
![[Pasted image 20240421152717.png]]
R=链路带宽 (bps)
L=分组长度 (bits)
a=分组到达队列的平均速率
==流量强度= La / R ==
La / R ~0:平均排队延时很小
La / R -->1:延时变得很大
La / R >1:比特到达队列的速率超过从该队列输出的速率,平均排队时延将趋于无穷大
设计系统时流量强度不能大于1
Internet的延时和路由
Internet 的延时和路由是什么样的呢?
Traceroute 诊断程序: 提供从源端,经过路
由器,到目的的延时测量
For all i:
沿着目的的路径,向每个路由器发送3个探测分组
路由器 i 将向发送方返回一个分组
发送方对发送和回复之间间隔计时
(Traceroute 个简单的程序,它能够在任何因特网主机上运行。当用户指定 一个目的主机名字时,源主机中的该程序朝着目 的地发送多个特殊的分组 。当这些分组向着目的地传送时,它们通过 一系列路由器 。当路由器接收到这些特殊分组之 一时,它向源回送 一个短报文,该短报文包括路由禄的名字和地址)
分组丢失
链路的队列缓冲区容量有限
当分组到达一个满的队列时,该分组将会丢失
丢失的分组可能会被前一个节点或源端系统重
传,或根本不重传(三种情况,提供的服务是否可靠)
吞吐量
吞吐量: 在源端和目标端之间传输的速率(数据量/单位时间)
(A到B传输有效的)
瞬间吞吐量: 在一个时间点的速率
平均吞吐量: 在一个长时间内平均值
![[Pasted image 20240421155004.png]]
取决于最小的
瓶颈链路 :
端到端路径上,限制端到端吞吐的链路
![[Pasted image 20240421155123.png]]
互联网场景
![[Pasted image 20240421155410.png|300]]
注意到在R处,每个主机对获得的带宽是"R/10",(平分,TCP的公平性)
链路上的每一段实际可用带宽 Ri ' = ?
端到端吞吐量:min{Ri',}
每个连接上的端到端吞吐:
min(Rc ,Rs ,R/10)
实际上: Rc 或者Rs 经常是瓶颈