1、路由协议:直连路由=c静态路由=s 手工动态路由=通过路由算法自动学习自动更新*进入到路由表的都是 best path路由协议按照区域划分:AS:自制系统,在 AS 内运行的是相同的路由选路协议和策略IGP:内部网关协议RIP,IGRP,EIGRP,OSPF,IS-ISEGP:外部网关协议BGP 边界网关协议动态路由协议分类:1、距离矢量协议既有距离又有方向,他是通过周期传递整张路由表发送给他的邻居,通过广播或者组播发送,邻居通过接收的路由表来推测出整个网络的路由,写入路由表,所以他也叫谣传路由协议RIP 路由信息协议,贝尔曼福特算法BGPEIGRP2、链路状态协议路由器之间通过发送 hell
2、o 信息来建立起邻居关系,形成第一张表叫邻居表,然后彼此传递彼此的链路状态信息 LSA(接口的状态 up/down,IP 前缀)形成链路状态数据库,彼此进行传递,相当于拥有了网络的拓扑,然后再利用 SPF 最短路径优先算法,以自己为源,所有 LSDB 链路状态数据库中的未知 LSA 为目的,计算出一条最短的路由,放入到路由表中的协议叫链路状态协议。邻居表链路状态数据表路由表算法:spf 算法最短路径优先算法OSPF 开放最短路径优先协议IS=IS 中间系统到中间系统路由协议两个重要的数值:管理距离不同的路由选路协议,哪个最优选,为 AD 数值0-255metric 度量值相同的路由选路协议下,
3、来计算那条路径最优先的,他直接影响路由表的表项。OSPF 的特定 metrice0=10F0/0=1loopback=1S0=64OSPF 跟 RIP 不同,他更新的是 LSA 信息,而不是路由信息,而且他的 best path 是算出来的。OSPF 的 LSA 更新特点:1、周期更新。30 分钟2、链路更新,当有新的链路加入的时候。立即更新。更新的数据包:1、 LSR 链路状态请求2、 LSU 链路状态更新3、 LSACK 链路状态收到确认OSPF 的通过什么来知道需要更新?通过 LSDB 中有一个 LSA seq number 的数值每一个 LSA 在进入到 OSPF 的 LSDB 中,都
4、会被赋予了一个 SEQ number 的数值,这个数值是随机也是统一的。例子:我给你一个东西,seq number 100,你把它放到数据库的时候,也是 100,当我更新了我就加一,变成 101,当我把 101 传递给你的时候,你会比较,如果你比我大,你就更新,一样大,就保持。分析更新的过程:图例:1、当有一个 LSA 过来的时候,他是 LSU,链路状态更新2、首先需要判断,这个 LSA 过来,我的 LSDB 中,有?没有?3、没有!直接添加进入 LSDB,并且返回一个 LSACK,告诉对方我收到了。然后给出了来源之外的所有的自己的 OSPF 的neighbor 来 fooding 这个 LS
5、A,在泛洪的同时,用 SPF 之间来计算出到达这个最新的 LSA 的best path,并且放入到你自己的路由表中。4、如果有这个 LSA,那就比较他们之间的 SEQ NUMBER,如果相同,那么就不接收,如果不同,那么就看谁的大,如果比我大,那么我就更新了,并且返回 ACK 信息,回到第三步。*OSPF 通过周期更新来进行 LSDB 的稳定性校验,通过链路更新来保证最新的 LSA 的同步协议号:映射传输层端口号:映射应用层以太网中,有一个 ehter-type,映射网络层OSPF 包头格式的分析:1、版本信息2、类型代表的是 OSPF 数据包作用hello 你好,做邻居DBD 数据库描述LS
6、RLSULSACK3、数据包头的长度4、路由 ID用一个地址,来标识 OSPF 设备在网络中的标记一般情况下,我们都用 loopback 来标识,因为他是不 down,而且我们都是手工指定的5、区域 ID6、校验对包的格式进行检查7、认证类型0 不认证1 明文2 密文8、认证的密钥9、数据对上面的 debug 进行分析:收到了一个数据包,版本是 2,type 是 1 是 hello,长度是 48,路由 ID10.0.0.12,区域是1,(区域是 32 位) ,校验,认证 0 不认证,从端口 S0/0/0.2 收到的。对 hello 首先进行分析:1、 路由 ID2、 Hello 的间隔是死亡时
7、间3、 邻居4、 区域 ID5、 路由的优先级,记住只有在广播环境中才可以使用6、 DR7、 BDR(DR 和 BDR 也只存在于广播环境中)8、 认证密码9、 末节区域的标记*重点黄色的部分邻居之间必须一致,才可以启动邻居关系。OSPF 邻居建立的 7 个过程:Down 状态:就没有启动 OSPF 的信息Init:初始化状态,首先一个设备向他的接口去发送 hello 信息,这个信息中包含了自己的路由 ID,这个具有不确定性。发送的目的组播地址 224.0.0.5,在初始化状态中,如果有人也在,也会针对你的信息,进行回应,这个回应是单播信息。Two-way 状态:双向确认状态,来比较 hell
8、o 包中黄色的部分是否一致。Exstart state:交互状态。1、 在点对点的环境中,你需要先选择主/从关系。谁的路由 ID 大,谁先介绍自己,发送DBD 描述。2、 在广播环境中,你需要在这个过程中,选择出 DR/BDRExchange state:更新状态:更新状态中,他不是把整个的自己的 LSDB 中的 LSA 传递给对方,传递的是数据库描述信息。因为,DBD 描述是最小的,而且,对方收到后,才可以,缺少什么他要什么。他们收到彼此的 DBD,会返回一个单播的 ACK 消息。Loading 状态:当我发现我的 LSDB 中,缺少你发送过来的 DBD 中的某一个 LSA 的时候,我会给你 LSR,然后你会给我 LSU,然后我再给你 LSACK,直到你的 LSDB 和对方完全同步。FULL 状态:完成结束这个更新的过程,LSDB 趋于稳定状态。OSFP 的五种网络类型:1、 点对点在帧中继物理接口的点对点中,一定要手工的输入 ip ospf net point-to-point 的命令,他才可以起来。帧中继的子接口:物理接口下面的一种逻辑接口帧中继的子接口解决的是水平分割的问题子接口:点对点特点默认就是 S 口,不需要输入 ip ospf net point-to-point多点特点就是点对多点