路由选择协议:OSFP协议、ISP协议、RIP协议
2019年10月19日18:00:40理解:路由器是网络层的设备采用的是网络层的协议,如OSFP协议。路由器是多个路由接口集合而成,路由接口用于访问该接口所属的网段,会有多路访问网段情况,路由接口有链路状态LSA,链路状态包含IP地址,子网掩码,网络类型和cost值等,通过建立邻居关系可以互换链路状态,收到的链路状态会链路状态数据库LSDB,我认为交换的应该是链路状态数据库,区域是用于简化OSFP计算,LSA只在区域内的路由接口进行交换,而且区域内会有一个“核心路由接口,我认为其应该是ABR”,IR和ABR交换LSDB,区域内IR不能直接交换LSDB,只能通过ABR间接交换,三个区域以上需要两个ABR,这两个ABR是一个区域,区域里通过ABR与ABR交换不同区域的LSDB,还有一个ASBR,J将外部路由协议重分布进OSFP,还待详细理解!DR和BDR是在多路访问网段时选择“核心”路由接口,多个路由器选择该网段符合要求的路由接口充当DR和BDR。然后再通过hub spoke交换不同路由器但是在该网段的路由接口的LSA,然后在对应单个路由器里面又可以通过“区域理论交换同个路由器不同接口的LSDB”,区域理论还认为同一个路由器可以运行多个OSFP进程,每个进程可以有多个区域。在此,认为“邻居”和“链接”的内容还待理解!多个OSFP进程中的多个不能可以包含多个接口,但是不存在交叉,没有ABR在交叉处,为什么链路状态是分进程分区域存放?为什么不交叉LSDB呢????邻居是基于路由器层面!!
从OSFP建立邻居,到LSA的互换,路由表的表计算,需要经过一系列数据包的交换。
启动OSFP,进行LSA互换,计算路由表的具体过程:建立连接关系:down------attempt-------init--------two-way(前面过程之后建立邻居状态)--------Exstart(确定 master和slaver根据routerID)--------exchange(提供DBD--返回LSR)-------loading(提供LSU包含链路状态)--------Full(链路状态数据库已经同步-路由表还在计算)
二层介质定义网络类型,
二层介质和邻居定义链路类型的不同???????会影响LSA。链路类型是一个大概念,一个链路上一个网段,链路是指无源的点到点!
路由器可以运行多个OSFP进程,OSFP可以将其他进程的OSFP进程的路由信息和其他外部协议的信息重分布进自己的域!!!!
预备知识:
1、传输层:数据段;网络层:报文分组(IP包);数据链路层:数据帧;物理层:比特流
2、网络层的数据平面和控制平面
数据平面,路由器输入链路之一的数据报如何转发到该路由器的输出链路之一。实现转发(通常几纳秒)。通过路由器种的常用硬件实现。
控制平面(一种网络范围的逻辑):控制在源主机和目的主机端到端的路径中的路由器如何收发数据(计算收发表),控制网络层组件和服务如何配置和管理(与路由器交互的控制器)!实现路由选择(通常几秒)。通过软件实现。
3、路由选择组件,路由选择功能,路由选择算法,路由选择协议,路由选择报文,路由选择设备,控制分组,路由选择协议信息,路由选择处理器计算和更新转发表
4、路由选择算法决定插入该路由器转发表的内容。
5、链路层功能和物理层功能,
物理层的基本功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
链路层的基本功能是通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。数据帧数据结构包括三部分:帧头,数据部分,帧尾。帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等。数据部分则包含网络层传下来的数据,比如IP数据包等!
4、最近开销路径的路由选择算法:
路由选择协议:OSFP协议(Open Shortest Path First-放的最短路径优先协议)
OSFP协议是开放的,由IETF开发,使用的算法是-Dijkstra算法,2019年10月19日20:21:19到达获取LSA通过计算获取routerID,然后根据routerID到达路由器,“计算路由表”该在哪呢????。
预备知识:
1 IP协议号:
2 跳数限制:
3 明文和MD5认证:
4 链路,路由器上的接口,值运行在OSPF进程下的接口。链路状态,包含接口上的IP地址,子网掩码,网络类型(链路层的类型OSI模型在第二层的定义二层介质类型,区别于RIP、EIGRP)和cost值等等。
5 路由表和转发表
6 下一跳
7 metric和Cost(100000000/接口带宽)的关系:cost是执行OSFP协议的路由器确定到达目的地的最佳路径的计量标准的实例。
metric:路由算法确定到达目的地的最佳路径的计量标准。
常用metric有:路径长度、可靠性、延迟、带宽、负载等。
在路径长度这一类中,不同协议有不同标准。如:RIP依据跳数(hop count),OSPF依据cost,EIGRP主要依据带宽K1和延时K3,还包括:bandwidth、reliability、load、MTU等参数。
8 routerID:同区域路由器的Router-ID并不是单独通过LSA来通告的,而是通过精确的LSA计算出来的!!IP地址和routerID是有联系,只有一个Loopback接口,那么Router ID就是这个Loopback的IP地址;如过没有Loopback接口,就选择IP地址最大的物理接口的IP地址为Router ID。但是此接口不能运行OSFP,所以不能接受OSFP报文。routerID连接两个域实现两个域间的通信。外部路由的routerID经过ASBR重分布会改成ASBR的routerID但是ABR转发ASBR的LSA是没有权利修改routerID,所以另一个区域接受到的LSA和routerID将寻找不到该routerID,所以ABR需要发送单独的LSA来告知如何到达ASBR的Router-ID!!!
9 Forward Address:在ASBR的路由表中,外部路由的下一跳地址是什么,那么在外部路由的LSA中Forward Address就是什么。外部路由的下一跳是否在OSFP进程里面,如果在,Forward Address就是在地址;如果不在,ASBR将Forward Address设置为0.0.0.0!!!
OSFP协议内容:
1 路由表的更新是增量更新,而不是周期性更新。只有路由发生变化时,才会发送更新,其实OSFP是周期性更新也是增量更新。到达路由刷新的时间阀值,路由会产生更新,OSFP协议下的路由表就会更新。
2、执行OSFP协议的路由器之间交换的不是路由表,而是链路状态,每个路由器都将收到的链路状态存在链路状态数据库。OSFP通过获取网络中的所有链路状态,计算出到每个目的的精确的网络路径。
3、OSPF区域,采用了Hub-Spoke的拓朴架构(核心与分支的拓朴)
是基于路由器的接口划分的,而不是基于整台路由器划分的,一台路由器可以属于单个区域,也可以属于多个区域。核心区域接受和转发LSA,并作为常规区域之间交换LSA的桥梁。常规区域之间不能直接交换LSA。
一台路由器可以运行多个OSPF进程,不同进程的OSPF,可视为没有任何关系,如需要获得相互的路由信息,需要重分布。每个OSPF进程可以有多个区域,而路由器的链路状态数据库是分进程和分区域存放的。
4、邻居
5、邻接(Adjacency)
两台OSPF路由器能够形成邻居,但并不一定能相互交换LSA,只要能交换LSA,关系则称为邻接(Adjacency)。邻居之间只交换Hello包,而邻接(Adjacency)之间不仅交换Hello包,还要交换LSA。
6、LSA类型-11中,理解1、2、3、4、5、7一共6种类型。根据区域类型,网络类型,连接类型,路由器身份的不同产生不一样的LSA。
类型1:router link,路由器层面,每个路由器只有一个类型1的LSA,该LSA集合了路由器各个接口的LSA。
类型2:network link,需要选举DR/BDR的网络类型中才会产生,并且只是DR产生,BDR没有权利产生。
类型3:Summary Link,区域层面,将一个区域的LSA发向另一个区域时的汇总和简化。
类型4:ASBR Summary Link,执行重分布的路由器ASBR其他区域无法到达该routerID,通过LSA 4可以到达。ABR单独发送的就是该LSA。
类型5:External Link,在外部路由重分布进OSPF时,由ASBR产生的。LSA 5包含ASBR的routerID和foreword address。
类型7:NSSA Link,LSA 7由NSSA区域的ASBR产生,LSA 7也只能在NSSA区域内传递,如果要传递到NSSA之外的其它区域,需要同时连接NSSA与其它区域的ABR将LSA 7 转变成LSA 5后再转发。
7、LSA各参数包含:LS Type,Link State ID,Link ID,Link Data。由于LSA类型不同,区域类型不同,网络类型不同,链路类型不同和路由器身份不同而不一样。
- LS Type 1~11
- Link State ID,LSA的简明信息,可以理解为LSA的标题,或者说是LSA的名称之类。
- Link ID,OSPF接口的链路状态,也就是LSA内容部分。
- Link Data,接口上的IP地址,如果链路类型(Link Type)为Stub Network Link,则Link Data是子网掩码
LSA类型 | Link State ID内容 |
---|---|
LSA 1 | 是产生LSA 1的路由器的Router-ID |
LSA 2 | 因为LSA 2是由DR产生的,所以LSA 2的Link State ID是DR的接口地址 |
LSA 3 | 是目标网络的网络地址,其实这个等同于路由条目 |
LSA 4 | 是ASBR的Router-ID |
LSA 5 | 是目标网络的网络地址,其实这个等同于路由条目 |
链路类型(Link Type) | Link ID内容 |
---|---|
Stub Network Link | 使用接口的网络号和子网掩码来表示 |
Point-To-Point Link | 邻居的Router-ID |
Transit Link | 是DR的接口地址 |
Virtual link | 同Point-To-Point Link,是邻居的Router-ID |