一、BGP选路原则?(属性有哪些?)
路由属性是对路由的特定描述,所有的 BGP 路由属性都可以分为以下 4 类
- 公认必须遵循(Well-known mandatory):所有 BGP 设备都可以识别此类属性,且必须存在于 Update 报文中。如果缺少这类属性,路由信息就会出错。
- 公认任意(Well-known discretionary):所有 BGP 设备都可以识别此类属性,但不要求必须存在于 Update 报文中,即就算缺少这类属性,路由信息也不会出错。
- 可选过渡(Optional transitive):BGP 设备可以不识别此类属性,如果 BGP 设备不识别此类属性,但它仍然会接收这类属性,并通告给其他对等体。
- 可选非过渡(Optional non-transitive):BGP 设备可以不识别此类属性,如果 BGP 设备不识别此类属性,则会被忽略该属性,且不会通告给其他对等体。-以下是每个属性的细节
- Origin 属性Origin 属性用来定义路径信息的来源,标记一条路由是怎么成为 BGP 路由的。它有以下 3 种类型:
- IGP:具有最高的优先级。通过 network 命令注入到 BGP 路由表的路由,其 Origin 属性为 IGP。
- EGP:优先级次之。通过 EGP 得到的路由信息,其 Origin 属性为 EGP。
- Incomplete:优先级最低。通过其他方式学习到的路由信息。比如 BGP 通过 import-route命令引入的路由,其 Origin 属性为 Incomplete。
- - AS_Path 属性AS_Path 属性按矢量顺序记录了某条路由从本地到目的地址所要经过的所有 AS 编号。在接收路由时,设备如果发现 AS_Path 列表中有本 AS 号,则不接收该路由,从而避免了 AS 间的路由环路。当 BGP Speaker 传播自身引入的路由时:
- 当 BGP Speaker 将这条路由通告到 EBGP 对等体时,便会在 Update 报文中创建一个携带本地 AS 号的 AS_Path 列表。
- 当 BGP Speaker 将这条路由通告给 IBGP 对等体时,便会在 Update 报文中创建一个空的AS_Path 列表。当 BGP Speaker 传播从其他 BGP Speaker 的 Update 报文中学习到的路由时:
- 当 BGP Speaker 将这条路由通告给 EBGP 对等体时,便会把本地 AS 编号添加在 AS_Path列表的最前面(最左面)。收到此路由的 BGP 设备根据 AS_Path 属性就可以知道去目的地址所要经过的 AS。离本地 AS 最近的相邻 AS 号排在前面,其他 AS 号按顺序依次排列。
- 当 BGP Speaker 将这条路由通告给 IBGP 对等体时,不会改变这条路由相关的 AS_Path属性。
- Next_Hop 属性Next_Hop 属性记录了路由的下一跳信息。BGP 的下一跳属性和 IGP 的有所不同,不一定就是邻居设备的 IP 地址。通常情况下,Next_Hop 属性遵循下面的规则:
- BGP Speaker 在向 EBGP 对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立 BGP 邻居关系的接口地址。
- BGP Speaker 将本地始发路由发布给 IBGP 对等体时,会把该路由信息的下一跳属性设置为本地与对端建立 BGP 邻居关系的接口地址。
- BGP Speaker 在向 IBGP 对等体发布从 EBGP 对等体学来的路由时,并不改变该路由信息的下一跳属性。
- Local_Pref 属性Local_Pref 属性表明路由器的 BGP 优先级,用于判断流量离开 AS 时的最佳路由。当 BGP 的设备通过不同的 IBGP 对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择Local_Pref 属性值较高的路由。Local_Pref 属性仅在 IBGP 对等体之间有效,不通告给其他AS。Local_Pref 属性可以手动配置,如果路由没有配置 Local_Pref 属性,BGP 选路时将该路由的 Local_Pref 值按缺省值 100 来处理。
- MED 属性MED(Multi-Exit-Discriminator)属性用于判断流量进入 AS 时的最佳路由,当一个运行 BGP的设备通过不同的 EBGP 对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择 MED 值较小者作为最佳路由。MED 属性仅在相邻两个 AS 之间传递,收到此属性的 AS 一方不会再将其通告给任何其他第三方 AS。MED 属性可以手动配置,如果路由没有配置 MED 属性,BGP 选路时将该路由的MED 值按缺省值 0 来处理。
社团属性
二、NAT的作用?
- 在一定程度上缓解 IP 地址空间枯竭的压力
- 有效避免来自外网的攻击,可以很大程度上提高网络安全性(屏蔽私网 ip)
- 控制内网主机访问外网,同时也可以控制外网主机访问内网,解决了内网和外网不能互通的问题
三、Ripv1与ripv2的区别?(RIPV2改进的地方)
1.RIPv1是有类路由协议,RIPv2是无类路由协议。
2.更新方式(发送RIP数据包的方式)
RIPv1使用广播发送
RIPv2使用组播发送,组播地址为224.0.0.9
3.更新时是否携带掩码
RIPv1不携带真实掩码---有类别的路由协议,不支持子网划分和子网汇总
RIPv2携带真实掩码---无类别的路由协议,支持子网划分和子网汇总
4.RIPv2支持手工认证-----也就是对路由器身份的核实;确保传递信息的安全性
认证:在更新的数据包中携带秘钥或对数据进行加密在传输
5.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略。
6.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定。
四、RIP出现环路原因?解决方法。
产生原因:时间差---由于RIP采用异步更新,和周期更新相遇,将可能导致环路产生(周期更新都是30s,都是由于设备开启时间不同)
不能采用同步更新-----部署困难,同步更新在开启的一瞬间网络中数据吞吐量会非常大
解决方法:
解决方式:
- 触发更新
指当RIP路由表中的某些路由项的内容发生改变时,路由器应该立即向它的所有邻居发布响应消息,并不是等待更新定时器所规定的下一个响应消息的发送时刻。
为了减少带宽和路由器处理资源的浪费,触发更新的响应消息中只需要包含路由消息发生改变了的路由项
- 水平分割
该方法可以在很大的程度上降低路由环路的产生,但是无法完全的避免路由环路的产生。
原理是:如果一个路由器的RIP路由表中目的地/掩码为z/y的路由信息时通过该路由器的Interface-x接口学习而来的,则该路由器在通过Interface-x接口向外发送响应消息时,响应消息是一定不能包含该z/y这个路由项的信息的。
- 毒性逆转
毒性逆转原理
原理是:如果如果一个路由器的RIP路由表中目的地/掩码为z/y的路由信息时通过该路由器的Interface-x接口学习而来的,则该路由器在通过Interface-x接口向外发送响应消息时,响应消息是需要包含z/y这个路由项的,但是这个路由项的Cost总要设置为16,即不可达。
华为默认开启水平分割
若水平分割和毒性逆转同时开启,则按照毒性逆转执行