标签:reg 链路 bgp 利用 路由器 技术 structure 其他 概念
这个系列主要会介绍一些计算机网络体系中“看上去稍有些复杂”但“一旦理解了又会很容易”的内容,我会尝试通过示意图/动图的方式对概念进行尽量直观的诠释,如果能够对大家学习计算机网络有所启发的话就最好了。
互联网采用分层次的路由选择协议。原因是:
定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
“路由器”和“网关”在这里可以视作同义词。
内部网关协议 IGP (Interior Gateway Protocol)
外部网关协议 EGP (External Gateway Protocol)
路由信息协议 RIP (Routing Information Protocol) 是内部网关协议 IGP 中最先得到广泛使用的协议。
RIP 是一种分布式的、基于距离向量的路由选择协议。
RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。(这里的“距离”实际上就是指“最短距离”)
RIP 允许一条路径最多只能包含 15 个路由器。“距离”的最大值为 16 时即相当于不可达。
以目前广泛使用的RIP version2为例,简单了解一下RIP报文的组成:
距离向量算法
路由器收到相邻路由器(其地址为 X)的一个 RIP 报文:
(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中。
否则
若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。
否则
若收到项目中的距离小于路由表中的距离,则进行更新,
否则,什么也不做。(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(表示不可达)。
(4) 返回。
文字叙述看着有点累,不过理解了“不同路径选短的,同样路径选新的”的思路就会很容易。
RIP只与相邻路由交换信息不可避免会带来路由更新的一类延迟,即之前提到的“好消息传得快,坏消息传得慢”。
“好消息传得快,坏消息传得慢”实际上是信息传送延迟造成路由器的“误判”
例如:
R1原本直接连接NET-A(可直接交付),但NET-A突然出故障,变为不可达。
R1中关于NET-A不可达的更新还没有传递给连接着R1的路由R2,此时R2仍以为可以通过R1达到NET-A,便向R1发送<NET-A,2,R2>的路由表;
R1收到后以为R2可以到达NET-A(其实已经不行了),便更新自己的路由表为<NET-A,3,R2>,并将更新发送出去;
R2收到更新后将自己的路由表更新为<NET-A,4,R1>,并将更新发送出去;
如此来来回回直到两个路由器的路由表跳数都更新至16才确定了NET-A不可达。
为了克服RIP的缺点,我们便开发出了OSPF协议。
开放最短路径优先协议,即OSPF(Open Shortest Path First),如上所述,是为克服 RIP 的缺点在 1989 年开发出来的。
由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。
这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。
同时,为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。
划分区域后,利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统。
在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。
OSPF 使用层次结构的区域划分。在上层的区域叫做主干区域 (backbone area)。
主干区域的标识符规定为0.0.0.0,用来连通其他在下层的区域。
OSPF还有一点与RIP不同,即OSPF 不用 UDP 而是直接用 IP 数据报传送。
OSPF 构成的数据报很短,这样做可减少路由信息的通信量。
OSPF有五种分组类型
下图简单说明了OSPF的五种分组类型以及它们所能完成的操作
BGP 是不同自治系统的路由器之间交换路由信息的协议。 默认为当前较新的版本BGP-4。
互联网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。
因此,边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“** BGP 发言人**” (BGP speaker)。通过它与其他自治系统(中的 BGP 发言人)交换路由信息。
一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。
使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此成为对方的邻站(neighbor)或对等站(peer)。
BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。
当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的较好路由。
在众多路由选择协议中,BGP是为数不多的使用TCP作为传输协议的路由选择协议。
BGP有四种分组类型
真的很希望能够和大家交流啊(有任何想法/意见/建议的话都可以在留言区留言~
标签:reg 链路 bgp 利用 路由器 技术 structure 其他 概念
原文地址:https://www.cnblogs.com/alva-rabbit-hole/p/10075598.html