路由相关题目解析

路由相关题目解析

直连路由和非直连路由加入路由表的条件分别是什么?

非直连路由:配置静态路由或运行动态路由选择协议,这一点没什么好说的,非常好理解。直连路由的这个就有点意思了,接口状态UP,要有IP地址和子网掩码,这一点在专业的网络设备上确实如此。

对这个问题稍微深刻一点的理解,我认为是这样,当我们在一个加电的网卡上(实际这个描述并不准确,IP地址并不是配置在网卡上,而是系统内部),配置上IP+掩码之后,对电脑来说意味着什么?对电脑意味着在添加一个直连的路由条目,这个路由条目怎么添加呢?电脑要根据掩码算于网络位,比如IP是10.100.14.11/24,那这个路由条目应该这么添加:

route add -net 10.100.12.0/24 <网卡>

我在windows和linux的路由表都多次验证过这个理论,而且在做网络编程的时候要对这个有清醒的认识。比如我们公司的一个终端盒子产品,初开发时就仅仅有一个LINUX内核,而且这个内核不完整,网络相关的模块要开发自己编写,在程序编写阶段就必须这么一个判断逻辑,根据用户配置的IP和掩码计算出网络位,然后将网络位指向的网段通过linux上的route add -net这个命令添加到系统当中。

还有一点需要说的,就是linux如果不指定掩码,仅有IP地址和接口UP这两个条件的话,其实也不会报错,直连路由也会正常,在linux的配置文件当中,如果我们不指定PREFIX或NETMASK就直接重启网络服务的话,LINUX系统会根据IP地址判断出IP的类别来,如果是A类就自动补8位的掩码,B类就补16的掩码,C类就补24位掩码。

# 当前两个网卡都是up的
[root@template ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:d4:06:db brd ff:ff:ff:ff:ff:ff
    inet 10.100.0.4/8 brd 10.255.255.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::6ce6:89a4:63e2:73b5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:d4:06:e5 brd ff:ff:ff:ff:ff:ff
    inet 10.100.12.37/24 brd 10.100.12.255 scope global noprefixroute dynamic eth1
       valid_lft 85529sec preferred_lft 85529sec
    inet6 fe80::a77d:63dc:c054:22e0/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

[root@template ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.100.12.1     0.0.0.0         UG    101    0        0 eth1
0.0.0.0         10.100.0.1      0.0.0.0         UG    102    0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0       U     102    0        0 eth0
10.100.12.0     0.0.0.0         255.255.255.0   U     101    0        0 eth1

# 现在down一个网卡,发现该网卡的默认路由和网段路由都消失了。
[root@template ~]# ifconfig eth0 down && route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.100.12.1     0.0.0.0         UG    101    0        0 eth1
10.100.12.0     0.0.0.0         255.255.255.0   U     101    0        0 eth1

静态路由的两种配置方式是什么?

答:

  • Ip route+目的网络网络号+掩码出接口+下一跳地址
  • Ip route-static+目的网络网络号+掩码出接口+下一跳地址

这样的答案也未免太没有灵魂了,干瘪~

这个问题,我一看就挺熟悉呀,因为在《HCNP路由交换学习指南》当中作者有过详细的阐述,我通过印象再简单写一下;

在不同的网络环境当中我们配置静态路由的方式也是不同的,大致可以分为两种网络环境,点到点和BMA、NBMA网络,如果在点到点的网络当中,我们指定完IP和掩码之后,即可指定下一跳IP、也可以直接指定网卡,也可以两者都指定。

但在MA网络环境当中,比如在一个局域网环境当中,这时候就不能仅指定网卡,因为网络里面的主机有很多,必须要指定下一跳IP。

有一个有意思的地方可以提一下,如果我们在MA网络环境当中就不指定下一跳IP,就非指定一个接口,这对路由器意味着什么?其实这么配置也能配置上,路由器也不会报错,但是这样路由器就会认为目标网络是自己接口的直连网络,当真的收到该网络的报文需要转发时,就会在该接口下直接发送ARP广播。

接口down了之后,路由表项的状态

4.静态路由的什么参数可以在不使用清空路由表命令的情况下,保证不管路由对应的出接口是不是up状态,静态路由都会一直存在于路由表中。

A.track

B. distance

C.permanent

D. preference

答:C

在默认的情况下,当一条路由的出接口down了之后,路由条目也会在路由表中消失。

[Huawei]ip route-static 192.168.100.0 255.255.255.0 192.168.0.2 permanent 
[Huawei]ip route-static 192.168.200.0 255.255.255.0 192.168.0.2
[Huawei]dis ip routing-table protocol static 
Static routing table status : <Active>
192.168.100.0/24  Static  60   0          RD   192.168.0.2     GigabitEthernet
0/0/0
192.168.200.0/24  Static  60   0          RD   192.168.0.2     GigabitEthernet
0/0/0
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]shutdown 
[Huawei-GigabitEthernet0/0/0]dis ip routing-table protocol static 
Static routing table status : <Active>
192.168.100.0/24  Static  60   0           D   0.0.0.0         NULL0
Static routing table status : <Inactive>
 192.168.200.0/24  Static  60   0               192.168.0.2     Unknown

当我们在华为路由器上进行查看时,发现,没有”永久“选项的并没有消失,只不过是从active变成了inactive了。

静态路由过滤

5.通过静态路由协议可以实现以下哪些协议的路由过滤?

A. OSPF

B. EIGRP

C. RIP

D. IS-IS

E. BGP

答:BCE

这个实验我没有做过,我先说一下我的猜想和思考,然后再做一下实验进行验证一下。

假设三个路由器,R1、R2、R3,全都运行了RIP,R3顺利获取了R1接入的1.1.1.0网段的路由,这时候,R2开始捣乱,R1手动设置了一个静态路由将去往1.1.1.0网段的路由下一跳乱指了一个,这样的话,在R2的路由表当中,RIP的路由表优先低比静态要低,路由表当中去往1.1.1.0网段的路由只有一条静态的,那R3还能正常转发吗?其实是不能了,因为RIP路由协议只传递路由表当中的通过RIP协议学到的,可是当R2的关于1.1.1.0的RIP表项被静态路由给顶掉了之后,路由表里面关于1.1.1.0的RIP表项就没有了,R2不向R3传递,所以R3就没有关于1.1.1.0的路由了。

RIP都验证过了,那OSPF、ISIS、BGP、EIGRP呢?这个验证起来太麻烦了,按理说所有的动态路由协议都应该有效的呀,为什么只有B、C、E呢?其实这个问题,大概一猜也差不多,因为OSPF和IS-IS并不会直接传递路由表,只有相互传递路由表的路由协议才会受此影响,换句话说,只有距离矢量路由协议和会受此影响,那RIP、EIGRP、和BGP都是距离矢量路由协议自然受此影响 。

这个实验我暂时没有做过,后面一定要做一下的,如果只听别人却不自己动手做,那感受与自己亲身验证的是非常不同的。

posted @ 2021-08-12 15:10  张贺贺呀  阅读(233)  评论(0编辑  收藏  举报