由路由原理想到的N个细节

路由条目的组成部分:目的地址/掩码 条目来源 cost值 优先级 下一跳 出接口

路由条目的来源:直连路由 静态路由 动态路由

路由的选路原则/原因

1:最长匹配原则 保证投递的准确性

2:递归查询     保证从直连路由投递出去/强制一跳一跳的投递

3:默认路由     走投无路了走默认,保证尽量投递出去而不丢弃

路由的cost值细节:只是衡量能力,不同来源的路由条目不具备可比性

静态路由  0(固定值,不可更改)

RIP       跳数(最大16,一旦为16了就不可达,进入抑制状态)

OSPF     链路带宽(100/带宽,所以OSPF的cost无最大最小值)

路由优先级细节:优先级值越小,优先级越高,进入路由表的可能性就越大,除了直连无法更改之外,其他均可修改其优先级

直连          0(固定值,不可更改)

OSPF(内部) 10

静态          60

RIP           150

总结特殊的路由条目、应用和细节:

直连路由:无需特殊配置,只要double UP并有IP地址,即进入路由表,并且cost值为0,优先级最大,优先级值为0,在路由表中,下一跳地址为自己端口IP,目的地址为本端口网段地址。

静态路由:手动配置,并且下一跳地址为直连链路上可达的地址(意思就是说,其下一跳地址,能在路由表中查询到其直连项目),才会被加入路由表中,cost值为0,优先级默认60(可更改)。

默认路由:目的地址和掩码全为0的静态路由,它继承了静态的所有特性,其掩码最短,所以保证了它是最后一个被匹配的路由条目。

黑洞路由:出接口为null(空)的静态路由,它继承了静态的所有特性,进入此接口的包均被丢弃,而不向源地址发送丢弃相应,通过合理设置掩码可以避免路由环路的产生。

总结:一个路由条目中包括如下项目

目的地址/掩码 条目来源 cost值 优先级 下一跳 出接口

通过合理设置不同的项目,不同的值,可以实现不同的效果

1.路由备份和负载分担(基于“流”的):(1).设置相同的目的地址,不同的下一跳地址,相同的优先级,那么这两条路由都会存在于路由表中,此时为负载分担,既然此时两条出接口都有数据流通过,那么此时这两条路由互相备份了;

(2).设置相同的目的地址,不同的下一跳地址,不同的优先级,那么此时只有优先级值小的那个条目进入路由表,当此出接口down掉,路由表删除此项目,将优先级值大的加入路由表中,此时就为路由备份。

2.默认路由:目的地址和掩码均为0。

3.黑洞路由:出接口设为null,数据被丢弃,通过设置目的地址相同,但短于正常掩码的值,可以防止路由环路的产生,此时路由优先匹配掩码最长的那个条目,当此接口down掉,此条目被从路由表中删除,那么只能匹配掩码小的这个黑洞路由。并且,不要试图给本地地址配置黑洞路由,原因是,本地地址属于直连路由,而直连路由有最高的优先级,在不改变此黑洞路由的优先级的情况下,默认优先级的黑洞路由是干不掉直连路由的,此时路由表中并无此默认优先级的黑洞路由。

4.如何根据全部的路由条目确定本地地址和其对应的接口呢?

当一个路由条目的目的地址的掩码为32,并且来源是direct(直连),并且下一跳地址为127.0.0.1,并且出接口为Inloop时,此条目的目的地址就绝对是本地一个地址,再根据此地址查看其它路由条目,找到与其相同的下一跳地址的条目,其出接口就为此地址的对应接口。

本文出自 “努力考IT” 博客,请务必保留此出处http://zbh3c.blog.51cto.com/4308082/953226

时间: 2024-10-30 02:32:03

由路由原理想到的N个细节的相关文章

Web APi入门之Self-Host寄宿及路由原理(二)

前言 刚开始表面上感觉Web API内容似乎没什么,也就是返回JSON数据,事实上远非我所想,不去研究不知道,其中的水还是比较深,那又如何,一步一个脚印来学习都将迎刃而解. Self-Host 我们知道Web API它可以快速为HTTP客户端提供API来创建Web服务,为何如此这样说呢?因为我们可以将其作为主机也就是一个服务器来用完全不需要IIS,这就是我们下面要讲的第一个内容Self-Host,实现对Web API寄宿的方式有多种并且都是独立于ASP.NET框架之外,如下Self-Host寄宿

HBase原理–所有Region切分的细节都在这里了

Region自动切分是HBase能够拥有良好扩张性的最重要因素之一,也必然是所有分布式系统追求无限扩展性的一副良药.HBase系统中Region自动切分是如何实现的?这里面涉及很多知识点,比如Region切分的触发条件是什么?Region切分的切分点在哪里?如何切分才能最大的保证Region的可用性?如何做好切分过程中的异常处理?切分过程中要不要将数据移动?等等,这篇文章将会对这些细节进行基本的说明,一方面可以让大家对HBase中Region自动切分有更加深入的理解,另一方面如果想实现类似的功能

HBase原理 – 所有Region切分的细节都在这里了

Region自动切分是HBase能够拥有良好扩张性的最重要因素之一,也必然是所有分布式系统追求无限扩展性的一副良药.HBase系统中Region自动切分是如何实现的?这里面涉及很多知识点,比如Region切分的触发条件是什么?Region切分的切分点在哪里?如何切分才能最大的保证Region的可用性?如何做好切分过程中的异常处理?切分过程中要不要将数据移动?等等,这篇文章将会对这些细节进行基本的说明,一方面可以让大家对HBase中Region自动切分有更加深入的理解,另一方面如果想实现类似的功能

详解路由器互联端口处于不同网段的路由方法和原理

如下图:两台cisco路由器相连接的两个端口不在同一个网络,如何实现两台路由器的互联?初看似乎绝对不可能,但是这是可行的,而且我已经把这个变成了现实.这里讲述配置的方法,以及解释原理. 这个就要讲到路由原理,路由器的作用其中之一是路由选择,但是路由选择的方法有两种,动态路由和静态路由.动态路由就是使用路由算法,智能化的算出路由,作出路由决策.静态路由相对就简单很多,一般几条命令就OK了. 更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Ne

一个由mobx observer引发的React Route路由失效问题探究

1. 问题描述 最近一直在使用React + React Router(v4.1.1) + Mobx做项目开发,相比繁琐的React + React Rotuer + Redux方案,爽的不要不要的,当然前提你得忍受Object.defineProperty拦截getter/setter带来的各种黑魔法问题.咳咳,这里不是Mobx大战Redux,就此打住.想了解的人可以去看一下女神Preethi Kasireddy在React Conf 2017上的演讲. 最近开发过程中确遇到一个问题,这里跟大

Lua中类的实现原理探讨(Lua中实现类的方法)_Lua

Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类. 下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲,相信对Lua中实现类的理解有困难的同学将会释疑. 类是什么? 想要实现类,就要知道类到底是什么. 在我看来,类,就是一个自己定义的变量类型.它约定了一些它的属性和方法,是属性和方法的一个集合. 所有的方法都需要一个名字,即使是匿名函数实际上也有个名字.这就形成了方法名和方法函数的键值映射关系,即方法名为键,映射的值为方法函数. 比如说有一个类是人,人有一个说话的

Linux系统IP路由的基础理论

也许你知道如何在Linux系统上用命令netstat或route来查找(甚至是增加/删除)已经存在的路由.但是在你做这些操作的时候你可能并不知道IP路由是如何工作的.本文将帮助你理解IP路由的原理,以及它是如何工作的.IP路由涉及到IP数据报文的转发.如果主机与目的主机直接相连,那么主机可以直接发送IP报文到目的主机,这个过程比较简单.例如,通过点对点的链接或通过网络共享.如果主机与目的主机没有直接相连,那么主机会将IP报文发送给默认的路由器,然后由路由器来决定往哪发送IP报文. IP路由涉及到

浅析linux likely unlikely的实现细节

#define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) 有人会问,为什么上面实现使用!!,其实这样起到了类型转化的作用,把非bool型的数据,转化成了bool型,从而实现比较. likely:x == 1 unlikely: x== 0 测试程序如下: #include <stdio.h> int main(){ int test_int = 100; printf(

iptables防火墙原理详解

1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数据包处理.地址伪装.透明代理.动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤.包速率限制等.Iptables/Netfilter的这些规则可以通过灵活组合,形