您好,欢迎来到 - 67学习网 - http://www.67xuexi.com !

路由技术基础知识详解

摘要:四、路由1、路由表如果一个主机有多个网络接口,当向一个特定的IP地址发送分组时,它怎样决定使用哪个接口呢?答案就在路由表中。来看下面的例子:目的 子网掩码 网关 标志 接口201.66.37.0 255.255.255.0 201.66.37.74 U eth0201.66.39.0 255.255.255.0 201.66.39.21 U eth1主机将所有目的地为网络201.66.37.0内主机(201.66.37.1-201.66.37.254)的数据通过接口eth0(IP地址为201.66.37.74)发送,所有目的地为网络201.66.39.0内主机的数据通过接口eth1(IP地址为201.66.39.21)发送。标志U表示该路由状态为“up”(即激活状态)。对于直接连接的网络,一些软件并不象上例中一样给出接口的IP地址,而只列出接口。此例只涉及了直接连接的主机,那么目的主机在远程网络中如何呢?如果你通过IP地址为201.66.37.254的网关连接到网络73.0.0.0,那么你可以在路由表中增加这样一项:目的 73.0.0.0掩
路由技术基础知识详解,标签:综合知识,http://www.67xuexi.com

  四、路由

  1、路由表

  如果一个主机有多个网络接口,当向一个特定的IP地址发送分组时,它怎样决定使用哪个接口呢?答案就在路由表中。来看下面的例子:

  目的 子网掩码 网关 标志 接口

  201.66.37.0 255.255.255.0 201.66.37.74 U eth0

  201.66.39.0 255.255.255.0 201.66.39.21 U eth1

  主机将所有目的地为网络201.66.37.0内主机(201.66.37.1-201.66.37.254)的数据通过接口eth0(IP地址为201.66.37.74)发送,所有目的地为网络201.66.39.0内主机的数据通过接口eth1(IP地址为201.66.39.21)发送。标志U表示该路由状态为“up”(即激活状态)。对于直接连接的网络,一些软件并不象上例中一样给出接口的IP地址,而只列出接口。

  此例只涉及了直接连接的主机,那么目的主机在远程网络中如何呢?如果你通过IP地址为201.66.37.254的网关连接到网络73.0.0.0,那么你可以在路由表中增加这样一项:

  目的   73.0.0.0

  掩码   255.0.0.0

  网关   201.66.37.254

  标志   UG

  接口   eth0

  此项告诉主机所有目的地为网络73.0.0.0内主机的分组通过201.66.37.254路由过去。标志G(gateway)表示此项把分组导向外部网关。类似的,也可以定义通过网关到达特定主机的路由,增加标志H(host):

  目的 掩码 网关 标志 接口

  91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

  下面是路由表的基础,除了特殊表项之外:

  目的 掩码 网关 标志 接口

  127.0.0.1 255.255.255.255 127.0.0.1 UH lo0

  default 0.0.0.0 201.66.37.254 UG eth1

  第一项是loopback接口,用于主机给自己发送数据,通常用于测试和运行于IP之上但需要本地通信的应用。这是到特定地址127.0.0.1的主机路由(接口lo0是IP协议栈内部的“假”网卡)。第二项十分有意思,为了防止在主机上定义到因特网上每一个可能到达网络的路由,可以定义一个缺省路由,如果在路由表中没有与目的地址相匹配的项,该分组就被送到缺省网关。多数主机简单地通过一个网卡连接到网络,因此只有通过一个路由器到其它网络,这样在路由表中只有三项:loopback项、本地子网项和缺省项(指向路由器)。

  2、重叠路由

  假设在路由表中有下列重叠项:

  目的 掩码 网关 标志 接口

  1.2.3.4 255.255.255.255 201.66.37.253 UGH eth0

  1.2.3.0 255.255.255.0 201.66.37.254 UG eth0

  1.2.0.0 255.255.0.0 201.66.37.253 UG eth1

  default 0.0.0.0 201.66.39.254 UG eth1

  之所以说这些路由重叠是因为这四个路由都含有地址1.2.3.4,如果向1.2.3.4发送数据,会选择哪条路由呢?在这种情况下,会选择第一条路由,通过网关201.66.37.253。原则是选择具有最长(最精确)的子网掩码。类似的,发往1.2.3.5的数据选择第二条路由。

  注意:这条原则只适用于间接路由(通过网关)。把两个接口定义在同一子网在很多软件实现上是非法的。例如下面的设置通常是非法的(不过有些软件将尝试在两个接口进行负载平衡):

  接口 IP地址 子网掩码

  eth0 201.66.37.1 255.255.255.0

  eth1 201.66.37.2 255.255.255.0

  对于重叠路由的策略是十分有用的,它允许缺省路由作为目的为0.0.0.0、子网掩码为0.0.0.0的路由进行工作,而不需要作为路由软件的一个特殊情况来实现。

  回头来看看CIDR,仍使用上面的例子:一个服务提供商被赋予256个C类网络,从213.79.0.0到213.79.255.0。该服务提供商外部的路由表只以一个表项就了解了所有这些路由:213.79.0.0,子网掩码为255.255.0.0。假设一个用户移到了另一个服务提供商,他拥有网络地址213.79.61.0,现在他是否必须 从新的服务提供商处取得新的网络地址呢?如果是,意味着他必须重新配置每台主机的IP地址,改变DNS设置,等等。幸运的是,解决办法很简单,原来的服务提供商保持路由213.79.0.0(子网掩码为255.255.0.0),新的服务提供商则广播路由213.79.61.0(子网掩码为255.255.255.0),因为新路由的子网掩码较长,它将覆盖原来的路由。

  3、静态路由

  回头看看我们已建立的路由表,已有了六个表项:

  目的 掩码 网关 标志 接口

  127.0.0.1 255.255.255.255 127.0.0.1 UH lo0

  201.66.37.0 255.255.255.0 201.66.37.74 U eth0

  201.66.39.0 255.255.255.0 201.66.39.21 U eth1

  default 0.0.0.0 201.66.39.254 UG eth1

  73.0.0.0 255.0.0.0 201.66.37.254 UG eth0

  91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

  这些表项分别是怎么得到的呢?第一个是当路由表初始化时由路由软件加入的,第二、三个是当网卡绑定IP地址时自动创建的,其余三个必须手动加入,在UNIX系统中,这是通过命令route来做的,可以由用户手工执行,也可以通过rc脚本在启动时执行。上述方法涉及的是静态路由,通常在启动时创建,并且没有手工干预的话将不再改变。

  4、路由协议

  主机和网关都可以使用称作动态路由的技术,这使路由表可以动态改变。动态路由需要路由协议来增加和删除路由表项,路由表还是和静态路由一样地工作,只是其增添和删除是自动的。

  有两种路由协议:内部的和外部的。内部协议在自制系统(AS)内部路由,而外部协议则在自制系统间路由。自制系统通常在统一的控制管理之下,例如大的公司或大学。小的站点常常是其因特网服务提供商自制系统的一部分。

  这里只讨论内部协议,很少有人涉及到甚至听说外部协议。最常见的外部协议是外部网关协议EGP(External Gateway Protocol)和边缘网关协议BGP(Border Gateway Protocol),BGP是较新的协议,在逐渐地取代EGP。

  5、ICMP重定向

  ICMP通常不被看作路由协议,但是ICMP重定向却与路由协议的工作方式很类似,所以将在这里讨论一下。假设现在有上面所给的六个表项的路由表,分组被送往201.66.43.33,看看路由表,除了缺省路由外,这并不能匹配任何路由。静态路由将其通过路由器201.66.39.254发送(trip 1),但是,该路由器知道所有发向子网201.66.43.0的分组应该通过201.66.39.253,因此,它把分组转发到适当的路由器(trip 2)。但是如果主机直接把分组发到201.66.39.253就会提高效率(trip 3)。

上一页  [1] [2] [3] [4]  下一页


Tag:综合综合知识知识常识 - 综合

《路由技术基础知识详解》相关文章