博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
路由子系统——基本概念与高级路由
阅读量:5864 次
发布时间:2019-06-19

本文共 1555 字,大约阅读时间需要 5 分钟。

本文讨论IPv4的路由子系统。(IPv6对路由的处理不同)。

基本概念

关于路由子系统

路由子系统工作在三层。用来转发入口流量。

路由子系统主要涉及 路由器、路由、路由表等概念。

  • 路由器: 配备多个网络接口卡(NIC),而且能利用自身网络信息进行入口流量转发的设备。
  • 路由: 流量转发,决定目的地的过程
  • 路由表:转发信息库,该库中储存路由须要本地接收还是转发的信息。 以及转发流量时所须要的信息。(即。信息库用来推断,要不要转发,假设要转发。向哪里转发).

    路由器有多张网卡,但有多张网卡的设备不一定就是路由器

      实际上。出于下面等目的,非路由器可能有多张网卡。

    高可用性: 在某个NIC故障时。主机能够利用其它NIC继续工作。

    更强的路由能力: 不同NIC连接不同局域网,可是不转发局域网间流量。
    多路传输: 多个NIC进行捆绑。提高网络载荷。

地址

定向广播

  • 子网广播:目的地址为本地子网的广播包。
  • 定向广播:目的地址为远端子网的广播包。
    定向子网广播针对ICMP ECHO REQUEST做特殊处理,以避免恶意攻击。

可路由地址与不可路由地址

可路由地址: 一般的全球地址
不可路由地址: 本地地址 + 私有地址
不可路由地址,私有地址和本地环回地址不可路由。 当局域网(私有地址)的主机要与非该局域网的主机通信时。须要通过NAT来隐藏不可路由的子网。

主地址 与 辅助地址

  出于例如以下一些目的,同一NIC可能须要配置多个IP。

  • 一台主机上执行多项服务,而不同服务可能须要不同IP。(这也能够作为简单的防火墙)
  • 因为硬件缺乏等原因。须要通过一块NIC将两个子网连接起来。

  同一NIC能够配备多个IP地址,每一个IP地址都须要相相应的提供子网掩码(用户没配置时,系统会自己主动提供)。

(仅仅有配置了子网掩码,才干识别出那些地址通过该接口可达)。

  在linux中。同一 NIC 上的IP地址被划分为 主IP地址 和 辅助IP地址。

一个子网掩码仅仅能有一个 主IP地址。

  当子网覆盖的地址范围发生重叠时。有可能出现 同一个地址 既相应某个子网掩码的辅助地址, 又相应于还有一个子网掩码的主地址。

举个样例: 在接口eth0上原先有两个地址:10.0.0.1/24, 10.0.0.2/24. 当中10.0.0.1/24 相应子网掩码10.0.0.255的主地址; 当我们想eth0再加入一个地址 10.0.0.3/25 时, 10.0.0.3/25 既关联到子网掩码10.0.0.255的辅助地址。 又关联到子网掩码10.0.0.127的主地址。

路由表

特殊路由

  当路由器收到一个封包时。该封包有两个流向: 本地接收 或 转发。

  linux默认有两张路由表。分别针对上面两种流向的封包。

  • 用于本地地址的路由表:从该表查找成功,则表明封包发给自己,须要传递到相邻的更高层协议。

  • 用于其它地址的路由表:该表数据项可用户手动插入 , 或者有路由协议动态插入。

路由类型与动作:

+ 转  发:默认动作,当封包与路由表中的表项想匹配时,运行此动作

+ 黑  洞:丢弃封包
+ 不可到达:丢弃封包。生成ICMP主机不可达消息
+ 禁  止:丢弃封包,生成ICMP被过滤消息
+ 放  弃:与策略路由联合使用

路由缓存

路由表中的项可能达到几十万条,因此须要较小的路由缓存表。

Linux将路由缓存分为两部分:

  1. 协议相关的缓存 ——缓存框架部分
  2. 协议无关的缓存(DST)——嵌套在第一部分

路由表 VS 路由缓存 

  路由表使用子网地址的集合, 而路由缓存项与单个IP地址关联。(因此他们使用的查找算法也不同)

查找

最大前缀匹配:到达一个目的地址可能有多条路由。须要使用贪心匹配

.

转载地址:http://xzynx.baihongyu.com/

你可能感兴趣的文章
Windows平台编译器相关的几个预定义宏
查看>>
LINQ数据库技术
查看>>
一分钟理清Vue-cli 代码构建步骤。
查看>>
系统设置专栏
查看>>
树莓派部署 pi-dashboard
查看>>
Luogu1681_ 最大正方形II
查看>>
Solr7.7安装,链接数据库并导入数据,初级导入数据
查看>>
安装TensorFlow-gpu
查看>>
SharePoint server 2016中文版导出list template,在另外一个环境不能显示
查看>>
浪潮之巅阅读笔记02
查看>>
gir配置
查看>>
SCAU 10675 ACMer不得不知道的事儿(二)
查看>>
Left Join的神奇效果
查看>>
输入手写数字输出识别结果
查看>>
thymeleaf th:href 多个参数传递格式
查看>>
mysql的一些内置函数
查看>>
oracle的回收站介绍
查看>>
字符编码,字符与字节,文件操作
查看>>
第九章 参数
查看>>
机器学习入门01 - 框架处理(Framing)
查看>>