Network layer security: IPsec
网络层机密性(Network-layer confidentiality):在两个网络实体之间,发送实体对数据报负载(payload)进行加密,这里的负载可以是TCP或UDP段、ICMP消息、OSPF消息等各种类型的数据。这样,所有从一个实体发送到另一个实体的数据都会对任何第三方(可能在嗅探网络的)隐藏起来,包括网页、电子邮件、P2P文件传输、TCP SYN数据包等,实现了全面的“覆盖式”保护。
虚拟专用网络(Virtual Private Networks ,VPNs)
动机(motivation):机构常常为了安全需要私有网络。虽然可以部署独立的物理网络,但成本高昂,需要单独的路由器、链路、DNS基础设施等。VPN则是将机构的办公室间流量通过公共互联网发送,在进入公共互联网之前进行加密,并且在逻辑上与其他流量分离,既保证了安全性又降低了成本。
工作原理(IPsec in VPNs):以笔记本电脑(laptop)和销售人员(salesperson)通过IPsec与总部(headquarters)和分支机构(branch ...
大学生涯
未读认证(Authentication)
认证的目标
认证的主要目标是让一方(例如Bob)能够确认另一方(例如Alice)的身份。这在网络通信中至关重要,因为在网络环境中,双方可能无法直接看到对方,所以需要一种可靠的方法来确保对方的身份真实性。
协议ap1.0的问题
协议ap1.0中,Alice仅说“I am Alice”来证明自己的身份。但在网络中,Bob无法直接看到Alice,所以攻击者Trudy可以简单地宣称自己是Alice,这种方式完全无法保证身份的真实性,因为没有任何机制来验证声明者是否真的是Alice。
协议ap2.0的问题
协议ap2.0中,Alice在包含源IP地址的IP数据包中声明自己是Alice。然而,Trudy可以通过创建一个“欺骗”Alice地址的数据包来冒充Alice。这意味着仅依靠IP地址来证明身份是不安全的,因为IP地址可以被伪造,攻击者可以轻易地伪装成其他人的IP地址进行通信。
协议ap3.0的问题
协议ap3.0中,Alice发送自己的秘密密码来证明身份。但存在回放攻击的风险,即Trudy可以记录Alice的数据包 ...
大学生涯
未读What is network security
网络安全的定义:
保密性(Confidentiality):确保只有发送方和预期的接收方能够理解消息内容。发送方会对消息进行加密,接收方则进行解密。
身份验证(Authentication):发送方和接收方都希望确认彼此的身份,以防止身份被伪造或冒用。
消息完整性(Message Integrity):发送方和接收方希望确保消息在传输过程中或之后没有被篡改,并且能够检测到任何未经授权的修改。
访问和可用性(Access and Availability):网络服务必须对用户是可访问和可用的,即要防止拒绝服务攻击等情况,确保服务能够正常提供。
相关角色:
Alice和Bob:在网络安全的情境中,通常用Alice和Bob来代表希望进行安全通信的双方,例如进行电子交易的Web浏览器和服务器、网上银行的客户端和服务器、DNS服务器之间以及交换路由表更新的路由器等。
Trudy:代表入侵者,可能会进行各种恶意行为,如窃听、插入消息、冒充、劫持连接以及拒绝服务攻击等。 希望这个讲解能让你对网络安全的概念有更清晰的理解。如果你还有其他 ...
大学生涯
未读Switches
以太网交换机(Ethernet Switch):
链路层设备:以太网交换机是一种工作在链路层(第二层)的设备,它在网络中起着积极的作用。
功能:
存储和转发以太网帧:交换机接收以太网帧,并根据帧中的目的MAC地址决定将其转发到哪个端口。
检查MAC地址:当帧需要在网段上转发时,交换机会检查传入帧的MAC地址,并选择性地将帧转发到一个或多个输出链路。
使用CSMA/CD:在访问网段或链路时,交换机使用CSMA/CD(带冲突检测的载波监听多路访问)协议。
特点:
透明:主机察觉不到交换机的存在,它们认为自己是直接连接到网络上的。
即插即用、自学习:交换机不需要进行复杂的配置,它能够自动学习网络中的设备位置。
交换机的工作原理:
多个同时传输:主机与交换机之间有专用的直接链路,交换机可以缓冲数据包,每个传入链路都使用以太网协议,但不会发生冲突,因为每个链路都是自己的冲突域,允许多个传输同时进行(例如A到A’和B到B’可以同时传输而不冲突)。
交换机表(Switch Table):
作用:交换机通过交换机表来决定如何转发帧。交换 ...
大学生涯
未读光源
点光源(Point Light)
模型简单,用RGB三个分量指定单一颜色发射辐射能。
离场景不太近的大光源可视为点光源,光线从光源位置沿径向发散。
方向光(Directional Light)
也叫无限远/平行光,光线平行。
离场景很远的大光源(如太阳)可近似为点光源,但方向效果变化小。
聚光灯(Spot Light)
由局部光源改造,可设置方向向量、角度限制、位置和颜色,物体在光源方向限制外不被照亮。
光照效果
环境光(Ambient Light)
是一种通用背景非定向照明,使物体显示固有强度,若无不同阴影,物体呈单色轮廓。
由场景中各种表面反射光产生,撞击表面后向各方向均匀散射,方向难以确定,室内背光环境光成分大,室外聚光灯环境光成分小。
漫反射(Diffuse Reflectance)
光线从一个方向来,垂直照射表面比斜射更亮,撞击表面后向各方向均匀散射,无论眼睛位置在哪,看起来亮度相同。
粗糙或颗粒状表面易向各方向散射反射光,影响照明因素包括点光源强度、材料漫反射系数和入射角。
镜面反射(Specular Reflect ...
比较器比较器是一种组合逻辑电路,用于比较两个二进制数的大小。比较器可以分为相等比较器和不等比较器。以下是比较器的工作原理:
1. 相等比较器相等比较器用于判断两个输入是否相等。一个简单的相等比较器可以使用异或(XOR)门来实现。
1位相等比较器:
输入:A 和 B
输出:如果 A 和 B 相等,输出为1;否则为0。
实现方法:使用一个异或门。如果 A 和 B 相等,A XOR B 的输出为0。然后取反,可以得到相等比较器的输出。
多位相等比较器:
输入:多个位的二进制数,例如 $A = A_3A_2A_1A_0$ 和 $B = B_3B_2B_1B_0$。
输出:如果所有对应位相等,输出为1;否则为0。
实现方法:将每个位对使用异或门比较,然后将所有异或门的输出输入到一个与(AND)门。如果所有位相等,异或门的输出都为0,与门的输出为1。
2. 不等比较器不等比较器用于判断两个输入数的大小关系(大于、小于或等于)。通常使用逐位比较的方法。
多位不等比较器:
输入:多个位的二进制数,例如 $A = A_3A_2A_1A_0$ 和 $B ...
处理冲突处理散列表中的冲突主要有两种方法:开放寻址法(Open Addressing)和链地址法(Separate Chaining)。以下是这些方法的详细介绍:
开放寻址法(Open Addressing)开放寻址法是在发生冲突时,通过某种探测技术在散列表中寻找下一个空闲位置来存储元素的方法。主要的探测技术包括:
线性探测(Linear Probing):
探测函数:$hash(k, i) = (hash_1(k) + i) \mod N$
其中 $hash_1(k)$ 是原始散列函数,$i$ 是探测次数。
线性探测通过在数组中线性地寻找下一个空闲位置。
二次探测(Quadratic Probing):
探测函数:$hash(k, i) = (hash_1(k) + c_1 \cdot i + c_2 \cdot i^2) \mod N$
其中 $c_1$ 和 $c_2$ 是常数,$i$ 是探测次数。
二次探测通过二次函数增加探测点的间隔,以减少聚集现象。
双重散列(Double Hashing):
探测函数:$hash(k, i) = ...
第一讲主要内容包括图论的基本定义、图的性质、路径、树、有向图及其应用,如网络流等。下面是对文档内容的中文分析和总结:
基本定义
图(Graph G):由有限的顶点集合 $V(G)$ 和连接顶点对的有限边集合 $E(G)$ 组成。
图的阶(Order):图中顶点的数量,记作 $|V|$。
图的性质
邻接(Adjacency):如果两个顶点由边连接,则它们是邻接的。
邻居(Neighbors):邻接的顶点称为邻居。
入边(Incident):连接顶点的边称为入边。
特殊类型的图
多重边(Multiple Edges):连接同一对顶点的两条或多条边。
环(Loops):连接顶点到它自己的边。
简单图(Simple Graph):不包含多重边或环的图。
应用示例
旅行商问题(TSP):找到覆盖所有城市的最小成本路径。
路由问题:找到从洛杉矶到纽约的最小延迟路径。
加权图
权重(Weight):分配给每条边的数值,可以表示距离、容量或成本。
有向图(Digraphs)
有向图:图中的边有方向,用箭头(弧)表示。
度(Degree)
顶点的度(Degree):边与顶点 V 相联系的次数 ...
注意⚠️:本专栏的顺序与上课顺序不一定完全一致!!!
带符号数在计算机的世界中,所有数字都是以补码形式存在的!只不过,正数的补码是它本身,而负数的补码,则需要将正数进行2的补。
1的补定义: 对于一个n位的二进制数 A,它的1的补 A’ 是将 A 中的每个1变为0,每个0变为1得到的数。
计算方法:
将 A 的所有位进行反转。
不考虑进位,得到 A’。
举例:
A = 1010,则 A’ = 0101。
A = 1111,则 A’ = 0000。
2的补定义: 对于一个n位的二进制数 A,它的2的补 A’’ 是将 A 的1的补 A’ 再加1得到的数。
计算方法:
计算 A 的1的补 A’。
将 A’ 和1相加,得到 A’’。
举例:
A = 1010,则 A’ = 0101,A’’ = 0101 + 1 = 0110。
A = 1111,则 A’ = 0000,A’’ = 0000 + 1 = 0001。
1的补和2的补的性质
对于正数 A,A’ 和 ...
上一篇文章我们讲了许多MySQL的数据操作语言,但是看起来还是挺混乱的,所以我想将他们归纳一下。
数据定义语言CREATE DATABASE 语法我们使用 CREATE DATABASE 语句来创建数据库。以下是 CREATE DATABASE 语句的语法:
1CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] database_name
其中:
CREATE DATABASE 和 CREATE SCHEMA 的是一样的。
CREATE DATABASE 后指定要创建的数据库的名字。
IF NOT EXISTS 表示在指定的数据库不存在的情况下才创建。它是可选的。
DROP DATABASE 语法我们使用 DROP DATABASE 语句来删除数据库:
1DROP {DATABASE | SCHEMA} [IF EXISTS] database_name;
其中需要说明的点与 CREATE DATABASE 语句相同。
CREATE TABLE 语法我们使用 CREATE TABLE 语句在数据库中创建一个新 ...