ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由)

2021-11-04 23:00:07  阅读:388  来源: 互联网

标签:组播 IP 报文 接口 单播 地址 路由 路由表


一、分类

  • 智能路由器上最重要的功能是 IP 路由。IP 报文根据路由表进行路由决策,路由表中的路由项又有各种不同的分类。

按目的地址类型不同可划分

  • 单播路由。
  • 组播路由。
  • 单播路由表中保存了各种路由协议发现的路由并形成一张路由表,根据路由表项的来源来划分,通常分为以下3类:
    • 接口路由。也称为直连路由,当设置接口 IP 地址和掩码时会自动增加的路由, 是报文通往该接口 IP 地址所在网络的路由。
    • 静态路由。网络管理员手工配置的路由。当网络结构比较简单时,只需配置静态 路由就可以工作,适用于拓扑结构简单并且稳定的小型网络。静态路由不能自动适应网络 拓扑结构的变化,当网络发生故障或者拓扑发生变化后,必须再次由网络管理员手工修 改配置。
    • 动态路由。动态路由协议发现并设置路由,常见的动态路由协议有 RIP、OSPF 和 IS-IS 等。路由表会根据链路状态或网络拓扑结构变化进行动态生成和删除。常见的动 态路由软件有 Zebra 和 Quagga 等。在智能路由器领域一般只有唯一的互联网出口,因此 不会用到动态路由。

 

根据路由目的地址的不同

  • 策略路由。也称为源地址路由,根据 IP 报文源地址、端口、报文长度、优先级 等内容灵活地进行路由选择。
  • 普通的目的地址路由。仅根据报文目的地址来选择出接口或者下一跳地址。

 

按路由决策的方式不同

  • 策略路由。也称为源地址路由,根据 IP 报文源地址、端口、报文长度、优先级 等内容灵活地进行路由选择。
  • 普通的目的地址路由。仅根据报文目的地址来选择出接口或者下一跳地址。

 

根据目的地与该路由器是否直接相连

  • 直接路由。目的地所在网络与路由器直接相连。
  • 间接路由。目的地所在网络与路由器非直接相连。

 

 

缺省路由

  • 还有一个概念是缺省路由,也称默认路由,是指在路由器中没有找到精确匹配路由表 项后所使用的路由。
    如果报文的目的地址在路由表中没有找到匹配的路由,而且还没有默认路由,那么该报文将被丢弃并向报文的源地址发送一个网络地址不可达的ICMP差错报文
    智能路由器的默认路由通常是通过DHCP或PPPoE自动获取下一跳地址后,动态生成并写入到路由表中的。

 

二、单播路由

  • 报文的目标地址为 A、B、C 类地址的路由表项为单播路由。
  • 目标 IP 地址是告诉报文 目的主机地址在哪里,而路由是告诉报文如何到达目的地址。
  • 网络上的每个路由器独立进行 决策,将报文转发到离目的地址更近的路由器上,就这样一步一步地路由到目标主机上。

 

三、单播路由分类

单播路由表中保存了各种路由协议发现的路由并形成一张路由表,根据路由表项的来源来划分,通常分为以下3类:

  • 接口路由。也称为直连路由,当设置接口 IP 地址和掩码时会自动增加的路由, 是报文通往该接口 IP 地址所在网络的路由。

  • 静态路由。网络管理员手工配置的路由。当网络结构比较简单时,只需配置静态 路由就可以工作,适用于拓扑结构简单并且稳定的小型网络。静态路由不能自动适应网络 拓扑结构的变化,当网络发生故障或者拓扑发生变化后,必须再次由网络管理员手工修 改配置。

  • 动态路由。动态路由协议发现并设置路由,常见的动态路由协议有 RIP、OSPF 和 IS-IS 等。路由表会根据链路状态或网络拓扑结构变化进行动态生成和删除。常见的动 态路由软件有 Zebra 和 Quagga 等。在智能路由器领域一般只有唯一的互联网出口,因此 不会用到动态路由。

 

四、route命令

  • route 命令是用于管理 和维护操作系统内核的路由表,主要用于设置到特定主机或网络的静态路由。可以增加、 删除及查看路由表等。

 

五、查看路由表

  • 每当增加一个接口 IP 时将自动创建一个直连的接口路由。对于通过 DHCP获得的 IP 地址,除了设置直连路由外还可能会设置网关的默认路由。

路由表格式

  • 当前openwrt的IP为192.168.43.123。

 

  • “route –n”命令来列出路由表项:-n 选项表示列出数字地址形式,而不是主机名或者域名。

  • 第一行:是一个默认路由,这表明如果没有精确匹配路由,就会将IP报文发送到IP地 址192.168.43.1上。UG 表示一个启用的网关地址。br-lan表示出接口地址。
  • 第二行:是一个接口路由,为局域网接口的路由项,表示局域网为192.168.43.0网段。 br-lan表示通过该网卡和局域网网络相连接。
  • 第三行:是一个接口路由,表示目的地址是主机地址。这在接口配置IP和掩码时会默认自动设置上。如果不设置掩码则默认A类地址为8位掩码,B类地址为16位掩码,C类地址为24位掩码。

 

 

路由表的字段含义

 

 

  • 对于给定的路由表项的路由标识(Flahs)通常有以下几种:

    • U:路由表项可以使用。

    • H:路由表项的目标地址是主机地址,即掩码为 32 位。

    • G:路由表项下一跳为网关。

    • R:动态路由算法生成的。

    • D:该路由通过重定向或者守护进程动态安装的。

    • M:该路由被路由守护进程或重定向报文修改。

    • A:该路由被 addrconf 安装。

    • C:缓存(cache entry)。

    • !:拒绝路由(reject route)。匹配这一条报文将丢弃。

 

六、路由的设置

  • 使用ip命令和route命令均可对路由表进行管理,默认路由通过以下两个命令均进行设置:
  • 这两个命令行为完全相同,只是ip命令使用 Netlink 接口设置到内核中,route 命令通 过传统的 ioctl 接口设置到内核中。Linux 内核已经不建议使用 ioctl 接口。
ip route add default via <gw ip> dev eth0
 
route add default gw <gw ip> dev eth0
  • 查看路由信息。

 

 

  • ip route get命令

    •  针对目的IP,如何来选择路由表项?路由表中的信息包含了IP层的决策。采用最长匹配算法来匹配,如果有多个匹配则会随机选择一个作为路由,可以使用下面命令来查看匹配的路由。

  

 

   

 

 

 

 

七、路由功能的划分

  • 为了系统的稳定性,操作系统将路由功能划分为两部分:
    • 管理平面:也称为控制平面。是指用于路由学习,生成路由表的部分。Linux 用 户空间的程序就属于管理平面。
    • 转发平面:也称数据平面(Data Plane)。转发平面是指系统中进行数据报文的接 收、查找路由表、根据路由表进行决策等的部分。转发平面在 Linux 内核中。
    • 转发平面:也称数据平面(Data Plane)。转发平面是指系统中进行数据报文的接 收、查找路由表、根据路由表进行决策等的部分。转发平面在 Linux 内核中。
  • 路由器可以实现转发面和管理平面的相互独立。为了做到控制平面和转发平面的分离,Linux 内核构建了一张转发表,专门用于指导数据报文的转发。用户空间的应用层软件形成控制平面的路由表,可能会有多种可选的路由规则,但路由软件系统会计算出一条最佳的路径然后写入内核中。两者之间通过接口(Netlink)来实现相互操作。在小型智能路由器上网络比较单一,路由表项不用动态生成,只有固定的路由表。因此一般不会使用quagga路由软件生成的控制平面的路由表,只有静态路由。在小型智能路由器上可以认为 两者完全相同。数据平面保存的路由表,也称为路由转发表(Forwarding Information Base, FIB),用来指导IP报文的转发,转发算法如下:
    • 组织和存储选出的路由表项。
    • 按照 LPM(最长掩码匹配)算法提供路由检索接口。
  • 报文的转发过程为:首先网卡接口上接收报文,并查看报文的目的地址:然后根据目 的地址来查询转发表;最后按查询到的路径把分组报文转发出去。

 

八、增加静态路由的一个注意事项

  • 在增加静态路由时需注意:在 Windows 下增加静态路由,必须设置有下一跳地址;在 Linux 下增加静态路由时,可以仅设置出接口而不设置下一跳地址。
  • 如果增加静态路由时仅设置出接口而不设置下一跳地址,在一些没有开启ARP代理的设备上将会遇到不能连通网络的问题。因为使用出接口地址时,Linux 会认为目标地址 网络是直连可达的网络,将直接发出 ARP 请求来查询目标 IP 地址的 MAC 地址,如果路 由器没有启动 ARP 代理,就不会发出 ARP 响应消息,这时 Linux 就会因为找不到目标MAC地址而转发失败。
  • 如果直接指定网关地址,那ARP请求就直接请求网关地址的MAC地址,然后进行报文转发。

 

九、静态路由配置

  • 使用命令行对路由表进行设置时,在重启之后配置均需重新设置。OpenWrt 的静态路由配置在配置文件/etc/config/network的route配置节中,在启动过程中 netifd 模块会读取 该配置文件并进行设置。
  • 可选的配置选项见下表:

  

演示案例

  • 例如局域网还有一个192.168.9.0/24网络,那么我们将增加下面所示的配置,就 可以通过网关地址 92.168.6.10到达 192.168.9.0/24网络。

   

  • 进行重启后,使用route -n 命令来查看,路由表增加了以下内容:

  

 

 

十、策略路由

  • 待续

十一、IGMP组播路由

  • 待续

 

标签:组播,IP,报文,接口,单播,地址,路由,路由表
来源: https://www.cnblogs.com/ccky/p/15510855.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有