计算机网络知识总结-网安-QOS-P2P-CDN-网络测量-区块链
计算机网络知识总结:网安,QOS,P2P,CDN,网络测量,区块链
网络安全
什么是网络安全
网络安全的一个通用定义指网络信息系统的==硬件、软件及其系统中的数据受到保护==,不因偶然的或者恶意的===破坏、更改、泄露==, 系统能连续、可靠、正常地运行,服务不中断
网络安全的五大要素
网络安全机制位于协议的那一层
没有一个单独的位置,因为安全性与每一层都有关
- 物理层:传输线封装在包含高压氩气的密封管,漏气报警
- 数据链路层:点到点线路加解密,不能经过中间路由器
- 网络层:防火墙、IP报文头的安全域
- 传输层:端到端连接的加解密
- 应用层:大多数安全机制都集中在此层
加密技术
加密类型
什么是对称加密什么是非对称加密,对比优缺点
单密钥加密又称为对称加密
经典算法:DES, 3-DES, AES, IDEA, SMS4, RC5, TRIVIUM
非对称加密就是公开密钥加密采用公钥私钥两个密钥。是两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两 方创建密钥。
经典算法:RSA、ElGamal、Elliptic Curve Cryptography, ECC
对称加密 :
优势:加密解密速度快
缺点:
- 1.密钥管理量大
密钥传输信道要求更高安全性:如何保证密钥可靠
密钥传输和密文在同一信道传输
同时被窃取,很容易被破解出明文,并不安全
- 3.数字签名的问题:通过对称密钥加密很难实现数字签名技术,无法有效的进行完整性的检验
非对称密钥加密
主要特点:
- 1.密钥管理量大
DES算法
对称加密的加密和签名的基本流程是怎样的
数字签名特性:
不可伪造,不可抵赖
RSA算法
例题2:
1.假设需要加密的明文信息为m=85,选择:e=7,p=11,q=13,说明使用RSA算法的加密和解密
首先计算 n=pq=143 和z=10 12 =120
e=7
e*d≡1 mod z
d=103
公钥:(e=7,n=143)
私钥 (d=103,n=143)
加密:\(C=M^{e}mod n=85^{7}mod 143\)=123
解密\(M=C^{d}mod n\)=85
总结思路:

为什么RSA是有效的?
单向校验和
单项校验和是怎么做的,收到一个东西怎么验证其完整性没有遭到破坏
发送者首先计算CK(m),然后用私人密钥将其加密产生密文D_A(CK(M)),将(m,D_A(CK(M))对偶传送到B,报文本身可以使用明文发送或者用公开加密技术加密,后面跟加密的校验和。
当报文和校验和到达B后,B对签名部分即(D_A(CK(m)))应用E_A得到CK(m)。此时B有m,ck(m)和D_A(CK(M))。B对m应用CK看此结果是否与收到的ck(m)一致若是则说明报文没有遭到篡改,否则说明报文被篡改。

单项校验和出现争议后怎么解决
网络攻击
什么是主动攻击?什么是被动攻击?举例说明
主动攻击:主动攻击会导致某些==数据流的篡改==和==虚假数据流==的产生。这类攻击可分为==篡 改==、==伪造==消息数据和终端,==拒绝服务==。
被动攻击中攻击者==不对数据信息做任何修改==,截取/窃听是指在未经用户同 意的情况下攻击者获得了信息。通常包括==窃听、流量分析、破解弱加密的数据流==等攻击方式

QOS
什么是服务质量?服务质量在网络层面主要关注那些指标?服务质量的目标有哪些?
QoS(Quality of Service)即服务质量
网络层面主要关注:带宽、时延、丢包率等。

时延

从一端看

其中,传播时延和处理时延都是很难改变的,QOS主要关注的是排队时延
丢包是什么,在有线和无线网络中各有什么原因
丢包通常发生在输出队列满的时候,也有一些其他类型的 丢包 (输入队列丢包、错误、故障等)
在有线网络中==链路拥塞==是丢包的重要原因
在无线网络中丢包通常是由于==信道质量差==造成的。
Integrated service

RSVP 是怎么工作的?
RSVP(资源预留协议 ),RSVP==运行在从源端到目的端的每个设备上==,可以==监视每个流==,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提 供最细粒度化的服务质量区分。
RSVP 为什么需要逐跳的路由?RSVP特点?RSVP属于那一层?可以单播还是多播,单向还是双向。
==RSVP是面向接收方==
面向接收方和面向发送方的资源预留各有什么好处,你觉得哪一种更好?
面向接收方:收费模型一般是按照接收方确认收费的,接收方可以自主选择接收质量
Diff-Serv

Integrated service和Diff-Serv 各自的优缺点和适应的场合对比


E-LSP和L-LSP
e-lsp的EXP标记的交换路径最多可以支持8个服务等级,L-LSP一个标签交换路径支持一个QOS等级
QoS机制-拥塞管理和调度策略
什么是队列调度
出端口队列结构,三个组件是什么?有什么用?
排队策略决定数据包能不能被排队,怎样被排队
服务策略:有很多的数据包怎样选择数据包放到硬件发送队列里面去i。
排队策略
优先队列(PQ)
优点 :算法简单,可以保障高优先级的QoS
缺点 :算法欠公平, 高优先级队列可能会饿死其他队列
定制队列(CQ)
CQ (Custom queuing): 定制队列,用户可配置队列占用的带宽比例关系;
各队列在统计规率上满足用户配置的带宽比例;
带抢占的CQ:
CQ共分为17个队列: 0号队列为系统队列,优先调度; 1-16为用户队列,轮询调度;
加权公平队列(WFQ)
WFQ入队过程采用HASH算法来自动完成,尽量将不同的流分入不同的队列。(所以说分离不用配置)
在出队的时候,WFQ按流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。所以兼顾了所有流的带宽,而且优先保障了高优先级的QOS
WFQ丢弃例子
为什么这里有10个包?
这里有10个包,说明上一个来的包可能是那些?
说明上一次和这次一样,超过CDT但是不是系统的最后一个包因此入列了。
因此上一次入队的包可能是下面选中的三个中的一个
流量整形流量限速
令牌桶



网络测量
四种流


分布特性,局部特性


网络测量分类

主动测量被动测量优缺点


测量三要素:测量对象,测量环境,测量方法
什么样的测量方法是比较好的:
1.稳健性-》可重复性 相同的网络环境下,多次测结果是一致的
测量带宽时延丢包率
网络带宽的测量
带宽大的网络时延一定小吗?时延大的网络带宽一定低吗?说明原因/例子
带宽大的网络时延一定小吗?时延大的网络带宽一定低吗?
不一定。网络的带宽和时延是两个不同的概念,它们描述了网络性能的不同方面。
- 带宽(Bandwidth): 带宽是指网络传输数据的能力,通常以每秒传输的比特数(bps)来衡量。更大的带宽表示网络能够传输更多的数据量。高带宽通常与更高的数据传输速率相关。
- 时延(Latency): 时延是指数据从发送端到接收端所经历的总时间。时延可以分为多个组成部分,包括传播时延、传输时延、处理时延等。较小的时延表示数据传输更迅速。
现实中,带宽和时延之间没有直接的必然关系。一个网络可以有很大的带宽,但由于其他因素(例如路由器、交换机、距离等),仍然可能有相对较高的时延。同样,一个网络的时延可能很小,但如果其带宽不足以支持大量的数据传输,仍然可能导致性能问题。
综上所述,带宽和时延是两个独立的网络性能指标,它们可以在某些情况下相关,但并不一定总是正相关或负相关。在设计和评估网络时,通常需要同时考虑带宽和时延以确保满足特定的应用需求。
举个例子
考虑一个在线视频流服务作为例子:
- 高带宽、低时延:
- 情况: 你的互联网连接速度非常快,具有高带宽,而且你与视频服务器之间的距离很近。
- 影响: 视频数据可以以很高的速度传输,因此你能够快速加载视频。时延也很小,因为数据传输速度快且距离近。
- 高带宽、高时延:
- 情况: 你的互联网连接速度非常快,但由于网络拓扑或路由选择,数据在传输过程中经过了多个节点。
- 影响: 虽然你能够快速加载视频(高带宽),但由于数据在多个节点之间传输,总的时延较高。
- 低带宽、低时延:
- 情况: 你的互联网连接速度较慢,但与视频服务器之间的距离很近。
- 影响: 视频数据传输速度较慢,但由于距离近,时延较小,可能仍然能够顺畅地观看视频。
- 低带宽、高时延:
- 情况: 你的互联网连接速度较慢,同时由于网络拓扑或路由选择,数据在传输过程中经过了多个节点。
- 影响: 视频数据传输速度较慢,而且由于数据在多个节点之间传输,总的时延也较高,可能导致视频加载缓慢或卡顿。
这些例子说明了在不同的网络条件下,带宽和时延是可以独立变化的。有时候,需要权衡这两者,根据应用的需求和用户体验来进行网络设计和优化
带宽和瓶颈带宽
路径带宽和链路带宽
链路带宽:一条的带宽
路径带宽:多条链路组成,端到端带宽
链路带宽测得是路有==多宽==。
可用带宽:==一条路堵不堵==,可用带宽是考虑了已有负载的情况下。最堵的不一定是最窄的,一定是车最多的
可用带宽测量
建模:
测量方法:
瓶颈带宽测量
丢包率
平均丢包率,突发丢包率
贝努力,马尔可夫
别名解析,常用方法,不做别名解析会有什么问题
CDN 内容分发网络
CDN解决什么问题
zipf
说明大家的访问都是集中在一些热门的地方上,基于这个规律的启示
web缓存,和web缓存存在的问题
CDN原理
CDN核心问题·:CDN选择那个服务器
怎么去算距离近的
服务器缓存什么内容
存不下怎么办
LRU:
LRU 表示以*时间*作为参考,淘汰最长时间未被使用的数据。其核心思想是:如果数据最近被访问过,那么将来被访问的几率也更高。
LRU 也是最常用的淘汰策略,在 Redis 中不管是 allkeys-lru 和 volatile-lru,其实底层原理都一样。
LFU:
LFU 表示以*次数*为参考,淘汰一定时期内被访问次数最少的数据,其核心思想是:如果数据过去被访问多次,那么将来被访问的频率也更高。
dash
QOE关注那些参数
QOE和QOS有什么区别
QOS一般指网络层服务质量,考察网络层的基本参数是客观存在的如带宽,时延,丢包率,抖动。
QOE是quality of experience 。是主观的体验,和用户的感官更接近。最早的评价是大家打分。后来的指标也是密切和用户体验相关,如高码率,少 卡顿,少切换。更接近应用层。
卡顿:卡顿次数和卡顿时间。卡顿次数更重要
视频直播的时延有两个时延
一个是服务器发出到用户直接接收的时延
一个是同一个房间用户接收一个东西之间的时延
P2P peer-to-peer
为什么要做P2P
为了降低费用,把闲置的资源利用起来,解决跨ISP流量大协议标准不好识别的问题
flooding
和所有的邻居联系,邻居又和邻居的所有邻居联系。
BT
intrest neighbors 邻居间有相同的需求
前两个周期找那些结点对自己的服务比较好优先疏通,第三个周期,随机找一些提供优先疏通。
bittorrent怎么工作的:
alice通过搜索引擎下载torrent文件,torrent里面有tracking server(跟踪那些服务器正在进行这个文件的上下载,向跟踪服务器发出信令的要求,trackingserver拿到请求后返回一个peer list,alice就可以加入这些peer的洪流,互通有无,进行文件的分发下载。
结构化P2P
==不需要传统p2p的tracker 每个人都充当一部分tracker==
chord
Chord选择SHA-1作为哈希函数,SHA-1会产生一个2160的空间,每项为一个16字节(160bit)的大整数。我们可以认为这些整数首尾相连形成一个环,称之为Chord环。整数在Chord环上按大小顺时针排列,Node(机器的IP地址和Port)与Key(资源标识)都被哈希到Chord环上,这样我们就假定了整个P2P网络的状态为一个虚拟的环,因此我们说Chord是结构化的P2P网络。
区块链
比特币和以太坊的区别
比特币区块链系统是封闭的区块链系统,只有一个应用:比特币
以太坊:开放接口,强调开放性,引入智能合约的概念。
以太坊和比特币:非授权类,公有
授权链非授权链优缺点
区块链:可以分为非授权类和授权类
非授权类:共有,谁想加入都可以加入不需要授权
授权链:必须是联盟的成员才能进入,不存在身份匿名的问题
- 联盟链
- 私有链
公有链:规模大,性能问题。对大家隐私身份比较好,不容易监管。
私有链:规模小,性能比较好。容易监管,用户身份匿名性不强。

区块链怎么工作的

挖矿:工作量证明
共识机制:通过一种方式产生一个记账结点,这个记账结点产生本轮的账本区块。
产生账本区块后,记账结点会把账本区块再向全网进行广播,网络中每个结点都会收到账本区块,会对账本区块再进行一次验证(验证数据结构,和业务相关的东西)如果都验证通了,把账本区块记录在本地的区块链账本末端。当网络中绝大多数结点都完成了上述的验证操作,才能说这个区块上包含的交易被真正的记录在区块链上。
两个结点发送交易,做数字签名广播,广播完验证,验证完共识,共识完再广播再验证然后记录,大家都记录完了才完事。
总结:单点出块:任何一轮只能有一个出块结点
广播传输:无论是产生一笔交易还是一个区块都要向全网播
交叉验证:区块链系统收到别人广播来的东西,不是无条件就相信了,需要验证,通过才信任。
共同存储:大家每个人都存着相同的区块。
什么是区块链,区块链的优点
- 从宏观上
区块链是一个分布式的系统
区块链,多个节点装相同的软件,遵循相同的规则,大家按照相同的规则相互合作,构建多方合作的系统

微观上
区块链=区块(本子上的纸)+链(本子上的线)
数字签名:保证区块链上面所有的信息是不可伪造,不可抵赖的。
链:哈希链。任何一个区块,要计算他的hash值,把他的hash值作为下一个区块内容的一部分,这样每个区块排在那个区块前面一目了然。原来杂乱无序的多个区块,变成了有序的区块链。后面的区块给前面的区块背书。牵一发动全身,保证区块链不可删除,不可篡改。
区块链的优点:不可伪造,不可抵赖,不可删除,不可篡改。


区块链和数据库的区别
- 首先虽然区块链起到了分布式存储的作用,分布式数据库一般情况下,每个结点都不需要存全量的数据,只需要存一部分数据。区块链上要求所有结点存的数据是一样的,存全量数据。
- 数据库存在一个单一的拥有者。可以说是银行的数据库。但是区块链没有一个单一的所有者,区块链强调共享共治共建。没有任何一个人对区块链有垄断性的控制权。
- 数据库:插入删除更新查询。区块链不可删改:只有插入查询
- 从信任关系来讲:分布式数据库,结点和结点之间是相互信任的关系,区块链结点和结点之间相互不信任,相互制约。
- 容错性:分布式数据库容错性较差,区块链天生可以容忍拜占庭错误,容错性更好。区块链要确保很多结点出错的情况下,整个系统可靠。
区块链牺牲了什么
区块链牺牲了计算和存储,计算存储密集型的更适合中心化。信任更适合区块链。
计算能力有限,不能和中心化的相比
区块链的存储。因为区块链的存储需要经过网路广播发送,所以就广播这一条就要受到网络带宽的限制。存储能力无法和中心化的相比。现在的方法:结合型。把原始数据放到中心化中存储,把数据的hash值或者摘要放到区块链中。
区块链的应用

- 存证溯源类:存完以后一般不会频繁的读它,所以对读的能力要求更低
- 数据共享类:对读性能要求更高。
- 价值转移类:要求原子性,安全性
区块链跨链技术




