1. 什么是路由?什么是路由选择?
跨越从源主机到目标主机的一个互联网络来转发数据包的过程,称为路由。
路由器根据路由表选择到达目标网络的最佳路径的过程,称为路由选择。
2. 什么是路由技术?
从源主机到目标主机有多条路径,在这些路径中总有一条路径是最好(最快)的。因此,为了尽可能地提高网络访问速度,就需要一种方法来判断出从源主机到目标主机经过的最佳路径是哪条,从而进行数据转发,这种找最佳路径的技术,就叫路由技术。比如RIP协议、OSPF协议,就是具体的路由技术。
3. 路由表里存放的是什么样的路径信息?
路由表里存放的是到达目标网络的最佳路径,而不是到达目标网络的所有路径。
4. 什么是路由表?路由表是怎么形成的?
路由表是在路由器中维护的路由条目的集合,路由器根据路由表做路径选择。
路由表中的路由条目有到达直连网段的和非直连网段的两类。到达直连网段的路由条目是路由器自已发现的;到达非直连网段的路由条目有的是管理员手工添加的,有的是动态路由协议自动发现的。
5. 什么是静态路由?配置静态路由时需指明哪些内容?
静态路由是由管理员在路由器中手动配置的固定路由,即,手工指定的到达某一网络的路径。
配置静态路由时,必须要指明:①要到达的目标网络地址。②到达目标网络必经的本路由器的出口的接口名称,或者是,到达目标网络必经的与本路由器出口直连的对端路由器的入口的IP地址。
6. 静态路由有哪些特点?
①允许对路由的行为进行精确的控制。由于静态路由是手动配置的,管理员就可以通过静态路由来控制数据包在网络中的行程。因为需要手动配置,所以静态路由适用于规模不大的网络。
②静态路由不占用网络流量。动态路由需要路由器之间自动发送路由信息,要占用网络带宽。
③静态路由是单向的。要使双方能通信,通信双方主机所在的路由器上都要配置到达对方的静态路由。
④静态路由缺乏灵活性。当网络拓扑改变的时候,无法自动适应这种改变,只能由管理员手动来重新配置。所以,静态路由适用于拓扑结构相对固定的网络。
7. 如何配置静态路由?
配置静态路由的命令的格式为:
router(config)# ip route network [mask] {address | interface} [distance] [permanent]
其中各参数含义如下:
network:目标网络的网络ID。
mask:目标网络的子网掩码。
address:到达目标网络经过的下一跳路由器的入口IP地址。
interface:到达目标网络的必经的本地路由器的出口的接口名称。
distance:管理开销,不需要改变默认管理开销时,使用该参数进行修改。
permanent:永久有效。如果配置了该选项,即使该接口被关闭,这条静态路由也不会被删除。
例:ip route 192.168.1.0 255.255.255.0 192.168.2.1
其中,192.168.1.0是目标网络的网络ID;255.255.255.0是目标网络的子网掩码;192.168.2.1是下一跳路由器的与本路由器直连的那个接口的IP地址。
上例也可以写成:ip route 192.168.1.0 255.255.255.0 S0
其中,S0是到达192.168.1.0网络的本路由器的出口的接口名称。
8. 什么是默认路由?默认路由用在什么场合?
默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配表项时,路由器使用的路由。
一台路由器上只能配置一条默认路由。因为默认路由不是精确的路由,所有,默认路由有可能不是最好的路由。默认路由的优先级是最低的,路由表中没有匹配项时,才使用默认路由。
默认路由一般用在末稍网络,所谓末稍网络,是指只有一个唯一出口的网络。
默认路由的配置方法为:# ip route 0.0.0.0 0.0.0.0 下一跳IP地址。
9. 主机如何判断目标主机跟自己是否在一个网络?
主机发送数据之前,首先判断目标主机是否跟自己在一个网络中,如果在一个网络中,就发送ARP广播请求目标主机的MAC地址;如果不在一个网络中,就发送ARP广播请求网关的MAC地址。
判断目标主机的方法是:用自己的掩码与目标IP进行与运算,得出目标IP的网络ID,把目标的网络ID与自己的网络ID进行比较,如果ID号相同,就是属于同一个网络。
10. 交换机和路由器的对比。
交换机 |
路由器 |
工作在数据链路层 |
工作在网络层 |
根据目标MAC地址把数据送到相应端口 |
根据目标IP地址把数据送到相应端口 |
用于局域网内 |
连接不同的网络 |
隔离冲突,但不能隔离广播 |
既隔离冲突,又隔离广播 |
11. 路由器的硬件构成如何?
处理器:CPU,路由器的转发速度取决于CPU的速度。
存储器:
①RAM:存储了配置文件running-config;IOS(操作系统)运行起来后,调入此内存。一旦掉电则存储内容丢失。
②ROM:存储了启动和维护路由器基本功能的微代码。
③Flash:相当于计算机的硬盘。存储IOS软件。
④NVRAM:存储启动配置文件startup-config和配置寄存器configuration register。configuration register里面的值,决定了路由器启动时要不要加载startup-config中的配置信息。
12. 路由器的启动过程是怎么样的?
加电自检(post)—装载运行自主引导代码(bootstrap)—查找IOS软件—装载IOS软件—寻找配置文件-如果没有找到配置文件,则进入setup模式。
加载IOS之后,先到NVRAM中读取配置寄存器,根据配置寄存器中的值,决定是加载还是绕过startup-config。
13. 什么是EXEC会话?
对IOS命令行接口的访问也称为EXEC会话。用户模式也叫用户EXEC模式,特权模式也叫特权EXEC模式。
14. 路由器的常用接口有哪些?
异步串口(serial口,常用);以太口、快速以太口、千兆以太口(ethernet口,常用);IDSN接口;帧中继口(Frame Relay);ATM口等。
15. 什么是DTE?什么是DCE?他们的关系如何?
DTE是数据终端设备。是指广域网连接中用户端的设备。
DCE是数据通讯设备。是指广域网连接中服务提供商提供的距离用户最近的设备。负责将用户数据传输给服务提供商,并向DTE设备提供时钟信号。
DCE和DTE用串口线连接,其中要在串口线的DCE一端为DTE配置时钟频率。
16. 两台通过串口相连的路由器,需要做哪些配置才能正常通信?
①用“show controllers serial +端口”命令,查看哪一端是DTE,哪一端是DCE。
②在DCE一端做如下配置: router(config-if)# clock rate 64000
router(config-if)# no shut
③在DTE一端做如下配置: router(config-if)# no shut
④给两个端口配置IP地址。
17. Serial0/0和Serial0/1表示什么意思?
serial表示接口类型是串口。
serial0/0表示第一个槽位的第一个接口。
18. 路由器的工作原理是什么?
路由器的某一个接口接收到一个数据包时,会查看包中的目标网络地址以判断该包的目的地址在当前的路由表中是否存在(即路由器是否知道到达目标网络的路径)。
如果发现包的目标地址与本路由器的某个接口所直接连接的网络地址相同,那么马上把数据转发到相应接口(即直连路由的优先级最高);
如果发现包的目标地址不是自己的直连网段,路由器会继续查看自己的路由表,查找包的目的网络所对应的接口,并从相应的接口转发出去;
如果路由表中记录的网络地址与包的目标地址不匹配,则把数据送到默认路由中指定的接口。如果没有配置默认路由,则会给用户返回目标地址不可达的ICMP信息。
19. 路由有哪几种类型?各种路由的特点是什么?
路由分为静态路由、默认路由和动态路由。
①静态路由是由管理员在路由器中手工配置的固定的路由。静态路由允许对路由的行为进行精确的控制、减少了网络流量(动态路由需要定期发送消息以维持关系)、具有单向性以及配置简单。通常情况下,静态路由的优先级高于动态路由。
②默认路由是静态路由的一种,是指当路由表中与包的目标地址之间没有匹配的表项时路由器所使用的路由。
默认路由的配置命令如下:
router(config)# ip route 0.0.0.0 0.0.0.0 下一跳地址
router(config)# ip classless
其中0.0.0.0 0.0.0.0代表将发往任何网络的包都转发到下一跳。
Ip classless指路由器接收到不能转发的包的时候,会将其匹配给默认路由。否则通常情况下会将包丢弃并且返回目标地址不可达的ICMP消息。
③动态路由是网络中的路由器之间,根据实时的网络拓扑变化,相互传递相关信息,利用收到的信息通过路由选择协议计算,生成或更新路由表的过程。
动态路由减少了管理任务但是占用了网络带宽。
常见的动态路由包括距离矢量路由选择协议(如RIP)和链路状态路由选择协议(如OSPF)。
20. 路由器在工作中要经历哪几个过程?
路由发现:是学习路由的过程,动态路由通常由路由器自己完成,静态路由需要手工配置。
路由转发:路由学习之后,路由器按照学习后更新的路由表进行数据的转发。
路由维护:路由器通过定期与网络中其他路由器进行通信来了解网络拓扑的变化,以便更新路由表。
路由器记录了接口所直连的网络ID,称为直连路由,路由器可以自动学习到直连路由而不需要配置。
21. 配置路由时,应注意的问题有哪些?
①连接相邻两个路由器的接口必须处于同一个网段上,也就是说这两个接口的网络地址必须相同;
②同一个路由器中,任两个接口的网络地址必须不同,因为路由器是连接不同网络段的设备。
③静态路由的配置是通过该网段的网关(即下一跳)到达下一个网段,网关是到达下一个网络的连接点。
④直连路由不需要配置,路由器可以直接学习到。
⑤静态路由必须进行双向的配置,否则数据包没有回来的路。
⑥默认路由配置完成后,必须以ip classless命令进行激活。
22. 用show命令查看路由器接口状态时,对显示的信息如何理解?
①可操作状态………serial 0/0 is up ,line protocol is up。端口up 线路协议up 表示:物理线路和协议都已经匹配,所以网络能正常工作。
②连接问题…………serial 0/0 is up ,line protocol is down。端口up 线路协议down 表示:物理线路已经接好,但线路两端的协议没有配一致,如一端强制成100M,另一端强制成10M。
③接口问题…………serial 0/0 is down ,line protocol is down。端口down 线路协议down 表示:物理线路没接好,比如网线断了。
④禁用状态…………serial 0/0 is administratively down ,line protocol is down。被管理员禁用了。
23. Cisco2600路由器的密码如何恢复?
正常情况下,配置寄存器的值为0x2102,如果把此值改为0x2142,路由器在启动时,就会不读取startup-config中的配置信息,而以空配置进入系统。
①用reload命令重启动路由器,在启动过程中按住ctrl+break键。
②进入ROM Monitor模式,在此模式下把配置寄存器的值修改为0x2142。
rommon1>confreg 0x2142
rommon2>reset(重启动)
③路由器将绕过startup-config启动,启动后,把startup-config中的配置信息拷到running-config中。
#copy startup-config running-config
④把原来的密码,用新密码覆盖掉。
#enable password ***
⑤把此次改动,即新设的密码,存盘。
#copy running-config startup-config
⑥把配置寄存器的值改为正常值0x2102,以使路由器在以后的每次启动时,都去读取startup-config中的配置信息。
# config-register 0x2102
24. 什么是单臂路由?
用路由器上的一个物理端口进行多个VLAN间路由数据的路由方法,叫做单臂路由。
在路由器上设置多个逻辑子接口,每个子接口对应于一个VLAN。各子接口的数据在物理链路上传递时要进行标记封装。
25. 以下图为例,讲述一个数据包的发送过程。
主机A的参数:IP地址:192.168.1.2
子网掩码:255.255.255.0
默认网关:192.168.1.1
MAC地址:M01(此为简写)
主机B的设置:IP地址:192.168.2.2
子网掩码:255.255.255.0
默认网关:192.168.2.1
MAC地址:M04(此为简写)
路由器E0口的设置:IP地址:192.168.1.1
子网掩码:255.255.255.0
MAC地址:M02(此为简写)
路由器E1口的设置:IP地址:192.168.2.1
子网掩码:255.255.255.0
MAC地址:M03(此为简写)
主机A用命令“ping 192.168.2.2”与主机B通信的过程如下:
(1)主机A发现目标地址192.168.2.2不在本网络,于是向网关192.168.1.1发送ARP请求,请求网关的MAC地址。这个请求中的一些信息如下:
源IP |
目的IP |
源MAC |
目的MAC |
192.168.1.2 |
192.168.1.1 |
M01 |
全1的广播 |
(2)此数据从交换机A的端口4进入交换机后,交换机把相关信息记录入自己的MAC表:
(3)交换机A得知这个消息是个广播消息,于是向除了端口4以外的所有端口都发送一份这个消息。
(4)路由器得到这消息后,发现这个消息是发给自己的,先把发送方的相关消息记录入自己的ARP表:
和我通信过的主机的IP地址 |
和我通信过的主机的MAC地址 |
192.168.1.2 |
M01 |
(5)路由器端口E0把自己的MAC地址以单播消息回送给主机A,此消息的一些信息如下:
源IP |
目的IP |
源MAC |
目的MAC |
192.168.1.1 |
192.168.1.2 |
M02 |
M01 |
(6)此消息从交换机A的端口1进入交换机后,交换机把相关信息,加入自己的MAC表:
MAC地址 |
此MAC地址所在端口 |
M01 |
端口4 |
M02 |
端口1 |
(7)交换机A查看自己的MAC表,发现目的MAC地址在端口4,于是向端口4转发这个单播消息。
(8)主机A收到这个回应消息后,先把此消息的发送方的相关信息记录入自己的ARP表:
和我通信过的主机的IP地址 |
和我通信过的主机的MAC地址 |
192.168.1.1 |
M02 |
(9)主机A向主机B发送数据,注意:此时的目的MAC地址是路由器的E0口,即先送给网关。
源IP |
目的IP |
源MAC |
目的MAC |
192.168.1.2 |
192.168.2.2 |
M01 |
M02 |
(10)交换机A查看自己的MAC表,发现目的MAC地址在端口1,于是把数据从1口送给路由器的E0口。
(11)路由器拆开数据包,得知目的IP地址后,查看自己的路由表。
能到达的目标网络 |
从自己的哪个端口能够到达目标网络 |
192.168.1.0 |
E0 |
192.168.2.0 |
E1 |
发现从E1口能够到达192.168.2.0这个网络。
(12)路由器把此数据包送到端口E1。
(13)端口E1发现目标主机在本端口所连接的网络中。
(14)端口E1查看路由器的ARP表,发现没有目的主机192.168.2.2的MAC地址,于是向自己所连接的192.168.2.0这个网络发出ARP请求。
源IP |
目的IP |
源MAC |
目的MAC |
192.168.2.1 |
192.168.2.2 |
M03 |
全1的广播 |
(15)交换机B从端口1收到这个消息后,先把相关信息记录入自己的MAC表:
MAC地址 |
此MAC地址所在的端口 |
M03 |
端口1 |
(16)交换机B得知这个消息是个广播消息,于是向除了端口1以外的所有端口都发送一份这个消息。
(17)主机B从端口4收到这个消息后,先把相关信息,记录入自己的ARP表:
和我通信过的主机的IP地址 |
和我通信过的主机的MAC地址 |
192.168.2.1 |
M03 |
(18)主机B单播回应这个ARP请求。
源IP |
目的IP |
源MAC |
目的MAC |
192.168.2.2 |
192.168.2.1 |
M04 |
M03 |
(19)交换机B的端口4收到这个消息后,先把相关信息添入自己的MAC表:
MAC地址 |
此MAC地址所在的端口 |
M03 |
端口1 |
M04 |
端口4 |
(20)交换机B查看自己的MAC表,发现这个单播消息的目的MAC地址可以通过端口1到达。于是把此消息从端口1送给路由器的E1口。
(21)路由器端口E1得到这消息后,发现这个消息是发给自己的,先把发送方的相关消息记录入路由器的ARP表:
和我通信过的主机的IP地址 |
和我通信过的主机的MAC地址 |
192.168.1.2 |
M01 |
192.168.2.2 |
M04 |
(22)路由器E1口向主机B转发来自主机A的数据。
源IP |
目的IP |
源MAC |
目的MAC |
192.168.1.2 |
192.168.2.2 |
M03 |
M04 |
(23)交换机B从端口1得到这个消息,查看自己的MAC表,发现目的MAC地址可以通过端口4到达。于是把此消息从端口4送给目标主机B。
(24)主机B接收到这个数据包后,添写自己的ARP表,然后处理这个数据。
和我通信过的主机的IP地址 |
和我通信过的主机的MAC地址 |
192.168.2.1 |
M03 |
192.168.1.2 |
M03 |
(25)主机B回应这个消息的过程略。
小结:在网络内部转发数据时,数据被送到哪个端口,是由交换机根据目的MAC地址决定的;在网络之间转发数据时,数据被送到哪个端口,是由路由器根据目的IP地址决定的。