我们一起学网络(七)——网络层(路由选择协议)
2013-12-15 10:10
274 查看
前面涉及到那么多路由转发分组的内容,现在终于到了正题,
路由选择协议~~~~~
路由选择协议的核心是路由算法~,路由选择算法可分为【静态路由选择策略】和【动态路由选择策略】,静态路由选择也叫【非自适应路由选择】,动态路由选择也叫【自适应路由选择】,从名字就可以看出来,动态路由选择比较复杂,但是能较好的适应各种网络情况。
因特网采用的路由选择协议主要是自适应的~
为了方便网络的管理,因特网中具有各种各样的网络(前面提到过,IP协议就是为了解决这个问题),这些各自的网络又叫自治系统(AS)。
所以,现在路由器要解决这样一个问题,因特网存在很多种的AS,AS内部要能进行通信,AS之间还要互相能够通行,所以,因特网把路由选择协议分为了两大类:
(1)内部网关协议IGP
(2)外部网关协议EGP
自治系统之间的路由选择也叫【域间路由选择】,自治系统内部的路由选择也叫【域内路由选择】
内部网关协议现主要分为两种:(1)RIP和OSPF
外部网关协议主要有一种,即边界网关协议BGP
【内部网关协议RIP】
RIP是一种分布式的基于距离向量的路由选择协议,RIP最大的有点是简答,但是它只适用于小型互联网。
RIP有三个特点:
(1)仅和相邻路由器交换信息
(2)路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表
(3)按固定的时间间隔交换路由信息,大约30s一次,当网络拓扑结构发生变化,也及时向相邻路由器报告
当然,RIP有一个缺点,RIP允许一条路径只能包含15个路由器,距离为16时,就把数据报丢弃。网络出现故障时,要经过较长时间才能将此信息传送到所有路由,一般要反复进行到16此~
下面来看看RIP协议具体是怎样工作的~
对每个相邻路由发过来的RIP报文,进行如下步骤:
(1)假设发来RIP报文的路由地址为X(我暂时成这个RIP报文为R),本路由接收到此报文,先把报文里的所有项目的下一跳地址都改为X,并把所有的距离都+1
(2)开始对报文R中的每个项目进行操作
我就默认大家能看懂上面这段奇葩的代码~~~
【内部网关协议OSPF】
开发最短路径优先OSPF,同样是内部网关协议,这个协议可以用于较大型的互联网。OSPF最主要的特征就是分布式的【链路状态协议】
OSPF的三个要点:
(1)想自治系统的路由发送信息时,使用洪泛法。即路由器所有输出端口向相邻路由器发送信息,每一个相邻路由又将此信息发往其所相邻的路由(但是不回发)
(2)发送的信息是与本路由相邻的所有路由器的链路状态。链路状态即说明本路由与哪些路由相邻
(3)只有当链路状态发生变化,路由器才向所有路由器用洪泛法发送信息
OSPF使得所有路由器最后都能建立 【链路状态数据库】,这个数据库实际就是 全网的拓扑结构图~,有了这个结构图,每个路由就都能知道全网的路由信息,比如有多少个路由,哪些路由是相连的之类~,然后就可以根据这些数据,构造自己的路由表~
这个就是OSPF的具体实现~
前面说过RIP只能作用于小型网络,OSPF可以作用于大型网络。
这是因为OSPF采用了【层次结构的区域划分】,即将一个大的自治系统再划分成更小的范围,叫做区域。每个区域都有自己的32位标识符。
上层区域叫做【主干区域】,主干区域的标识符规定为0,0,0,0 主干区域是用来连通下层的区域~。
然后再这个系统里面还有个东西叫做【区域边界路由】,作用是进行区域之间的信息交换~
类似的,再主干区域中也有一个东西叫做【自治系统的边界路由】,用于本自治系统和其他自治系统交换路由信息!
【外部网关协议BGP】
现在使用的BGP协议大都是BGP-4,也叫边界网关协议
BGP的作用是自治系统之间的路由选择~
由于国家,政治,网络安全之类的关系,BGP协议比想象的要复杂的多~
由于各种因素的影响,BGP并非要寻找一条最佳的路由,而是寻找一条能够到达目的网络并且比较好的路由~
BGP采用的是路径向量路由选择协议~
路由选择协议~~~~~
路由选择协议的核心是路由算法~,路由选择算法可分为【静态路由选择策略】和【动态路由选择策略】,静态路由选择也叫【非自适应路由选择】,动态路由选择也叫【自适应路由选择】,从名字就可以看出来,动态路由选择比较复杂,但是能较好的适应各种网络情况。
因特网采用的路由选择协议主要是自适应的~
为了方便网络的管理,因特网中具有各种各样的网络(前面提到过,IP协议就是为了解决这个问题),这些各自的网络又叫自治系统(AS)。
所以,现在路由器要解决这样一个问题,因特网存在很多种的AS,AS内部要能进行通信,AS之间还要互相能够通行,所以,因特网把路由选择协议分为了两大类:
(1)内部网关协议IGP
(2)外部网关协议EGP
自治系统之间的路由选择也叫【域间路由选择】,自治系统内部的路由选择也叫【域内路由选择】
内部网关协议现主要分为两种:(1)RIP和OSPF
外部网关协议主要有一种,即边界网关协议BGP
【内部网关协议RIP】
RIP是一种分布式的基于距离向量的路由选择协议,RIP最大的有点是简答,但是它只适用于小型互联网。
RIP有三个特点:
(1)仅和相邻路由器交换信息
(2)路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表
(3)按固定的时间间隔交换路由信息,大约30s一次,当网络拓扑结构发生变化,也及时向相邻路由器报告
当然,RIP有一个缺点,RIP允许一条路径只能包含15个路由器,距离为16时,就把数据报丢弃。网络出现故障时,要经过较长时间才能将此信息传送到所有路由,一般要反复进行到16此~
下面来看看RIP协议具体是怎样工作的~
对每个相邻路由发过来的RIP报文,进行如下步骤:
(1)假设发来RIP报文的路由地址为X(我暂时成这个RIP报文为R),本路由接收到此报文,先把报文里的所有项目的下一跳地址都改为X,并把所有的距离都+1
(2)开始对报文R中的每个项目进行操作
for(int i = 0; i < RIP.size(); i++){ if(RIP.get(i).isEmpty()){ //如果报文R中的网络N在本路由中不存在,就直接把此条项目加入路由表 }else{ if(本路由的路由表中该项目的下一 跳为X){ 就用报文R替换原路由表中的项目 }else{ 比较原路由表和报文R的项目谁的距离更小,把小的留下~ } } }
我就默认大家能看懂上面这段奇葩的代码~~~
【内部网关协议OSPF】
开发最短路径优先OSPF,同样是内部网关协议,这个协议可以用于较大型的互联网。OSPF最主要的特征就是分布式的【链路状态协议】
OSPF的三个要点:
(1)想自治系统的路由发送信息时,使用洪泛法。即路由器所有输出端口向相邻路由器发送信息,每一个相邻路由又将此信息发往其所相邻的路由(但是不回发)
(2)发送的信息是与本路由相邻的所有路由器的链路状态。链路状态即说明本路由与哪些路由相邻
(3)只有当链路状态发生变化,路由器才向所有路由器用洪泛法发送信息
OSPF使得所有路由器最后都能建立 【链路状态数据库】,这个数据库实际就是 全网的拓扑结构图~,有了这个结构图,每个路由就都能知道全网的路由信息,比如有多少个路由,哪些路由是相连的之类~,然后就可以根据这些数据,构造自己的路由表~
这个就是OSPF的具体实现~
前面说过RIP只能作用于小型网络,OSPF可以作用于大型网络。
这是因为OSPF采用了【层次结构的区域划分】,即将一个大的自治系统再划分成更小的范围,叫做区域。每个区域都有自己的32位标识符。
上层区域叫做【主干区域】,主干区域的标识符规定为0,0,0,0 主干区域是用来连通下层的区域~。
然后再这个系统里面还有个东西叫做【区域边界路由】,作用是进行区域之间的信息交换~
类似的,再主干区域中也有一个东西叫做【自治系统的边界路由】,用于本自治系统和其他自治系统交换路由信息!
【外部网关协议BGP】
现在使用的BGP协议大都是BGP-4,也叫边界网关协议
BGP的作用是自治系统之间的路由选择~
由于国家,政治,网络安全之类的关系,BGP协议比想象的要复杂的多~
由于各种因素的影响,BGP并非要寻找一条最佳的路由,而是寻找一条能够到达目的网络并且比较好的路由~
BGP采用的是路径向量路由选择协议~
相关文章推荐
- 我们一起学网络(七)——网络层(路由选择协议)
- Linux强大的网络功能是如何实现的,让我们一起进入Linux内核的网络系统了解一下吧。
- poj 1087 我们一起学习网络流吧
- 网络编程<一>---那些年我们一起学习linux程序设计 .
- 我们一起学网络(五)——网络层(子网划分和构成超网)
- 我们一起学网络(一)——数据链路层(PPP协议)
- 我们一起学网络(二)——数据链路层(CSMA/CD协议)
- [网络游戏网络底层开发]技术万岁,我们一起成长
- 【原创:让我们一起踏上攻防的征途】――第一课―网络攻防知道少?
- 我们一起学网络(三)——数据链路层(以太网)
- [原创]《让我们一起CCNA吧》 系列文章二:网络协议
- 我们一起学网络(四)——网络层(IP划分方式与ARP协议)
- 我们一起学网络(五)——网络层(子网划分和构成超网)
- ~那些年,我们一起学过的网络通信~01~两台电脑的单向交流~
- 我们一起学网络(六)——网络层(网际控制报文协议ICMP)
- 那些年,我们一起连过的WIFI!(PC)
- 我们一起老去
- 那些年我们一起用过的获取手机号码的系统
- 那些年,我们一起追寻的异步编程[系列]