用户空间配置工具:

路由的配置可以使用net-tools软件包(route命令)和IPROUTE2(ip rouute 和ip rule)软件包。net-tools不能配置任何高级路由功能,如多路径和策略路由。

统计数据:

路由代码对其不同的方面都进行统计,例如,路由查找和垃圾回收。统计数据是针对每个cpu的,每个cpu各自维护自己的统计数据。这些统计数据可以通过/proc/net/stat/rt_cache读取,但是输出信息没有格式化,不易阅读,可以通过IPROUTE2包中的工具Instat工具来阅读。

通过/proc文件系统调整:

/proc/sys/net/ipv4   和  /proc/sys/net/ipv4/route 以及   /proc/sys/net/ipv4/conf这三个目录下的文件输出内部数据结构用于调整路由,这些文件是可写的。

/proc/net/和/proc/net/stat这两个目录下的文件是只读的

/proc/sys/net/ipv4目录:

ip_forward:包含了一个用于全局开启和关闭ip转发的布尔类型标识,但是可以被每个设备上的ip转发标识值覆盖。

icmp_echo_ignore_broadcast:一个icmp调整参数,被路由代码用于确定如何处理定向广播,广播过滤只能在这里开启和关闭,全局生效(不针对某个设备)。

/proc/sys/net/ipv4/route目录:

error_burst

error_cost:这两个用于实现对ICMP_UNREACHABLE消息的限速,参见第三十五章“路由失败一节”。

max_size

gc_thresh

gc_min_interval

gc_timeout

gc_elasticity

gc_interval:这几个用于路由缓存垃圾收集算法,参见第三十三章。

flush

min_delay

max_delay:这几个用于控制路由缓存的刷新。参见三十三章“刷新路由缓存”一节。

min_adv_mss:这个值和tcp最大报文段长度(MSS)相关。

min_pmtu

mtu_expires:当与一个路由缓存表项相关的PMTU变化时,路由缓存的调度在mtu_expires秒之后到期。参见三十章“使用路由缓存项过期的事件范例”一节。

redirect_load

redirect_number

redirect_silence:用于实现对ICMP_REDIRECT限速,参见三十三章“出口ICMP REDIRECT限速”一节。

secret_interval:路由缓存每隔1/secret_interval秒被定期冲洗。参见三十三章“刷新路由缓存”一节。

/proc/sys/net/ipv4/conf目录:

在该目录下每个注册的网络设备都有各自的子目录,这使用户可以对每个设备配置各种协议的路由参数。除了每个设备对应的子目录外,还有两个特殊的子目录:

default:用户没有明确配置的所有参数都是用这个目录下的默认值来初始化。

all:用户在这里配置的值应用于所有设备。

将每个设备上的配置值和全局配置值进行组合时,以及将all目录下的变量改变传播给所有设备时,不同的功能呈现不同的行为:

对某些字段,将设备上的值和全局配置值做AND操作,此时,只有全局配置和设备配置都开启时,该功能才开启。

对某些字段,将设备上的值和全局配置值做OR操作。

对某些字段,不考虑全局值。

accept_redirects:开启或关闭icmp重定向处理

send_redirects:当值为真,且检测到非最优路由的必要条件时,允许系统产生ICMP重定向消息。

accept_source_route:开启或关闭IP源路由选项。

forwarding:开启或关闭单播的转发

mc_forwarding:开启或关闭多播的转发

rp_filter:当这个标识为真时,如果某个入口封包的源IP地址通过非对称路由可达,丢弃该封包。参见三十一章“反向路径过滤”一节。

secure_redirects

shared_media:当secure_redirects被设置时,只有当消息中建立的网关在本地是一个已知网关是,ICMP_REDIRECT消息才被接收。但是,若shared_media为真时,即使ICMP_REDIRECT中建议的下一跳网关不在同一个网段内,也接收。

log_maritans:当设置该标识时,内核接收到封包中含有非法的IP地址时产生日志消息。参见三十一章“Verbose”一节。

/proc/net和/proc/net/stat目录:

route

rt_cache:可以读取这两个文件,分别转出路由表(ip_fib_main_table)和路由缓存。它们不显示用户定义的路由表内容,这些路由表时当内核支持策略路由时才创建的。

stat/rt_cache:一组统计数据

rt_acct:由在第三十一章介绍的基于路由表的分类器所收集的计费信息。可以使用IPROUTE2包中的rtacct命令得到更好的输出格式。

ip_mr_cache

ip_mr_vif:由多播路由使用,本书没有讨论。

开启和关闭转发:

/proc/sys/net/ipv4/conf/device_name/forwarding:对device_name设备开启和关闭转发。

/proc/sys/net/ipv4/conf/all/forwarding:对这个文件的改变将应用到所有网络设备,包括不是为UP的设备,但不影响以后注册的设备。

/proc/sys/net/ipv4/conf/default/forwarding:对没有明确配置的设备,这是其默认转发状态。该值只影响以后注册的设备。

/proc/sys/net/ipv4/ip_forward:改变这个和改变/proc/sys/net/ipv4/conf/all/forwarding具有同样的效果。可以把前者看作是后者的别名。

后面是路由部分常见的数据结构各字段的详细说明:略。

第三十六章:路由:相关主题相关推荐

  1. 嵌入式实时操作系统ucos-ii_「正点原子NANO STM32开发板资料连载」第三十六章 UCOSII 实验 1任务调度...

    1)实验平台:alientek NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第三十六章 ...

  2. 【正点原子FPGA连载】第三十六章 基于OV5640的PL以太网视频传输实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  3. 《快速掌握PyQt5》第三十六章 用PyQtGraph绘制可视化数据图表

    第三十六章 用PyQtGraph绘制可视化数据图表 36.1 下载PyQtGraph 36.2 基础知识与用法 36.3 将PyQtGraph嵌入到PyQt5中 36.4 小结 <快速掌握PyQ ...

  4. 第三百三十六章 斗宗强者间的大战!

    第三百三十六章 斗宗强者间的大战! <script language="javascript" src="/js/style2.js"></s ...

  5. 第一卷 第一百三十六章 好白菜

    第一卷 第一百三十六章 好白菜 其实我最恨两种人,一种是始乱终弃的小白脸,一种就是生孩子不养活的臭娘们儿.**  提供本书txt电子书下载 **既然你能生就要能养啊,虽然我不知道井里的那个死孩子的母亲 ...

  6. 第三十六章 SQL函数 CURRENT_TIME

    文章目录 第三十六章 SQL函数 CURRENT_TIME 大纲 参数 描述 小数秒精度 示例 第三十六章 SQL函数 CURRENT_TIME 返回当前本地时间的日期/时间函数. 大纲 CURREN ...

  7. 奋斗吧,程序员——第三十六章 落花人独立,微雨燕双飞

    什么什么,要我别倒下? 废话,不看着情敌们在我面前一个个倒下,然后踩着他们的尸体过去继续战斗,我怎么可能比他们先一刻倒下. 生命的意义在于不屈的抗争,只要情敌一天未清除,我们就不能退出战斗. 我们必须 ...

  8. SpringBoot | 第三十六章:集成多CacheManager

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天有网友咨询了一个问题:如何在一个工程中使用多种缓存进行差异化缓存,即实现多个cacheManager灵活切换.原来没 ...

  9. 第三十六章 数词、日期和度量衡

    348 基数词(形容词及代词)   1 one                     21 twenty-one 2 two                     22 twenty-two 3 ...

最新文章

  1. android主题编辑器,使用 Theme Editor 设计应用主题背景
  2. 小白学数据分析-----什么是DAU_II [玩家粘性分析模型]为什么游戏粘性会达到60%...
  3. React开发(272):try...catch..捕获
  4. golang中的http server和http client
  5. Docker 深入理解概念
  6. java-第十章-类和对象-创建管理员对象
  7. binlog数据库不写入binlog_mysql数据库备份及其恢复
  8. .Net转Java自学之路—基础巩固篇三十(JDBC)
  9. 《新牧场物语》攻略(转自百度)
  10. Ubuntu 解决触摸板不识别问题
  11. 三维扫描仪修复的功能有多重要
  12. C语言pow函数返回值一直是0
  13. scrapy分布式写入到mysql_scrapy-redis分布式爬虫去重异步写入mysql数据库实例代码...
  14. 创建一个Student 类 包含属性有 序号 姓名 年龄 生日 提供对应的setter/getter 创建对象,完成赋值(setter赋值和构造方法赋值) 在控制台输出学生对象的信息
  15. 前端 css实现文字竖向排列
  16. 关于Prim算法,自己的一些总结
  17. The Unarchiver for Mac(mac解压缩神器)
  18. 大白话之 从netty的到gent
  19. (CNS复现)CLAM——Chapter_01
  20. 配置超过64K方法的应用程序

热门文章

  1. CVE-2012-0003:Microsoft Windows Media Player winmm.dll MIDI 文件堆溢出漏洞调试分析
  2. 【松岩盘前视点】2019-9-11
  3. iOS15 beta版本安装不成功 || app要求更新
  4. 视觉SLAM笔记(53) g2o 操作后端优化
  5. IDEA新旧版本下载指南
  6. SEO优化人员分析IIS日志方法详解
  7. 视野中人与月球的透视比例关系
  8. Python后台开发基础——Web前端基础
  9. 管理会计习题集及答案 1-4章
  10. python计算负数的平方根将产生_pow(x,0.5)能够计算x的平方根,计算负数的平方根将产生:_学小易找答案...