欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > 计算机网络 第一章:计算机网络和因特网(2)

计算机网络 第一章:计算机网络和因特网(2)

2025/3/25 17:09:28 来源:https://blog.csdn.net/Zhang_Qin123/article/details/146323296  浏览:    关键词:计算机网络 第一章:计算机网络和因特网(2)

1.4 分组交换网中的时延、丢包和吞吐量

        1.4.1 分组交换网中的时延概述

        分组从一台主机(源)出发通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。

    类型:节点处理时延、排队时延、传输时延和传播时延,这些时延总体累加起来是节点总时延

         作为源和目的地之间的端到端路由的一部分,一个分组从上游节点通过路由器A 向路由器B发送。目标是在路向器 A 刻画出节点时延。 值得注意的是,路由器A 具有通往路由器B 的出链路 该链路前面有一个队列(也称为缓存)。当分组从上游节点到达路由器A 时,路由器A 检查该分组的首部以决定它的适当出链路,并将该分组导向该链路。在这个例子中,对该分组的出链路是通向路由器B的那条链路。仅当在该链路没有其他分组正在传输并且没有其他分组排在该队列前面时,才能在这条链路上传输该分组;如果该链路当前正繁忙或有其他分组已经在该链路上排队时,则新到达的分组将加入排队。

        ① 处理时延

         检查分组首部决定将该分组导向何处所需要的时间是处理时延的一部分。处理时延也能够包括其他因素,如检查比特级别的差错所需要的时间,该差错出现在从上游节点向路由器A 传输这些分组比特的过程中。高速路由器的处理时延通常是微秒或更低的数量级。在这种节点处理之后,路由器将该分组引向通往路由器B链路之前的队列。

        ② 排队时延

        在队列中,当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。如果该队列是空的,并且当前没有其他分组正在传输,则该分组的排队时延为0。 另一方面,如果流量很大,并且许多其他分组也在等待传输,该排队时延将很长。我们将很快看到,到达分组期待发现的分组数量是到达该队列的流量的强度和性质的函数,实际的排队时延可以是毫秒到微秒量级

         ③ 传输时延

         假定分组以先到先服务方式传输一一这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。用 L 比特表示该分组的长度,用 R bps ( 即 b/s) 表示从路由器A 到路由器B 的链路传输速率。例如,对于一条 10Mbps 的以太网链路,速率 R = 10Mbps; 对于 100Mbps 的以太网链路,速率 R = 100Mbps 传输时延是  L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。实际的传输时延通常在毫秒到微秒量级。

        ④ 传播时延

        一旦一个比特被推向链路,该比特需要向路由器B 传播。 从该链路的起点到 路由器B 传播所需要的时间是传播时延。比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体(即光纤、双绞铜钱等) ,其速率范围是 2*10^{8}\rightarrow 3*10^{8} m/s ,这等于或略小于光速。该传播时延等于两台路由器之间的距离除以传播速率,即传播时延是 d/s 其中 d 是路由器A 和路由器B 之间的距离,s 是该链路的传播速率 。一旦该分组的最后一个比特传播到节点B,该比特及前面的所有比特被存储于路由器B,整个过程将随着路由器 B执行转发而持续下去 。在广域网中,传播时延为毫秒级

        ⑤ 传输时延和传播时延的比较

        传输时延路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。另一方面,传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输(注意这里是传输,不是传播,和上面的链路传播速率区别)速率无关。

 1.4.2 排队时延和丢包

        什么时候排队时延大,什么时候又不大呢?该问题的答案很大程度取决于流量到达该队列的速率链路的传输速率到达流量的性质,即流量是周期性到达还是以突发形式到达。为了更深入地领会某些要点,令 a 表示分组到达队列的平均速率(a 的单位是分组/秒,即 pkt/s)。 前面讲过 R 是传输速率,即从队列中推出比特的速率(以 bps 即b/s 为单位)。 为了简单起见,也假定所有分组都是由 L 比特组成的,则比特到达队列的平均速率是 La bps。 最后,假定该队列非常大,因此它基本能容纳无限数量的比特。比率 La /R 称为流量强度( traffic intensity) ,它在估计排队时延的范围方面经常起着重要的作用。如 La/R>1 ,则比特到达队列的平均速率超过从该队列传输出去的速率,在这种不幸的情况下,该队列趋向于无限增加,并且排队时延将趋向无穷大

        因此,流量工程中的一条金科玉律是:设计系统时流量强度不能大于 1

        考虑 La/R \leq 1 时的情况。到达流量的性质影响排队时延。 例如,如果分组周期性到达,即每 L/R 秒到达一个分组,则每个分组将到达一个空队列中,不会有排队时延。另一方面,如果分组以突发形式到达而不是周期性到达,则可能会有很大的平均排队时延。例如,假定 (L/R) N 秒同时到达 N 个分组,则传输的第一个分组没有排队时延;传输的第二个分组就有 L/R 秒的排队时延更为一般地,第 n 个传输的分组具有(n-1)L/R 的排队时延。

        通常,到达队列的过程是随机的,即到达并不遵循任何模式,分组之间的时间间隔是随机的。 在这种更为真实的情况下,量 La/ R 通常不足以全面地表征时延的统计量。不过,直观地理解排队时延的范围很有用。特别是,如果流量强度接近于 0,则几乎没有分组到达并且到达间隔很大,那么到达的分组将不可能在队列中发现别的分组。因此,平均排队时延将接近0,另一方面,当流量强度接近1时当到达速率超过传输能力(由于分组到达速率的波动 )时将存在时间间隔 ,在这些时段中将形成队列。当到达速率小于传输能力时,队列的长度将缩短。无论如何,随着流量强度接近平均排队长度变得越来越长,平均排队时延与流量强度的定性关系如 1-18 所示

        随着流量强度接近于 1,平均排队时延迅速增加。该强度的少量增加将导致时延大比例增加。也许你在公路上经历过这种事,如果在经常拥塞的公路上像平时一样驾驶,这条路经常拥塞的事实意味着它的流量强度接近于 1,如果某些事件引起一个即便是稍微大于平常量的流量,经受的时延就可能很大。

        丢包

         在现实中,一条链路前的队列只有有限的容量,尽管排队容量极大地依赖于路由器设计和成本。因为该排队容量是有限的,随着流量强度接近 1,排队时延并不真正趋向无穷大。相反,到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃 (drop) 该分组, 即该分组将会丢失( lost) 。当与流量强度大于1 时,队列中的这种溢出也能够在用于队列的 Java 小程序
中看到

         从端系统的角度看,上述丢包现象看起来是一个分组已经传输到网络核心,但它绝不会从网络发送到目的地,分组丢失的比例随着流量强度增加而增加。因此,一个节点的性能常常不仅根据时延来度量,而且根据丢包的概率来度量。正如我们将在后面各章中讨论的那样,丢失的分组可能基于端到端的原则重传,以确保所有的数据最终从源传送到了目的地。

        1.4.3 端到端的时延

        前面的讨论集中在节点时延上,即在单台路由器上的时延。现在考虑从源到目的地的总时延。假定在源主机和目的主机之间有 N -1 台路由器。还要假设该网络此时是无拥塞的(因此排队时延是微不足道的),在每台路由器和源主机上的处理时延是 dproc,每台路由器和源主机的输出速率是 R bps ,每条链路的传播时延是 dprop。节点累加起来,得到端到端时延:

                                             d_{end-end}=N(d_{proc}+d_{trans}+d_{prop})

        同样,其中 dtrans = L/R,L是分组长度。

        1. Traceroute

         Traceroute 是一个简单的程序,它能够在任何因特网主机上运行,当用户指定一个目的主机名字时,源主机中的该程序朝着目的地发送多个特殊的分组。当这些分组向着目的地传送时,它们通过一系列路由器。当路由器接收到这些特殊分组之一时,它向源回送一个短报文。该短报文包括路由器的名字和地址。

        更具体的是,假定在源和目的地之间有 N-1 台路由器,源将向网络发送 N 个特殊的分组,其中每个分组地址指向最终目的地。这 N 个特殊分组标识为从1到N,第一个分组标识为1 ,最后的分组标识为N。当第 n 台路由器接收到标识为 n 的第 n 个分组时,该路由器不是向它的目的地转发该分组,而是向源回送一个报文。当目的主机接收第 N 个分组时,它也会向源返回一个报文。该记录了从它发送一个分组到它接收到对应返回报文所经历的时间;它也记录了返回该报文的路由器(或目的主机)的名字和地址。以这种方式,源能够重建分组从源到目的地所采用的路由,并且该源能够确定到所有中间路由器的往返时延。Traceroute 实际上对刚才描述的实验重复了 3 次,因此该源实际上向目的地发送了 3xN 个分组。

         2. 端系统、应用程序和其他时延

        除了处理时延、传输时延和传播时延,端系统中还有其他一些重要时延。例如,希望向共享媒体(例如在 WiFi 或电缆调制解调器情况下)传输分组的端系统可能有意地延迟它的传输,把这作为它与其他端系统共享媒体的协议的一部分;另一个重要的时延是媒体分组化时延,这种时延出现在 IP 语音( VoIP) 应用。在 VoIP 中,发送方在向因特网传递分组之前必须首先用编码的数字化语音填充一个分组。 这种填充一个分组的时间称为分组化时延,它可能较大,并能够影响用户感受到的 VoIP 呼叫的质量。

        1.4.4 计算机网络中的吞吐量

        除了时延和丢包,计算机网络中另一个至关重要的性能测度是端到端吞吐量。为了定义吞吐量,考虑从主机A 到主机B 跨越计算机网络传送一个大文件。例如,也许是从一个P2P 文件共享系统中的一个对等方 向另一个对等方传送一个大视频片段。在任何时间的瞬间瞬时吞吐量  是主机B 接收到该文件的速率(以 bps 计) 。(许多应用程序包括许多P2P文件共享系统,其用户界面显示了下载期间的瞬时吞吐量。如果该文件由 F 比特组成,主机B 接收到所有 F 比特用去 T 秒,文件传送的平均吞吐量是 F/T bps

        理解吞吐量这一概念,图1-19a 显示了服务器和客户这两个端系统,它们由两条通信链路和一台路由器相连。考虑从服务器传送一个文件到客户的吞吐量。 令Rs 表示服务器与路由器之间的链路速率Rc 表示路由器与客户之间的链路速率。假定在整个网络中只有从该服务器到客户的比特在传送。在这种理想的情况下,我们要问该服务器到客户的吞吐量是多少?为了回答这个问题,想象比特是流体,通信链路是管道。显然,这台服务器不能以快于 Rs bps 的速率通过其链路注入比特,这台路由器也不能以快于 Rc bps 的速率转发比特。如果 Rs<Rc,则在给定的吞吐量 Rs bps 的情况下,由该服务器注入的比特将顺畅地通过路由器"流动“,并以速率 Rs bps 到达客户。另一方面,如果 Rc<Rs,则该路由器将不能像接收速率那样快地转发,在这种情况下,比特将以速率 Rc 离开该路由器,从而得到端到端吞吐量 Rc。(还要注意的是,如果比特继续以速率 Rs 到达路由器,继续以 Rc 离开路由器的话,在该路由器中等待传输给客户的积压比特将不断增加。因此,对于这种简单的两链路网络,其吞吐量是 min {Rc,Rs} ,这就是说,它是瓶颈链路的传输速率。在决定了吞吐量之后,我们现在近似地得到从服务器到客户传输一个 F 比特的大文件所需要的时间是 F/min {Rc, Rs}。 举一个特定的例子,假定你正在下载一个 F= 32 *10^6 比特的 MP3文件,服务器具有 Rs =2Mbps 的传输速率,并且你有一条 Rc = 1Mbps 的接入链路。则传输该文件所需的时间是 32s 。当然,这些吞吐量和传输时间的表达式仅是近似的,因为它们并没有考虑存储转发、处理时延和协议等问题。        

         

         图 1-19b 此时显示了一个在服务器和客户之间具有 N 条链路的网络,这 N 条链路的传输速率分别是R1、R2 …,Rn。 应用对两条链路网络的分析方法,我们发现从服务器到客户的文件传输吞吐量是 min { R1 ,R2…,Rn} ,这同样仍是沿着服务器和客户之间路径的瓶颈链路的速率。

         图1-20a 显示了与一个计算机网络相连的两个端系统:一台服务器和一个客户。考虑从服务器向客户传送一个文件的吞吐量。服务器以速率为 Rs 的接入链路与网络相连,且客户以速率为Rc的接入链路与网络相连。现在假定在通信网络核心中的所有链路具有非常高的传输速率,即该速率比Rs 和 Rc 要高得多。目前因特网的核心的确超量配置了高速率的链跻,从而很少出现拥塞。同时假定在整个网络中发送的比特都是从该服务器到该客户。在这个例子中,因为计算机网络的核心就像一个粗大的管子,所以比特从源向目的地的流动速率仍是 Rs 和 Rc 中的最小者,即吞吐量= min {Rs,Rc}。 因此,在今天因特网中对吞吐量的限制因素通常是接入网

         作为最后一个例子,考虑图 1-20b ,其中有 10 台服务器和 10 个客户与某计算机网络核心相连。在这个例子中,同时发生 10 个下载,涉及 10 个客户—服务器对。假定这 10个下载是网络中当时的唯一流量。如该图所示,在核心中有一条所有 10 个下载通过的链路。将这条链路 R 的传输速率表示为 R。假定所有服务器接入链路具有相同的速率 Rs所有客户接入链路具有相同的速率Rc,并且核心中除了速率为 R 的一条共同链路之外的所有链路,它们的传输速率都比 Rs,Rc,R 大得多,现在要问,这种下载的吞吐量是多少?显然,如果该公共链路的速率很大,比如说比 辑和 100 倍,则每个下载的吞吐量将仍然是 min {Rc,Rs }。 但是如果该公共链路的速率与 RS Rc 有相同量级会怎样呢?在这种情况下其吞吐量将是多少呢?观察一个特定的例子,假定 Rs = 2 Mbps ,Rc = 1Mbps, R = 5Mbps ,并且公共链路为 10 个下载平等划分它的传输速率,这时每个下载的瓶颈不再位于接入网中,而是位于核心中的共享链路了,该瓶颈仅能为每个下载提供 500 kbps 的吞吐量。因此每个下载的端到端吞吐量现在减少到 500kbps。

 1.5 协议层次以及其服务模型

        因特网有许多部分:大量的应用程序和协议、各种类型的端系统、分组交换机以及各种类型的链路级媒体

        1.5.1 分层的体系结构

                1. 协议分层

                以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。再次关注某层向它的上一层提供的服务,所谓一层的服务模型。例如,由第 n 层提供的服务可能包括报文从网络的一边到另一边的可靠交付。可能是通过使用第 n-1 层的边缘到边缘的不可靠报文传送服务,加上第 n 层的检测和重传丢失报文的功能来实现的。

        一个协议层能够用软件、硬件或两者的结合来实现。诸如 HTTP 和 SMTP 这样的应用层协议几乎总是在端系统中用软件实现,运输层协议也是如此。因为物理层数据链路层负责处理跨越特定链路的通信,它们通常在与给定链路相关联的网络接口卡(例如以太网 或 WiFi 接口卡)中实现。 网络层经常是硬件和软件实现的混合体。还要注意的是,一个第 n 层协议也分布在构成该网络的端系统、分组交换机和其他组件中。这就是说,第 n 层协议的不同部分常常位于这些网络组件的各部分中。

        将这些综合起来,各层的所有协议被称为协议栈 (protocol stack) 。因特网的协议栈由 5 个层次组成:物理层、链路层、网络层、运输层和应用层(如图 1-23a 所示)。 以因特网协议栈的层次来组织本书的,我们采用了自顶向下方法 ,首先处理应用层然后向下进行处理。

        ① 应用层
        应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如 HTTP (它提供了 Web 文档的请求和传送)、 SMTP (它提供了电子邮件报文的传)和 FTP (它提供两个端系统之间的文件传送) 我们将看到,某些网络功能,如将像www. ietf. org 这样对人友好的端系统名字转换32 比特的网络地址,也是借助于特定的应用层协议即域名系统(DNS)完成的。

        应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组,我们把这种位于应用层的信息分组称为报文 (message)

        ② 运输层

         因特网的运输层应用程序端点之间传送应用层报文。在因特网中,有两种运输协议,即 TCP 和 UDP ,利用其中的任一个都能运输应用层报文。 TCP 向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配) TCP 也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP 协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。在本书中,我们把运输层的分组称为报文段( segmenl)

        ③ 网络层         

        因特网的网络层负责将称为数据报( datagram) 的网络层分组从一台主机移动到另一台主机。 一台源主机中的因特网运输层协议 (TCP 或 UDP) 向网络层递交运输层报文段和目的地址。
        因特网的网络层包括著名的网际协议 IP ,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。 IP 仅有一个,所有具有网络层的因特网组件必须运行lP。因特网的网络层也包括决定路由的路由选择协议,它根据该路由将数据报从源传输到目的地。因特网具有许多路由选择协议。如我们在 1.3 节所见,因特网是一个网络的网络,并且在一个网络中,其网络管理者能够运行所希望的任何路由选择协议。尽管网络层包括了网际协议和一些路由选择协议,但通常把它简单地称为 IP 层,这反映了 IP 是将因特网连接在一起的粘合剂这样的事实。        

         ④ 链路层

        因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠该链路层的服务。特别是在每个节点,网络层将数据报下传给链路层链路层沿着路径将数据报传递给下一个节点,在该下一个节点,链路层将数据报上传给网络层
        由链路层提供的服务取决于应用于该链路的特定链路层协议。例如,某些协议基于链路提供可靠传递,从传输节点跨越一条链路到接收节点。值得注意的是,这种可靠的传递服务不同于 TCP 的可靠传递服务, TCP 提供从一个端系统到另一个端系统的可靠交付。链路层的例子包括以太网、 WiFi 和电缆接入网的 DOCSIS 协议。因为数据报从源到目的地传送通常需要经过几条链路,一个数据报可能被沿途不同链路上的不同链路层协议处理。例如,一个数据报可能被一段链路上的以太网和下一段链路上的 PPP 所处理,网络层将受到来自每个不同的链路层协议的不同服务。 在本书中,把链路层分组称为帧(frame)。

        ⑤ 物理层

        虽然链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点。在这层中的协议仍然是链路相关的,并且进 步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许多物理层协议: 个是关于双绞铜线的,另一个是关于同轴电缆的,还有一个是关于光纤的,等等 在每种场合中,跨越这些链路移动一个比特是以不同的方式进行的。

         2. OSI模型

        国际标准化组织(ISO)提出计算机网络围绕 7 层来组织,称为开放系统互联(OSI)模型

        显示在图 1-23b 中的 OSl 参考模型的 层是:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。这些层次中, 层的功能大致与它们名字类似的因特网对应层的功能相同。所以,我们来考虑 OSI 参考模型中附加的两个层,即表示层和会话层。表示层的作用是使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩和数据加密(它们是自解释的)以及数据描述(这使得应用程序不必担心在各台计算机中表示/存储的内部格式不同的问题) 会话层提供了数据交换的定界和同步功能,包括了建立检查点和恢复方案的方法 。

        1.5.2 封装 

         图1-24 显示了这样一条物理路径:数据从发送端系统的协议栈向下沿着中间的链路层交换机和路由器的协议栈上上下下,然后向上到达接收端系统的协议栈。如将在本书后面讨论的那样,路由器和链路层交换机都是分组交换机。与端系统类似,路由器和链路层交换机以多层次的方式组织它们的网络硬件和软件。而路由器和链路层交换机并不实现协议栈中的所有层次。如图 1-24 所示,链路层交换机实现了第一层和第二层;路由器实现了第一层到第三层 。例如,这意味着因特网路由器能够实现 IP 协议(一种第三层协议),而链路层交换机则不能。我们将在后面看到,尽管链路层交换机不能识别 IP址,但它们能够识别第二层地址,如以太网地址。值得注意的是,主机实现了所有 5 个层次,这与因特网体系结构将它的复杂性放在网络边缘的观点是一致的

        图1-24 也说明了一个重要概念:封装。在发送主机端, 一个应用层报文 (图 1-24 中的 M) 被传送给运输层。在最简单的情况下,运输层收取到报文并附上附加信息(所谓运输层首部信息,图 1-24 中的H1),该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段。运输层报文段因此封装了应用层报文。附加的信息也许包括了下列信息:允许接收端运输层向上向适当的应用程序交付报文的信息差错检测位信息,该信息让接收方能够判断报文中的比特是否在途中已被改变。运输层则向网络层传递该报文段,网络层增加了如源和目的端系统地址等网络层首部信息(图 1-24 中的 Hn) ,生成了网络层数据报。该数据报接下来被传递给链路层,链路层(自然而然地)增加它自己的链路层首部信息并生成链路层帧。所以我们看到,在每一层,一个分组具有两种类型的字段:首部字段有效载荷字段有效载荷通常是来自上一层的分组

 1.6 面对攻击的网络

        网络安全领域主要探讨以下问题:坏家伙如何攻击计算机网络,以及如何防御以免受他们的攻击,或者更好的是设计能够事先免除这样的攻击的新型体系结构。

         1. 坏家伙能够经因特网将有害程序放入计算机

         因为要从/向因特网接收/发送数据,所以我们将设备与因特网相连,这包括各种好东西,例如 Instagram 帖子、因特网搜索结果等。不幸的是,伴随好的东西而来的还有恶意的东西,这些恶意的东西可统称为恶意软件(malware) ,它们能够进入并感染我们的设备。一旦恶意软件感染设备,就能够做各种不正当的事情,包括删除文件,安装间谍软件来收集隐私信息,如社会保险号、口令和击键,然后将这些(当然经因特网)发送给坏家伙。受害主机也可能成为数以千计的类似受害设备网络中的一员,它们被统称为僵尸网络 (botnet) ,坏家伙利用僵尸网络控制并有效地对目标主机展开垃圾邮件分发或分布式拒绝服务攻击(很快将讨论)。

         至今为止的多数恶意软件是自我复制( self- replicating )的:一旦它感染了一台主机,就会从那台主机寻求进入因特网上的其他主机,从而形成新的感染主机,再寻求进入更多的主机。以这种方式,自我复制的恶意软件能够指数式地快速扩散。恶意软件能够以病毒或蠕虫的形式扩散病毒(virus) 是一种需要某种形式的用户交互来感染用户设备的恶意软件。典型的例子是包含恶意可执行代码的电子邮件附件。如果用户接收并打开这样的附件,不经意间就在其设备上运行了该恶意软件。通常,这种电子邮件病毒是自我复制的:例如,一旦执行,该病毒可能向用户地址簿上的每个接收方发送一个具有相同恶意附件的相同报文。蠕虫 (worm)是一种无须任何明显用户交互就能迸人设备的恶意软件。例如,用户也许运行了一个攻击者能够发送恶意软件的脆弱网络应用程序。在某些情况下,没有用户的任何干预,该应用程序可能从因特网接收恶意软件并运行它,生成了蠕虫。新近感染设备中的蠕虫则能扫描因特网,搜索其他运行相同网络应用程序的易受感染的主机。它发现其他易受感染的主机时,便向这些主机发送一个它自身的副本。

        2. 坏家伙能够攻击服务器和网络基础设施 

         另一种宽泛类型的安全性威胁称为拒绝服务攻击( Denial-of-Service (DoS) attack )。顾名思义, DoS 攻击使得网络、主机或其他基础设施部分不能由合法用户使用。 Web 服务器、电子邮件服务器、 DNS 服务器和机构网络都能够成为 DoS 攻击的目标。因特网 DoS 攻击极为常见,每年会出现数以千计的 DoS 攻击。大多数因特网 DoS 攻击属于下列三种类型之一:

        ① 弱点攻击。这涉及向一台目标主机上运行的易受攻击的应用程序或操作系统发送制作精细的报文。如果适当顺序的多个分组发送给一个易受攻击的应用程序或操作系统,该服务器可能停止运行,或者更糟糕的是主机可能崩溃。

        ② 带宽洪泛。攻击者向目标主机发送大量的分组,分组数量之多使得目标的接入链路变得拥塞,使得合法的分组无法到达服务器

        ③ 连接洪泛。 攻击者在目标主机中创建大量的半开或全开 TCP 连接(将在第三章中讨论 TCP 连接) 该主机因这些伪造的连接而陷入困境,并停止接受合法的连接。

         现在更详细地研究这种带宽洪泛攻击。回顾 1.4.2 节中讨论的时延和丢包问题,显然,如果某服务器的接入速率为 R bps ,则攻击者将需要以大约 R bps 的速率来产生危害。如果 R 非常大的话,单一攻击源可能无法产生足够大的流量来伤害该服务器。此外,如果从单一源发出所有流量的话,某上游路由器就能够检测出该攻击并在该流量靠近服务器之前就将其阻挡下来。在图 1-25 中显示的分布式 DoS (Distributed DoS , DDoS) 中,攻击者控制多个源并让每个源向目标猛烈发送流量。使用这种方法,遍及所有受控源的聚合流量速率需要大约 R 的能力来使该服务陷入瘫痪DDoS 攻击充分利用由数以千计的受害主机组成的僵尸网络。相比于来自单一主机的 DoS攻击, DDoS 攻击更加难以检测和防范。

         3. 坏家伙能够嗅探分组

         今天的许多用户经无线设备接入因特网,如 WiFi 连接的膝上计算机或使用蜂窝因特网连接的手持设备。无所不在的因特网接入极为便利并让移动用户方便地使用令人惊奇的新应用程序的同时,也产生了严重的安全脆弱性一一在无线传输设备的附近放置一台被动的接收机该接收机就能得到传输的每个分组的副本!这些分组包含了各种敏感信息,包括口令、 社会保险号、商业秘密和隐秘的个人信息。记录每个流经的分组副本的被动接收机被称为分组嗅探器 (packet sniffer)。

         嗅探器也能够部署在有线环境中。在有线的广播环境中,如在许多以太网 LAN 中,分组嗅探器能够获得经该 LAN 发送的所有分组。如在 1.2 节中描述的那样,电缆接入技术也广播分组,因此易于受到嗅探攻击。此外,获得某机构与因特网连接的接入路由器或接人链路访问权的坏家伙能够放一台嗅探器以产生从该机构出入的每个分组的副本,对嗅探到的分组进行离线分析,就能得出敏感信息。

        因为分组嗅探器是被动的,也就是说它们不向信道中注入分组,所以难以检测到它。因此,当我们向无线信道发送分组时,我们必须接受这样的可能性,即某些坏家伙可能记录了我们的分组的副本。如你已经猜想的那样,最好的防御嗅探的方法基本上都与密码学有关。

        4. 坏家伙能够伪装成你信任的人 

         生成具有任意源地址、分组内容和目的地址的分组,然后将这个人制作的分组传输到因特网中,因特网将忠实地将该分组转发到目的地,这一切都极为容易。 想象某个接收到这样一个分组的不会猜疑的接收方(比如一台因特网路由器) ,将该(虚假的)源地址作为真实的,进而执行某些嵌入在该分组内容中的命令(比如说修改它的转发表)。将具有虚假源地址的分组注入因特网的能力被称为 IP 哄骗 (IP spoofing) ,而它只是一个用户能够冒充另一个用户的许方式中的一种。

         为了解决这个问题,我们需要采用端点鉴别,即一种使我们能够确信一个报文源自我们认为它应当来自的地方的机制。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词