目录

RIP

广播路由控制信息

根据距离向量确定路由

使用子网掩码时的RIP处理

RIP中路由变更时的处理

RIP2

OSPF

OSPF是链路状态型路由协议

OSPF工作原理概述

将区域分层化进行细分管理

BGP

BGP与AS号

BGP是路径向量协议

MPLS

MPLS的网络基本动作

MPLS的优点


RIP

RIP (Routing Information Protocol)是距离向量型的一种路由协议,广泛用于 LAN。被BSD UNIX作为标准而提供的routed采用了RIP, 因此RIP得到了迅速 的普及。

广播路由控制信息

RIP将路由控制信息定期(30秒一次)向全网广播。如果没有收到路由控制 信息,连接就会被断开。不过,这有可能是由于丢包导致的,因此RIP规定等待 5次。如果等了6次(180秒)仍未收到路由信息,才会真正关闭连接

根据距离向量确定路由

RIP基于距离向量算法决定路径。距离(Metrics)的单位为“跳数"。跳数 是指所经过的路由器的个数

RIP希望尽可能少通过路由器将数据包转发到目标 IP地址,根据距离向量生成距离向量表,再抽出较小的路由生成 最终的路由控制表。

使用子网掩码时的RIP处理

RIP虽然不交换子网掩码信息,但可以用于使用子网掩码的网络环境。不过 在这种情况下需要注意以下几点:

  • 从接口的IP地址对应分类得出网络地址后,与根据路由控制信息流过此 路由器的包中的IP地址对应的分类得出的网络地址进行比较。如果两者 的网络地址相同,那么就以接口的网络地址长度为准。
  • 如果两者的网络地址不同,那么以IP地址的分类所确定的网络地址长度 为准。

例如,路由器的接口地址为192. 168. 1. 33/27。很显然,这是一个C类地址, 因此按照IP地址分类它的网络地址为192. 168. 1. 33/24。与192. 168. 1. 33/24相 符合的IP地址,其网络地址长度都被视为27位。除此之外的地址,则采用每个 地址的分类所确定的网络地址长度。

因此,采用RIP进行路由控制的范围内必须注意两点:一是,因IP地址的分 类而产生不同的网络地址时;二是,构造网络地址长度不同的网络环境时。

RIP中路由变更时的处理

RIP的基本行为可归纳为如下两点:

  • 将自己所知道的路由信息定期进行广播。
  • 一旦认为网络被断开,数据将无法流过此路由器,其他路由器也就可以得 知网络巳经断开。

不过,这两点不论哪种方式都存在一些问题。

如图,路由器A将网络A的连接信息发送给路由器B, 路由器B又将自 已掌握的路由信息在原来的基础上加1跳后发送给路由器A和路由器C。假定这 时与网络A发生了故障。

路由器A虽然觉察到自己与网络A的连接已经断开,无法将网络A的信息发 送给路由器B, 但是它会收到路由器B曾经获知的消息。这就使得路由器A误认 为自己的信息还可以通过路由器B到达网络A。

像这样收到自已发出去的消息,这个问题被称为无限计数(Counting to lnfini­ty)。为了解决这个问题可以采取以下两种方法:

  • 一是最长距离不超过16。由此即使发生无限计数的问题,也可以从时间 上进行控制。
  • 二是规定路由器不再把所收到的路由消息原路返还给发送端。这也被称作 水平分割(Split Horizon)。

然而,这种方法对有些网络来说是无法解决问题的。如图所示,在网络 本身就有环路的情况下。

在有环路情况下,反向的回路会成为迂回的通道,路由信息会不断地被循环 往复地转发。当环路内部某一处发生通信故障时,通常可以设置一个正确的迂回通道。但是对于图中的情况,当网络A的通信发生故障时,将无法传送正确 的路由信息。尤其是在环路有多余的情况下,需要很长时间才能产生正确的路由 信息。

为了尽可能解决这个问题,人们提出了“毒性逆转" (Poisoned Reverse)和 "触发更新" (Triggered Update)两种方法。

毒性逆转是指当网络中发生链路被断开的时候,不是不再发送这个消息,而 是将这个无法通信的消息传播出去。即发送一个距离为16的消息。

触发更新是指 当路由信息发生变化时,不等待30秒而是立刻发送出去的一种方法

有了这两种 方法,在链路不通时,可以迅速传送消息以使路由信息尽快收敛。

然而,纵然使用了到现在为止所介绍的方法,在一个具有众多环路的复杂的 网络环境中,路由信息想要达到一个稳定的状态是需要花一段时间的。为了解决这个问题,必须明确地掌握网络结构,在了解究竟哪个链路断开后再进行路由控 制非常重要。为此,可以采用OSPF。

RIP2

RIP2的意思是RIP第二版。它是在RIP使用过程中总结了经验的基础上进行 改良后的一种协议。第二版与第一版的工作机制基本相同,不过仍有如下几个新 的特点。

使用多播

RIP中当路由器之间交换路由信息时采用广播的形式,然而在RIP2中改用了 多播。这样不仅减少了网络的流量,还缩小了对无关主机的影响。

支持子网掩码

与OSPF类似的,RIP2支待在其交换的路由信息中加人子网掩码信息。

路由选择域

与OSPF的区域类似,在同一个网络中可以使用逻辑上独立的多个RIP。

外部路由标志

通常用于把从BGP等获得的路由控制信息通过RIP传递给AS内。

身份验证密钥

与OSPF一样,RIP包中携带密码。只有在自己能够识别这个密码时才接收数 据,否则忽略这个RIP包。

OSPF

OSPF (Open Shortest Path First)是根据OSI的IS-IS协议而提出的一种链路 状态型路由协议。由于采用链路状态类型,所以即使网络中有环路,也能够进行 稳定的路由控制。

另外,OSPF支持子网掩码。由此,曾经在RIP中无法实现的可变长度子网构 造的网络路由控制成为现实。

甚至为了减少网络流量,OSPF还引入了“区域”这一概念。区域是将一个 自治网络划分为若干个更小的范围。由此,可以减少路由协议之间不必要的交换。

OSPF可以针对IP首部中的区分服务(TOS)字段,生成多个路由控制表

不过,也会出现已经实现了OSPF功能的路由器无法支持这个TOS的情况。

OSPF是链路状态型路由协议

OSPF为链路状态型路由器。路由器之间交换链路状态生成网络拓扑信息,然 后再根据这个拓扑信息生成路由控制表。

RIP的路由选择,要求途中所经过的路由器个数越少越好。与之相比,OSPF 可以给每条链路,赋予一个权重(也可以叫做代价),并始终选择一个权重最小的 路径作为最终路由。也就是说OSPF以每个链路上的代价为度量标准,始终选择 一个总的代价最小的一条路径。如图,RIP是选择路由器个数最少 的路径,而OSPF是选择总的代价较小的路径

在OSPF中,把连接到同一个链路的路由器称作相邻路由器(Neighboring Router)。在一个相对简单的网络结构中,例如每个路由器仅跟一个路由器相互连接时",相邻路由器之间可以交换路由信息。但是在一个比较复杂的网络中,例如在同一个链路中加入了以太网或FDDI等路由器时,就不需要在所有相邻的路由器之间都进行控制信息的交换,而是确定一个指定路由器(Designated Router),并以它为中心交换路由信息即可。

RIP中包的类型只有一种。它利用路由控制信息,一边确认是否连接了网络,一边传送网络信息。但是这种方式,有一个严重的缺点。那就是,网络的个数越多,每次所要交换的路由控制信息就越大。而且当网络已经处于比较稳定的、没有什么变化的状态时,还是要定期交换相同的路由控制信息,这在一定程度上浪费了网络带宽。

而在OSPF中,根据作用的不同可以分为5种类型的包。

通过发送问候(HELLO)包确认是否连接。

每个路由器为了同步路由控制信 息,利用数据库描述(Database Description)包相互发送路由摘要信息和版本信 息。

如果版本比较老,则首先发出一个链路状态请求(Link State Request)包请 求路由控制信息,

然后由链路状态更新(Link State Update)包接收路由状态信 息,

最后再通过链路状态确认(Link State ACK Packet)包通知大家本地已经接收 到路由控制信息。

有了这样一个机制以后,OSPF不仅可以大大地减少网络流量,还可以达到迅 速更新路由信息的目的。

OSPF工作原理概述

OSPF中进行连接确认的协议叫做HELLO协议。

LAN中每10秒发送一个HELLO包。如果没有HELLO包到达,则进行连接是否断开的判断。具体为,允许空等3次,直到第4次(40秒后)仍无任何反馈就认为连接已经断开。之后在进行连接断开或恢复连接操作时,由于链路状态发生了变化,路由器会发送一个链路状态更新包(Link State Update Packet)通知其他路由器网络状态的变化。

链路状态更新包所要传达的消息大致分为两类:一是网络LSA,另一个是路由器LSA.

网络LSA是以网络为中心生成的信息,表示这个网络都与哪些路由器相连 接。而路由器LSA是以路由器为中心生成的信息,表示这个路由器与哪些网络相 连接。

如果这两种信息,主要采用OSPF发送,每个路由器就都可以生成一个可以表 示网络结构的链路状态数据库。可以根据这个数据库、采用Dijkstra算法(最短 路径优先算法)生成相应的路由控制表。

相比距离向量,由上述过程所生成的路由控制表更加清晰不容易混淆,还可 以有效地降低无线循环问题的发生

不过,当网络规模逐渐越大时,最短路径优 先算法的处理时间就会变得越长,对CRU和内存的消耗也就越大。

将区域分层化进行细分管理

链路状态型路由协议的潜在问题在于,当网络规模越来越大时,表示链路状 态的拓扑数据库就变得越来越大,路由控制信息的计算也就越困难。OSPF为了减 少计算负荷,引入了区域的概念。

区域是指将连接在一起的网络和主机划分成小组,使一个自治系统(AS)内 可以拥有多个区域。不过具有多个区域的自治系统必须要有一个主干区域 (Backbone Area) , 并且所有其他区域必须都与这个主干区域相连接

连接区域与主干区域的路由器称作区域边界路由器;而区域内部的路由器叫 做内部路由器;只与主干区域内连接的路由器叫做主干路由器;与外部相连接的 路由器就是AS边界路由器。

每个区域内的路由器都持有本区域网络拓扑的数据库。然而,关于区域之外 的路径信息,只能从区域边界路由器那里获知它们的距离。区域边界路由器也不 会将区域内的链路状态信息全部原样发送给其他区域,只会发送自己到达这些路 由器的距离信息,内部路由器所持有的网络拓扑数据库就会明显变小。

换句话,就是指内部路由器只了解区域内部的链路状态信息,并在该信息的 基础上计算出路由控制表。这种机制不仅可以有效地减少路由控制信息,还能减 轻处理的负担

此外,作为区域出口的区域边界路由器若只有一个的话叫做末端区域(如图中的区域2)。末端区域内不需要发送区域外的路由信息。它的区域边界路由 器(在本图中为路由器E)将成为默认路径传送路由信息即可。因此,由于不需 要了解到达其他各个网络的距离,所以它可以减少一定地路由信息。

要想在OSPF中构造一个稳定的网络,物理设计和区域设计同样重要。如果 区域设计不合理,就有可能无法充分发挥OSPF的优势。

BGP

BGP (Border Gateway Protocol) , 边界网关协议是连接不同组织机构(或者说 连接不同自治系统)的一种协议。因此,它属于外部网关协议(EGP)。具体划 分,它主要用于ISP之间相连接的部分。只有BGP、RIP和OSPF共同进行路由控 制,才能够进行整个互联网的路由控制。

BGP与AS号

在RIP和OSPF中利用IP的网络地址部分进行着路由控制,然而BGP则需要 放眼整个互联网进行路由控制。BGP的最终路由控制表由网络地址和下一站的路 由器组来表示,不过它会根据所要经过的AS个数进行路由控制

ISP、区域网络等会将每个网络域编配成一个个自治系统(AS: Autonomous System)进行管理。它们为每个自治系统分配一个16比特的AS编号.BGP就是根据这个编号进行相应的路由控制。

有了AS编号的域,就相当于有了自己一个独立的“国家",AS的代表可以决定AS内部的网络运营和相关决策。与其他AS相连的时候,可以像一位“外交官”一样签署合约再进行连接。

正是有了这些不同地区的AS通过签约的相互连接,才有了今天全球范围内的互联网。举一个例子,为了使AS1与AS3之间能够进行通信,需要有AS2或者AS4与AS5组合起来的两者中的一者进行数据中转,才能够实现。而 这两者之间是否中转则由它们自己,即AS2或AS4与ASS决定。如果两者都不 愿意中转,那么只能在AS1与AS3之间建立专线连接才能实现通信。

以下,我们将假定这两者都允许中转,详细介绍BGP。

BGP是路径向量协议

根据BGP交换路由控制信息的路由器叫做BGP扬声器。BGP扬声器为了在 AS之间交换BGP信息,必须与所有AS建立对等的BGP连接。此外,如图中的自治系统AS2、AS4、AS5, 它们在同一个AS内部有多个BGP扬声器。在这 种情况下,为了使AS内部也可以交换BGP信息,就需要建立BGP连接。

BGP中数据包送达目标网络时,会生成一个中途经过所有AS的编号列表。

这个表格也叫做AS路径信息访问列表(AS Path List)。如果针对同一个目标地址 出现多条路径时,BGP会从AS路径信息访问列表中选择一个较短的路由。

在做路由选择时使用的度量,RIP中表示为路由器个数,OSPF中表示为每个子网的成本,而BGP则用AS进行度量标准。RIP和OSPF本着提高转发效率为目 的,考虑到了网络的跳数和网络的带宽。BGP则基于AS之间的合约进行数据包 的转发。BGP一般选择AS数最少的路径,不过仍然要遵循各个AS之间签约的细 节进行更细粒度的路由选择。

在AS路径信息访问列表中不仅包含转发方向和距离,还涵盖了途径所有AS 的编号。因此它不是一个距离向量型协议。此外,对网络构造仅用一元化表示, 因此也不属于链路状态型协议。像BGP这种根据所要经过的路径信息访问列表进 行路由控制的协议属于路径向量(Path Vector)型协议。作为距离向量型的RIP 协议,因为无法检测出环路,所以可能发生无限计数的问题。而路径向量型由 于能够检测出环路,避免了无线计数的问题,所以令网络更容易进入一个稳定的 状态。同时,它还有支持策略路由的优势。

MPLS

现如今,在转发IP数据包的过程中除了使用路由技术外,还在使用标记交换 技术。路由技术基于IP地址中最长匹配原则进行转发,而标记交换则对每个IP 包都设定一个叫做“标记”的值,然后根据这个“标记”再进行转发。标记交换 技术中最具代表性的当属多协议标记交换技术,即MPLS (Multi Protocol Label Switching)。

MPLS的标记不像MAC地址直接对应到硬件设备。因此,MPLS不需要具备 以太网或ATM等数据链路层协议的作用,而只需要关注它与下面一层IP层之间 的功能和协议即可。

由于基于标记的转发通常无法在路由器上进行,所以MPLS也就无法被整个 互联网采用。它的转发处理方式甚至与IP网也有所不同。

MPLS的网络基本动作

MPLS网络中实现MPLS功能的路由器叫做标记交换路由器(LSR, Label Switching Router)。

特别是与外部网路连接的那部分LSR叫做标记边缘路由器 (LER, Label Edge Router)

MPLS正是在LER上对数据包进行追加标记和删除标记的操作。

在一个数据包上附加标记是一个及其简单的动作。如果数据链路本来就有一个相当于标记的信息,那么可以直接进行映射。如果数据链路中没有携带任何相当于标记的信息(最典型的就是以太网),那么就需要追加一个全新的垫片头 (Shim Header)。这个垫片头中就包含标记信息。

如图展示了数据从以太网的IP网开始经过MPLS网再发送给其他IP网的整个转发过程。

数据包在进入MPLS时,在其IP首部的前面被追加了32比特的垫片头(其中包含20比特的标记值),MPLS网络内,根据垫片头中的标记进一步进行转发。

当数据离开MPLS时,垫片头就被去除。

在此我们称附加标记转发的动作为Push,替换标记转发的动作为Swap,去掉标记转发的动作为Pop

MPLS中目标地址和数据包,都要通过由标记决定的同一个路径,这个路径叫 做标记交换路径(LSP, Label Switch Path) 。

LSP又可以划分为一对一连接的点对 点LSP, 和一对多绑定的合并LSP两类。

扩展LSP有两种方式。可以通过各个LSR向自己邻接的LSR分配MPLS标 记,也可以由路由协议载着标记信息进行交互。

LSP属于单方向的通路,如果需 要双向的通信则需要两个LSP。

MPLS的优点

MPLS的优势可归纳为两点。第一个是转发速度快。通常,路由器转发IP数据包时,首先要对目标地址和路由控制表中可变长的网络地址进行比较,然后从中选出最长匹配的路径才能进行转发。MPLS则不然。它使用固定长度的标记信息,使得处理更加简单,可以通过高速的硬件实现转发。此外,相比互联网中的主干路由器需要保存大量路由表才能进行处理的现状, MPLS只需要设置必要的几处信息即可,所要处理的数据量也大幅度减少。而且除了IPV4,IPV6之外,针对其他协议, MPLS仍然可以实现高速转发。

第二个优势在于利用标记生成虚拟的路径,并在它的上面实现IP等数据包的通信。基于这些特点,被称之为“尽力而为” ( Best-Effort )的IP网也可以提供基于MPLS的通信质量控制、带宽保证和VPN等功能。

计算机网络 RIP,OSPF,BGP,MPLS协议相关推荐

  1. Quagga:开源的基于Zebra实现了RIP, OSPF, BGP的动态路由软件

    目录 quagga简介 特性 安装 quagga简介 https://www.jianshu.com/p/300acac7801f Quagga是一个开源的基于Zebra实现了RIP, OSPF, B ...

  2. 路由协议:RIP/OSPF/BGP—Vecloud微云

    路由协议用来从多条路由路径中选择一条最佳的路径,并沿着这条路径将数据流产送到目的设备. 路由信息协议(RIP):采用距离向量算法,收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数 ...

  3. 使用GNS3实验MPLS协议

    实验目的:使R1和R6相互利用私网网段进行通信. 实验内容:配置了RIP OSPF BGP MPLS VRF,信息量很大,值得试验. 1. 配置IP和路由协议 R1 conf tint E1/0ip ...

  4. 网络路由器协议(OSPF、RIP、BGP、IGRP、IS-IS)

    一.OSPF.RIP.BGP.IS-IS的区别 (1).OSPF:(开放式最短路径优先)是一种链路状态路由协议,使用SPF算法(Dijkstra算法)计算路由,保证没有路由环路,使用带宽作为度量值,能 ...

  5. 路由器/交换机工作原理(RIP/OSPF协议工作原理)

    交换机工作原理 交换机负责局域网内主机之间的数据转发 交换机内部有一个MAC地址表,记录了MAC地址与交换机端口的对应信息,当数据需要转发时主机将数据包发送给交换机,交换机将数据包中的源地址映射到端口 ...

  6. 商业虚拟专用网络技术十四 BGP/MPLS技术扩展

    一.BGP/MPLS技术扩展 1.BGP/MPLS VPN企业内网使用 1.1.BGP/MPLS VPN组网的不足 1.1.1.企业内网结构 接入层:主要负责工作组的接入和访问控制,由于分散所以流量一 ...

  7. 华为 BGP/MPLS VP#实验

    哈喽,大家好!我是艺博东 ,是一个思科出身.专注于华为的网工:好了,话不多说,我们直接进入正题. 文章目录 一.拓扑 二.基础配置与分析 由于特殊原因,所以把"N"字母替换为&qu ...

  8. BGP——边界网关协议简介

    BGP简介 目录 BGP简介 BGP协议的关注点 BGP的数据包 BGP的状态机 BGP工作过程 BGP的路由黑洞 BGP的防环机制--水平分割 BGP的基本配置 BGP的路由聚合 BGP的路由反射器 ...

  9. 计算机网络:路由器和路由选择协议

    一.路由器和路由类型 1.什么是路由器 路由器用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网.当数据从一个子网传输到另一个子网时,可以通过路由器的路由功能来完成. 因此,路 ...

  10. 计算机网络五层体系结构各层协议

    计算机网络五层体系结构各层协议 应用层 协议名称 解释 DNS Domain name system Telnet 常用的远程控制Web服务器的方法 FTP File Transfer protoco ...

最新文章

  1. 2022-2028年中国打印耗材市场现状调研与进展趋势分析报告
  2. 整理了一下Asp.net源码常见问题(完善中...),欢迎大家补充修正(最后更新于06-01)!...
  3. 你知道Java文件拷贝有几种方式么?
  4. python pywin32 微信_python win32con安装_python-2.7 – 安装pywin32
  5. 【Python刷题】_9
  6. Oracle-表分析和索引分析解读
  7. Apache VFS:基本介绍
  8. htmlcss实例小项目_小程序websocket心跳库——websocket-heartbeat-miniprogram
  9. 【译】Node.js 日志打印指南
  10. vim学习日志(7):替换、删除文件中的字符
  11. 脚注交叉引用序号不一样_利用Word的尾注来做参考文献的注释编号--解决编号加方括号,交叉引用,去除尾注上访横线等问题...
  12. css 入场动画_React系列十四 React过渡动画
  13. docker多个容器一起打包_如何实现多个docker容器同时执行一条命令?
  14. 在阿里云容器服务上创建一个使用Redis的Python应用
  15. Maven 入门——认识Maven结构
  16. IDEA如何进行debug调试
  17. 32款图片处理软件介绍
  18. matlab求数组转置,数组与矩阵运算 - MATLAB Simulink - MathWorks 中国
  19. 一文教会你导出微信聊天记录
  20. 英语不好学计算机特长,指导:英语学不好,是因为你没养成这些好习惯

热门文章

  1. 这篇文章有点长,但绝对是保姆级的Python字符串格式化讲解
  2. 数据结构2021温习篇——队列(5a)
  3. Linux之挂载新的硬盘
  4. c语言输入变量字符串数组的长度,c语言数组长度问题?
  5. 一文彻底搞定二叉树的前序、中序、后序遍历(图解递归非递归)
  6. 连续自然数求和(2)
  7. 小米bl未解锁变砖了如何刷机_小米9如何刷机 小米9稳定版卡刷开发版实操详细教程...
  8. Web身份认证——【 Session认证 】
  9. 麦道夫骗局告诉我们的10件事
  10. 迈思德网关成功与TLINK物联网平台对接