计算机网络知识总结-网安-QOS-P2P-CDN-网络测量-区块链

计算机网络知识总结:网安,QOS,P2P,CDN,网络测量,区块链

网络安全

什么是网络安全

网络安全的一个通用定义指网络信息系统的==硬件、软件及其系统中的数据受到保护==,不因偶然的或者恶意的===破坏、更改、泄露==, 系统能连续、可靠、正常地运行,服务不中断

网络安全的五大要素

网络安全机制位于协议的那一层

没有一个单独的位置,因为安全性与每一层都有关

  • 物理层:传输线封装在包含高压氩气的密封管,漏气报警
  • 数据链路层:点到点线路加解密,不能经过中间路由器
  • 网络层:防火墙、IP报文头的安全域
  • 传输层:端到端连接的加解密
  • 应用层:大多数安全机制都集中在此层

加密技术

加密类型

什么是对称加密什么是非对称加密,对比优缺点

单密钥加密又称为对称加密

经典算法:DES, 3-DES, AES, IDEA, SMS4, RC5, TRIVIUM

非对称加密就是公开密钥加密采用公钥私钥两个密钥。是两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两 方创建密钥。

经典算法:RSA、ElGamal、Elliptic Curve Cryptography, ECC

对称加密

  • 优势:加密解密速度快

  • 缺点:

    • 1.密钥管理量大
      1. 密钥传输信道要求更高安全性:如何保证密钥可靠

        • 密钥传输和密文在同一信道传输

        • 同时被窃取,很容易被破解出明文,并不安全

    • 3.数字签名的问题:通过对称密钥加密很难实现数字签名技术,无法有效的进行完整性的检验

    非对称密钥加密

    主要特点:

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

为什么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)一致若是则说明报文没有遭到篡改,否则说明报文被篡改。

单项校验和

单项校验和出现争议后怎么解决

网络攻击

什么是主动攻击?什么是被动攻击?举例说明

主动攻击:主动攻击会导致某些==数据流的篡改==和==虚假数据流==的产生。这类攻击可分为==篡 改==、==伪造==消息数据和终端,==拒绝服务==。

被动攻击中攻击者==不对数据信息做任何修改==,截取/窃听是指在未经用户同 意的情况下攻击者获得了信息。通常包括==窃听、流量分析、破解弱加密的数据流==等攻击方式

image-20240107153038734

QOS

什么是服务质量?服务质量在网络层面主要关注那些指标?服务质量的目标有哪些?

  • QoS(Quality of Service)即服务质量

  • 网络层面主要关注:带宽、时延、丢包率等。

image-20240107153632261

时延

image-20240107154112817

从一端看

image-20240107154221547

其中,传播时延和处理时延都是很难改变的,QOS主要关注的是排队时延

丢包是什么,在有线和无线网络中各有什么原因

丢包通常发生在输出队列满的时候,也有一些其他类型的 丢包 (输入队列丢包、错误、故障等)

在有线网络中==链路拥塞==是丢包的重要原因

在无线网络中丢包通常是由于==信道质量差==造成的。

Integrated service

image-20240107155747519

RSVP 是怎么工作的?

RSVP(资源预留协议 ),RSVP==运行在从源端到目的端的每个设备上==,可以==监视每个流==,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提 供最细粒度化的服务质量区分。

RSVP 为什么需要逐跳的路由?RSVP特点?RSVP属于那一层?可以单播还是多播,单向还是双向。

image-20240107160931053

==RSVP是面向接收方==

image-20240107161507287

面向接收方和面向发送方的资源预留各有什么好处,你觉得哪一种更好?

面向接收方:收费模型一般是按照接收方确认收费的,接收方可以自主选择接收质量

Diff-Serv

=

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

=
=

image-20240107163656215

E-LSP和L-LSP

e-lsp的EXP标记的交换路径最多可以支持8个服务等级,L-LSP一个标签交换路径支持一个QOS等级

QoS机制-拥塞管理和调度策略

什么是队列调度

出端口队列结构,三个组件是什么?有什么用?

排队策略决定数据包能不能被排队,怎样被排队

服务策略:有很多的数据包怎样选择数据包放到硬件发送队列里面去i。

排队策略

优先队列(PQ)

image-20240107172329578

优点 :算法简单,可以保障高优先级的QoS

缺点 :算法欠公平, 高优先级队列可能会饿死其他队列

定制队列(CQ)

CQ (Custom queuing): 定制队列,用户可配置队列占用的带宽比例关系;

各队列在统计规率上满足用户配置的带宽比例;

带抢占的CQ:

CQ共分为17个队列: 0号队列为系统队列,优先调度; 1-16为用户队列,轮询调度;

image-20240107173412873

image-20240107172742923

加权公平队列(WFQ)

image-20240107211851230

WFQ入队过程采用HASH算法来自动完成,尽量将不同的流分入不同的队列。(所以说分离不用配置)

在出队的时候,WFQ按流的优先级(precedence)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。这样就保证了相同优先级业务之间的公平,体现了不同优先级业务之间的权值。所以兼顾了所有流的带宽,而且优先保障了高优先级的QOS

WFQ丢弃例子

image-20240107212727616

为什么这里有10个包?

这里有10个包,说明上一个来的包可能是那些?

说明上一次和这次一样,超过CDT但是不是系统的最后一个包因此入列了。

因此上一次入队的包可能是下面选中的三个中的一个

流量整形流量限速

令牌桶

image-20240107223522312
image-20240107223756821
image-20240107223817902

网络测量

四种流

image-20240108155208673
image-20240108155220933

分布特性,局部特性

image-20240108155615910
image-20240108155801545

网络测量分类

image-20240108160009131

主动测量被动测量优缺点

image-20240108160313664
image-20240108160421526

测量三要素:测量对象,测量环境,测量方法

什么样的测量方法是比较好的:

1.稳健性-》可重复性 相同的网络环境下,多次测结果是一致的

测量带宽时延丢包率

网络带宽的测量

带宽大的网络时延一定小吗?时延大的网络带宽一定低吗?说明原因/例子

带宽大的网络时延一定小吗?时延大的网络带宽一定低吗?

不一定。网络的带宽和时延是两个不同的概念,它们描述了网络性能的不同方面。

  1. 带宽(Bandwidth): 带宽是指网络传输数据的能力,通常以每秒传输的比特数(bps)来衡量。更大的带宽表示网络能够传输更多的数据量。高带宽通常与更高的数据传输速率相关。
  2. 时延(Latency): 时延是指数据从发送端到接收端所经历的总时间。时延可以分为多个组成部分,包括传播时延、传输时延、处理时延等。较小的时延表示数据传输更迅速。

现实中,带宽和时延之间没有直接的必然关系。一个网络可以有很大的带宽,但由于其他因素(例如路由器、交换机、距离等),仍然可能有相对较高的时延。同样,一个网络的时延可能很小,但如果其带宽不足以支持大量的数据传输,仍然可能导致性能问题。

综上所述,带宽和时延是两个独立的网络性能指标,它们可以在某些情况下相关,但并不一定总是正相关或负相关。在设计和评估网络时,通常需要同时考虑带宽和时延以确保满足特定的应用需求。

举个例子

考虑一个在线视频流服务作为例子:

  1. 高带宽、低时延:
    • 情况: 你的互联网连接速度非常快,具有高带宽,而且你与视频服务器之间的距离很近。
    • 影响: 视频数据可以以很高的速度传输,因此你能够快速加载视频。时延也很小,因为数据传输速度快且距离近。
  2. 高带宽、高时延:
    • 情况: 你的互联网连接速度非常快,但由于网络拓扑或路由选择,数据在传输过程中经过了多个节点。
    • 影响: 虽然你能够快速加载视频(高带宽),但由于数据在多个节点之间传输,总的时延较高。
  3. 低带宽、低时延:
    • 情况: 你的互联网连接速度较慢,但与视频服务器之间的距离很近。
    • 影响: 视频数据传输速度较慢,但由于距离近,时延较小,可能仍然能够顺畅地观看视频。
  4. 低带宽、高时延:
    • 情况: 你的互联网连接速度较慢,同时由于网络拓扑或路由选择,数据在传输过程中经过了多个节点。
    • 影响: 视频数据传输速度较慢,而且由于数据在多个节点之间传输,总的时延也较高,可能导致视频加载缓慢或卡顿。

这些例子说明了在不同的网络条件下,带宽和时延是可以独立变化的。有时候,需要权衡这两者,根据应用的需求和用户体验来进行网络设计和优化

带宽和瓶颈带宽

路径带宽和链路带宽

链路带宽:一条的带宽

路径带宽:多条链路组成,端到端带宽

链路带宽测得是路有==多宽==。

可用带宽:==一条路堵不堵==,可用带宽是考虑了已有负载的情况下。最堵的不一定是最窄的,一定是车最多的

可用带宽测量

建模:

测量方法:

瓶颈带宽测量

丢包率

平均丢包率,突发丢包率

贝努力,马尔可夫

别名解析,常用方法,不做别名解析会有什么问题

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网络。

区块链

比特币和以太坊的区别

比特币区块链系统是封闭的区块链系统,只有一个应用:比特币

以太坊:开放接口,强调开放性,引入智能合约的概念。

以太坊和比特币:非授权类,公有

授权链非授权链优缺点

区块链:可以分为非授权类和授权类

非授权类:共有,谁想加入都可以加入不需要授权

授权链:必须是联盟的成员才能进入,不存在身份匿名的问题

  • 联盟链
  • 私有链

公有链:规模大,性能问题。对大家隐私身份比较好,不容易监管。

私有链:规模小,性能比较好。容易监管,用户身份匿名性不强。

联盟链

区块链怎么工作的

区块链记账

挖矿:工作量证明

共识机制:通过一种方式产生一个记账结点,这个记账结点产生本轮的账本区块。

产生账本区块后,记账结点会把账本区块再向全网进行广播,网络中每个结点都会收到账本区块,会对账本区块再进行一次验证(验证数据结构,和业务相关的东西)如果都验证通了,把账本区块记录在本地的区块链账本末端。当网络中绝大多数结点都完成了上述的验证操作,才能说这个区块上包含的交易被真正的记录在区块链上。

两个结点发送交易,做数字签名广播,广播完验证,验证完共识,共识完再广播再验证然后记录,大家都记录完了才完事。

总结:单点出块:任何一轮只能有一个出块结点

广播传输:无论是产生一笔交易还是一个区块都要向全网播

交叉验证:区块链系统收到别人广播来的东西,不是无条件就相信了,需要验证,通过才信任。

共同存储:大家每个人都存着相同的区块。

什么是区块链,区块链的优点

  • 从宏观上

区块链是一个分布式的系统

区块链,多个节点装相同的软件,遵循相同的规则,大家按照相同的规则相互合作,构建多方合作的系统

image-20240110162540033
  • 微观上

    区块链=区块(本子上的纸)+链(本子上的线)

    数字签名:保证区块链上面所有的信息是不可伪造,不可抵赖的。

    链:哈希链。任何一个区块,要计算他的hash值,把他的hash值作为下一个区块内容的一部分,这样每个区块排在那个区块前面一目了然。原来杂乱无序的多个区块,变成了有序的区块链。后面的区块给前面的区块背书。牵一发动全身,保证区块链不可删除,不可篡改。

区块链的优点:不可伪造,不可抵赖,不可删除,不可篡改。

image-20240110162619941
image-20240110175112974

区块链和数据库的区别

  1. 首先虽然区块链起到了分布式存储的作用,分布式数据库一般情况下,每个结点都不需要存全量的数据,只需要存一部分数据。区块链上要求所有结点存的数据是一样的,存全量数据。
  2. 数据库存在一个单一的拥有者。可以说是银行的数据库。但是区块链没有一个单一的所有者,区块链强调共享共治共建。没有任何一个人对区块链有垄断性的控制权。
  3. 数据库:插入删除更新查询。区块链不可删改:只有插入查询
  4. 从信任关系来讲:分布式数据库,结点和结点之间是相互信任的关系,区块链结点和结点之间相互不信任,相互制约。
  5. 容错性:分布式数据库容错性较差,区块链天生可以容忍拜占庭错误,容错性更好。区块链要确保很多结点出错的情况下,整个系统可靠。

区块链牺牲了什么

区块链牺牲了计算和存储,计算存储密集型的更适合中心化。信任更适合区块链。

  1. 计算能力有限,不能和中心化的相比

  2. 区块链的存储。因为区块链的存储需要经过网路广播发送,所以就广播这一条就要受到网络带宽的限制。存储能力无法和中心化的相比。现在的方法:结合型。把原始数据放到中心化中存储,把数据的hash值或者摘要放到区块链中。

区块链的应用

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

区块链跨链技术

跨链
image-20240111104500726
image-20240111104539397
image-20240111104801537
image-20240111162143396