路由器的工作原理

5.1路由器的工作原理

如图5-1所示配置IP地址(此处省略,请读者自行配置),配置完成后,我们在R1上分别ping 12.1.1.2 、23.1.1.2、23.1.1.3,我们可以发现,在R1上ping 12.1.1.2可以通,但是ping 23.1.1.2、23.1.1.3都不通,这是什么原因了,学完本章的课程,大家就能理解了。

5-1 路由器的工作原理

5.1.1路由器根据路由表转发数据

一个数据包到达路由器以后,路由器根据数据包的目的IP地址查找路由表,如果有就根据路由表转发,如果没有就丢弃,下面我们来举两个例子:

举例1:如图5-1所示,在R1上访问12.1.1.2,数据转发流程如下:

第一步:数据包的源IP为12.1.1.1 目的IP为12.1.1.2,R1查看路由表看没有去12.1.1.0/24位的路由,R1的路由表如图5-2所示,通过查看路由表数据包从出接口g0/0/0发送出去。

<R1>display ip routing-table //查看路由表

Route Flags: R - relay, D - download to fib


Routing Tables: Public

Destinations : 4 Routes : 4

Destination/Mask Proto Pre Cost Flags NextHop Interface

12.1.1.0/24 Direct 0 0 D 12.1.1.1 GigabitEthernet0/0/0

12.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

路由表中包含了如下参数:

  • Destination:表示此路由的目的地址。用来标识IP包的目的地址或目的网络。
  • Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或路由器所在的网段的地址。

将目的地址和子网掩码"逻辑与"后可得到目的主机或路由器所在网段的地址。例如:目的地址为12.1.1.0,掩码为255.255.255.0的主机或路由器所在网段的地址为12.1.1.0。 掩码由若干个连续"1"构成,既可以用点分十进制表示,也可以用掩码中连续"1"的个数来表示。例如掩码255.255.255.0长度为24,即可以表示为24。

  • Proto:表示学习此路由的路由协议。
  • Pre:表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。各协议路由优先级请参见路由协议的优先级。
  • Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
  • Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。
  • NextHop:表示此路由的下一跳地址。指明数据转发的下一个设备。
  • Interface:表示此路由的出接口。指明数据将从本地路由器哪个接口转发出去。

第二步:数据从R2的G0/0/1到达路由器R2,路由器查看目的IP为12.1.1.2,为自己g0/0/1口的IP地址,发现是发给自己的,所以要给R1一个回应,源IP为12.1.1.2,目的IP为12.1.1.1,R2也要查看路由表,R2的路由表如图5-3所示,R2把数据包从G0/0/1口发送出去,到达R1,所以网络是通的。

<R2>display ip routing-table //查看R2的路由表

Route Flags: R - relay, D - download to fib


Routing Tables: Public

Destinations : 6 Routes : 6

Destination/Mask Proto Pre Cost Flags NextHop Interface

12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet0/0/1

12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1

23.1.1.0/24 Direct 0 0 D 23.1.1.2 GigabitEthernet0/0/0

23.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

举例2:如图5-1所示,在R1上访问23.1.1.3,数据转发流程如下:

数据包的源IP为12.1.1.1 目的IP为23.1.1.3,R1查看路由表看没有去23.1.1.0/24位的路由,R1的路由表如图5-2所示,发现路由表没去23.1.1.0路由,直接把数据包丢弃,所以网络不通

<R1>display ip routing-table //查看路由表

Route Flags: R - relay, D - download to fib


Routing Tables: Public

Destinations : 4 Routes : 4

Destination/Mask Proto Pre Cost Flags NextHop Interface

12.1.1.0/24 Direct 0 0 D 12.1.1.1 GigabitEthernet0/0/0

12.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

5.1.2 路由信息获取的方式

路由器依据路由表进行路由转发,为实现路由转发,路由器需要发现路由,路由获取有以下三种方式。

  • 通过链路层协议发现的路由称为直连路由。
  • 通过网络管理员手动配置的路由称为静态路由。
  • 通过动态路由协议发现的路由称为动态路由。
  1. 直连路由

直连路由是路由器直连接口所在网段的路由,由设备自动生成。如图5-2所示,路由器R的g0/0/0接口所在的网段为10.1.1.0/24,g0/0/1接口所在的网段为20.1.1.0/24,只要路由器R的g0/0/1和g0/0/0的物理状态、协议状态都为UP,那么路由器R就会产生两条直连路由。

图5-2 直连路由

  1. 静态路由

路由静态是由管理员手式配置的路由条目,如图5-3所示,路由R不知道怎么去30.1.1.0/24这个网段,所以管理员在路由器R的路由表中手动添加一条去往30.1.1.0/24的路由。具体配置我们在静态路由会详细介绍,静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。

5-3 静态路由

  1. 动态路由

动态路由是路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由,如图5-4所示,路由器R没有40.1.1.0/24的路由,它通过动态路由协议OSPF来学习40.1.1.0/24的路由,动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。

图5-4 动态路由

本文出自作者的《HCIA Datacom学习指南》

https://item.jd.com/14032255.html


在文章最后加作者VX:可以免费领取以下资料

请加下方微信免费领取以上资料

相关推荐
云飞云共享云桌面27 分钟前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程3 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
幺零九零零4 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
23zhgjx-NanKon4 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon4 小时前
华为eNSP:mux-vlan
网络·安全·华为
点点滴滴的记录4 小时前
RPC核心实现原理
网络·网络协议·rpc
Lionhacker5 小时前
网络工程师这个行业可以一直干到退休吗?
网络·数据库·网络安全·黑客·黑客技术
程思扬6 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
ZachOn1y6 小时前
计算机网络:运输层 —— 运输层概述
网络·tcp/ip·计算机网络·运输层
佚明zj6 小时前
【点云网络】voxelnet 和 pointpillar
网络