如前文所述,在数据传输中会发生延迟。这个小节主要介绍延迟的组成,共包含四个部分
这个时发生在forwarding时候发生的延迟,数据需要被识别其目的地,这个识别的过程会造成延迟,一般在几微秒的范围
如前文所述,在数据包等待排队时会发生延迟,延迟的时间取决于当前通道的阻塞程度
对于排队延迟,可以使用以下公式量化
a:平均数据包到达率
L:通道长度
R:通道带宽
排队延迟从0到1的关系
越靠近1越拥挤,超过1则水泄不通
就是前文的L/R
取决于通道长度和接收端的速度
D = d/S
对于传输延迟和传播延迟再做一下解释,拿汽车排队过收费站的例子来说,汽车通过收费站的时间就是传输时间,而从离开收费站到到达目的地为止则是传播时间
应用追踪路由,我们就可以判定各个网站的网络延迟,其工作原理如下:
追踪路由首先向第一个包发送数据后返回,之后重复这个过程知道达到目标为止。
按照之前的叙述,信道越长延迟也就越长。有时候信道更长延迟也可能降低,这是因为排队延迟发生了改变。
简单来说就是固定时间单位内信道能够容纳的数据流量
当有多个通道存在时,吞吐量和最短的通道有关
例题:
假设有十台设备接入中间的管道,各个设备平均分配中间管道,试求吞吐量
解:取Rs Rc R/10中的最小值,一般Rc 和 Rs更小
本节内容会在第六章有详细叙述,这里只做简单介绍
本节内容共包括三点:
1. 互联网攻击的基本形式有哪些
2. 如何保护设备不受攻击
3. 如何设计能够抵御攻击的架构
1. packet “sniffing” 数据包追踪
第三方设备在数据通道内接入,强行获取AB之间的数据流(wirewhark的本质就是这个功能)
2. IP spoofing IP欺诈
第三方设备通过修改数据块信息导致目的地识别错误,使得设备之间无法正常通讯
3. Denial of Service (DoS) 拒绝服务
应用一台或多台设备向服务器发送大量数据流导致阻塞,以此来制止其他设备正常访问服务器
1. 认证authentication
设置仅有认证过的设备才能对服务器进行访问
2. 保密confidentiality
加密信息,只有密码正确才能访问
3. 完整性检查 integrity check
设置电子签名,检查数据包文件完整性,防止运输篡改过的文件
4. 访问限制access restrictions
通过限定IP等方式限制访问
5. 防火墙 firewalls
加上防火墙探测并防止攻击
在互联网运行时,实际上包含了多个要执行的部分。为了让每个执行部分都得到妥善运行,因此引入了分层模型。
分层模型的建立可以类比搭乘飞机的过程。在登机前要购买机票,检查包裹,准备乘机等等,在下飞机又要经历取包裹,办理下飞机手续等等类似的工作。
由于乘机过程步骤较多,可以将乘机手续进行分层,每个步骤单独一层。每个临近层之间相互联系,比如要先买票才能放包裹。登机的层和下飞机的层还可以一一对应。
这样,我们就可以把多项任务结构化进行了,这样使得分组更加明确,操作更为简易
和上面的例子类似,在设计互联网时也对其中任务实现了分层,一共分成五层,包括:
1. 应用层 主要包含互联网应用的使用 例如解析DNS网页等
2. 传送层 提供网络链接协议,包括TCP 和 UDP 等。TCP包含阻塞,稳定但效率较低。UDP效率高但不可靠
3. 网络层 包括数据包的目的地装载(routing)
4. 链路层 实现两端之间的数据传输(类似飞行过程 不确定
5. 物理层 实现物理的按字节传输(并非本课程内容)
下图展示了一次完整的网络传输过程,之后会对其中的过程进行叙述
首先,应用层将数据打包并传送给传输层,这时的传输数据称为”message“ 。传到传输层时,数据包被加上了传输层的包头,用来实现传输层的服务。这时的包被称为”segment“
之后数据包继续移入下层,在网络层又加入一块包头,包头中记录目的地等信息。这时的包被称为”datagram“
之后数据包在link层实现封装,再加上一层包头,此时称为”frame“,之后在物理层进行传送
当frame传送到接收端的物理层时,会按照上述相反的顺序层层解包,最后在对方的application层转换成直接数据,传输过程完成。
需要注意的是,当数据包碰到router等中转设备时,中转设备会先进行解包然后再自行封装,之后传送到下一个目的地