网络,无处不在。
教材是《计算机网络 —— 自顶向下方法》,但由于在实验课中的顺序是自底向上,所以老师也按照自底向上讲解。总结一下每一章所学习的内容。
1.1 什么是因特网
两种方式描述:
1.具体构成描述:即构成因特网主要有基本硬件和软件组件。
2.服务描述:根据为分布式应用提供服务的联网基础设施来描述。
我认为因特网其实就是由一大堆软硬件组合而成,用来输入,传输以及输出信息的媒介,信息以比特流的方式流动在因特网中,从而使我们能够及时的获取信息。
1.1.1 具体构成描述
主要了解一些基本概念:
- 主机(host):也可以叫做端系统(end system),就是我们通常所使用的PC、手机、平板电脑、游戏机、web服务器等机器设备。
- 通信链路(communication link):用来传输信息的各种物理媒体,如同轴电缆、铜线、光纤和无线电频谱等。不同的链路能以不同的传输速率传送数据,传输速率 以比特/秒为单位(bit/s 或 bps)。
- 分组交换机(packet switch):接收信息并进行转发的物理设备。做个不恰当的比喻链路像是马路,而分组交换机像一个路口,分组交换机还做了一些其他工作。主要分为两类,路由器(router)和交换机。路由器主要是用于主干网络中,交换机主要用于接入网络中。
- 因特网服务提供商(Internet Service Provider, ISP):给用户提供因特网服务的组织。比如像是中国电信、中国移动这样的公司,或者像是学校(提供校园网服务),以及旅馆、咖啡馆能让你接入WiFi的统统都是ISP。ISP也分级别,低层的ISP通过高层的ISP联系起来,所有的ISP都是独立管理的,运行着IP协议。
- 协议(protocol):协议控制着因特网中信息的接受和发送,端系统、分组交换机和其他因特网部件都要运行一系列协议。协议就是规定着一大堆因特网的各个部分都应该遵守的规则,比如如何传输数据,用什么样的媒介,如何寻到目的地等等各种问题。其中最重要的两个协议是TCP(传输控制协议)和IP(网际协议),因此因特网的主要协议统称为TCP/TP。
- 因特网工程任务组(Internet Engineering Task Force, IETF):专门研发因特网标准的组织。
- RFC:全称Request For Comment,即请求评论,是IETF的标准文档。
1.1.2 服务描述
所谓服务描述即把因特网理解成为应用程序提供服务的基础设施。
应用程序包括电子邮件、Web冲浪、即时讯息、社交网络、IP语音(VoIP)、分不是游戏、P2P文件共享等等。这些应用程序都称为分布式应用程序,因为他们涉及到多台相互交换数据的端系统。
比如我们可能想研发一个分布式因特网应用程序,而运行在不同端系统上的软件需要相互发送数据,这里遇到一个核心问题:运行在一个端系统上的应用程序怎样才能指令因特网向运行在另一个端系统上的软件发送数据?这里就体现了对因特网的描述,即因特网描述为应用程序的平台。
与因特网相连的端系统提供了一个应用程序编程接口(API),该API规定了运行在一个端系统上的软件请求因特网设施向在另一个端系统上的特定目的交付数据的方式。
1.1.3 什么是协议
一个协议定义了两个或多个通信实体之间交换的报文格式和次序,以及报文发送/接收或其他事件所采取的动作。
1.2 网络边缘
我们知道与因特网相连接计算机或其他设备称为端系统,随着技术的发展各种各样的设备都开始和因特网相连,这些设备都具有发送和接收数字数据的特点。主机有时候又被分为两类:客户(Client)和服务器(server)。
1.2.1 接入网
接入网(access network)指的是将终端连接到其边缘路由器(edge router)的物理链路,边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。
1.对于家庭,一般有这几种接入方式:
DSL:全称数字用户线(Digital Subscriber Line)。使用DSL时,用户的本地电话公司是它的ISP。每个用户的DSL调制解调器使用现有的电话线(双绞铜线)与位于本地电话公司的本地中心距中的数字用户介入复用器(DSLAM)来交换数据,DSL调制解调器(俗称“猫”)将得到的数字数据转换为高频音,以通过电话线传输给本地中心局,然后DSLAM将模拟信号转回数字信号,把数据和电话信号分开,并把数据送往因特网。因为在电话线中数据和电话信号不同频率,故可共享DSL线路。
电缆:利用有线电视公司现有的有线电视基础设施,ISP是有线电视公司。从ISP的电缆头端拉出几条光纤连接到地区枢纽,然后在地区枢纽中又拉出几条同轴电缆到达各家各户的公寓,每个地区枢纽通常支持500~5000个家庭。因为系统中同时用到了光纤和同轴电缆,所以它经常被称为混合光纤同轴(HFC)。电缆因特网介入需要特殊的调制解调器,称为电缆调制解调器,通过一个以太网端口连接到家庭PC。而在电缆头端的电缆调制解调器端接系统(CMTS)起到了和DSLAM相似的作用,这里不再赘述。
光纤到户(FFTH):即从本地中心距直接到家庭提供一条光纤路径。
2.对于企业(和家庭),通常是以局域网(LAN)的方式将端用户连接到边缘路由器,有许多不同类型的局域网技术,但目前最流行的两种是:
以太网:以太网用户使用双绞铜线与一台以太网交换机相连,然后以太网交换机再通过路由器和更大的因特网相连。(以后的章节会详细介绍以太网)
无线LAN:无线用户通过一个接入点(或叫基站)发送/接收分组,该接入点与企业网连接(很有可能包括有线以太网),该企业再与因特网相连接。基于IEEE 802.11技术的无线LAN接入(WiFi)目前几乎无处不在。
3.广域网无线接入:
iPhone、安卓等设备越来越多地在移动中发送邮件、Web冲浪等,这些设备应用了与移动电话相同的基础设施,即通过蜂窝网提供商的基站来发送/接收分组。与WiFi不同的是,一个用户仅需要位于基站的数万米(而不是几十米)范围内。主要有3G(目前已经是4G,5G也即将出来了)以及LTE。
1.2.2 物理媒体
在因特网的信息传输中,比特流总是从一个网络节点(包括端系统和交换机)到另一个网络节点,而连接网络节点和网络节点的就是这些物理媒体。
物理媒体主要分为两类:引导型媒体和非引导型媒体。前者是指电波沿着固体媒体前行,光缆、双绞铜线和同轴电缆;后者是指电波在空气或外层空间中传播,如无线LAN和数字卫星频道。
这里简要介绍下几个常见的物理媒体:
双绞铜线:目前最便宜且使用最为普遍的引导型传输媒体。从电话机到本地电话交换机超过99%的连线使用的是双绞铜线。双绞铜线由两根隔离的铜线组成,每根大约1mm粗,以规则的螺旋形排列,绞合起来以减少邻近的电气干扰。无屏蔽双绞线(UTP)常用在建筑物内的计算机网络中,目前局域网内双绞线的数据速率从10Mbps到10Gbps,实际所能到达的数据传输速率取决于线的粗细和传输方和接收方的距离。
同轴电缆:同样由两个铜导体组成,但是这两个导体是同心的而不是并行的。可为住宅区用户提供数十 Mbps 速率的因特网接入。
光纤:一种细而柔软、能引导光脉冲的媒体,每个脉冲表示一个比特。一根光纤可以支持极高的比特速率,高达数十甚至数百Gbps。它们不受电磁干扰,长达100km的光缆信号衰弱极低,并且很难窃听。许多长途电话网络现在全面使用光纤。
陆地无线电信道:无线电信道承载电频谱中的信号。它不需要安装物理线路,并且具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力。缺点收到干扰和衰落,主要有三种原因:跨距离传播或通过/绕过阻碍物体、干扰对象的信号反射、由其他无线电信道或电磁信号干扰。陆地无线电信道大致分为三类:短距离(1米或2米)、运行在局域网(几十米到几百米)、运行在广域网(数万米)。
卫星无线电信道:一颗通信卫星连接两个或多个位于地球的微波发射方/接收方,它们位于地面站,该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率传输信号。常用的两种卫星:同步卫星和近地轨道卫星。
1.3 网络核心
主要是了解在主干网络中的各部分是如何工作的,有两种传输方式,分组交换和电路交换。
1.3.1 分组交换
在网络应用中,端系统会彼此发送信息,称之为报文(message),报文可以执行一种控制功能,也可以包含数据。源将长报文划分为较小的数据块,称为分组(packet)。
存储转发传输:分组交换的传输机制为存储转发传输,对于一个分组交换机,它的工作非常简单,接收前一个节点发过来的分组,缓存下来,经过检查后再转发出去,值得注意的一点是它必须等分组的所有比特数据全部传完后,才能进行转发。
排队时延和分组丢失:每个分组交换机都是和多条链路相连的,所以就会有分组传输冲突的问题。如果要传输的分组要占用某条链路传送,发现当前链路正忙于其他分组时,该到达分组必须在该输出缓存(也叫输出队列)中等待。因此这就有了排队时延。还有一点是,由于输出缓存是有限的,所以当缓存满的时候,就会丢弃新接收的分组,这就是分组丢失(也叫丢包)。
转发表和路由选择协议:每台路由器都具有一个转发表,用于将目的地址(或目的地址的一部分)映射成输出链路。因特网有一些特殊的路由选择协议,用于自动的设置这些转发表。
1.3.2 电路交换
在电路交换网络中,在端系统的通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率),在分组交换中不是预留的。做个类比,有两家餐厅,第一家需要提前预定(电路交换),第二家不需要预定但不保证能够安排客户(分组交换)。对于需要预定的那家餐厅,客户必须忍受预定的麻烦,但能够立即入座并且点菜,而对于不需要预定的餐厅,不必麻烦预定,但必须要等一张餐桌空闲了才能入座。
在发送方发送消息前,电路交换网络必须在发送方和接收方之间建立一条连接(端对端连接,end-to-end connection),该路径上的交换机都为该连接维护连接状态,用电话的术语,这个连接称为电路。连接期间该网络链路上的传输速率是恒定的。
1. 电路交换中的复用:
链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。
对于FDM,链路的频谱由跨越链路创建的所有连接所共享,每个传输的数据会被分配一个固定的频段。
对于TDM,时间被划分为固定区间的帧,每个帧中又划分几个等长的时隙,假设有4个时隙,标号为1-4,那么对于所有标号相同的时隙由一个特定的发送方所专用,也就是每条电路在短时间内(即时隙)中周期性地得到所有贷款。因此如果某个链路的物理传输速率如果为 x bps,当采用TDM,每个帧分为 n 个时隙,链路的实际的传输速率为 x/n bps。
2. 分组交换与电路交换对比
通常来说分组交换的性能要优于电路交换,电路交换不考虑需求,而预先分配了传输链路的使用,是的已分配而并不需要的链路时间未被利用,因此效率可能比较低。而分组交换按需分配链路使用,链路的传输能力将在所有用户之间逐分组地被共享,这些用户有分组需要在链路上传输。如今的网络趋势是向分组交换发展。
1.3.3 网络的网络
前面所讲的接入网络,对于各种端系统来说,将他们接入因特网的ISP只是因特网中很小的一部分,真正的因特网有数以亿计的用户,因此有必要将这些ISP也连接起来,这就产生了网络的网络。如今网络的网络已经演化成了一个非常复杂的结构,这是由于经济和国家政策的驱动。网络结构经历了如下演变:
网络结构1:用单一的全球承载ISP互联所有的接入ISP。假想的全球承载ISP是一个由路由器和通信链路构成的网络,该网络不仅跨越全球,而且至少具有一个路由器靠近数十万接入ISP中的每一个。对于这样一个全球承载ISP自然耗资巨大,为了有利可图必然向每个接入ISP收费,其价格反映了一个接入ISP经过全球ISP交换的流量大小。此时的接入ISP被认为是客户(customer),而全球承载ISP被认为是提供商(provider)。
网络结构2:由数十万接入ISP和多个全球承载ISP组成。前面说的网络结构1是不是很像所谓的垄断,有一个人这么干了,其他人自然会眼红其中的利润,所以也有其他公司建立了自己的全球承载ISP与其竞争,这就是网络结构2了。当然全球承载ISP之间必须互联,因为谁也不想给谁钱,故这些公司制定了协议,对全球承载ISP来说它们是平等的,谁也不能相互收费,但他们可以向他们的底层接入ISP收费。
网络结构3:多层等级结构。网络结构2是一种两层结构,包括顶层的全球承载ISP和底层的接入ISP。但实际中,在任何给定区域可能都有一个区域ISP(reginal ISP),区域中的接入ISP与之相连,每个区域ISP则与第一层ISP(tier-1 ISP)相连,第一层ISP类似于我们假想中的全球承载ISP。我觉得就类似于本地中心局(iter-1 ISP)拉过来了一条网线供你一台PC上网,而我想让更多的设备连上网,所以我开了热点共享(区域ISP),从而使得我能让更多的设备接入网络。于是网络就慢慢开始变得复杂了,某些区域可能有较大的区域ISP,也会有较小的区域ISP与之相连,一层一层下来,就构成了多层等级结构,也就是网络结构3。
网络结构4:在网络结构3的基础上添加了存在点(PoP)、多宿、对等和因特网交换点(IXP):
PoP:存在于除接入ISP的所有等级,它只是提供商网络中的一台或多台路由器(在相同位置)群组,客户ISP能够通过PoP与提供商ISP连接,也就是入网点。对于要与提供商PoP连接的客户网络,它能从第三方通信提供商租用告诉链路直接将它的路由器之一连接到位于该PoP的一台路由器。
多宿(multi-home):任何ISP(除了第一层ISP)可以选择与两个或多个提供商ISP相连接。当一个ISP多宿时,即使它的提供商之一出现故障,它仍能够继续发送和接收分组。
对等(peer):位于相同结构层次的临近一对ISP能够对等,即能够直接将他们的网络连接在一起,使它们之间的所有流量经直接连接,而不是通过上游的中间ISP(这样就能省下很多需要向上层提交的费用)。
IXP:为了实现对等,第三方公司创建了一个因特网交换点(IXP),IXP是一个汇合点,多个ISP能够在这里共同对等。
5.网络结构5:它描述了2012年的因特网。它通过在网络结构4顶部(与第一层ISP同级)添加内容提供商网络(content provider network)构建而成。比如像谷歌,谷歌专用网络仅承载出入谷歌服务器主机的流量,谷歌专用网络与低层的ISP相连试图绕过高层的收费,也与第一层ISP相连,这就需要向第一层ISP交费。
总之当今的因特网是一个网络的网络,它的结构相当复杂,由十多个第一级ISP和数十万个较低层ISP组成,用户和内容提供商是较低层的ISP客户,近年来,主要的内容提供商创建了自己的网络与其他较低层的ISP相连。
1.4 分组交换网中的时延、丢包和吞吐量
在实际网络中,我们很难做到移动大量数据而没有任何数据丢失。我们开始研究和量化计算机网络中的时延、丢包和吞吐量等问题。
1.4.1 分组交换网中的时延概述
时延的类型:
结点处理时延(nodal processing delay):检查分组首部和决定将该分组导向何处所需要的时间。通常在微秒级或更低的数量级。
排队时延(queuing delay):在队列中,当分组在链路上等待传输时,它经受排队时延,它的大小取决于先期到达的正在排队等待向该链路传输的分组数量。通常在毫秒级到微秒级。
传输时延(transmission delay):一个分组被路由器推到链路所需要的时间,它是关于分组大小和链路传输速率的函数,假设分组大小为 L bit,传输速率为 R bps,则传输时延为 L/R s。通常在毫秒级到微秒级。
传播时延(propagation delay):一个bit被推向链路后,该bit向下一个目标传播的时间。显然该时延取决于物理媒体的传播速率和两台路由器之间的距离。通常在毫秒级(广域网中)。
故总时延 d(nodal) = d(proc) + d(queue) + d(trans) + d(prop)
。
1.4.2 排队时延和丢包
排队时延
影响排队时延的几个主要因素:流量到达队列的速率、链路的传输速率和到达流量的性质(周期性或突发性)。
令 a 表示分组到达队列的平均速率( a 的单位是分组/s,即 pkt/s),假定所有分组都是 L bit,则比特到达队列的平均速率是 La bps,传输速率(分组出队列的速率)为 R bps,则称比率 La/R 为流量强度。若 La/R > 1
,则意味着比特入队的平均速率超过了出对速率,则队列会无限增大,而排队时延也趋于无穷大。故流量工程中,设计系统时流量强度不能大于1。
考虑 La/R <= 1
的情况,如果简单的考虑,按照到达流量性质分类:
周期性到达:即每个 L/R 秒到达一个分组,则每个分组将到达一个空队列,不会有排队时延。
突发性到达:即在一个时间段内同时到达多个分组,会有很大时延。
但在实际中到达的流量并不遵循任何模式,分组之间的时间间隔是随机的,此时 La/R 不足以全面地表征时延的统计量,不可可以用来直观地理解排队时延的范围。一般来说,当流量强度接近于0,则平均排队时延接均与0,当流浪强度接近1,平均排队长度变得越来越长,平均排队时延迅速增长。
丢包
实际的路由器中传输队列是有限的,当队列满时会丢弃分组,至于丢弃的是什么分组可能采取的是一般队列,也可能是优先级队列。
1.4.3 端到端时延
前面所说的时延是结点时延,即在单台路由器上的时延,现在考虑从源到目的地的总时延,我们假设端与端之间有N-1台路由器,且无拥塞,每个结点的处理时延是d(proc),传输时延是d(trans),传播时延是d(prop),则有d(end-to-end) = N(d(proc) + d(trans) + d(prop))
。
除了处理时延、传输时延和传播时延,端系统中还有其他一些重要时延。如向共享媒体(例如在WiFi或电缆调制解调器情况下)传输分组的端系统可以有意地延迟它的传输以与其他端系统共享媒体。另一个重要的时延是媒体分组化时延,这种实验出现在经IP语音(VoIP)应用中,在VoIP中,发送方在向因特网传递分组前必须先使用编码的数字化语音填充一个分组,这种填充一个分组的时间称为分组花时延,它可能比较大,并能够影响用户感受VoIP呼叫的质量。
1.4.4 吞吐量
除了时延和丢包,计算机网络中还有一个必不可少的性能测度是端到端吞吐量。假设主机A向主机B发送大文件(比如视频),在任何时间瞬间的瞬时吞吐量(instantaneous throughput)是主机B接收到该文件的速率(以bps计)。如果该文件有 F bit,主机B收到文件总共用了 T 秒,则文件传送的平均吞吐量(average throughput)为 F/T bps。
先考虑简单的情况,假设服务器和客户机之间有N条链路,这N条链路的传输速率分别为R1,R2,…,RN,那么服务器到客户机的吞吐量为min{R1,R2,...,RN}
,也就是说吞吐量是瓶颈链路的传输速率。
我一开始没理解清楚,为何只是一条链路的传输速度拖后腿,整个链路都会是最小的传输速率,只要其他的传输速度怎么说都比最小的率,那么整体平均下来不是大于最小传输速率吗?仔细想想就明白了,我把传播速率和传输速率混淆了,传输速率应该是链路推送比特的速度,整体链路的推送比特的速率显然要受到最小的传输速率限制,也就是所谓的木桶原理。
刚刚的假设是计算机网络相连的两端各自只有一个端系统(服务器和客户机),我们把刚刚的N条链路抽象成一条链路,它的传输速率也就是刚所分析的网络中所有链路的最小传输速率,假设它远大于服务器接入链路的传输速率Rs和客户端接入链路的传输速率Rc,那么整体的吞吐量为min{Rs, Rc}
。
倘若有n台服务器和10台客户机与某计算机网络核心相连。在这个例子中,同时发生n个下载,设计n个C-S对,假定这个下载是网络当时的唯一流量,链路R是传输速率为R的瓶颈链路,所有服务器的接入链路传输速度都是Rs,所有客户机的接入链路都是Rc,此时n个下载平等划分瓶颈链路,所以吞吐量应为min{Rs, Rc, R/n}
。
1.5 协议层次及其服务模型
1.5.1 分层的体系结构
利用分层的体系结构,我们可以讨论一个定义良好的、大而复杂系统的特定部分,下层对于上层来说是抽象的,上层只需要通过下层提供的服务或者说API来实现自己的功能和服务。
协议分层
网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。我们关注某层向它上一层提供的服务(server),即所谓一层的服务模型(service model)。例如第n层提供的服务可能包括报文从一边到另一边的可靠传送,这可能是通过使用第n-1层的边缘到边缘的不可靠报文传送服务,加上第n层的检测和重传丢失报文的功能来实现的。
一个协议层能够用软硬件相结合的来实现,诸如HTTP和SMTP这样的应用层协议几乎总是在端系统中用软件实现的,运输层协议也是如此。而物理层和链路层协议通常是实现在与给定链路相联系的网络接口卡(NIC),网络层经常是硬件和软件实现的混合体。还要注意的是,一个第n层协议的不同部分常常位于网络组件的各部分中。
各层的所有协议被称为协议栈(protocol stack)。因特网的协议由5个部分组成,罗列顺序为自底向上:
物理层:物理层协议负责如何把帧(定义在链路层中)中的每一个比特进行传送,比如物理媒体有的传送的是电信号,我们可以用高电压表示1,低电压表示0,这种简单的规定就构成了物理层协议。
链路层:链路层分组叫做帧(frame)。链路层协议负责把分组从一个节点传输到另一个节点,这其中包括了如何传输、检错等功能。
网络层:网络层负责将分组从一台主机移动到另一台主机,因为网络传输过程中需要经过大量的路由器,这些路由器需要知道报文应该往哪里发送,这就是网络层协议要规定的,最著名的是IP协议。网络层分组称为数据报(datagram)。
传输层:运输层在应用程序端点之间传送应用层报文,因为计算机中有很多进程,我们需要确定通信双方对应的进程。有两个运输协议,TCP和UDP。传输层分组称为报文段(segment)。
应用层:网络应用程序及它们的应用层协议存留的地方,我们确定了通信双方后,还要让双方通信的内容格式是双方都能看得懂的,这就是应用层协议干的事。应用层协议包括许多,如HTTP(提供Web文档的请求和传输),SMTP(提供电子邮件报文的传输)和FTP(提供两个端系统之间的文件传送)应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组称为报文(message)。
OSI模型
上述所说的协议栈并不是唯一的协议栈,20世纪70年代后期,国际标准化组织(ISO)提出计算机网络应该分为7层,称为开放系统互连(OSI)模型。OSI参考模型的7层是:应用层、表示层、会话层、传输层、网络层、链路层和物理层。也就是多出两层:表示层和会话层。
表示层:使通信的应用程序能解释交换数据的含义,这些服务包括数据压缩和数据加密以及数据描述。
会话层:提供了数据交换定界和同步功能,包括了建立检查点和恢复方案的方法。
这两个服务是否需要,取决于应用程序开发者,如果该服务对于应用程序是必要的,开发者就应该在应用程序中构建该功能。
1.5.2 封装
一图胜千言:
在主机发送端,一个应用层报文被发送给传输层,传输层会附加上传输层首部信息产生报文段,然后继续下传,网络层也会附加网络层首部信息产生数据包,链路层也添加链路层的信息称为帧,这就是封装(encapsulation)。因此我们看到,一个分组具有两种类型字段:首部字段和有效载荷字段(payload field),有效载荷字段通常来自上一层分组。
当传递给下一个交换机时,交换机会把传过来的帧的首部字段拆除,然后再重新加上自己的链路层首部字段,再进行转发。如果是路由器还多了网络层。最终到了目的地,主机会自下而上把每层对应的首部拆掉,获取报文。
1.6 面对攻击的网络
日常生活中总会有一些人试图通过因特网攻击我们的主机,来获取一些隐私信息或使服务器无法运行等。网络安全领域主要探究以下问题:坏家伙如何攻击计算机网络,如何防御以免受攻击,或者如何设计事先免除这样攻击的新型体系结构。这里我们了解一些基本内容:
坏家伙能够经因特网将有害程序放入你的计算机中
因为我们要从因特网接收和发送各种数据,但有时恶意软件(malware)能够进入并且影像设备。一旦恶意软件进入并影响了我们的设备,就能做各种不正当的事。我们的主机可能成为万千受害设备网络中的一员,统称为僵尸网络(botnet)。
今天多数的恶意软件是自我复制的,一旦它感染了一台主机,就会从那台主机寻求进入更多的主机。以这种方式,自我复制的恶意软件能够指数式地快速扩散。恶意软件能够以病毒或蠕虫的形式扩散。病毒(virus)是一种需要某种形式的用户交互来感染用户设备的恶意软件,比如电子邮件附件。蠕虫(worm)是一种无需任何明显用户交互就能进入设备的恶意软件。
坏家伙能够攻击服务器和网络基础设施
一种宽泛类型的安全性威胁称为拒绝服务攻击(Denial-of-Server(DoS)stack)。DoS攻击使得网络、主机或其他基础设施部分不能由合法用户所使用,多数DoS攻击属于以下3类:
弱点攻击。向一台目标主机上运行的易受攻击的应用程序或操作系统发送制作精细的报文,可能引起服务器的停止运行甚至崩溃。
带宽洪泛。攻击者向目标主机发送大量分组,使得目标接入链路变得拥塞,而使其他合法用户分组无法到达服务器。
连接洪泛。攻击者在目标主机中创建大量的半开或全开TCP连接,主机因为这些伪造的连接而陷入困境,停止连接合法的连接。
坏家伙能够嗅探分组
有些被动接收机能够记录每个流经的分组副本,称为分组嗅探器(packet sniffer)。这就有可能会被坏家伙利用从而窃取数据。
坏家伙能伪装成信任的人
分组来源的IP地址是可以修改的,将具有虚假源地址的分组注入因特网的能力称为IP哄骗。
1.7 计算机网路和因特网历史
详细内容可看书,这里不再进行记录。