程序员必知的计算机网络的166个核心概念(下)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 程序员必知的计算机网络的166个核心概念

计算机网络数据链路层和物理层

计算机网络中的数据链路层和物理层是 OSI 模型中的前两个层,负责传输数据的实际物理连接和处理

  • 节点:一般指链路层协议中的设备。
  • 链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。
  • MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。
  • 奇偶校验位:一种差错检测方式,多用于计算机硬件的错误检测中,奇偶校验通常用在数据通信中来保证数据的有效性。
  • 向前纠错:接收方检测和纠正差错的能力被称为向前纠错。
  • 以太网:以太网是一种当今最普遍的局域网技术,它规定了物理层的连线、电子信号和 MAC 协议的内容。
  • VLAN:虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,所以称为虚拟局域网。
  • 基站:无线网络的基础设施。
  • 奇偶校验位:一种进行差错检测的方式。
  • 向前纠错:接收方检测和纠正差错的能力被称为向前纠错,也就是 FEC。
  • 校验和:checksum,在数据处理和数据通信领域中,用于校验目的地一组数据项的和。
  • 循环冗余检测:CRC ,一种现如今正在使用的差错检测技术,使用多项式来进行差错检测。
  • CSMA/CD:具有碰撞的载波侦听多路访问,CSMA/CD 会要求每个介质提前检查一下链路上是否有可能产生冲突的现象,一旦发生冲突,那么尽可能早地释放信道。
  • 共享介质型网络:故名思义就是多个设备共同使用同一个通信介质的网络。
  • 非共享介质型网络:与共享介质型网络相对,这种网络不会使用相同的通信介质。
  • 令牌环:一种共享介质型网络传输方式。
  • 过滤:在链路层是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机的一种功能。
  • 转发:转发决定一个帧应该导向那个接口,并把帧移动到那些接口的交换机的一种功能。
  • 交换机表:交换机的过滤和转发功能都依靠交换机表来完成。
  • MPLS:它是一种标记交换技术,标记交换会对每个 IP 数据包都设定一个标记,然后根据这个标记进行转发。

计算机网络安全

计算机网络安全是指在计算机网络中保护信息系统和数据的完整性、可用性和保密性,以及预防未经授权的访问、使用、修改、破坏或泄漏信息的一系列技术和管理措施。

计算机网络安全主要包括以下几个方面:

  1. 认证与访问控制:认证是指验证用户身份是否合法,而访问控制则是在认证通过后限制用户对系统资源的访问权限。这些技术包括密码学、生物识别等方法。
  2. 加密与解密:加密是将明文转化为密文以保障信息传输过程中的机密性,解密则是将加密后的密文还原为明文。常见的加解密技术有对称加密和非对称加密。
  3. 防火墙与入侵检测:防火墙可以监测并过滤进出网络的流量,并且限制不被信任源地址的访问。而入侵检测可以自动监测来自互联网或内部网络的异常行为,并提供报警功能。
  4. 安全审计与日志分析:安全审计可以检查所有操作员进行了哪些操作,以及这些操作是否符合规定。而日志分析则是收集大量系统日志数据并利用数据挖掘算法发现可能的安全威胁。
  5. 恶意软件防护:恶意软件包括病毒、木马、间谍软件等,它们可以在用户不知情的情况下侵入计算机系统并危害信息安全。因此,必须采取防范措施,如杀毒软件、反间谍软件等。
  6. 全通信的四大要素:机密性、保温完整性、端点鉴别和运行安全性。
  7. 机密性:报文需要在一定程度上进行加密,用来防止窃听者截取报文。
  8. 报文完整性:在报文传输过程中,需要确保报文的内容不会发生改变。
  9. 端点鉴别:发送方和接收方都应该证实通信过程中所对方的身份。
  10. 运行安全性:设施保护报文防止被攻击的能力。
  11. 明文:没有被加密过的内容都被称为明文。
  12. 加密算法:对原来明文的文件或数据按照某种算法进行处理,这种算法就是加密算法。
  13. 密文:对明文进行加密生成后的报文称为密文。
  14. 解密算法:对密文进行解密的算法。
  15. 密钥:解密算法对密文进行解密的工具叫做密钥。
  16. 对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
  17. 块密码:块密码也叫做分组密码,顾名思义,它把加密和解密序列分成了一个个分组,最后把每一块序列合并到一起,形成明文或者密文。
  18. 流密码:流密码也叫做序列密码,每次加密都通过密钥生成一个密钥流,解密也是使用同一个密钥流,明文与同样长度的密钥流进行异或运算得到密文,密文与同样的密钥流进行异或运算得到明文。
  19. 公钥:公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据
  20. 私钥:私钥通常是公钥的另一半,私钥只有自己知道,可以用来加密或解密。
  21. CA 认证中心,CA 的职责就是使识别和发行证书合法化。
  22. 防火墙:一种软硬件结合体,将机构的内部网络和整个因特网隔离,允许一些分组通过,阻止一些分组通过。
  23. 防火墙一般分为三种:分组过滤器、状态过滤器和应用程序网关。
  24. 分组过滤器:机构将内部网络与外部网络进行隔离,所有离开和进入内部网络的分组都会经过这个路由器,这个路由器会检查每个分组的信息。
  25. 状态分组过滤器:根据分组中的 TCP 连接状态进行过滤。
  26. 应用程序网关:一个应用程序网关是一个特定的应用程序,所有应用程序的数据都会经过它。
  27. 入侵检测系统:观察到潜在恶意流量时能够产生警告的设备称为入侵检测系统
  28. 入侵防止系统:过滤恶意流量的设备称为入侵防止系统。

网络核心

网络核心(Network Core)是指计算机网络中传输数据的主干部分,包括了各种设备和协议,如路由器、交换机、光纤等。网络核心连接了不同地点的边缘设备,使得整个网络能够快速可靠地传输数据。在计算机网络中,数据通过边缘设备(如电脑、手机等)进入到网络核心中进行传输。在传输过程中,路由器和交换机等设备将数据从一个节点转发到另一个节点。这些设备使用一系列协议来确保数据在传输过程中的正确性和可靠性,并防止数据丢失或被损坏。在实际应用中,网络核心扮演着非常重要的角色。它决定了整个计算机网络的速度、稳定性以及安全性。因此,在设计和维护计算机网络时需要注重对网络核心的优化和管理。

网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点:

那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?信息交换主要分为两种方式分组交换电路交互,下面我们就来一起认识一下。

分组交换

分组交换(Packet Switching)是一种在计算机网络中传输数据的方式,它将数据分成若干个固定大小的数据包(packet),每个数据包携带有关该数据包发送和接收的信息,并独立传输。这些数据包通过网络核心按照不同路径进行转发,直到最终到达目的地。

在分组交换中,每个数据包都被标记了其目标地址和源地址,并通过路由器等设备转发。当一个路由器接收到一个数据包时,它会查找目标地址并确定应该将该数据包传递给哪个下一个路由器。如果某个路由器拥塞或出现故障,则可以使用其他路径来重新发送丢失的数据包。

与电路交换相比,分组交换具有更高效、更灵活、更适用于异构网络和资源共享等优点。而互联网也是基于分组交换技术建立起来的。

虽然分组交换已经成为现代计算机网络通信的主要方式之一,但它仍存在着一些问题,如延迟、丢失和重复等。因此,在设计和实现计算机网络时需要考虑这些问题,并采取相应的措施来解决它们。

存储转发传输

存储转发传输(Store and Forward Transmission)是一种数据传输方式,在该方式中,数据在发送前首先被存储,并在接收方接收到完整的数据包后才开始进行处理。具体而言,发送方将数据分成若干个固定大小的数据包,每个数据包都会在发送前被缓存起来并等待确认接收方已经正确接收了前一个数据包后再发送下一个。

当所有的数据包都被成功传输到接收方之后,接收方开始处理这些数据包。这种方式可以保证传输的可靠性,因为如果某个数据包丢失或损坏,则会重新请求发送该数据包。此外,由于采用了存储转发机制,所以即使网络中存在短暂的拥塞也不会影响整体传输速度和质量。

存储转发传输广泛应用于计算机网络中各种协议和技术中,如电子邮件、文件传输协议(FTP)、简单邮件传输协议(SMTP)等。其中最典型的就是电子邮件系统,在该系统中,邮件服务器会把用户发送的邮件先缓存起来,并根据目标地址把邮件转发到相应的目标邮箱服务器上。

虽然存储转发传输提供了一定程度上的可靠性和稳定性,但是它也会增加数据传输的延迟,因为每个数据包都需要被缓存起来并等待确认后再进行发送。

排队时延和分组丢失

排队时延和分组丢失是计算机网络中两个常见的问题。

排队时延指在网络传输过程中,由于路由器等设备的缓存区已满,导致数据包需要等待一段时间才能被处理的现象。这种时延会影响到数据传输的实时性,对于一些要求实时响应的应用程序(如在线游戏、视频会议等)而言,排队时延可能会导致严重的质量问题。

分组丢失则是指在网络传输过程中,某个数据包由于各种原因没有到达目标地址,从而使得数据无法被完整地接收。分组丢失可能会导致数据损坏或者无法正常使用。例如,在文件传输过程中如果有一个数据包没有到达就意味着整个文件无法被完整地恢复。

为了解决这些问题,计算机网络设计了许多协议和技术。例如,在处理排队时延方面可以采用流量控制、拥塞控制等技术来限制网络流量并保证网络稳定运行;而在避免分组丢失方面,则可以采用错误检测和纠错码等技术来确保数据正确传输。此外,在实际应用场景中还可以结合其他优化策略,如数据压缩、负载均衡等技术来进一步提高网络性能和可靠性。

下图说明了一个简单的分组交换网络:

在上图中,分组由三位数据平板展示,平板的宽度表示着分组数据的大小。所有的分组都有相同的宽度,因此也就有相同的数据包大小。下面来一个情景模拟: 假定主机 A 和 主机 B 要向主机 E 发送分组,主机 A 和 B 首先通过100 Mbps以太网链路将其数据包发送到第一台路由器,然后路由器将这些数据包定向到15 Mbps的链路。如果在较短的时间间隔内,数据包到达路由器的速率(转换为每秒比特数)超过15 Mbps,则在数据包在链路输出缓冲区中排队之前,路由器上会发生拥塞,然后再传输到链路上。例如,如果主机 A 和主机 B 背靠背同时发了5包数据,那么这些数据包中的大多数将花费一些时间在队列中等待。实际上,这种情况与许多普通情况完全相似,例如,当我们排队等候银行出纳员或在收费站前等候时。

转发表和路由器选择协议

转发表和路由器选择协议是计算机网络中两个重要的概念。

转发表(Forwarding Table)是指存储在路由器中的一张表格,用于将收到的数据包转发到正确的目标地址。该表格记录了目标地址与对应下一跳地址之间的映射关系,当一个数据包到达路由器时,路由器会根据目标地址在转发表中查找对应的下一跳地址,并将数据包发送给该地址。通过使用转发表,路由器能够快速而准确地完成数据包转发工作,提高网络性能和可靠性。

路由器选择协议(Routing Protocol)则是一种协议,用于实现不同路由器之间的通信和信息交换,以便共同构建一个完整的网络拓扑结构。常见的路由器选择协议有RIP、OSPF、BGP等。这些协议采用不同的算法和策略来确定最佳路径,并更新各自所维护的路由表。当网络出现故障或者新设备加入时,这些协议会及时调整路由路径以保证数据能够正常传输。

总之,转发表和路由器选择协议都是计算机网络中非常重要的概念。通过合理设计和使用这些技术手段,可以有效提高网络的性能、可靠性和稳定性。

电路交换

在计算机网络中,另一种通过网络链路和路由进行数据传输的另外一种方式就是 电路交换(circuit switching)。电路交换在资源预留上与分组交换不同,什么意思呢?就是分组交换不会预留每次端系统之间交互分组的缓存和链路传输速率,所以每次都会进行排队传输;而电路交换会预留这些信息。一个简单的例子帮助你理解:这就好比有两家餐馆,餐馆 A 需要预定而餐馆 B 不需要预定,对于可以预定的餐馆 A,我们必须先提前与其进行联系,但是当我们到达目的地时,我们能够立刻入座并选菜。而对于不需要预定的那家餐馆来说,你可能不需要提前联系,但是你必须承受到达目的地后需要排队的风险。

下面显示了一个电路交换网络:

在这个网络中,4条链路用于4台电路交换机。这些链路中的每一条都有4条电路,因此每条链路能支持4条并行的链接。每台主机都与一台交换机直接相连,当两台主机需要通信时,该网络在两台主机之间创建一条专用的 端到端的链接(end-to-end connection)。

分组交换和电路交换的对比

分组交换的支持者经常说分组交换不适合实时服务,因为它的端到端时延时不可预测的。而分组交换的支持者却认为分组交换提供了比电路交换更好的带宽共享;它比电路交换更加简单、更有效,实现成本更低。但是现在的趋势更多的是朝着分组交换的方向发展。

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

因特网可以看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。我们希望在计算机网络中任意两个端系统之间传递数据都不会造成数据丢失,然而这是一个极高的目标,实践中难以达到。所以,在实践中必须要限制端系统之间的 吞吐量 用来控制数据丢失。如果在端系统之间引入时延,也不能保证不会丢失分组问题。所以我们从时延、丢包和吞吐量三个层面来看一下计算机网络

分组交换中的时延

计算机网络中的分组从一台主机(源)出发,经过一系列路由器传输,在另一个端系统中结束它的历程。在这整个传输历程中,分组会涉及到四种最主要的时延:节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(total nodal delay)和传播时延(propagation delay)。这四种时延加起来就是 节点总时延(total nodal delay)。

如果用 dproc dqueue dtrans dpop 分别表示处理时延、排队时延、传输时延和传播时延,则节点的总时延由以下公式决定: dnodal = dproc + dqueue + dtrans + dpop。

时延的类型

下面是一副典型的时延分布图,让我们从图中进行分析一下不同的时延类型:

分组由端系统经过通信链路传输到路由器 A,路由器A 检查分组头部以映射出适当的传输链路,并将分组送入该链路。仅当该链路没有其他分组正在传输并且没有其他分组排在该该分组前面时,才能在这条链路上自由的传输该分组。如果该链路当前繁忙或者已经有其他分组排在该分组前面时,新到达的分组将会加入排队。下面我们分开讨论一下这四种时延

节点处理时延

节点处理时延分为两部分,第一部分是路由器会检查分组的首部信息;第二部分是决定将分组传输到哪条通信链路所需要的时间。一般高速网络的节点处理时延都在微妙级和更低的数量级。在这种处理时延完成后,分组会发往路由器的转发队列中

排队时延

在队列排队转发过程中,分组需要在队列中等待发送,分组在等待发送过程中消耗的时间被称为排队时延。排队时延的长短取决于先于该分组到达正在队列中排队的分组数量。如果该队列是空的,并且当前没有正在传输的分组,那么该分组的排队时延就是 0。如果处于网络高发时段,那么链路中传输的分组比较多,那么分组的排队时延将延长。实际的排队时延也可以到达微秒级。

传输时延

队列 是路由器所用的主要的数据结构。队列的特征就是先进先出,先到达食堂的先打饭。传输时延是理论情况下单位时间内的传输比特所消耗的时间。比如分组的长度是 L 比特,R 表示从路由器 A 到路由器 B 的传输速率。那么传输时延就是 L / R 。这是将所有分组推向该链路所需要的时间。正是情况下传输时延通常也在毫秒到微妙级

传播时延

从链路的起点到路由器 B 传播所需要的时间就是 传播时延。该比特以该链路的传播速率传播。该传播速率取决于链路的物理介质(双绞线、同轴电缆、光纤)。如果用公式来计算一下的话,该传播时延等于两台路由器之间的距离 / 传播速率。即传播速率是 d/s ,其中 d 是路由器 A 和 路由器 B 之间的距离,s 是该链路的传播速率。

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

计算机网络中的传输时延和传播时延有时候难以区分,在这里解释一下,传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。而传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的倒数,而与分组长度和链路传输速率无关。从公式也可以看出来,传输时延是 L/R,也就是分组的长度 / 路由器之间传输速率。传播时延的公式是 d/s,也就是路由器之间的距离 / 传播速率。

排队时延

在这四种时延中,人们最感兴趣的时延或许就是排队时延了 dqueue。与其他三种时延(dproc、dtrans、dpop)不同的是,排队时延对不同的分组可能是不同的。例如,如果10个分组同时到达某个队列,第一个到达队列的分组没有排队时延,而最后到达的分组却要经受最大的排队时延(需要等待其他九个时延被传输)。

那么如何表征排队时延呢?或许可以从三个方面来考虑:流量到达队列的速率、链路的传输速率和到达流量的性质。即流量是周期性到达还是突发性到达,如果用 a 表示分组到达队列的平均速率( a 的单位是分组/秒,即 pkt/s)前面说过 R 表示的是传输速率,所以能够从队列中推出比特的速率(以 bps 即 b/s 位单位)。假设所有的分组都是由 L 比特组成的,那么比特到达队列的平均速率是 La bps。那么比率 La/R 被称为流量强度(traffic intensity),如果 La/R > 1,则比特到达队列的平均速率超过从队列传输出去的速率,这种情况下队列趋向于无限增加。所以,设计系统时流量强度不能大于1。

现在考虑 La / R <= 1 时的情况。流量到达的性质将影响排队时延。如果流量是周期性到达的,即每 L / R 秒到达一个分组,则每个分组将到达一个空队列中,不会有排队时延。如果流量是 突发性 到达的,则可能会有很大的平均排队时延。一般可以用下面这幅图表示平均排队时延与流量强度的关系

丢包

我们在上述的讨论过程中描绘了一个公式那就是 La/R 不能大于1,如果 La/R 大于1,那么到达的排队将会无穷大,而且路由器中的排队队列所容纳的分组是有限的,所以等到路由器队列堆满后,新到达的分组就无法被容纳,导致路由器 丢弃(drop) 该分组,即分组会 丢失(lost)。

计算机网络中的吞吐量

计算机网络中的吞吐量(Throughput)是指在一定时间内网络传输的数据量。它通常用比特每秒(bits per second,bps)或字节每秒(bytes per second,Bps)来表示。

在网络中,数据包需要经过多个节点才能到达目标主机。因此,吞吐量不仅受限于发送端和接收端的带宽限制,还受到路由器、交换机等设备的转发速度、网络拥塞程度等因素影响。如果其中某个节点处理速度较慢或者出现拥塞,则会降低整个网络的吞吐量。

为了提高网络吞吐量,可以采取以下措施:

  • 增加带宽:增加发送端和接收端之间的带宽可以提高单次传输数据量。
  • 优化路由器配置:调整路由器缓存大小、队列长度等参数可以减少拥塞情况,并提高传输效率。
  • 使用负载均衡技术:将流量分散到多条路径上进行传输,从而提高总体传输速度和可靠性。
  • 使用压缩技术:对数据进行压缩处理可以减小数据包大小,在保证数据正确性的前提下提高传输速度。

协议层次以及服务模型

协议层次是指计算机网络中不同协议的分层结构,每一层都有特定的功能和服务模型。常见的协议层次体系包括TCP/IP协议族和OSI模型。

TCP/IP协议族包含以下四个层次:

  1. 应用层:提供应用程序间通信的服务,如HTTP、FTP等。
  2. 传输层:提供端到端数据传输的服务,如TCP、UDP等。
  3. 网络层:提供IP地址和路由选择等服务,如IP、ICMP等。
  4. 数据链路层:负责物理介质上数据帧的传输和错误检测与纠正等服务,如Ethernet、PPP等。

OSI模型包含以下七个层次:

  1. 应用层:提供应用程序间通信的服务,如SMTP、SNMP等。
  2. 表示层:处理数据格式转换和加密解密等操作,如JPEG、MPEG等。
  3. 会话层:建立和维护会话连接,如RPC、SQL等。
  4. 传输层:提供端到端数据传输的服务,如TCP、UDP等。
  5. 网络层:提供IP地址和路由选择等服务,如IPX、CLNP等。
  6. 数据链路层:负责物理介质上数据帧的传输和错误检测与纠正等服务,如FDDI、ATM等。
  7. 物理层:提供物理介质传输和信号调制等服务,如电缆、光纤等。

服务模型是指每一层的功能和所提供的服务。通常分为面向连接和无连接两种模式。面向连接模式要求在数据传输前建立连接并进行握手,确保数据的可靠性和完整性,如TCP协议。无连接模式则不需要建立连接,直接发送数据包,速度较快但可靠性低,如UDP协议。

五层网络协议的示意图如下:

从图中可以一眼看出,OSI 要比上面的网络模型多了表示层会话层,其他层基本一致。表示层主要包括数据压缩和数据加密以及数据描述,数据描述使得应用程序不必担心计算机内部存储格式的问题,而会话层提供了数据交换的定界和同步功能,包括建立检查点和恢复方案。

网络攻击

在计算机高速发展的 21世纪,我们已经越来越离不开计算机网络,计算机网络在为我们带来诸多便利的同时,我们也会遭受一些网络攻击,下面我们就一起来认识一下网络中的攻击有哪些

植入有害程序

因为我们要从因特网接收/发送 数据,所以我们将设备与因特网相连,我们可以使用各种互联网应用例如微信、微博、上网浏览网页、流式音乐、多媒体会议等,网络攻击很可能在这时不知不觉的发生,通过在这些软件中植入有害程序来入侵我们的计算机,包括删除我们的文件,进行活动监视,侵犯隐私等。我们的受害主机也可能成为众多类似受害设备网络中的一员,它们被统称为 僵尸网络(botnet),这些攻击者会利用僵尸网络控制并有效的对目标主机开展垃圾邮件分发和分布式拒绝服务攻击

大多数有害程序都具有自我复制(self-replicating)的功能,传播性非常强,一旦它感染了一台主机,就会从这台感染的主机上寻找进入因特网的其他主机,从而感染新的主机。有害应用程序主要分为两种:病毒(virus) 和 蠕虫(worm),病毒是一种需要某种形式的用户交互来感染用户的计算机,比如包含了病毒的电子邮件附件。如果用户接收并打开感染病毒的电子邮件的话,就会以某种方式破坏你的计算机;而蠕虫是一种不需要用户交互就能进入计算机的恶意软件,比如你运行了一个攻击者想要攻击的应用程序,某些情况下不需要用户干预,应用程序就可能通过互联网接收恶意软件并运行,从而生成蠕虫,然后再进行扩散。

攻击服务器和网络基础设施

另一种影响较大的网络攻击称为拒绝服务攻击(Denial-of-Service Dos),这种网络攻击使得网络、主机、服务器、基础网络设施不能常规使用。Web 服务器、电子邮件服务器、DNS 服务器都能成为 Dos 的攻击目标。大多数因特网 Dos 攻击分为以下三类

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

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

连接洪泛。和上面的带宽洪范攻击性质相似,只不过这次换成了通过创建大量的 TCP 连接进行攻击。因为 TCP 连接数量太多导致有效的 TCP 连接无法到达服务器。

互联网中攻击最多的就属于带宽洪泛攻击了,可以回顾一下我们上面讨论的时延和丢包问题,如果某服务器的接入速率为 R bps,那么攻击者则需要向服务器发送大于 R bps 的速率来产生危害。如果 R 非常大的话,单一攻击源可能无法产生足够大的流量来伤害服务器,所以还需要产生多个数据源,这就是屡见不鲜的 分布式Dos(Distributed Dos,DDos) 。

攻击者通过控制多个数据源并让每个数据源发送大量的分组来致使服务器瘫痪。如下图所示

嗅探分组

今天许多用户通过无线设备接入因特网。例如 WiFi 连接的计算机或者使用蜂窝因特网连接的手持设备。在带来便利的同时也会成为易受攻击的目标。在无线传输设备的附近放置一台被动的接收机,该接收机就能够得到传输的每个分组的副本!这些分组中包含了各种敏感信息,例如口令、密码等,记录每个流经分组副本的接收机被称为分组嗅探器(packet sniffer)。分组嗅探也能够应用于有线环境中,可以用 Wireshark 实验来进行模拟

IP 伪装

生成具有任意源地址、分组内容和目的地址的分组,然后将这个分组传输到互联网中。这种将虚假源地址的分组注入因特网的能力被称为 IP 哄骗(IP spoofing)。为了解决这个问题,我们需要采用 端点鉴别,它是一种使我们能够确信真正源目的地的机制。我们后面会再探讨这些机制。


相关文章
|
6天前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
19 3
|
2天前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
20 9
|
13天前
|
供应链 网络协议 数据安全/隐私保护
|
2月前
|
存储 安全 数据处理
探索未来网络:量子互联网的概念与前景
本文将探讨量子互联网的基本概念、技术原理以及其潜在的应用前景。我们将从传统互联网的局限性出发,逐步引入量子力学的基本知识,解释量子纠缠和量子叠加的独特性质如何赋予量子互联网以全新的通信能力和安全性。最后,我们将讨论量子互联网在金融、医疗、国家安全等领域的应用潜力,并对其技术挑战与未来发展进行展望。
48 1
|
2月前
|
存储 安全 网络安全
[收藏]网络安全知识:网络安全概念、内容和主要技术纵览
[收藏]网络安全知识:网络安全概念、内容和主要技术纵览
|
3月前
|
Kubernetes 负载均衡 安全
在k8S中,网络模型概念是什么?
在k8S中,网络模型概念是什么?
|
3月前
|
监控 安全 网络安全
非军事区 (DMZ) 在网络安全中的概念
【8月更文挑战第27天】
61 0
|
4月前
|
网络协议 程序员 视频直播
|
4月前
|
机器学习/深度学习 自然语言处理 算法
深度学习的关键概念和网络结构
度学习是人工智能和机器学习的一个重要分支,它通过模拟人脑神经元的工作方式来处理复杂的模式识别和数据分析任务。深度学习已经在许多领域取得了显著的成果,如图像识别、语音识别和自然语言处理。
61 1
|
5月前
计算机网络——数据链路层-媒体接入控制的基本概念
计算机网络——数据链路层-媒体接入控制的基本概念
86 7