01:计算机网络和因特网

本文最后更新于:1 年前

写在前面

纸上得来终觉浅,绝知此事要躬行。

在本专栏中,我们将使用*公共因特网*(一种特定的计算机网络)作为讨论计算机网络机器协议的主要载体。

一、因特网:网络的网络

何为因特网?可以有两种解释:
——构成因特网的基本硬件和软件组件
——为分布式应用提供服务的联网基础设施

下面我们分别以这两方面作为切入点,剖析因特网

1.1 具体构成描述

1.1.1 端系统、通信链路、分组交换机、分组简介

用因特网术语来说,所有与它相联系的设备统称为主机(host)或端系统(end system)。

端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。

通信链路。它们由不同类型的物理媒体(同轴电缆、铜线、光纤和无线电频谱)组成。不同的链路有不同的传输速率(以bit/s或bps度量)。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包我们将其称为分组(packet)。这些分组通过网络发送到目的端系统,在那里被装配成初始数据。

分组交换机。分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。在当今的因特网中,两种最著名的类型是路由器(router)和链路层交换机(link-layer switch)。

路由器通常用于网络核心中
链路层交换机通常用于接入网中

从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)。

用于传送分组的分组交换网络在许多方面类似于承载运输车辆的运输网络,该网络包括了高速公路、公路和立交桥。当工厂需要将大量货物搬运至远方的仓库时,工厂就要将货物分开装上卡车车队,通过高速公路、公路和立交桥将货物搬运至仓库。在这一过程中,各个环节扮演的角色如下表所示:

角色 环节
分组 卡车
通信链路 高速公路、公路
分组交换机 立交桥
端系统 工厂、仓库

1.1.2 ISP简介

端系统通过因特网服务提供商(ISP)接入因特网。每个ISP是一个由多个分组交换机和多段通信链路组成的网络。各ISP为端系统提供各种不同类型的网络接入(线缆调制解调器或如DSL的住宅宽带接入、高速局域网接入、无线接入和56kbps拨号调制解调器接入)。

因特网将端系统彼此互联,因此ISP也必须互联。

低层ISP通过国家、国际的高层ISP(Level 3 Communications、AT&T、Sprint和NTT)互联;
高层ISP是由通过高速光纤链路互联的高速路由器组成的

1.1.3 协议简介

端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。传输控制协议(TCP)和网络协议(IP)是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP。

鉴于因特网协议的重要性,每个人就各个协议及其作用取得一致认识很重要,这样人们就能创造协同工作的系统和产品。自然而然,我们引入了因特网标准(Internet standard),它由因特网工程任务组(IETF)研发。IETF的标准文档称为请求评论(RFC),它们定义了TCP、IP、HTTP(用于Web)和SMTP(用于电子邮件)等协议。当然,其他组织也在制定用于网络组件的标准。

1.2 服务描述

何为因特网?可以有两种解释:
——构成因特网的基本硬件和软件组件
——为分布式应用提供服务的联网基础设施

上文以前者作为切入点,现在我们从应用程序提供服务的基础设施的角度来描述因特网。

我们平时接触到的大部分应用程序,例如电子邮件、Web冲浪、即时讯息等等,它们称为分布式应用程序(distributed application),因为它们涉及多台相互交换数据的端系统。

与因特网相连的端系统提供了一个应用程序编程接口(API)。API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。

举个例子,Alice要向Bob寄一封信,Alice不能写完信后就将信丢出窗外,邮政服务要求Alice将信放入 信封并贴上邮票,还要投进邮箱中。对应到因特网中,就有如下类比:

角色 环节
软件A Alice
软件B Bob
API 邮政服务规定

1.3 什么是协议

1.3.1 人类活动类比

我们用一张图生动形象的表达协议的含义

图为人类协议和计算机网络协议

如果人们使用不同的协议(例如,一个人讲礼貌而另一个人不讲礼貌),该协议就不能互动,因而不能完成有用的工作。在网络中这个道理同样成立。即为了完成一项工作,要求两个(或多个)通信实体运行相同协议。

1.3.2 网络协议

在因特网中,凡是涉及两个或多个远程通信实体的所有活动都受协议的制约。

例如,在两台物理上连接的计算机中,硬件实现的协议控制了在两块网络接口卡间的“线上”的比特流;在端系统中,拥塞控制协议控制了在发送方和接收方之间传输的分组发送的速率。

从上述的人类活动和网络的例子中可见,报文的交换以及发送和接收这些报文时所采取的动作是定义一个协议的关键元素:

一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和(或)接收一条报文或其他事件所采取的动作

二、网络边缘

我们通常把与因特网相连的计算机和其他设备称为端系统,因为它们位于互联网的边缘,故而被称为端系统。端系统也称为主机,因为它们容纳(即运行)应用程序,如Web浏览器程序、Web服务器程序、电子邮件阅读程序或电子邮件服务器程序等。端系统有时又被进一步划分为两类:客户(client)和服务器(server)。

客户相当于是桌面PC、移动PC和智能手机等,
服务器相当于是更为强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等。

2.1 接入网

接入网是指将端系统连接到其边缘路由器物理链路

边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器

图为端系统交互的大致组成部分

2.1.1 家庭接入:DSL、电缆、FTTH、拨号和卫星

以前,宽带住宅接入有两种类型:数字用户线(DSL)和电缆

图为DSL因特网接入

除了DSL电话接入,还有利用有线电视公司现有有线电视基础设施的电缆因特网接入,这里不再赘述,读者可自行查阅。目前主流的上网方式是光纤到户(FTTH),即从本地中心局直接到家庭提供一条光纤路径。

图为FTTH因特网接入

2.1.2 企业(和家庭)接入:以太网和WIFI

在公司和大学校园以及在越来越多的家庭环境中,通常是用局域网(LAN)将端用户连接到边缘路由器,以太网是目前最为流行的接入技术。使用以太网接入,用户通常以100Mbps速率接入以太网交换机,而服务器可能具有1Gbps甚至10Gbps的接入速率。

图为以太网因特网接入

在无线LAN环境中,无线用户从/到一个接入点发送/接收分组,该接入点与企业网连接,该企业网再与有线因特网相连。基于IEEE 802.11的技术的无线LAN称为WiFi。

2.2 物理媒体

物理媒体划分为两类:导引型媒体(guided media)和非导引型媒体(unguided meidia)。

导引型媒体,电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。
非导引型媒体,电波在空气或外层空间中传播,如无线局域网或数字卫星频道。

具体物理媒体介绍暂且不更,有兴趣者可自行查阅。

三、网络核心

网络核心指互联因特网端系统的分组交换机和链路构成的网状网络。

3.1 分组交换

源端系统向目的端系统发送报文,源将长报文划分为一个个分组,每个分组都通过通信链路分组交换机传送,分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。

3.1.1 存储转发运输

存储转发运输,是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

多数分组交换机在链路的输入端使用存储转发运输(store-and-forward transmission)机制。

为了深刻理解存储转发运输,特举例说明(这里忽略传播时延),

发送一个分组:
源在时刻0开始传输;
在时刻L/R,路由器接收到整个分组;
在时刻2L/R,路由器传输了整个分组,并已被目的地接收。
总时延为2L/R。

发送三个分组:
源在时刻0开始传输;
在时刻L/R,路由器开始转发第一个分组,源开始发送第二个分组;
在时刻2L/R,目的地收到第一个分组,路由器收到第二个分组;
在时刻3L/R,目的地收到前两个分组,路由器收到第三个分组;
在时刻4L/R,目的地接收全部分组。
总时延为4L/R。

综上所诉,我们可以考虑N条速率均为R的链路组成的路径(所以,源和目的地之间有N-1台路由器),d(端时延)=N*L/R

3.1.2 排队时延和分组丢失

每个分组交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)(也称为输出队列output queue),它用于存储路由器准备发往那条链路的分组。

如果到达的分组需要传输到的那条链路正在传输其他分组,到达的分组就要在输出缓存中等待,由此引起的时延叫做排队时延(queue delay)。这些时延是变化的,变化的程度取决于网络中的拥塞程度,如果分组到达时缓存空间已经满了,就会发生**分组丢失(丢包)(packet lost)**的情况,到达的分组或在排队的分组将被丢弃。

3.1.3 转发表和路由选择协议

在因特网中,每个端系统具有一个称为IP地址的地址。当源主机向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。当一个分组到达路由器时,路由器检查该分组的目的地IP地址的一部分,再朝着目的地方向发送分组到达相邻的路由器,循环往复。每台路由器具有一个转发表(forwarding table),用于将目的地的一部分映射成为输出链路。

因特网具有一些特殊的路由选择协议(routing protocol),用于自动设置转发表。例如,一个路由选择协议可以决定每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。

3.2 电路交换

通过网络链路和交换机移动数据有两种基本方法:分组交换(packet switching)和电路交换(circuit switching)。

电路交换网络,预留了端系统间通信沿路径所需的资源(缓存,链路传输速率); 例如需要顾客预定的餐馆。
分组交换网络,不预留。例如不需要预定但是要等号的餐馆。

举例说明电路交换网络。在一个网络中,用4条链路互联了4台电路交换机。每条链路有4条电路,因此每条链路能够支持4条并行连接。当两台主机要通信时,该网络在两台主机之间创建一条专用的端到端连接(end-to-end connection),该连接在连接期间获得该链路带宽的1/4部分。

3.2.1 电路交换网中的复用

链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。

对于FDM,链路的频谱由跨越链路创建的所有连接所共享,在连接期间链路为每条连接专用一个频段。在电话网络中,这个频段通常具有4kHZ的宽度,该频段的宽度叫做带宽(bandwidth)。

对于TDM,时间被划分为固定区间的,每帧被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。

电路交换因为在静默期(silent period)专用电路空间而效率较低。

3.2.2 分组交换与电路交换的对比

电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。

分组交换按需分配链路使用。链路传输能力将在所有用户之间逐分组地被共享,这些用户有分组需要在链路上传输。

分组交换是趋势。

3.3 网络的网络

端系统通过ISP与因特网相连,而ISP自身也必须互联,通过创建网络的网络解决这一问题。

图为ISP互联的等级结构

存在点(PoP)存在于等级结构的所有层次,但底层(接入ISP)除外。一个PoP只是提供商网络中的一台或多台路由器(在相同位置)群组,其中客户ISP能够与提供商ISP连接,客户网络能够从第三方通信提供商租用高速链路直接将路由器之一连接到位于该PoP的一台路由器。

任何ISP(除了第一层ISP)可以选择为多宿(multi-home),即可以与两个或更多提供商ISP连接。当一个ISP多宿时,即使它的提供商之一出现故障,它仍然能够继续发送和接收分组。

为了减少客户ISP支付给提供商ISP的费用,位于相同等级结构层次的邻近一对ISP能够对等(peer),使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。沿着这些相同路线,第三方公司创建一个因特网交换点(IXP),IXP是一个汇合点,多个ISP能够在这里共同对等。

内容提供商(如谷歌)通过创建自己的网络,不仅减少了向顶层ISP支付的费用,而且对其服务最终如何交付给端用户有了更多的控制。

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

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

当分组从一个结点(端系统或路由器)沿着这条路径到后继结点,该分组在沿途的每个结点经受了几种不同类型的时延。其中最为重要的是结点处理时延(nodel processing delay)、排队时延(queueing delay)、传输时延(transmission delay)和传播时延(propagation delay),这些时延总体累加起来是结点总时延(total nodal delay)。

时延的类型

1 处理时延
检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。它还包括其他因素,如检查比特级别差错所需要的时间。
通常是微秒或更低量级。

2 排队时延
在队列中当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。
通常是毫秒到微秒量级。

3 传输时延
用L(比特)表示该分组的长度,用R(bps)表示从路由器A到B的链路传输速率,则传输时延为L/R。注意是路由器A将分组推向链路所需要的时间。
通常是毫秒到微秒量级。

4 传播时延
当一个比特被推向链路,送往目标路由器时,从该链路的起点到目标路由器传播所需要的时间是传播时延。该传播速率取决于该链路的物理媒体(光纤、双绞铜线等),速率范围略小于光速。该传播时延等于两台路由器之间的距离除以传播速率,即d/s。
广域网中,通常是毫秒量级。

5 传输时延传播时延比较
传输时延是分组长度和链路传输速率的函数;
传播时延是两台路由器之间距离的函数。

总时延由上述四种时延相加,在实际生活中每种时延可能变化很大。

4.2 排队时延和丢包

令a表示分组到达队列的平均速率(a的单位是分组/秒,即pkt/s),R是传输速率,假定所有分组都是由L比特组成的,则比特到达分组的平均速率是La(bps)。比率La/R被称为流量强度。如果La/R>1,则该队列将趋于无限增大。因此,设计系统时流量强度不能大于1

如果流量强度接近于0,则几乎没有分组到达并且到达间隔很大,随着流量强度接近1,平均排队长度将变得越来越长。随着流量强度接近1,平均排队时延迅速增加。该强度的少量增加将导致时延大得多的增加。
图为平均排队时延与流量强度的关系

在实际使用中,一条链路前的队列是有限的,其容量受限于路由器设计和使用成本,当分组到达满的队列时,路由器将丢弃这个分组,即丢包。丢包的份额随着流量强度的增加而增加,一个结点的性能不仅根据时延度量,还与丢包的概率度量。丢失的分组可能基于端到端的原则重传,以确保所有的数据最终传到目的地。

4.3 端到端时延

上一节研究了结点间的时延,还需要研究端到端的时延,这里不再赘述。除了上文介绍的几种时延,端系统中还存在着其他一些重要时延,例如,作为它的协议的一部分,希望向共享媒体传输分组的端系统可以有意地延迟它的传输以与其他端系统共享媒体。另一个重要的时延是媒体分组化时延

4.4 计算机网络中的吞吐量

除了时延和丢包,计算机网络中另一个必不可少的性能测度是端到端吞吐量。在任何时间瞬间的瞬时吞吐量是端系统B接收到该文件的速率。在下载期间,如果文件由F比特组成,端系统B接收到所有文件用时T秒,则平均吞吐量是F/T(bps)。

对于简单的两链路的网络,其吞吐量是min|R1, R2|,这叫做瓶颈链路(bottleneck link)的传输速率。n条链路同理。
图为两链路网络

吞吐量取决于数据流过的链路的传输速率,当没有其他干扰流量时,其吞吐量能够近似为沿着源和目的地之间路径的最小传输速率

五、协议层次及其服务模型

5.1 分层的体系结构

5.1.1 协议分层

为了给网络协议的设计提供一个结构,网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件。每个协议属于这些层次之一,就像航线体系结构中的每种功能属于某一层一样。
图为航线功能的水平分层

每层通过在该层中执行某些动作或使用直接下层的服务来提供服务(service),即服务模型(service model)。例如,由第n层提供的服务可能包括报文从网络的一边到另一边的可靠传送,这可能是通过使用第n-1层的边缘到边缘的不可靠报文传送服务,加上第n层的检测和重传丢失报文的功能来实现的。

一个协议层能够用软件、硬件或两者的结合来实现。一个第n层协议也分布在构成该网络的端系统、分组交换机和其他组件中,第n层协议的不同部分常常位于这些网络组件的各部分中。

协议分层
优点:概念化结构化
潜在的缺点:
1 一层可能冗余较低层的功能
2 某层的功能可能需要仅在其他某层才出现的信息,违反了层次分离的目标。

各层的所有协议称为协议栈(protocol stack),因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。

1 应用层
应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包含许多协议,例如HTTP(Web文档的请求和传送)、SMTP(电子邮件报文的传输)和FTP(两个端系统之间的文件传送)。应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组,这种位于应用层的信息分组称为报文(message)。

2 运输层
因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,运输层包含TCP和UDP两个运输协议,利用其中任一个都能运输应用层报文。我们把运输层报文称作报文段(segment)。
——TCP提供连接服务,包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配)。
——UDP提供无连接服务,它不提供不必要服务的服务(没有可靠性、流量控制、拥塞控制等)。

3 网络层
因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。在一台源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址。

因特网的网络层包括内容如下:
1、著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。IP协议是唯一的,所有具有网络层的因特网组件必须运行IP协议。
2、决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地。路由选择协议不唯一。

网络层包含了IP协议和一些路由选择协议,通常把它称为IP层

4 链路层
在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个结点,链路层将数据报上传给网络层。由链路层提供的服务取决于应用于该链路的特定链路层协议。网络层将受到来自每个不同的链路层协议的不同服务。我们把链路层分组称为帧(frame)。

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

5.1.2 OSI模型

因特网协议栈不是唯一的协议栈。国际标准化组织(ISO)提出计算机网络应组织为大约7层,称为开放系统互连(OSI)模型[ISO 2012]。这7层分别是:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。相比于因特网协议栈,它新增了表示层和会话层。

1 表示层
表示层的作用是使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩和数据加密以及数据描述(使应用程序不必担心在各台计算机中表示/存储的内部格式不同的问题)。

2 会话层
会话层提供了数据交换定界和同步功能,包括了建立检查点和恢复方案的方法。

应用开发者决定这两个层次提供的服务是否重要,如果该服务重要,应用开发者就在应用程序中构建该功能。

5.2 封装

数据从发送端系统的协议栈向下,向上和向下经过中间的链路层交换机和路由器的协议栈,进而向上到达接收端系统的协议栈。链路层交换机实现第一层和第二层,路由器实现了第一层到第三层。
图为主机、路由器和链路层交换机,每个包含了不同的层,反映了不同的功能

在发送主机端,一个应用层报文被传送给运输层。在最简单的情况下,运输层收取到报文并附上附加信息,应用层报文和运输层首部信息构成了运输层报文段。运输层由此封装(encapsulation)了应用层报文。运输层再向网络层传递该报文段,网络层增加了如源和目的地端系统地址等网络层首部信息,产生了网络层数据报。数据报接下来传递给链路层,链路层增加它自己的链路层首部信息并创建链路层帧(link-layer frame)。

由此可见,在每一层,一个分组具有两种类型的字段:首部字段和有效载荷字段(payload field)。有效载荷通常是来自上一层的分组。

封装的过程在实际中会更加复杂。例如,一个大报文可能被划分为多个运输层的报文段(可能被划分为多个网络层数据报),在接收端则必须从其连续的数据报中重构这样一个报文段。

六、面对攻击的网络

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

6.1 有害程序能经过因特网放入到计算机中

一旦恶意软件感染设备,就能够窃取隐私信息,然后发送给攻击者。这些受害设备网络被称为僵尸网络(botnet),坏人能够利用僵尸网络控制并有效地对目标主机展开垃圾邮件分发或分布式拒绝服务攻击。

今天的多数恶意软件是自我复制(self-replicating)的:一旦感染了一台主机,就会从那台主机寻求进入更多的主机。恶意软件能够以病毒蠕虫的方式进行扩散,
——病毒(virus)是一种需要某种形式的用户交互来感染用户设备的恶意软件。
——蠕虫(worm)是一种无需任何明显用户交互就能进入设备的恶意软件。

6.2 攻击者能够攻击服务器和网络基础设施

还有一种宽泛类型的安全性威胁称为拒绝服务攻击(DoS攻击)。Dos攻击能够使得网络、主机或其他基础设施部分不能由合法用户使用。大多数因特网DoS攻击属于下列三种类型之一:

——弱点攻击。如果适当顺序的多个分组发送给一个易受攻击的应用程序或操作系统,该服务器可能停止运行,或者更糟糕的是主机可能崩溃。
——带宽洪泛。攻击者向目标主机发送大量分组,分组数量之多使得目标的接入链路变得拥塞,使得合法的分组无法到达服务器。
——连接洪泛。攻击者在目标主机中创建大量的半开或全开TCP连接。该主机因这些伪造的连接而陷入困境,并停止接受合法的连接。

对于带宽洪泛攻击,如果某服务器的接入速率为R bps,则攻击者需要以大约R bps的速率来产生危害。当R非常大时,单一攻击源可能无法产生足够大的流量来伤害该服务器,而且如果从单一源发出所有流量的话,上游路由器就能够检测出该攻击并在该流量靠近服务器前就能将其阻挡下来。所以攻击者会采用分布式DoS(DDoS,控制多个源并让每个源向目标猛烈发送流量)的方式削弱或损坏服务器,所有受控源的聚合流量速率需要大约R的能力)。相比于DoS,DDoS更加难以检测和防范。

图为DDoS攻击

6.3 攻击者能够嗅探分组

在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本。记录每个流经的分组副本的被动接收机被称为分组嗅探机(packet sniffer)。

嗅探器也能够部署在有线环境中。在有线的广播环境中,如在许多以太网LAN中,分组嗅探器能够获得经该LAN发送的所有分组。此外,获得某机构与因特网连接的接入路由器或接入链路访问权的攻击者能够放置一台嗅探器以产生从该机构出入的每个分组的副本,再对嗅探到的分组进行离线分析,就能得出敏感信息。

因为分组嗅探器是被动的,所以难以检测出它们的存在。最好的防御嗅探的方法基本上都与密码学有关。

6.4 攻击者能够伪装成你信任的人

生成具有任意源地址、分组内容和目的地址的分组,然后将这个人工制作的分组传输到互联网中极为容易,这种将具有虚假源地址的分组注入因特网的能力被称为IP哄骗(IP spoofing),而它只是一个用户能够冒充另一个用户的许多方式的一种。

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


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!