1. 路由器到底有几个路由表
目的网络 距离 下一跳
N1 7 A (原有路由不变)
N2 5 C (原来也是通过C但C变了所以B也得跟着变,跳数+1)
N3 9 C (新增,跳数+1)
N6 5 C (从C走更近,所以更新)
N8 4 E (这个不确定,到达N8的跳数一样是4,如果开销一样应该保持)
N9 4 F (走F更近所以保持)
2. 路由表中存放着什么内容
路由表中存放着路由条目,路由表是在路由器中维护的路由条目的集合,路由器根据路由表做路径选择。
路由表中的路由条目有到达直连网段的和非直连网段的两类。到达直连网段的路由条目是路由器自已发现的;到达非直连网段的路由条目有的是管理员手工添加的,有的是动态路由协议自动发现的。
路由表里存放的是到达目标网络的最佳路径,而不是到达目标网络的所有路径。
从源主机到目标主机有多条路径,在这些路径中总有一条路径是最好(最快)的。因此,为了尽可能地提高网络访问速度,就需要一种方法来判断出从源主机到目标主机经过的最佳路径是哪条,从而进行数据转发,这种找最佳路径的技术,就叫路由技术。比如RIP协议、OSPF协议,就是具体的路由技术。
(2)路由表可以存多少个网络地址扩展阅读
跨越从源主机到目标主机的一个互联网络来转发数据包的过程,称为路由。路由器根据路由表选择到达目标网络的最佳路径的过程,称为路由选择。
静态路由是由管理员在路由器中手动配置的固定路由,即,手工指定的到达某一网络的路径。
配置静态路由时,必须要指明:
1、要到达的目标网络地址。
2、到达目标网络必经的本路由器的出口的接口名称,或者是,到达目标网络必经的与本路由器出口直连的对端路由器的入口的IP地址。
3. 一个ip地址是否可能在一张路由表找到两个符合的目的网络,如果存在的话,该怎么办,比如:一张路由表有
优先选择掩码位最长的(最匹配),比如这里去5.2.1.129的目的路由就会选择5.2.1.128/25,虽然它同属于5.2.1.0/24和5.2.1.128/25网络,但是后者更精确更优。
4. 路由表中存储的哪个路由是网络上特定主机的路由或者包含网络地址
到特定主机的路由是静态路由。
5. 路由表的组成
路由表的结构
1.ART图像:路由表中的每项都由以下信息字段组成:
2.网络ID:主路由的网络ID或网际网络地址。在IP路由器上,有从目标IP地址决定IP网络ID的其他子网掩码字段。
3.转发地址:数据包转发的地址。转发地址是硬件地址或网际网络地址。对于主机或路由器直接连接的网络,转发地址字段可能是连接到网络的接口地址。
4.接口:当将数据包转发到网络ID时所使用的网络接口。这是一个端口号或其他类型的逻辑标识符。
5.跃点数:路由首选项的度量。通常,最小的跃点数是首选路由。如果多个路由存在于给定的目标网络,则使用最低跃点数的路由。某些路由选择算法只将到任意网络ID的单个路由存储在路由表中,即使存在多个路由。在此情况下,路由器使用跃点数来决定存储在路由表中的路由。
注意:前面的列表是路由器所使用的路由表中字段的典型列表。不同的可路由协议路由表中的实际字段可能会改变。
6. linux的路由表最大可以有多少条路由
使用route命令。
route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是 为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为 Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;要想永久保存,有如下方法:
1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
格式:route
格式:/sbin/route
用于打印路由表(display the current routing table)。
在非root用户使用时需要使用完整路径执行route命令。
命令参数
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
观察的参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
增加 (add) 与删除 (del) 路由的相关参数:
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等
格式:route -n
格式:/sbin/route -n
用于打印路由表,加上-n参数就是在输出的信息中不打印主机名而直接打印ip地址。
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
用于设置默认路由,其中,
参数{IP-ADDRESS): 用于指定路由器(网关)的IP地址;
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。使用/sbin/ifconfig -a可以显示所有接口信息。
例:route add default gw mango
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
添加到指定网络的路由规则,其中
参数{NETWORK-ADDRESS}: 用于指定网络地址
参数{NETMASK}: 用于指定子网掩码
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。
例1:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
例2:route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
例:route add -net 10.0.0.0 netmask 255.0.0.0 reject
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
用于删除路由设置。参数指定的方式与route add相似。
输出详解
route命令输出的路由表字段含义如下:
Destination 目标
The destination network or destination host. 目标网络或目标主机。
Gateway 网关
The gateway address or '*' if none set. 网关地址,如果没有就显示星号。
Genmask 网络掩码
The netmask for the destination net; '255.255.255.255' for a
host destination and '0.0.0.0' for the default route.
Flags:总共有多个旗标,代表的意义如下:
o U (route is up):该路由是启动的;
o H (target is a host):目标是一部主机 (IP) 而非网域;
o G (use gateway):需要透过外部的主机 (gateway) 来转递封包;
o R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
o D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
o M (modified from routing daemon or redirect):路由已经被修改了;
o ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
o A (installed by addrconf)
o C (cache entry)
Metric 距离、跳数。暂无用。
The 'distance' to the target (usually counted in hops). It is
not used by recent kernels, but may be needed by routing dae-
mons.
Ref 不用管,恒为0。
Number of references to this route. (Not used in the Linux ker-nel.)
Use 该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。
Count of lookups for the route. Depending on the use of -F and
-C this will be either route cache misses (-F) or hits (-C).
Iface 接口,即eth0,eth0等网络接口名
Interface to which packets for this route will be sent.
范例一
单纯的观察路由状态
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
此外,观察一下上面的路由排列顺序喔,依序是由小网域(192.168.10.0/24 是 Class C),逐渐到大网域(169.254.0.0/16 Class B) 最后则是预设路由 (0.0.0.0/0.0.0.0)。然后当我们要判断某个网路封包应该如何传送的时候,该封包会经由这个路由的过程来判断喔!举例来说,我上头仅有三个路由,若我有一个传往 192.168.10.20 的封包要传递,那首先会找 192.168.10.0/24 这个网域的路由,找到了!所以直接由 eth0 传送出去;如果是传送到 Yahoo 的主机呢? Yahoo 的主机 IP 是 202.43.195.52,我通过判断
1)不是 192.168.10.0/24,
2)不是 169.254.0.0/16 结果到达
3)0/0 时, OK !传出去了,透过 eth0 将封包传给 192.168.10.30 那部 gateway 主机啊!所以说,路由是有顺序的。因此当你重复设定多个同样的路由时,例如在你的主机上的两张网路卡设定为相同网域的 IP 时,会出现什么情况?会出现如下的情况:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个接口 (eth0, eth1) 所接收,都会由上述的 eth0 传送出去,所以,在一部主机上面设定两个相同网域的 IP 本身没有什么意义!有点多此一举就是了。除非是类似虚拟主机 (Xen, VMware 等软体 ) 所架设的多主机时,才会有这个必要~
范例二
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面这个动作可以删除掉 169.254.0.0/16 这个网域!
# 请注意,在删除的时候,需要将路由表上面出现的资讯都写入
# 包括 netmask , dev 等等参数喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透过 route add 来增加一个路由!请注意,这个路由必须要能够与你互通。
# 举例来说,如果我下达底下的指令就会显示错误:
route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254这个网段直接使用 MAC 互通!这样说,可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
# 增加预设路由的方法!请注意,只要有一个预设路由就够了喔!
# 在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网路
/etc/init.d/network restart
如果是要进行路由的删除与增加,那就得要参考上面的例子了,其实,使用 man route 里面的资料就很丰富了!仔细查阅一下罗!你只要记得,当出现‘SIOCADDRT: Network is unreachable’这个错误时,肯定是由于 gw 后面接的 IP 无法直接与您的网域沟通 (Gateway 并不在你的网域内)。
7. 电脑上获取的路由表默认可以保存多长时间
一个用于
TCP/IP
协议的配置项,是一个可直接到达的
IP
路由器的
IP
地址。配置默认网关可以在
IP
路由表中创建一个默认路径。
一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
手动设置
手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。
在Windows
9x中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的IP地址就可以了。
需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
自动设置
自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。
另外一种自动获得网关的办法是通过安装代理服务器软件(如MS
Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了。
如果开始看路由知识的话,就会容易明白了,
进入命令行模式:
c:\>route
print
会有一条路由:
0.0.0.0
0.0.0.0
默认网关的IP
接口(机器的IP)
跳数
比如我的机器:
0.0.0.0
0.0.0.0
192.168.100.254
192.168.100.233
1
意思是:所有的需要转发的数据包,都经过默认网关的IP(接口)发送出去,当然返回也是从那里经过
望采纳。
8. 路由表 120K 能存多少路由条目
路由表:可以认为是一个记录了路由条目的表格
路由条目:一条路由
路由:到达指定ip或者主机的下一跳;通俗说就是你想到达哪里,下一步往哪里走。
路由分类:
动态路由:有不同的路由协议可以通过广播、组播来获取最新的路由信息,所以获取方式是动态通信获得。
静态路由:长时间不变的路由,可以是系统默认的也可以是手动设置的。
默认路由:系统默认的
9. 为何路由表只存放网络地址的信息,而不存放网络主机的信息
路由器只存放路由表。
你说的存放网络主机的物理地址等信息那是交换机的事。