通信网理论基础

通信网

1. 图论

1.1 图

  • 图的概念:由端点集V和边集E组成的图G,称为图,记为G={V,E}

  • 端点集:图中所有的节点组成的集合

  • 边集:图中所有的端点之间的连接边组成的集合

  • 有向图:表示端点与端点之间的传递是有方向的

  • 有权图:表示有向图的方向上面有相应的权值

  • 端的度数:与某一端点相关联的边数,记为d(vi)

  • 端的出度:有向图中,离开或者从端Vi射出的边数

  • 端的入度:有向图中,进入或射入端Vi的边数

    有向图中,端的度数=入度+出度

  • 子图的概念:跟子集概念一样,例如G’边集和端点集都属于G,则G’是G的子图

  • 真子图:G‘属于G,但是边集并不是一一对等的,简单来说就是属于但是不等于就是真子图

  • 生成子图:包含原图所有端点的子图

    最大连通子图:若G’是图G的一个连通子图,若再加上属于原图G中的任何一个其他元素,图G’就失去了连通性,成为非连通图,则G’为图G的最大连通子图
    

1.2 树

  • 树:任意两端间有且只有一条径的图称为数。
  • 树枝:树中的边。
  • 树干:树枝的两个端点都至少与两条边相关联
  • 树尖:树枝的一个端点,也就是树叶
1.2.1 破圈法求生成树
破圈法:见圈破圈,即看到图中有圈,则选择去掉一条边,重复过程,直到图中无圈为止。
1.2.2 避圈法求生成树
先把边按照权值由小到大排列,依次挑选尽可能小的边构造成树,首先选择权值最小的边,再从其余剩余的边中选择出不能与此边构成圈的权值最小的边,添加边,按照上述的步骤,直到不存在合适的边停止,此时得到最小生成树。

1.3 图的割集

图的联结度:最小割端集中的端数。

最小割端集:联结图去掉部分端之后,部分数增加,这些端的集合称为割端集。

一般是去掉部分端以后图变为非连通子图。

图的联合度:最小割集的边数。

割集:割边集的真子集。

割边集是去除部分边之后图变为非连通子图。

1.3.1 基本割集的求法
1.利用破圈法求生成树
2.求解连枝集,连枝集=G-T(除去破圈的边之外的边的集合,也称为树枝)
3.基本割集:生成树中每条树枝+某些连枝
4.判断组合的去除之后,原来的图是否是非连通子图,如果是连通子图,可以判定此组合为非割集
  如果是非连通组合,此时可以判定组合为割边集。
5.对于割边集,前面也说了,割集是割边集的真子集,要判断割集,则就要判断此割边集中真子集是否是割边集。
6.如果判断的割边集中的真子集都不是割边集,可以得到此组合为割集!
  上述的判断是根据去掉这个边,原图能够称为--非连通子图--的则为割边集!
1.3.2 无向图与有向图矩阵表示

无向图只要此边是属于两个端点之间的,则两个端点都对其负责,矩阵中都为1

有向图分为流入和流出,对于流入的为-1,不需要自己负责,流出的为1,需要自己负责

1.4 避圈法求最小生成树

避圈法的主要思想是:首先选一条权最小的边,以后每一步,在未选的边中,选择一条权最小且与已选的边不构成圈的边。每一步中,如果有两条或两条以上的边都是权值最小的边,则从中任选一条,此时最小生成树不唯一。
1.4.1 避圈法-K算法
步骤:
1. 首先将给定的赋权图G中所有的边按照权值大小排序,从小到大排序,记为e1,e2....em
2. 将e1纳入规划中,也就是将e1放入T(树枝集)
3. 考虑e2,如果加入e2不会产生回路,则加入,如果产生回路则考虑e3,重复此选择过程,直到无边可选。此时得出的T 
   就是G的最小生成树
4. 算法执行的次数:n端点数,n-1执行次数
1.4.2 避圈法-P算法
步骤:
G = {V,E}带权无向连通图  T = {Vt, Et}为G的最小生成树
1. 初始化,任意选择一个节点vi,将其加入到Vt中,判断与其关联的所有边,选择权值最小的那条边,将这条边连接的    另外一个节点加入到Vt中
2. 重复执行上述步骤n-1次,直到Vt=V截止

上述步骤注意,一旦此结点进入到Vt中,不可二次加入!

P算法的每一步得到的都是一个图,不用考虑回路问题。

1.5 求最短路径问题

定义:在一个赋权图G中,任给两点u,v,从u到v可能有多条路,其中所带的权和最小的那条路称为图G中从u到v的最短路径。u到v的最短路径上每条边所带的权和称为u到v的距离。在赋权图中求给定两个顶点之间最短路径的问题称为最短路问题

1.5.1 最短路径- Dijkstra算法
算法思想:
1. 设置两个顶点集合S,T。S存放已确定的最短路径的顶点,集合T存放尚未确定为最短路径的顶点,初始时,S中只有起    始起点v
2. 按照最短路径递增的顺序逐个将集合T中的顶点加入到S中,直到从v出发可以到达所有的顶点都加入到S中结束,这一    过程称为顶点迭代

上述算法的主要思想是按照最短的路径先来,此路径的结点没有接入的时候,与其相关的需要转接的结点都处于不可达状态,不可计算路径,只有接入以后才可以计算,最先被定义的路径长度,后续如果长度有变小的趋势才可以更新路径长度。

在这里插入图片描述

以上图为例子,计算a到所有结点的最短路径。

结果图片

上述步骤描述:注意(*)表示该结点接入下一步迭代退出
1.初始化,a为0,其余距离都是无穷
2.a加入以后,b可达,c可达,标出路径长度
3.此时b路径较小,b接入,此时发现c的路径经过b转接路径距离变小,更新c路径长度,此时e可达,更新路径
4.c距离较小,接入,此时其余路径长度不能经过c变小,所有都不变,f在c的接入下,还是不可到达,所以不变
5.e距离较小接入,此时f可达,更新f的路径长度。
6. ........最后可以得到a到每一个点的最短路径
1.5.2 最短路径-Floyd算法

F算法与D算法原理相同,只是F算法使用矩阵来表示,并有一个系统化的运算。

主要的不同是因为F算法中有W径长矩阵和R转接路由矩阵

这个计算过程比较复杂,每次经过一个点转接就需要计算一次的转接路由矩阵,且每次计算的时候都要从第一个点判读是否距离有减少,减少的才可以进行更新,同时路由矩阵也需要改变。

**需要注意:**R转接路由矩阵中的值是根据转接点的下标来定。

2. 流量分配

2.1 流量优化的一般性问题

G={V,E}表示一个通信网,V表示端集,E表示边集

边的容量:每条边能通过的最大的流量被称为容量。使用cij表示

​ 每条边的实际流量用fij表示

可行流:满足非负性、有限性、连续性条件的流。不同的流量分配可以得到不同的可行流。

两种可行流的优化问题:

  • 最大流问题:变更可行流中fij值,使流量F最大
  • 最佳流问题(最小费用流问题):在规定的费用aij下,对于给定的总流量F,合理分配fij使得总费用最少

2.2 最大流问题

概念:

前向边:与割集方向一致的边。

后向边:与割集方向相反的边。

割量:定义割集的前向边容量之和为割量。

对于前向边而言:

饱和边:fij=cij 一个是边的实际流量,一个是边的最大流量

非饱和边:fij<cij

可增流:表示前向边都是非饱和的,后向边都是非零流量的

性质:在可增流路上,所有正向边上的流量可增加。

最大流量-最小割量定理:
当源宿端的流量达到最大的时候,每个割集(X,X_)中的前向流量f+(X,X_)都等最大流量Fmax
并且总存在这样一个割集(X,X_),其每条正向边都是饱和的,其割量在各个割集中达到最小值,且也等于Fmax
即:最大流量等于最小割量
2.2.1 标志算法(M算法)

算法的目的:求解最大流量

算法思路:具体的思路我就不照搬照抄了。

核心的要点:M算法就是来求最大流量的,而且这个求出的最大流量还是一定正确的。下面举个例子:

在这里插入图片描述

需要求解上述最大的流量:

求解步骤:
1. 首先看Vs-V1这条路,从V1-Vt传输的是8,而实际Vs-V1只有4的流量,即fs1=4此时可知道自己没又达到标准8,需    要其他线路的支援,V1等待支援中.......
2. 然后看V2,V2直接是到不了Vt的,此时它需要寻求其他运输线帮忙运输自己的流量,此时看V2-V1,总流量为5,可是    Vs-V2只有3,即fs2=3,f21=3,此时3就被支援到了V1,此时f1t也就是V1-Vt实际流量f1t=4+3=7,还是没有到8,    此时仍需要支援....
3. 看Vs-V4,传送的为9,但是运输到Vt的轨道只能传输3的流量,此时V4到V1支援1,所以fs4=4,f4t=3,此时被支援
   f1t = 7+1=8,此时不需要支援了。
4. 看Vs-V3,V3-Vt最大能传输的是4,得到fs3=4,f3t=4

综上我们可以得到最大的的可行流为:
fs1=4, fs2=3, fs3=4, fs4=4
f21=3, f41=1
f1t=8, f3t=4, f4t=3

最大总流量为:
Ftmax = f1t + f3t + f4t = fs1 + fs2 + fs3 + fs4 = 15

2.3 最佳流问题

问题:如果每条边eij都有自己的费用函数aij,当总流量Fst相同时,如何找到满足条件的,最小费用的可行流。

目的:达到流量的最佳分配

2.3.1 负价环算法(N算法)

先举例子:图中数字按照cij,aij(容量,费用)

1.寻找此图的最佳流

在这里插入图片描述

图a

2.找到一组可行流

在这里插入图片描述

图b

此时的总流量为Fst=6

总费用为Cost=69

3.根据图a做出图b的补图

在这里插入图片描述

图c

4.根据补图寻找负价环

在这里插入图片描述

图d

5.根据负价环做相应的计算

此时的负价环为v1-v2-v3-v1, 负价环的单位流费用为:2+1-6=-3

表明每增加一个单位流费用减少3

取环中最小的流也就是2作为增流的量:此时节省的费用为:-3x2 = -6

此时总费用Cost=69-6=63

6.得出新的可行流

在这里插入图片描述

图e
2.3.2 负价环算法的原理
负价环算法的原理:
1、在图中找到任一满足总流量Fst的可行流
2、根据原图和可行流的图做出补图
3、补图的做法:Cij>Fij,表示未达到最大的容量,此时需要作出一条新的边eij,容量为Cij-Fij,费用为aij
   若Fij>0,需要做边eji,容量为fij, 费用为-aij
4、找负价环,然后计算负价环单位流量费用,根据环中流最小的那个来增流
5、修改原有的边的流,得到新的可行流。如果没有负价环的话,算法终止。
2.3.3 例题

1.求解此图需要的总流量为Fst=9,求最佳流

在这里插入图片描述

图a

2.在图上找满足9的可行流

此时的总费用为Cost = 102

在这里插入图片描述

图b

3.根据图a做出图b的补图

在这里插入图片描述

图c

4.找负价环

在这里插入图片描述

图c

5.计算

此时得到负价环为v2-v3-v4-v2

负价环增流的单位费用:-6+1+3=2

最小的增流量为:min{3,4,3}= 3

此时的费用:Cost = 102 - 3x2 = 96

6.得出最佳的可行流

在这里插入图片描述

图d

7.根据图a和图d做补图

在这里插入图片描述

图e

8.找负价环

已找不出负价环,此时算法结束。最佳流分配如图d,费用为96

3. 路由技术

3.1 路由的概念和来源

路由:指导IP报文发送的路径信息

路由来源分类:

  • 链路层协议发现路由
  • 由网络管理员手工配置的静态路由
  • 动态路由协议发现的路由
静态路由动态路由
由网络管理员手工指定的路由路由器使用路由协议从其他路由器那获取的路由
当网络拓扑发生变化时,管理员需要手动更新静态路由当网络拓扑结构发生变化时,路由器自动更新信息

3.2 路由协议

路由协议是路由器之间交互信息的一种语言。路由协议定义了一套路由器之间通信时使用的规则,路由协议维护路由表、提供最佳转发路径。

常见的动态路由协议

  • 路由信息协议:RIP(Routing Information Protocol)
  • 开放式最短路径优先协议:OSPF(Open Shortest Path First)
  • 中间系统到中间系统协议:IS-IS(Intermediate System-to-Intermediate System)
  • 边界网关协议:BGP(Border Gateway Protocol)

路由协议算法:

  • 距离矢量路由选择协议(RIP/BGP)
    • 含义:采用距离向量算法来决定报文交换的路劲。
  • 链路状态路由选择协议(OSPF/IS-IS)
    • 含义:基于Dijkstra算法,使用洪泛法更新路由信息。

3.3 RIP路由协议

1.RIP协议是一种分布式的基于距离向量的内部路由选择协议。

2.RIP协议是通过“距离”的定义,来实现对最短路径的寻找。它认为一个好的路由就是它通过的路由器的数目少, 即“距离短”。

3.使用无连接的UDP进行路由信息的交互

4.RIP支持:水平分割、毒性逆转、触发更新(都是用来解除RIP环路的机制)

RIP协议的工作流程:
1.向周围路由发送请求报文
2.等待周围路由器的响应
3.路由器收到响应后,修改本地路由
4.向周围路由广播路由修改信息
5.一连串的广播后,所有连着的路由信息都被更改
6.老化机制对超时的路由进行老化处理,实时更新

注意:

  • RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
  • 把从一路由器到直接连接的网络的距离定义为 1。规定“距离”最大值为16,相当于不可达。
3.3.1 路由环路

首先需要知道什么是路由环路

路由环路:数据包不断的在网络中传输,却始终到达不了目的地,导致掉线或者网络瘫痪。

在这里插入图片描述

流程:

路由环路就是路由器C将11.4.0.0设置为不可达,准备在自己更新周期来的时候通知B,但是B的更新周期提前到来,B更新的时候导致C从B处知道了从B可以到11.4.0.0,于是C-B-C就跳数为2,后面真的到了C的更新周期,由于此时在这里的信息是路由器C知道自己不能到达11.4.0.0,但是可以从B处到达11.4.0.0,于是B认为可以通过C到达此IP地址,于是更新跳数为3,于是就不断循环C认为B可以,B认为C可以,其实从第一次开始的时候就错了!这就形成了一个环路!

3.3.2 解除路由环路的方法

1.水平分割

在这里插入图片描述

实现:水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由。原理就是路由器从某个接口接收到的更新信息不允许再从这个接口发回去

2.触发更新

在这里插入图片描述

实现:一般的更新都是需要等待一个周期时间的,但是触发更新不用,当11.4.0.0不可达的时候,C立即向B报告并将其到达11.4.0.0的metric标为16,此时B收到消息之后将到达11.4.0.0的路径表metric标为16,表示路径失效不可达,然后通知A,做同样的事情,依次毒化各个路由器。环路解除。

3.抑制时间

在这里插入图片描述

实现:路由环路的生成是因为B更新周期先来,现在抑制一个时间片之后让B更新,可以避免环路的产生,原理:当路由器从邻居接收到以前能够访问的网络现在不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从邻居发送来的更新信息,包含一个比原来路径具有更好度量值的路由,就标记为可以访问,并取消抑制计时器。

4.抑制时间结合触发更新

在这里插入图片描述

实现:这个对于避免环路产生的准确率更高。

5.路由抑制(路由毒化)

在这里插入图片描述

实现:当网络11.4.0.0出现故障无法访问的时候,路由器C便向邻居路由发送相关的更新信息,并将到达该网络的度量值标为无穷大,告诉他们11.4.0.0不可达,路由器B接收到这个消息以后将该链路路由表标记为无穷大,表示此路径已经失效,并向A通告更新消息,依次毒化各个路由器,通知11.4.0.0已经失效,从而避免环路的产生。上图中的B通告C这是毒性反转的一个例子,即B知道11.4.0.0的度量值为无穷大的时候,就发送一个毒性反转的消息给C,表明11.4.0.0不可达,这样保证了所有的路由器都被毒化。

3.4 OSPF路由协议

OSPF属于IGP内部网关路由协议,运行于IP协议之上,基于链路状态算法

开放式最短路径优先;“开放”表明它是公开发表的;

“最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法SPF。

是一种分布式的链路状态协议,基于链路状态来选择最佳路线,使用洪泛法向本自治系统中所有路由器发送信息。

**链路状态算法的路由计算过程,图中显示的是获取拓扑信息的方式,还需要生成最短路径树,再计算路由,具体: **发送一个hello报文,周围节点接收到hello报文之后给出自己的地址返回给发送方表示我是你周围的临界点。发送方再发送echo报文,接收方收到echo立刻返回,根据时间戳就可以测出链路成本了。然后这个路由器就可以用相邻链路成本用LS算法计算自己的路由表信息。

在这里插入图片描述

路由器之间通过交换链路状态来生成网络拓扑信息

3.4.1 OSPF区域

区域是一组路由器与网络的集合

单区域:是指所有运行OSPF协议的路由器被划分到同一区域

多区域:是指所有运行OSPF协议的路由器被划分到不同的区域

自治系统:是指同一个技术管理机构使用统一选路策略的一些路由器的集合

为什么需要划分多区域?

单区域LSDB庞大,SPF计算复杂;拓扑结构变化的概率增大,造成网络中大量的OSPF协议报文在传递,降低了网络的带宽利用率

3.5 IS-IS路由协议

IS-IS直接运行于链路层之上,在链路层的帧头之后直接封装IS-IS数据

集成IS-IS协议是中基于链路状态算法的IGP协议,可以在CLNP和IP环境中运行,采用TLV设计,扩展性好,目前在大型ISP的网络中被广泛部署。

3.6 OSPF与IS-IS的异同对比

参考博客----https://blog.csdn.net/achejq/article/details/19400885

共同之处:
1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中
2 都是用了一种实现路由选择信息交换相似机制
3 都在广播网络中选择指定路由器来控制扩散并降低这类介质中多对多邻接的系统资源需求
4 都是基于链路状态库中的信息,采用几乎相同的算法-SPF算法来计算最佳路由
5 都支持两个分层路由选择
6 都支持IP前缀的无类路由选择(支持VSLM)

不同之处:

IS-ISOSPF
1ISIS支持ISOCLNP和IP两种网络仅支持IP网络
2ISIS报文封装在数据链路层帧中封装在IP包中
3SIS路由器通告包含直连邻居及路由信息的TLV的LSP,使用LSP承载所有的路由选择信息OSPF使用不同类型的LSA承载不同的路由信息,LSA被封装进LSU通告给邻居
4ISIS数据包利用TLV字段承载所有易于扩散的信息OSPF只有LSA可扩展,而LSA扩展性太差
5ISIS路由器只属于一个特定区域。OSPF基于接口划分区域,路由器可属于不同的区域。
6对于所有实际应用,ISIS仅支持广播和点对点链路。不支持NBMA链路。在NBMA环境下,可配置为p2p子接口或者广播链路(如果是全互联的连接方式)。OSPF支持如下网络类型:p2p、广播、NMBA、点到多点和按需链路。
7区域的边界在链路区域的边界在路由器上。
8仅仅在广播链路实现3步邻接关系,IETF正在努力指定点到点链路的3步进程。OSPF邻接关系的建立涉及到一个更加复杂的过程。
9由于ISIS区域中IP前缀是SPF数的叶子,故部分路由计算(PRC)较多,通常这就意味着在一个大的区域中路由处理器的负载较低。部分SPF被限制用于域间和外部路由,任何要求较小的区域和分层拓扑扩展引起的域间链路动荡导致完全的SPF计算。
10最初数据库同步在邻接关系建立后进行。最初数据库同步在邻接关系形成前进行。

3.7 关于RIP协议例题

题目:R3是R1邻居路由,按照下列信息更新路由表

在这里插入图片描述

上面的例子是要更新到所有目标网络的跳数,也就是更新R1的路由表:
1.N2,R1到N2下一跳是R2,由于R3中没有更少的跳数,所以不更新
2.N5,R1到N5下一跳是R3,由于RIP协议中的规定,下一跳是邻居路由无论跳数增大还是减少都必须跳,所以R3到N5的跳   数为4,R1经过R3,跳数变为5.更新
3.N6,R1到N6经过R2跳数为5,但是R3到N6跳数只有3,即使R1先到R3再到N6,也只要跳数4,所以更新N6,4,下一跳   R3
4.N8,R1到N8经过R4跳数为2,R3到不了,所以不更新
5.N9,R1到N9直接到是到不了,只有根据R3转,所以跳数为3,下一跳为R3,更新

4. 排队论及其应用

排队系统:

  • 拒绝系统
  • 非拒绝系统

排队系统的组成:

  • 输入过程
  • 排队规则
  • 服务机构

在这里插入图片描述

排队系统的三个基本参数:

  • m参数:称为窗口数或服务员数目,表征系统的资源量。它表示系统中有多少服务设施可同时向顾客提供服务。
  • λ \lambda λ参数:顾客到达率或系统到达率,即单位时间内到达系统的平均顾客数。其单位为个/ 时间或份 / 时间。
  • μ \mu μ参数:是一个服务员(或窗口)的服务速率,即单位时间内由一个服务员(或窗口)进行服务所离开系统的平均顾客数。

ρ \rho ρ= λ / m \lambda/m λ/m\mu :排队强度,也叫作稳定性参数。

排队论中常用的两个分布:

在这里插入图片描述

在这里插入图片描述

具体参照:

排队论文档

  • 15
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值