计算机网络和因特网(二)
1.3 网络核心(network core)
分组交换(packet-switching)
在各种网络应用中,端系统彼此交换报文(message),报文能够包含协议设计者所需要的任何东西
为了从原端系统向目的端系统发送一个报文,需要将长报文划分为较小的数据块,称之为分组(packet),每个分组都通过通信链路和分组交换机(router和link-layer switch)进行传送
设数据长 L bit,传输包速度 R bit/sec,需要传输L/R sec
存储转发传输(store-and-forward transmission)
交换机能够开始向输出链路传输该分组的第一个比特前,必须接收到整个分组(大多数交换机使用),所以它先缓存(buffer)已接收分组的比特
传输1个分组,经过N条链路(N-1个路由器),端到端延迟(end-end delay):$N\frac{L}{R}$
排队时延和分组丢失
每台分组交换机有多条链路与之相连,每个连接有一个 输出缓冲区
(output buffer),用于存储路由器准备发往那条链路的分组。到达的分组发现缓冲区正在忙于传输其他分组,因此需要在输出缓冲区里等待,承受了 排队时延
(queueing delay,跟随变化的且取决于网络的拥塞程度)
buffer place有限,可能会被等待传输的分组充满,这种情况下会出现 分组丢失
(包丢失,packet loss),到达的分组或已经排队的分组之一会被丢弃
转发表和路由协议
在internet中,每个end system有一个IP地址,当源主机向目的端系统发送一个分组时,分组的首部里包含了目的地的IP地址,和邮件很像。当一个分组到达网络中的路由器时,检查该分组的目的地址的一部分,并向相邻路由器转发该分组。每台路由器有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成输出链路
路由选择协议,自动地设置转发表
电路交换(circuit switching)
在电路交换网络中,端系统间通信会话期间,预留了端系统沿路径所需要的资源(buffer、link transmission rate)(类比饭馆预约,电路交换相当于提前预约,包交换相当于不预约到那可能要等待)——传统的电话网络
网络在发送信息之前必须建立连接:电路,并在网络连接中预留恒定的传输速率,因此能够使发送方以确保的恒定速率相接收方传输数据。
FDM vs TDM
FDM | frequency-division multiplexing,频分多路复用
链路的频谱由跨越链路创建的所有连接共享,在连接期间链路为每条连接专用一个频段(frequency band),该频段的宽度称为带宽
TDM | time-division multiplexing,时分多路复用
时间被划分为固定期间的帧,每个帧又被划分为固定数量的时间片(time slot)
网络在每个帧中为连接指定一个时间片,一个时间片(在每个帧内)可用于传输该连接的数据
每个电路在短暂的时间间隔里获得所有带宽
1.4 分组交换网络中的时延、丢包和吞吐量(throughput)
时延
- nodal processing delay 节点处理时延
- queueing delay 排队时延
- transmission delay 传输时延
- propagation delay 传播时延
加一起:total nodal delay 节点总时延
处理时延:检查bit错误,<ms
排队时延:一个特定分组的排队时延长度取决于先期到达的正在排队等待向链路传输的分组数量
传输时延:将所有包的bit传输到链路中所需的时间$\frac{L}{R}$,$\mu$s~ms级
传播时延:从链路起点到路由器传播所需时间,传播速率取决于链路的物理媒体,$2\times{10}^{8}$~$3\times{10}^{8}m/s$,ms
传输时延是分组长度和链路传输速率的函数,与两台路由器之间距离无关,传播时延与距离有关
排队时延和丢包
令a表示分组到达队列的平均速率(pkt/s,包每秒),$\frac{La}{R}$称为流量强度(traffic intensity)
- $\frac{La}{R}\gt1$:bit到达队列的平均速率超过从该队列传输出去的速率,队列将趋向于无限增加,排队时延就很恐怖了
- $\frac{La}{R}\le1$:第n个分组具有$(n-1)\frac{La}{R}$的排队时延
(假设队列能够容纳无穷多的分组)
但是实际中不能无穷,会出现队列满的情况,此时没有地方存储包,router就会丢弃该包。丢弃的包可能基于端到端的原则重新传输,也可能真丢了
端到端时延:there are N-1 routers between the source host and the destination host,$d_{end-to-end}=N(d_{proc}+d_{trans}+d_{prop})$
吞吐量(throughput)
以bps计
instantaneous throughput:瞬时吞吐量,在某一指定时间点
average throughput:平均吞吐量,在一段长时间里
bottleneck link:瓶颈链路,min{$R_{c}, R_{s}$}