【网络安全技术】——期末复习(冲刺篇)
📖 前言:快考试了,做篇期末总结,都是重点与必考点。
题型:材料分析题、简答题、看图分析题
课本:
目录
- 🕒 1. 计算机网络安全概述
- 🕘 1.1 安全目标
- 🕘 1.2 常见的网络安全管理技术
- 🕒 2. 网络安全密码学基础
- 🕘 2.1 数字签名
- 🕘 2.2 消息认证码
- 🕘 2.3 单向散列(hash)函数
- 🕒 3. PKI技术及应用
- 🕒 4. 身份认证技术
- 🕒 5. TCP/IP体系的协议安全
- 🕘 5.1 TCP/IP体系的安全
- 🕘 5.2 DHCP欺骗的防范
- 🕘 5.3 DNS安全
- 🕒 6. 恶意代码与防范
- 🕒 7. 网络攻击与防范
- 🕒 8. 防火墙技术及应用
- 🕒 9. VPN技术及应用
🕒 1. 计算机网络安全概述
🕘 1.1 安全目标
安全的关键目标:CIA
- 保密性(Confidentiality)——对信息的访问和公开进行授权限制。解决方案:加密、访问控制
- 完整性(Integrity)——防止出现信息的不恰当修改或破坏。解决方案:数字签名、访问控制
- 可用性(Availability)——确保信息系统能及时可靠地访问和使用。解决方案:入侵检测、防火墙等
安全的额外目标:
- 可审查性(Assurance)——当网络出现安全问题时,能够提供调查的依据和手段
- 可追溯性(Accountability)——分析这就是你,行为事件追溯到人
【2023年真题】2023年3月7日,广东出入境和广东交警相继发布《公告》称,因系统故障,部分业务暂停办理,如图所示。请结合你的认知,分析此次故障破坏了信息安全的哪个安全目标?应如何理解该目标的含义?我们可以采用哪些措施来保障该安全目标?(9分)
解析:此次因系统故障导致部分业务暂停办理的事件,主要破坏了信息安全的可用性目标。
可用性是指信息和系统在需要时能够及时、连续地提供服务,即使在网络被攻击时也不能阻碍授权用户对网络的使用。在这次事件中,由于系统故障,广东出入境和广东交警的部分业务无法正常提供,这就破坏了信息系统的可用性。
为了保障信息系统的可用性,我们可以采取以下措施:
- 备份和恢复:定期备份系统和数据,以便在系统故障时能够快速恢复。
- 冗余设计:通过增加额外的硬件、软件或网络容量,提高系统的容错能力。
- 负载均衡:通过分散网络流量,确保系统在高负载情况下仍能保持良好的性能。
- 故障切换:在主系统发生故障时,能够自动切换到备用系统,以保证服务的连续性。
- 定期维护和更新:定期对系统进行维护和更新,修复已知的漏洞,提高系统的稳定性和安全性。
【2023年真题】剑桥分析(Cambridge Analytica)是英国一家数据分析公司,Meta(当时的facebook)在2018年3月承认,剑桥分析公司在2016年美国总统大选前违规获得了5000万Facebook 用户的信息。后来,Meta经调查发现,最多有8700万用户的信息被剑桥分析公司不当分享。为此,Meta在2018年遭遇集体诉讼。请分析这次事件破坏了信息安全的哪个安全目标?应如何理解该目标的含义?
解析:这次事件主要破坏了信息安全的保密性目标。
保密性是指防止未经授权的信息访问或数据泄露。在这次事件中,剑桥分析公司未经用户许可就获取并使用了用户的信息,这严重侵犯了用户的隐私权,破坏了信息的保密性。
在实际操作中,可以通过各种方法来保护信息的保密性,如使用访问控制列表(ACL)来限制对信息的访问,使用加密技术来保护数据的安全,以及定期进行安全审计和风险评估等。
【2023年真题】阅读以下材料,请从网络安全的角度分析这属于什么类型的安全事故,应如何防范。
据Bleeping Computer4月23日消息,网络安全公司 ESET(ESET是总部位于斯洛伐克布拉迪斯拉发的一家世界知名的电脑安全软件公司)的研究人员发现,在二手市场上售卖的一些企业级路由器中还存在未被擦除干净的敏感数据,能够被黑客用来破坏企业环境或获取客户信息。
解析:这起事件属于数据泄露类型的安全事故。在这种情况下,敏感数据(如配置信息、网络架构、甚至可能包括用户信息等)在设备被出售前没有被彻底删除,导致这些信息可能被不法分子获取并用于恶意目的。
防范措施:
- 数据清理:在设备出售或处置前,应彻底清除所有存储在设备上的信息。这包括配置信息、日志文件、用户数据等。需要注意的是,简单的删除操作可能无法彻底清除数据,应使用专门的数据清理工具或方法来确保数据被彻底擦除。
- 设备重置:大多数网络设备都提供了恢复出厂设置的选项,这通常会清除所有的配置信息和用户数据。但是,这也可能不足以防止数据恢复,因此最好在重置后再进行数据清理。
- 物理销毁:对于包含高度敏感信息的设备,可能需要采取物理销毁的方法来防止信息泄露。这可能包括粉碎硬盘、磁带或其他存储介质,或者使用退磁器来清除磁性存储设备的信息。
- 规范处理:制定并执行严格的设备处置政策和程序,确保在设备处置过程中遵循所有必要的步骤来保护信息安全。
🕘 1.2 常见的网络安全管理技术
- 安全隔离:网络安全隔离卡、物理隔离网闸、安全芯片、网络分段(物理层:集线器或其他,数据链路层和网络层:VLAN,传输层:ACL)
- 访问控制:传统的访问控制一般被分为两类:自主访问控制(Discretionary Access Control,DAC)和强制访问控制(Mandatory Access Control,MAC)。其中访问控制表(Access Control List,ACL)是DAC中常用的一种安全机制。随着时代发展,美国国家标准与技术研究院提出了RBAC(Role-Based Access Control,基于角色的访问控制)的概念并广为接受。
- 加密通道:在网络体系结构的不同层可以建立加密通道,加强数据传输的可靠性。
- 蜜罐技术:蜜罐(Honeypot)是一种计算机网络中专门为吸引并“诱骗”那些试图非法入侵他人计算机系统的人而设计的“陷阱”系统。蜜罐可以分为牺牲型蜜罐、外观型蜜罐和测量型蜜罐3种基本类型。
- 灾难恢复和备份技术:一个完整的备份及灾难恢复方案,应该包括:备份硬件、备份软件、备份制度和灾难恢复计划四个部分。
- 员工上网行为管理(Employee Internet Management,EIM)
【2023年真题】员工在上班时间上网聊天、购物、游戏等行为严重影响了工作效率;日益流行的BT、迅雷等下载软件非常容易导致关键业务应用系统带宽无法保证;部分员工通过微信、QQ等即时通信软件等方式将组织内部机密信息泄露。为了解决这些问题,某单位采用了员工上网行为管理(EIM)。如图所示是某单位网络行为管理系统网络示意图,请结合你的认知,分析该EIM系统应具有哪些功能?(12分)
解析:
(1)控制功能。可合理分配不同部门、员工的上网权限,比如什么时间可以上网、什么时间不能上网,能够访问哪些Internet网站的内容,哪些Internet资源是严格禁止使用的。另外,还可以对代理软件进行封堵,防止不允许上外网的员工通过代理软件上外网。
(2)监控与审计功能。可以将所有与上网相关的行为记录下来。例如,对企业研发、财务等关键部门的上网行为、聊天内容、邮件内容进行记录,以便事后审计,并在内部起到威慑的效果。
(3)报表分析功能。可以方便直观地统计分析员工的上网情况,据此掌握单位内部网络(Intranet)的使用情况。
(4)流量控制与带宽管理。支持对不同员工进行分组,通过一段时间数据统计,限定每个组的上网流量,对BT、迅雷等P2P下载软件进行封堵,避免其对网络带宽资源的消耗。
【2023年真题】安全隔离技术的目标是在确保把有害攻击陷离在可信网络之外,并保证可信网络内部信息不外泄的前提下,完成不同网络之间信息的安全交换和共享。请分析一般有哪些隔离手段?(列举至少3种)
解答:网络安全隔离卡、物理隔离网闸、安全芯片、网络分段。
🕒 2. 网络安全密码学基础
对称加密和非对称加密是两种主要的加密技术,前者使用相同的密钥进行加密和解密,后者使用一对公钥和私钥。
🕘 2.1 数字签名
数字签名:用来保证信息传输过程中信息的完整性和确认信息发送者的身份,主要使用公钥加密。
【2023年真题】如图所示是数字签名的原理图,请问图中的数字签名是否具有保密性?如果要同时实现保密性和数字签名,应如何修改图的结构?(8分)
解析:图中的数字签名流程并不具有保密性,根据图中的流程,原始消息 P 是以明文形式发送的,这意味着任何人都可以读取消息内容。我们可以采用对称加密和非对称方式对其修改:
- 对称:采用仲裁数字签名方式
- 非对称:直接数字签名
🕘 2.2 消息认证码
消息认证用于保证信息的完整性和不可否认性,可以检测信息是否被第三方篡改或伪造。
消息认证码(MAC)是一种使用密码的认证技术,它利用密钥来生成一个固定长度的短数据块,并将该数据块附着在消息之后,形成一个针对具体消息和该消息认证码的组合体,通过消息认证码来实现对消息完整性的认证。
假定发送方A和接收方B在通信过程中共享密钥K,发送方A使用密钥K对发送的消息M计算MAC=C(K,M),其中:
(1)M=输入的可变长消息
(2)C=MAC函数
(3)K=共享密钥
(4)MAC=消息认证码,即消息M的认证符,也称为密码校验和。
如图所示,发送方将消息M和MAC一起发送给接收方B。接收方B在接收到消息后,假设该消息为M’,将使用相同的密钥K进行计算得出新的MAC’=C(K,M’),再比较MAC’和接收到的MAC。如果MAC’=MAC,在双方共享密钥没有被泄露的情况下,则可以:
(1)确认消息的完整性,即该消息在传输过程中没有被篡改。因为如果攻击者篡改了该消息,也必须同时篡改对应的MAC值。在攻击者不知道密钥K的前提下,是无法对MAC值进行修改的。
(2)确认消息源的正确性,即接收方B可以确认该消息来自到发送方A。因为在无法获得密钥K的前提下,攻击者是无法生成正确的MAC值的,所以攻击者也无法冒充成消息的发送方A。
(3)确认序列号的正确性,即接收方B可以确认接收到的消息的顺序是正确的。
通过以上应用可以看出,MAC函数与加密函数类似,在生成MAC和验证MAC时需要共享密钥,但加密算法必须是可逆的,而MAC函数不需要。
上图所示的消息认证码的应用,只是对传输消息提供认证功能。在实际应用中,MAC可以和加密算法一起提供消息认证和保密性。如下图所示,消息发送方A在加密消息M之前,先计算M的认证码MAC,然后使用加密密钥将消息及其MAC一起加密;接收方B在收到消息后,先解密得到消息及对应的MAC,然后验证解密得到的消息和MAC是否匹配,如果匹配则说明该消息在传输过程中没有被篡改。
🕘 2.3 单向散列(hash)函数
Hash函数是消息认证码的一种变形,是一种能够将任意长度的消息压缩到某一固定长度的消息摘要(Message Digest)的函数。与MAC一样,Hash函数的输入是不固定的,而输出是固定大小的。但与MAC不同的是,Hash函数值的计算并不使用密钥。
在计算机网络中,Hash函数经常与对称加密、非对称加密结合使用,以提供不同的安全服务。
其中,图(a)是Hash函数和数字签名的典型应用。为了提高系统的效率,通过是先对要发送的消息M通过Hash函数计算其散列值,然后对该散列值利用发送方的私密KRa进行数字签名,以此提供对消息的认证;图(b)提供的安全服务集成了保密性和认证性,发送方在对消息计算了Hash函数值后与消息一起进行加密处理,网络中传输的是密文。除此之外,根据应用需要,Hash函数还可以与其他密码机制结合,提供不同的应用模式。
🕒 3. PKI技术及应用
公钥基础设施(PKI)是利用密码学中的公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。PKI能为各种不同安全需求的用户提供各种不同的网上安全服务所需要的密钥和证书,这些安全服务主要包括身份识别与鉴别(认证)、数据保密性、数据完整性、不可否认性及时间戳服务等,从而达到保证网上传递信息的安全、真实、完整和不可抵赖的目的。
PKI的组成:
认证机构(Certificate Authority,CA)也称为“认证中心”,它是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。
🕒 4. 身份认证技术
身份认证的概念:身份认证(Authentication)是系统审查用户身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限。身份认证通过标识和鉴别用户的身份,提供一种判别和确认用户身份的机制。
身份认证的方式:
- 用户所知道的(What you know)。如要求输入用户的口令、密钥或记忆的某些动作等。
- 用户所拥有的(What you have)。如U盾、智能卡等物理识别设备。
- 用户本身的特征(What you are)。如用户的人脸、指纹、声音、视网膜等生理特征以及击键等行为特征。
- 生理特征认证:如指纹识别、虹膜识别、人脸识别、声纹识别
- 生物行为认证:如击键认证(利用一个人敲击键盘的行为特征进行身份认证)、步态匹配、心跳密码
- 多因子信息
在网络安全领域,将认证(Authentication)、授权(Authorization)、审计(Accounting)统称为AAA或3A。
一次性口令认证是一种比传统口令认证技术更加安全的身份认证技术,是在登录过程中加入不确定因素,使每次登录时计算的密码都不相同,是一种相对简单的身份认证机制,可以简单快速地加载到需要认证的系统。
动态口令认证的实现方式
1.时间同步方式
时间同步 (Time Synchronization) 是利用用户的登录时间作为随机数,连同用户的通行短语一起生成一个口令
2.挑战/应答方式
当客户端发出登录请求时,认证系统生成一个挑战信息发送给客户端。客户端使用某种Hash函数生成一个口令发送给认证系统,认证系统用同样的方法生成一个口令,通过比较验证身份。
3.事件同步方式
通过特定事件次序及相同的种子值作为输入,通过特定算法运算出相同的口令
🕒 5. TCP/IP体系的协议安全
🕘 5.1 TCP/IP体系的安全
1、针对头部的安全
典型攻击:“死亡之ping”(death of ping)基于“碎片攻击”的原理。
2、针对协议实现的安全
典型攻击:SYN Flood攻击是一种典型的DoS(Denial of Service)攻击,是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
3、针对验证的安全
典型攻击:ARP欺骗、DHCP欺骗、DNS欺骗等。
例:ARP欺骗
4、针对流量的安全
典型攻击:嗅探、DDoS。
🕘 5.2 DHCP欺骗的防范
【2023年真题】在通过DHCP提供客户端IP地址等信息分配的网络中,一台非法DHCP服务器接入到了网络中,并“冒充”为一这个网段中的合法DHCP服务器,如图所示。这时,如果有一台DHCP客户端接入到网络,将向网络中广播一个 DHCP DISCOVER的请求信息,由于非法DHCP服务器与DHCP客户端处于同一个网段,而正确的DHCP服务器位于其他网段,所以一般情况下非法DHCP服务器优先发送DHCP OFFER 响应给DHCP客户端,而后到的正确的DHCP 服务器的 DHCP OFFER 响应 DHCP客户端并不采用。这样,DHCP客户端将从非法DHCP服务器处获得不正确的IP地址、网关、DNS等配置参数。请分析我们应如何防范这种安全隐息?(6分)
解析:
1. 使用DHCP Snooping信任端口
2. 在DHCP服务器上进行IP与MAC地址的绑定
🕘 5.3 DNS安全
协议脆弱性:
域名欺骗:域名系统(包括 DNS 服务器和解析器)接收或使用来自未授权主机的不正确信息,包含事务 ID 欺骗和缓存投毒。
网络通信攻击:针对 DNS 的网络通信攻击主要是DDoS攻击、恶意网址重定向和中间人(man-in-the-middle, MITM)攻击
劫持解析路径,并伪装成指定的DNS应答:
实现脆弱性:
DNS 软件,BIND 的漏洞和缺陷无疑会给 DNS 系统带来严重的威胁,其缓冲区溢出漏洞一度占据 UNIX 及 Linux 操作系统相关安全隐患的首位。
操作脆弱性:
由于人为操作或配置错误所带来的安全隐患:域名配置攻击、域名注册攻击和信息泄漏等
攻击目标网站域名注册服务提供商→修改目标网站域名记录→申请网站证书→伪装成目标网站
🕒 6. 恶意代码与防范
恶意代码(Malware)又称为恶意软件或恶意程序,是指运行在计算机上,使系统按照攻击者的意愿执行恶意任务的病毒、蠕虫和特洛伊木马的总称。恶意代码从出现发展到现状,其内涵和外延一直在不断发生着变化,今天,从广义上讲凡是人为编制的,干扰计算机正常运行并造成计算机软硬件故障,甚至破坏数据的计算机程序或指令集合都认为是恶意代码。
- 按照恶意代码的运行特点,可以将其分为两类:需要宿主的程序和独立运行的程序。
- 按照恶意代码的传播特点,还可以把恶意程序分成不能自我复制和能够自我复制的两类。
恶意代码名称 | 类型及主要特征 |
---|---|
计算机病毒 | 需要宿主;可自动复制 |
蠕虫独立程序 | 可自动复制;人为干预少 |
恶意移动代码 | 由轻量级程序组成;独立程序 |
后门 | 独立程序或片段,提供入侵通道 |
特洛伊木马 | 一般需要宿主;隐蔽性较强 |
Rootkit | 一般需要宿主;替换或修改系统状态 |
WebShell | 需要宿主;以asp、php、jsp或者cgi等网页文件形式存在 |
组合恶意代码 | 上述几种技术的组合以增强破坏力,如僵尸网络 |
恶意代码个体的编码特性指作者在编写恶意代码过程中所呈现出来的代码编写特性,为恶意代码文件的溯源分析提供了良好理论和技术支撑,有助于溯源特征的提取。
(1)代码复用性。
(2)代码固有缺陷性。
(3)代码对抗性。
(4)代码敏感性。
🕒 7. 网络攻击与防范
入侵检测技术是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。进行入侵检测的软件与硬件的组合便是入侵检测系统(Intrusion Detection System,简称IDS)。
IDS的特点:一种积极主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护。
根据实现技术的不同,IDS可以分为异常检测模型、误用检测模型和混合检测模型三种类型。
异常检测 | 误用检测(特征检测) | 混合检测 | |
---|---|---|---|
定义 | 首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。 | 收集非正常操作的行为特征(signature),建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。 | 对异常检测模型和误用检测模型的综合 |
特点 | 漏报率低,但误报率高 | 无法检测系统未知的攻击行为 | 全面、准确、可靠 |
IDS的信息收集:根据对象的不同,信息收集的方法包括基于主机的信息收集、基于网络的信息收集和混合型信息收集三种类型。
(1)基于主机的信息收集
系统分析的数据是计算机操作系统的事件日志、应用程序的事件日志、系统调用、端口调用和安全审计记录。主机型入侵检测系统保护的一般是所在的主机系统。是由代理(agent)来实现的,代理是运行在目标主机上的可执行程序,它们与命令控制台(console)通信。 基于主机的IDS部署如图所示。
(2)基于网络的信息收集
系统分析的数据是网络上的数据包。网络型入侵检测系统担负着保护整个网段的任务,基于网络的入侵检测系统由遍及网络中每个网段的传感器(sensor)组成。传感器是一台将以太网卡置于混杂模式的计算机,用于嗅探网络上的数据包。基于网络的IDS部署如图所示(当单位内部网络存在多个网段时,建议在每一个网段分别安装一个传感器)。
(3)混合型信息收集
混合型信息收集是基于网络的信息收集和基于主机的信息收集的有机结合。基于网络的信息收集和基于主机的信息收集都存在不足之处,会造成防御体系的不全面,而混合型入侵检测系统既可以发现网络中的攻击信息,也可以从系统日志中发现异常情况。
信息收集的渠道:
(1) 系统和网络日志文件
(2) 目录和文件中的不期望的改变
(3) 程序执行中的不期望行为
(4) 物理形式的入侵信息
IDS的信息分析:
IDS对于收集到的各类信息(如系统、网络、数据及用户活动状态和行为等),一般通过三种技术手段进行分析:模式匹配、统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
🕒 8. 防火墙技术及应用
防火墙的基本准则:
- 所有未被允许的就是禁止的
- 所有未被禁止的就是允许的
防火墙多应用于一个局域网的出口处或置于两个网络中间。对于绝大多数局域网来说,在将局域网接入Internet时,在路由器与局域网中心交换机之间一般都要配置一台防火墙,以实现对局域网内部资源的安全保护。
包过滤防火墙工作在网络层和传输层,它根据通过防火墙的每个数据包的源IP地址、目标IP地址、端口号、协议类型等信息来决定是将让该数据包通过还是丢弃,从而达到对进出防火墙的数据进行检测和限制的目的。
主要特点:
- 过滤规则表中的条目根据用户的安全要求来定。
- 按顺序执行。
- 由于部署在网络层和传输层,其速度影响不大,实现成本较低,但无法识别基于应用层的恶意入侵。
【2023年真题】防火墙是构建可信赖网络域的安全产品,如图所示是某公司网络拓扑图。现出于安全考虑,公司只允许外部主机访问本网段的WEB和DNS服务,另外允许本网段与其它网段互相PING通。
【问题1】请分析应该在什么地方部署网络访问控制策略?
【问题2】请根据公司要求,写出相应的ACL。
解析:应该在Internet和交换机之间的路由器上部署网络访问控制策略(当成包过滤防火墙),在接口2上应用ACL,控制进入内部网络的流量。
接口2上的ACL配置:
acl number 3000rule 5 permit tcp source any destination 192.168.0.1 0 destination-port eq 80 // 允许外部访问内部网络的WEB服务(HTTP)rule 10 permit tcp source any destination 192.168.0.1 0 destination-port eq 443 // 允许外部访问内部网络的WEB服务(HTTPS)rule 15 permit udp source any destination 192.168.0.8 0 destination-port eq 53 // 允许外部访问内部网络的DNS服务(UDP端口53)rule 20 permit icmp source any destination any icmp-type 8 // 允许外部主机ping内部主机rule 25 permit icmp source any destination any icmp-type 0 // 允许内部主机ping外部主机rule 30 deny ip source any destination any // 拒绝所有其他访问
应用ACL到接口,将配置的ACL应用到相应的接口:
# 接口2
interface GigabitEthernet0/0/2acl 3000 inbound
【2023年真题】为了网络安全,系统中已经部署了防火墙、IDS/IPS、漏洞扫描等系统,请分析为什么还要使用网络安全态势感知?(8分)
解析:上述措施只是从各自的角度发现网络中存在的问题,并没有考虑其中的关联性,无法系统、整体地发现网络中存在的问题。网络安全态势感知(NSSA)是在传统网络安全管理的基础上,通过对分布式环境中信息的动态获取,经数据融合、语义提取、模式识别等综合分析处理后,对当前网络的安全态势进行实时评估,从中发现攻击行为和攻击意图,为安全决策提供相应的依据,以提高网络安全的动态响应能力,尽可能降低因攻击而造成的损失。
🕒 9. VPN技术及应用
根据应用环境的不同,VPN主要分为三种典型的应用方式:内联网VPN、外联网VPN和远程接入VPN。
- 内联网VPN:形成一个逻辑上的局域网。
- 外联网VPN:常应用于企业需要根据不同的用户身份(如供应商、销售商等)进行授权访问,建立相应的身份认证机制和访问控制机制。
- 远程接入VPN:为移动用户提供一种访问单位内部网络资源的方式。
隧道技术是一种在公共网络基础设施上建立的端到端数据传输方式,其核心内容是利用一种网络协议(俗称为隧道协议)传输另一种网络协议。
VPN的隧道技术是VPN的核心技术,VPN的加密和身份认证等安全技术都需要与隧道技术相结合来实现。
隧道的组成:要形成隧道,需要有以下几项基本的要素:
(1)隧道开通器(TI)。隧道开通器的功能是在公用网中创建一条隧道。
(2)有路由能力的公用网络。由于隧道是建立在公共网络中,要实现VPN网关之间或VPN客户端与VPN网关之间的连接,这一公共网络必须具有路由功能。
(3)隧道终止器(TT)。隧道终止器的功能是使隧道到此终止,不再继续向前延伸。
隧道的实现过程:
如上图所示的是一个基于IP网络的VPN隧道,通过隧道将LAN1和LAN2连接起来,使位于LAN1和LAN2中的主机之间可以像在同一网络中一样利用IP进行通信。为了便于对隧道的工作过程进行描述,现假设与LAN1连接的VPN网关为隧道开通器,而与LAN2连接的VPN网关为隧道终止器,用户数据从LAN1发往LAN2,具体过程如下:
(1)封装:封装操作发生在隧道开通器上。当用户数据(包括有IP头部和数据两部分)到达隧道开通器时,隧道开通器将用户数据作为自己的净载荷,并对该净载荷利用隧道协议进行第1次封装。这一次封装其实是利用隧道协议对上层数据(用户数据)进行加密和认证处理。
第1次封装后形成的数据成为第2次封装的净载荷。为了使第1次封装后的数据能够通过具有路由功能的公共网络(如Internet)进行传输,还需要给它添加一个IP头部,即进行第2次封装。第2次封装后的数据根据其IP头部信息进行路由选择,并传输到与LAN2连接的VPN网关。
(2)解封装:解封装操作发生在隧道终止器上。解封装操作是封装操作的逆过程,第1次解封装去掉最外层用于在公共网络中进行寻址的IP头部信息,第2次解封装去掉隧道协议,最后得到的是用户数据。用户数据再根据其头部信息在LAN2中找到目的主机,完成通信过程。
在数据封装过程中,虽然出现了两个“IP头部”,但用户数据中的“IP头部”在隧道中是不可见的,即在隧道中传输时主要依靠第2次封装时添加的“IP头部”信息进行路由寻址。所以,用户数据中的“IP头部”对隧道来说是透明的。
简而言之:封装→传输→解封装
从以上隧道的工作原理可以看出,隧道通过封装和解封装操作,只负责将LAN1中的用户数据原样传输到LAN2,使LAN2中的用户感觉不到数据是通过公共网络传输过来的。通过隧道的建立,可实现以下功能:
- 将数据流量强制传输到特定的目的地
- 隐藏私有的网络地址
- 在IP网络上传输非IP协议的数据包
- 提供数据安全支持
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页
相关文章:
【网络安全技术】——期末复习(冲刺篇)
📖 前言:快考试了,做篇期末总结,都是重点与必考点。 题型:材料分析题、简答题、看图分析题 课本: 目录 🕒 1. 计算机网络安全概述🕘 1.1 安全目标🕘 1.2 常见的网络安全…...
Python中Web开发-Django框架
大家好,本文将带领大家进入 Django 的世界,探索其强大的功能和灵活的开发模式。我们将从基础概念开始,逐步深入,了解 Django 如何帮助开发人员快速构建现代化的 Web 应用,并探讨一些最佳实践和高级技术。无论是初学者还…...
1882java密室逃脱管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java密室逃脱管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…...
LeetCode 两两交换链表中的节点
原题链接24. 两两交换链表中的节点 - 力扣(LeetCode) 思路,请看图片的过程模拟,这里添加了一个哨兵节点0,目的是为了方便操作,得到指向1节点的指针。 class Solution {public:ListNode* swapPairs(ListNod…...
STM32作业实现(五)温湿度传感器dht11
目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...
java mybatis处理大数据量,开启和配置二级缓存,及注意事项,已解决
注意事项: 尽量避免使用下面方式写sql否则会降低服务器性能: mybatis二级缓存开启后,避免使用事务注解(加上事务注解后二级缓存数据会导致两次访问不一致问题): 3. 返回的对象实体类,要实现Se…...
在 LLM 架构中应用多专家模型
本文转载自:在 LLM 架构中应用多专家模型 2024年 3月 14日 By Kyle Kranen and Vinh Nguyen https://developer.nvidia.cn/zh-cn/blog/applying-mixture-of-experts-in-llm-architectures/ 文章目录 一、概述二、LLM 架构领域的专家齐聚一堂1、模型容量2、MoE 在降低…...
C语言编程代码软件:深入探索与实战应用
C语言编程代码软件:深入探索与实战应用 在编程的广袤领域中,C语言以其独特的魅力吸引着无数编程爱好者。作为一种基础且强大的编程语言,C语言在软件开发、系统编程、嵌入式系统等领域发挥着不可替代的作用。而要想熟练掌握C语言,…...
【AIGC半月报】AIGC大模型启元:2024.06(上)
AIGC大模型启元:2024.06(上) (1) ChatTTS(语音合成项目) (1) ChatTTS(语音合成项目) 2024.06.01 ChatTTS 文本转语音项目爆火出圈,引来大家极大的关注。短短三天时间,在…...
两款 IntelliJ IDEA 的 AI 编程插件
介绍两款 IntelliJ IDEA 的 AI 编程插件:通义灵码和 CodeGeeX。 通义灵码 这是由阿里推出的一个基于通义大模型的 AI 编码助手。 它提供了代码智能生成、研发智能问答等功能。通义灵码经过海量优秀开源代码数据训练,可以根据当前代码文件及跨文件的上下…...
语义化版本控制:软件工程的实用之道
语义化版本控制:软件工程的实用之道 在软件开发过程中,版本控制是确保项目稳定、有序进行的关键环节。随着项目的发展,功能的增加、错误的修复以及API的修改变得日益频繁。为了有效管理这些变化,并确保团队成员、用户以及依赖该软…...
Java设计模式总结
《武林外传》老白曾经说过这样一句话。高手就是手里无刀,心中也无刀。 类似于设计模式,你不知不觉中已经融进你的代码中了,但你并不知已经运用了。下面我总结几个我觉得比较常用的设计模式。 1:设计模式分类 总体来说设计模式分为…...
小米路由器如何设置去广告功能,如何设置小米路由器的自定义Hosts(小米路由器如何去除小米广告、去除小米电视盒子开屏广告、视频广告)
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 实现方案 📒📝 操作步骤📝 注意事项⚓️ 相关链接 ⚓️📖 介绍 📖 小米设备的广告一直是用户头疼的问题,无论是开屏广告、应用内广告还是系统广告,都影响了用户体验。本文将详细介绍如何通过小米路由器实现去除广告…...
HCIP-Datacom-ARST自选题库__EBGP【18道题】
一、单选题 1.在排除EBGP邻居关系故障时,你发现两台直连设备使用Loopback口建立连接,故执行display current-configurationconfiguration bgp查看peer ebgp-max-hop hop-count的配置,下列哪项说法是正确的? hop-count必须大于2 hop-count…...
TypeScript算法每日一题:两数之和(167)
作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 题库:力扣 题目序号:167(简单) 题目: 给你一个下标从1开始的整数数组 numbers ,该数组已按非…...
用docker搭建的Vulfocus镜像管理界面没有镜像可以拉取解决办法
ps:截止到今天2023.4.2,kali和vps的docker拉取的vulfocus镜像会有版本的区别,虽然都是拉取的最新版,vps上镜像为3个月以前,kali上为16个月以前,所以在修改 views.py 文件时,可能会发现文件内容不…...
CSPM.pdf
PDF转图片 归档:...
多个短视频剪辑成一个视频:四川京之华锦信息技术公司
多个短视频剪辑成一个视频:创作中的艺术与技术 在数字时代,短视频以其短小精悍、内容丰富的特点,迅速成为社交媒体上的热门内容形式。然而,有时单一的短视频难以完全表达创作者的意图或满足观众的观赏需求。因此,将多…...
算法第三天力扣第69题:X的平方根
69. x 的平方根 (可点击下面链接或复制网址进行做题) https://leetcode.cn/problems/sqrtx/https://leetcode.cn/problems/sqrtx/ 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被…...
异常处理。
异常 是指程序运行中出现了错误。 捕获异常: 对bug进行提醒,使整个程序继续运行。 捕获所有异常: try:#可能出错的代码 except:如果出现异常执行的代码 可以输出异常的类型: try:a1bhuishprint(ab) except Exception as i:…...
MySQL—函数(介绍)—字符串函数(基础)
一、引言 提到函数,在SQL分类中DQL语句中有一个聚合函数,如COUNT()、SUM()、MAX()等等。这些都是一些常见的聚合函数,而聚合函数只是函数的一种,接下来会详细的学习和介绍一下函数的应用场景和以及 mysql 当中文件的函数有哪些。 …...
CTF本地靶场搭建——静态flag题型的创建
静态flag题型的创建 首先这里要说的是静态flag和动态flag。 在CTF(Capture The Flag)比赛中,静态flag的使用通常与特定的赛制或题目类型关联,而不是直接与题型绑定。静态flag意味着这些flag是预先设定好的,不会随比…...
基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五)
上一篇:搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四) 下一篇:基于Django的博客系统之增加类别导航栏(六) 功能概述 添加搜索框用于搜索博客。 需求详细描述 1. 添加搜索框用于搜索博客 描…...
开源VS闭源:大模型发展路径之争,你站哪一派?
文章目录 引言一、数据隐私1.1开源大模型的数据隐私1.2 闭源大模型的数据隐私1.3 综合考量 二、商业应用2.1 开源大模型的商业应用2.2 闭源大模型的商业应用2.3 商业应用的综合考量 三、社区参与3.1 开源大模型的社区参与3.2 闭源大模型的社区参与3.3 综合考量 结论 引言 在人…...
Python | Leetcode Python题解之第115题不同的子序列
题目: 题解: class Solution:def numDistinct(self, s: str, t: str) -> int:m, n len(s), len(t)if m < n:return 0dp [[0] * (n 1) for _ in range(m 1)]for i in range(m 1):dp[i][n] 1for i in range(m - 1, -1, -1):for j in range(n …...
STM32高级控制定时器应用之检测输入PWM周期和占空比
目录 概述 1 PWM 输入模式 1.1 原理介绍 1.2 应用实例 1.3 示例时序图 2 使用STM32Cube配置工程 2.1 软件环境 2.2 配置参数 2.3 生成项目文件 3 功能实现 3.1 PWM占空比函数 3.2 输入捕捉回调函数 4 功能测试 4.1 测试软件框架结构 4.2 实验实现 4.2.1 测试实…...
[AI Google] 三种新方法利用 Gemini 提高 Google Workspace 的生产力
Workspace 侧边栏中的 Gemini 现在将使用 Gemini 1.5 Pro,新的 Gemini for Workspace 功能即将登陆 Gmail 移动应用,等等。 Gemini for Google Workspace 帮助个人和企业更好地利用 Google 应用——从在 Gmail 中撰写邮件到在 Sheets 中组织项目计划。过…...
【U-Net验证】逐元素乘积将特征投射到极高维隐式特征空间的能力
写在前面:本博客仅作记录学习之用,部分图片来自网络,如需使用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言网络结构编码结构解码结构代码 实验实验设置w/o-ReLU的性能比较with-ReLU的性能比…...
快团团大团长帮卖如何导出单个团购的订单?免费教程教你怎么做!
一、小程序端如何导出单个团购的订单? 进入团购页面,在订单管理——订单导出中,点击订单数据表格,可导出到邮箱,或通过在浏览器中查看下载链接 二、电脑端如何导出单个团购的订单? 1、如何自定义选择订单信…...
services层和controller层
services层 我的理解,services层是编写逻辑代码语句最多的一个层,非常重要,在实际的项目中,负责调用Dao层中的mybatis,在我的项目中它调用的是这两个文件 举例代码如下 package com.example.sfdeliverysystem.servic…...
Pycharm编辑器下自定义模块导入报错:no module named问题
相信很多使用pycharm 社区版编写python 程序的初学者都会遇到这样一个看似简单但是一时半刻找不到解决头绪的问题: 在同个目录下导入自己编写的模块到主程序的过程中,直接import的时候会报错:ModuleNotFoundError。 通过各种方法尝试以后还是…...
C#使用GDI对一个矩形进行任意角度旋转
C#对一个矩形进行旋转GDI绘图,可以指定任意角度进行旋转 我们可以认为一张图片Image,本质就是一个矩形Rectangle,旋转矩形也就是旋转图片 在画图密封类 System.Drawing.Graphics中, 矩形旋转的两个关键方法 //设置旋转的中心点 public v…...
打印机的ip不同且连不上
打印机的ip不同且连不上 1.问题分析2.修改网段3.验证网络 1.问题分析 主要是打印机的网段和电脑不在同一个网段 2.修改网段 3.验证网络...
关于linux程序的查看、前台运行、后台运行、杀死的管理操作。
前言 在Linux中, 程序(program)是放在磁盘上的程序,是不会执行的。 进程(process)是程序被触发,从而加载到内存中的,会被CPU随机执行。 Linux中,有非常多的进程在实时运…...
STM32作业设计
目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...
PHPSTOM配置Laradock,xdebug,phpunit
原理图: 片面理解: phpstorm启用一个9000端口,这个端口用来接收到信息后,启用xdebug功能。服务器端(docker), 当客户端访问laravel项目域名后, 并读取xdebug.ini的配置, 把调试的请求数据, 向配置里面的端口发送消息, 配置里面的端…...
使用Java进行数据分析和处理:应用在实际业务场景中的技术
在当今数据驱动的时代,数据分析和处理已经成为各行各业中不可或缺的一部分。Java作为一种广泛应用于企业级开发的编程语言,也在数据领域展现出了强大的能力。本文将探讨如何使用Java进行数据分析和处理,以及在实际业务场景中应用的技术。 ##…...
C++中的List
摘要 C 标准库中的 std::list 是一种双向链表容器,它允许在常数时间内进行插入和删除操作,每个元素包含一个指向前一个和后一个元素的指针。这给我们开发提供了高效的插入和删除操作。 引入头文件 要使用 std::list,需要包含头文件 <li…...
go map 如何比较两个 map 相等
go map 如何比较两个 map 相等 都为 nil非空、长度相等,指向同一个 map 实体对象相应的 key 指向的 value 相等 直接将使用 map1 map2 是错误的。这种写法只能比较 map 是否为 nil。因此只能是遍历map 的每个元素,比较元素是否都是深度相等。...
牛客网刷题 | BC108 反斜线形图案
目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 KiKi学习了循环&am…...
数据的表示和运算
目录 一.各进制间的相互转换 1.各进制转化为10进制 2.二进制和八进制,十六进制之间地相互转化 3.十进制转换为其他进制 二.BCD码(Binary-Coded Decimal,用二进制编码的十进制) 1.8421码 2.余3码 3.2421码 三.无符号整数 …...
【爬虫工具】油管视频批量采集软件
一、背景介绍 1.1 爬取目标 我用Python独立开发了一款爬虫软件,作用是:通过搜索关键词采集ytb的搜索结果,包含14个关键字段:关键词,页码,视频标题,视频id,视频链接,发布时间,视频时长,频道名称,频道id,频道链接,播放数,点赞数,评…...
【LeetCode刷题】二分查找:寻找旋转排序数组中的最小值、点名
【LeetCode刷题】Day 14 题目1:153.寻找旋转排序数组中的最小值思路分析:思路1:二分查找:以A为参照思路2:二分查找,以D为参照 题目2:LCR 173.点名思路分析:思路1:遍历查找…...
使用python绘制小提琴图
使用python绘制小提琴图 小提琴图效果代码 小提琴图 小提琴图(Violin Plot)是一种结合了箱线图和核密度估计图的图形,用于显示数据分布的情况。它不仅展示了数据的四分位数、最大值和最小值,还通过密度曲线展示了数据的分布形状。…...
【C++】6-7 你好,输出的格式控制(三角形)
6-7 你好,输出的格式控制(三角形) 分数 10 全屏浏览 切换布局 作者 向训文 单位 惠州学院 完善程序:输入行数rows(大于0),第一行输出rows个*,接下来每行的*个数减1,直…...
力扣每日一题 6/1
2928.给小朋友们分糖果[简单] 题目: 给你两个正整数 n 和 limit 。 请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。 示例 1: 输入:n 5, limit 2 …...
决定短视频打开率的要素:成都鼎茂宏升文化传媒公司
在当下这个短视频盛行的时代,无论是个人创作者还是企业品牌,都希望通过短视频平台获得更多的曝光和关注。然而,如何让自己的短视频在众多内容中脱颖而出,吸引用户的点击和观看,成为了摆在我们面前的重要问题。成都…...
解决通过包管理器下载 Sharp 时遇到的二进制文件下载问题
sharp 是一个流行的 Node.js 库,用于高性能的图片处理。它依赖于预构建的 libvips 二进制文件,这些文件通常是从官方仓库下载的。 但在某些地区的网络环境下,直接下载可能会因为网络限制而失败。 通过在命令行中分别执行以下两行内容即可&a…...
反序输出c++
题目描述 输入n个数,要求程序按输入时的逆序把这n个数打印出来,已知整数不超过100个。也就是说,按输入相反顺序打印这n个数。 输入 输入一行共有n个数,每个数之间用空格隔开。 输出 如题要求:一行,共有n个数&…...
C++ 封装线程池(结合QT支持信号机制)
纯C风格线程池 纯C 风格线程池可参考这篇文章 https://llfc.club/category?catid225RaiVNI8pFDD5L4m807g7ZwmF#!aid/2c2IJUcCUOfzEQQRRdOXYIZuCjP 视频教程 相关线程池和并发编程的视频可以看看这个连接: https://www.bilibili.com/video/BV1Xt421H7M7/?vd_s…...