网络传输及结构
数据传输分为电路传输和分组交换。
分组交换
一次数据传输是一个报文,包含各种信息以及传输的数据。
在发送时,需要对这个报文进行切割成多分小数据块,称为分组。
每个分组小数据块通过通信链路和路由器传送。
1、存储转发传输
多数交换机使用此传输机制。
表示,分组完全传输到路由器后(缓存),交换机才进行转发到下一个目标。
一个报文在一个路由器中传输一次,会有一个时延,为一个分组传输到目标的时间。
若有多个路由器链路传输,总时延即为多个路由器的倍数。
深刻讲解:
在两台端系统直接通过一个路由器传输一个报文,这个报文分成3组,一个分组的大小为L bit,传输链路的速率为R bit/s,则一个分组从源系统通过链路到路由器需要 L/R s 的时间。
而路由器会等待分组传输完成,才会进行转发到端系统。
所以在 L/R s,分组1 到达路由器,路由器开始将分组1转发到目标端系统,分组2 开始发送到路由器。
在2L/R s,分组2 到达路由器,路由器开始将分组2转发到目标端系统,分组1 完全传输到达端系统,分组3 开始发送到路由器。
在3L/R s,分组3 到达路由器,路由器开始将分组3转发到目标端系统,分组2完全到达端系统。
在4L/R s,分组3完全到达路目标端系统。
耗时4L/R s,完成传输。
现假设不用此机制,按我们所想的直接传输,总耗时为 3L/R s。
- 所以有 (4-1)L/R = L/R s的时延。
假设传输链路中要经过N个路由器,则总时延为 N*L/R s。
2、排队时延和分组丢失
假设2个端系统经过同一个路由器传输数据,且路由器的输出发送链路比输入接收链路速率小,则缓存的分组将会进行排队发送,进一步增加了传输的时延,并且路由器的缓存是有限的,如果缓存满了,就会造成分组丢失(丢包)的情况。
3、转发表和路由选择协议
路由器会根据目标ip地址进行选择转发到离目标ip地址最近的路由器,直到直接转发到目标ip。
每台路由器具有一个转发表,用于将目标ip(或目标ip地址的一部分)映射成为输出链路。
因特网具有一些特殊的路由选择协议,用于自动地设置这些转发表。
电路交换
电路交换,会直接预留一条两个端系统之间的传输链路资源,不会有排队传输数据,直接是每条链路分出一部分,供着俩端系统进行数据传输。
这条传输链路称为电路。传统的电话网络就是用的此机制。
电路交换分为2种
1、频分复用(FDM):每条专用电路分一个频段,并分配一定的速率。如把一个大半径水管,分成几个小半径水管。
2、时分复用(TDM):把不同时间段分给不同的电路专用。将每秒分为一定的帧数,每帧分为几个间隙。一条电路使用其中的一个间隙。
分组交换与电路交换的对比
有些人觉得这种占资源,比如你数据传输完成了,却还占着电路,就没有得到充分的利用。
我觉得吧,两种传输方式各有利弊。
分组可以充分利用资源,但却有着时延性。可以用于文字图片的传输
电路可以保持实时传输,但却无法资源利用最大化。可以用于视频电话的传输
网络的网络
在最初的网络结构中,每一个ISP都连接着更高一级的ISP,每个同层级的ISP也是相连的。
随着发展,不同层级的ISP也可以越级连接,以保证其中一个连接点故障时,可以通过其他链路进行传输。
进一步的发展,一些民间it企业,随着不断扩大,他们的数据中心也遍布各个地方,他们用自己搭建的链路进行传输,更为快速,也是一种ISP。如阿里、腾讯、谷歌等。