引言
之前介绍了很多的网络层的知识,接下来要讲的可是重头戏了!我们都清楚寄快递,我将物品包裹好,在快递小哥的帮助下写好信息。重点就是在于快递小哥怎么运送呢?快递小哥如何最快寻找到距离最近的中转站;还要在最短时间内寻找收件人和寄存点?小哥的体力也有限,在有限的时间里面能送出多少快递呢?
网络也是一样,数据如何被准确发送到目标地点,如何最短时间内被发送到。。。。这些就是路由协议的作用了!
之前不是提到过路由器吗?路由器有三种类型——直连路由,静态路由和动态路由。前两者没什么好探讨的,重点就是路由协议。
动态路由分类
在路由中,直连路由最为简单!静态路由通过管理员的配置也可以轻松完成,但是面对复杂的网络,管理员需要一个个的配对会极大的消耗时间。路由在联通时,一旦发生故障或者宕机,管理人员不仅还要重新配置路由器的路由条目,而且耽误了通信。多次的进行路由条目分配也会导致路由器的带宽和物理寿命极大的消耗(路由器的运作是要依靠CPU的)。因此动态路由协议是非常重要的。
动态路由可以自动发现并学习路由的位置,而且可以感知网络中的变化!
上图的网络还算是简单的,你一个个配多麻烦
动态路由工作区域分类
IGP内部网关协议和EGP外部网关协议。IGP可以在AS自治系统中运行,不建议在园区运行;而EGP可以在外运作。属于IGP的协议有:RIP,EIGRP,OSPF,IS-IS等;属于EGP的有BGP等。
(AS:代表有着相同设备和组织的集合,里面细分很多设备,但外界把他们看作一套整体的AS系统)
白话解释一下什么是自治系统。你可以理解为,如果是省内的或者临近省的快递,无论是快递站点还是人员的调度都非常方便。因此你可以看成一个自治系统,快递的收发会异常流畅。但是如果你的快递很偏远(比如要送到新疆内蒙等偏远地区甚至是国外)那么快递的发送可不简单了。邮费问题,快递送达的时间问题,人员的调度问题。。。。因此你可以看成自治系统外的区域。
大草原上送快递,能跟内地的运作流程一致吗?
动态路由协议算法分类
DV 距离矢量协议——基于传文的形式(RIP,EIGRP,BGP)。DV代表我的相邻路由器告诉我,我的报文该去向哪条路经。
其中距离矢量协议还分为两类:Classful 有类协议:更新的路由仅有网络号和度量值。 Classes 无类协议:更新的路由有网络号,掩码,下一跳,度量值等。
LS 链路状态协议——基于拓扑的形式(OSPF,IS-IS)。LS代表我了解一个范围内的路径,可以自己进行路径的搜寻,而且可以辨别哪条路径更合适。
也用白话解释一下这两个东西吧!快递员送快递,可是他发现自己迷路了,这时他有两种选择。第一个就是他可以问其他的快递员或者路人我该怎么走(距离矢量协议);还有一种就是我打开地图,自己走更合适的路(链路状态协议)。区别就在这里了!前者需要依靠他人的帮助才能走下去,失去了帮助我就无所适从了;后者需要地图做指引,如果走到地图没有显示的地方,他就懵了!
动态路由选择协议
上面提到了很多动态路由协议,例如:RIP,EIGRP,OSPF,IS-IS,BGP等等。我们一般根据业务来进行不同的选择。我们也可以通过不同的优先级来配置协议的优先级。
在众多的动态路由选择协议中,OSPF比较流行。(不过OSPF远不如ISIS)
此时,我们需要定义一些东西!
模糊匹配
路由器再转发的时候要确定目的网络,他要基于主机想要访问的目的网络去寻找路由。这里有个算法可以算出目的网络的所属网络号(目的主机的IP地址与子网掩码进行与运算就可以知道目的主机所属网络号了)路由器会用路由表中所有的条目一条条匹配数据包的所发送给目的主机的IP地址。经过运算,只要匹配上了路由表中的条目,立刻向其转发,并停止后续的匹配。但是没有找到的话,说明该信息不能通过该路由器去往该目的网络,因此会进行丢包。
注:当有多条路径可以前往目的主机时,优先采用长度最长(最长指的是子网掩码大的),最精准的路由来转发——最长匹配原则
出接口和下一跳
不过我之前提到过路由表是基于CPU统一调度,一次次查表的时候会出现很多的问题。为了避免问题,我们尽量需要安排出接口到下一个路由器的路径。因此就是下一跳的重要性。
一般而言,出接口分为两种:
MA(多路访问):一个路由器连接多个节点,需要设置下一跳的路径
P2P(点到点):一个路由器对应一个节点,下一跳固定
因此,数据会根据下一跳分配到对应的路由器上,而如何确定下一跳是谁,那就看管理者设置的是谁或者路由器再动态路由选择协议的辅助下选择的路径。
ECMP(等价负载均衡):大部分路由器支持这个协议。当我认为去往两个路径都一样好的时候,我会都加入表中。但在发送报文的时候,会均分给两条路径来做一个附带均衡转发。
例如:我去往网络X中主机a的数据走路径1,去往网络X的主机B走路径2,但他们都可以到达目的地,只不过路径不同 。
注:有些特殊情况不支持负载均衡!!!
后续
对这些有所了解后,马上就要开启网络协议了,这是ICT路由交换方向的大重点,我尽可能的用通俗的语言讲一讲,不过难免可能有错误的地方,希望大家多指点