2020-10-22

数据通讯各协议防环机制

1 STP 防环
二层利用生成树协议防环,三层利用TTL防环。
2 ospf 防止环路
区域内:lsa1 lsa2根据spf算法进行防止环路。
区域间:1)特殊区域结构,组成一个类似星型的拓扑结构,即非0区域必须与骨干区域相连。这样使得区域间的路由传递不会发生在两个非0的区域之间。
2)区域间水平分割,从一个非骨干区域学习到的lsa3不会再回传该骨干区域。
区域外:lsa4与lsa3防环规则一直。当lsa5lsa7的FA地址为全0,则根据lsa4防环。当FA地址非全0,根据lsa1lsa2lsa3防环。
3 ISIS 防止环路
Level1区域的路由不会传递到level2区域,level12上会维护两张表项。路由泄露场景可以利用策略打上tag防止环路,这里不做多讨论。
4 BGP防止环路
As内防止环路:1)ibgp邻居之间通过水平分割来防止环路。
2)配置路由反射器之后,通过cluster_list防止环路,路由反射器的客户机通过originator_id防止环路。
As间防环:ebgp邻居通过as_path防止环路
5 MPLS 防止环路
通过igp防止环路
通过ldp和igp同步防止环路(华为默认关闭)
通过ttl防止环路:1)uniform模式,ip报文到达mpls域之后,在入节点,ip ttl 减1映射到mpls ttl字段。此后报文在mpls网络中按照处理方式处理在出节点将mpls ttl减1后映射到ip ttl字段ps:后面有配图。
2)pipe模式,在入节点 ip ttl 值减1。mpls ttl 字段为固定值,此后报文在mpls网络中按照标准的ttl处理方式处理。在出节点会将ip ttl 字段值减1。ip分组经过mpls网络时,无论多少跳,ip ttl只在入节点和出节点分别减1。ps:相比较pipe模式更加隐蔽,在mpls VPN 中要隐藏mpls骨干网络结构,所以用pipe模式比较好ps:后面有配图。
6 组播防止环路 RPF检查
检查要素{单播路由,mpbgp路由,组播静态路由}
检查过程:首先,通过报文源地址,分别从单播路由表,mbgp路由表和组播静态路由表中分别选出一条最优路由。单播路由和mbgp路由的出接口为rpf接口,下一跳为rpf邻居。组播静态路由属于手工配置的组播路由,已经明确指定了rpf接口和rpf邻居。
然后,根据以下原则从这三条最优路由中选择一条作为RPF路由:1如果配置了按照最长匹配原则选择路由,则从这三条路由中选举最长匹配的那条路由。如果这三条路由掩码一致则选择优先级高的那条。如果优先级也相同,则按照组播静态路由>mbgp路由>单播路由的顺序进行选择。2如果没有按照最长匹配原则选择路由,则从这三条路由中选出优先级高的那条路由。如果优先级相同,则按照组播静态路由>mbgp路由>单播路由的顺序进行选择。
最后,路由器会将报文中的入接口与RPF 接口进行比较,如果一致则通过,表明该报文来回源路径正确,会将其下游转发。如果不一致则RPF检查失败,表明该报文的来源路径错误,将其丢弃。
Rpf检查在组播数据转发中的应用:
组播路由协议通过已有的单播路由、MBGP路由或组播静态路由信息来确定上、下游邻居设备,创建组播路由表项。运用RPF检查机制,来确保组播数据流能够沿组播分发树(路径)正确的传输,同时可以避免转发路径上环路的产生。在实际组播数据转发过程中,如果对每一份接收到的组播数据报文都通过单播路由表进行RPF检查,会给路由器带来很大负担。因此,路由器在收到一份来自源S发往组G的组播数据报文之后,首先会在组播转发表中查找有无相应的(S,G)组播转发表项:如果不存在(S,G)转发表项,则对该报文执行RPF检查,将检查到的RPF接口作为入接口,创建组播路由表项,下发到组播转发表中。其中,对RPF检查结果的处理方式为:如果检查通过,表明接收接口为RPF接口,向转发表项的所有出接口转发;如果检查失败,表明报文来源路径错误,丢弃该报文。如果存在(S,G)转发表项,并且接收该报文的接口与转发表项的入接口一致,则向所有的出接口转发该报文。如果存在(S,G)转发表项,但是接收该报文的接口与转发表项的入接口不一致,则对此报文进行RPF检查。对RPF检查结果的处理方式为:若RPF检查选取出的RPF接口与转发表项的入接口一致,则说明(S,G)表项正确,报文来源路径错误,将其丢弃。若RPF检查选取出的RPF接口与转发表项的入接口不符,则说明(S,G)表项已过时,于是把表项中的入接口更新为RPF接口。然后再根据RPF检查规则进行判断:如果接收该报文的接口正是其RPF接口,则向转发表项的所有出接口转发该报文,否则将其丢弃。
7 ppp 魔术字
每个configure-request报文都会产生一个魔术字,如果链路另一方收到configure-request报文后,其含有的魔术字需要和本地产生的魔术字做比较,如果不同,表示链路无环,则使用configure-ack报文确认,表示魔术字协商成功。在后续发送的报文中,如果报文含有魔术字字段,则设置为协商成功的魔术字,lcp不再产生新的魔术字。
如果收到的configure-request报文和自身产生的魔术字相同,则发送一个configure_nak报文,并且携带一个新的魔术字.。然后不管我收到的nak报文中是否携带魔术字,lcp都发送一个新的request报文,携带一个新的魔术字。如果链路有环路则这个过程不停的执行,无环则恢复正常。mpls uniform模式图解mpls pipe模式图解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值