`
阅读更多

10.ip mroute -- 多播路由缓存管理

10.1.缩写

  mroute、mr

10.2. 对象

  这个命令的操作对象是多播路由缓存条目,这个缓存是由一个用户空间的多播
路由监控进程(例如pimd或者 mrouted)建立的。

  目前,由于受和多播路由引擎接口的限制,还不能通过ip命令修改多播路由对
象,因此我们只能 查看。

10.3.命令

  show或者list

10.4.ip mroute show -- 列出多播路由缓存条目


缩写:show、list、sh、ls、l


参数

to PREFIX(default) 选择到目的多播地址是PREFIX
iif NAME 接收多播数据包的网络接口
from PREFIX PREFIX选择多播路由的IP源地址


输出格式

kuznet@amber:~ $ ip mroute ls
(193.232.127.6, 224.0.1.39)      Iif: unresolved
(193.232.244.34, 224.0.1.40)     Iif: unresolved
(193.233.7.65, 224.66.66.66)     Iif: eth0       Oifs: pimreg
kuznet@amber:~ $



   多播路由缓存条目是(S,G)形式的,S是源地址,G是多播组。iif是接收多播数
据包的网络接口,如果设备名是关键词 unresolved,就表示路由监控进程不能解析
这个条目;接下来的关键词是oif,它后面跟着一些输出网络接口,接口之间用空
格 分开。


统计信息

  使用-statistics选项,我们可以得到更为详细的输出信息,包括:数据包 的
数量,通过这条路由转发的字节数以及到达错误接口的数据包数量(如果有)。

kuznet@amber:~ $ ip -s mr ls 224.66/16
(193.233.7.65, 224.66.66.66)     Iif: eth0       Oifs: pimreg
 9383 packets, 300256 bytes
kuznet@amber:~ $




11.ip tunnel -- 通道配置

11.1.缩写

   tunnel、tunl

11.2.对象

  ip tunnel命令的操作对象是网络通道(tunnel)。所谓通道(tunnel)是指把数
据包封装到IPv4数据包中,使用IP协议发出。有 关通道的更多信息,请参考
iproute的文档Tunnels over IP in Linux-2.2。

11.3.命 令

  add、delete、change、show或者list

11.4.ip tunnel add -- 添加新的通道
ip tunnel change -- 修改现有的通道
ip tunnel delete -- 删除一个通道


缩写:add、a;change、chg;delete、del、d


参数

name NAME(default) 选择通道设备名
mode MODE 设置通道模式。有效的模式包括:ipip、sit和gre。
remote ADDRESS 设置通道远端地址
local ADDRESS 设置进入通道数据包的固定本地地址,必须是在本机另外一个接口
上 的地址。
ttl N 设置进入通道数据包的TTL为N。N是一个1—255之间的数字。0是一个特殊的
值,表示这个数据包的TTL 值是继承(inherit)的。ttl参数的缺省值是:inherit。

tos T或者dsfield T 设置进入通道数据包的TOS域,缺省是inherit。
dev NAME 把通道绑定到设备NAME,以便进入通道的数据包只能通过NAME设备路由
,并且当对端发生变化时,不能够在另外的设备解开封装。
nopmtudisc 在这个通道上禁止路径最大传输单元发现( Path MTU Discovery)。默
认情况下,这个功能是打开的。注意:这个选项和固定的 ttl是不兼容的,如果使
用了固定的ttl参数,系统会打开路径最大传输单元发现( Path MTU Discovery)功
能。
key k,ikey k,okey k 只适用于GRE通道,设置keyed GRE通道的key。K或者是一个
数字或者是IP 地址形式的数字序列。参数key在通道的双向使用,ikey和okey为输
入和输出设置不同的key。
csum,icsum,ocsum 只用于GRE通道,计算进入通道数据包的校验和。ocsum表示只
计算出去的数据包的校验和;icsum表示只计算进入的数据包的校验和;而 csum等
于icsum ocsum。
seq,iseq,oseq 只适用于GRE通道,顺序发送/接收数据包。oseq使向外的数据包
顺序发送;iseq要求所有进入的数据包都是按照顺序的;而seq等于 iseq oseq。



示例

建立一个点对点通道,最大TTL是32
netadm@amber:~ # ip tunnel add Cisco mode sit remote 192.31.7.104
                                             local 192.203.80.1 ttl
32



11.4.ip tunnel show -- 列出现有的通道


缩 写:show、list、sh、ls、l


参数

  无


输出格式

kuznet@amber:~ $ ip tunnel ls Cisco
Cisco: ipv6/ip  remote 192.31.7.104  local 192.203.80.142  ttl 32
kuznet@amber:~ $



  输出的第一部分是通道的设备名,接着是通道模式。下面就是设置通道时的各
个参数。


统 计信息

kuznet@amber:~ $ ip -s tunl ls Cisco
Cisco: ipv6/ip  remote 192.31.7.104  local 192.203.80.142  ttl 32
RX: Packets    Bytes        Errors CsumErrs OutOfSeq Mcasts
   12566      1707516      0      0        0        0       
TX: Packets    Bytes        Errors DeadLoop NoRoute  NoBufs
   13445      1879677      0      0        0        0     
kuznet@amber:~ $



  以上输出结果里面的数字和使用ip -s link show的输出是一样的,但是每个
标志都是特定于通 道的。

CsumErrs 对于打开校验和检验的GRE通道,这个数字是由于校验和错误而丢弃的数
据包数量。
OutOfSeg 在打开顺序功能的GRE通道内,由于顺序错误而丢弃的数据包数量。
Mcasts 在GRE通道上接收到的多播数据包的数量。
DeadLoop 由于通道是回环到自己而没有传输的数据包数目。
NoRoute 由于到对端没有路由而没有被传输的数据包数目。
NoBufs 由于内核不能分配缓冲区而没有被传输的数据包数目。


12.ip monitor和rtmon -- 状态监视

  ip命令可以用于连续地监视设备、地址和路由的状态。这个命令选项的格式有
点不同,命令选项的名字叫做monitor,接着是操 作对象:

ip monitor [ file FILE ] [ all | OBJECT-LIST ]



  OBJECT-LIST是一些被监控的对象,它可以包括link、address和route。如果
没有给出file参数,ip 命令就打开RTNETLINK,在上面监听,并把状态的变化输出
到标准输出设备。

  如果使用了file参数,ip命令就 不是在RTNETLINK上监听,而是打开由file参
数指定的包含RTNETLINK信息的二进制文件,把解析的结果显示出来。这种历史文
件 可以有工具产生。这个工具具有和ip monitor命令的语法类似的命令行。理想的
情况是,在网络配置命令起动之前运行rtmon命令(当 然,你可以在任意的时间起动
rtmon,它会记录从起动开始的状态变化)。你可以在起动脚本中插入以下命令行:


rtmon file /var/log/rtmon.log



  如果我们执行如下命令:

[root@nixe0n root]ip route add dev eth0 to 61.133.4.7 via 211.99.114.
65
[root@nixe0n root]ip route del dev eth0 to 61.133.4.7



  然后,我们使用 ip monitor命令分析/var/log/rtmon.log会得到如下输出结果


[root@nixe0n root]ip monitor file /var/log/rtmon.log r
Timestamp: Wed Nov  6 20:25:54 2002 733331 us
1: lo:  mtu 16436 qdisc noqueue
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast
   link/ether 00:01:4f:00:15:f1 brd ff:ff:ff:ff:ff:ff
Timestamp: Wed Nov  6 20:25:58 2002 33700 us
61.133.4.7 via 211.99.114.65 dev eth0
Timestamp: Wed Nov  6 20:25:59 2002 924124 us
Deleted 61.133.4.7 via 211.99.114.65 dev eth0
[root@nixe0n root]




13.rtacct -- 路由范围和策略传播

  在使用 OSPF或者BGP协议的路由器上,其路由表可能会很大。如果我们需要对
其进行归类或者计算通过每条路由的数据包,就需要保留很多信息。更糟糕 的是,
如果我们需要区别的不止是数据包的目的地址,还要包括它们的源地址,这个任务
就更为复杂了,几乎无法解决。

   对于这个问题,Cisco IOS Release 12.0 Quality of Service Solutions
Configuration Guide: Configuring QoS Policy Propagation via Border
Gateway Protocol提出了一个解决方案,就是把策略从路由协议迁移到转发引擎。
基本上,通过BGP的Cisco策略迁移(Cisco Policy Propagation via BGP)就是基于
此种方式,它使路由器保留所有和转发引擎关系紧密的RIB(Routing
Information Base,路由信息库),以便策略路由规则能够监查所有的路由属性,
包括ASPATH的信息和团体 (community)字符串。

  而Linux把这分为由用户空间监控维护的路由信息库(Routing Infomation
Base,RIB),和内核层的转发信息库(Forwarding Infomation Base,FIB)。

  这是 我们的幸运,因为还有另外的解决方案,而这个方案允许更为灵活的策略
和更为丰富的语义。

  换句话说,可以在用户空间根据 路由的属性把它们归类,例如:BGP路由的
ASPATH、团体(community);OSPF路由的标记和它们的范围。而管理员手工添加路
由 时,也知道它们的属性。按照这个标准划分的集合(我们把它们叫做realm)数量
就很少了,因此按照路由的源地址和目的地址进行完全的分类就可 以管理了。

  因此,每个路由都可以被分配到一个范围(realm)中。一般这是有路由监控进
程作的,不过对于静态路由, 也可以使用ip route命令手工处理。

  在某些情况下(例如路由监控进程不理解realm)为了方便,漏掉的realm可以
由 路由策略规则补齐。

  内核使用如下算法计算每个数据包的源范围(realm)和目的范围(realm):

If route has a realm, destination realm of the packet is set to it.
If rule has a source realm, source realm of the packet is set to it.
If destination realm was not get from route and rule has destination
realm, it is also set.
If at least one of realms is still unknown, kernel finds reversed
route to the source of the packet.
If source realm is still unknown, get it from reversed route.
If one of realms is still unknown, swap realms of reversed routes and
apply step 2 again.


  这个过程完成后,我们就知道了数据包的源范围和目的范围。如果某些还是未
知, 它就会被设置为0(realm unknown)

  

  范围(realm)主要还是由TC(Traffic Control)的路由类别(route
classifier)使用,我们可以使用路由类别把数据包分配到给不同的流量类
(trafffic class),为数据包计数,以及为它们制定调度策略。

  相对于TC,使用realm为进入的数据包计数就简单多了,但这是一个 非常有用
的应用。内核可以根据realm收集总结数据包统计信息。在用户空间,我们可以使
用工具rtacct查看这些信息。例如:

kuznet@amber:~ $ rtacct russia
Realm      BytesTo    PktsTo     BytesFrom  PktsFrom   
russia     20576778   169176     47080168   153805     
kuznet@amber:~ $



  结果表示,这个路由器收到 153805个来自russia地区的数据包,并且向
russia转发了169176个数据包。russia范围由ASPATH(路径自治系 统)在俄罗斯的路
由组成。


15.参考

T. Narten, E. Nordmark, W. Simpson. ``Neighbor Discovery for IP
Version 6 (IPv6)'', RFC-2461.
S. Thomson, T. Narten. ``IPv6 Stateless Address Autoconfiguration'',
RFC-2462.
F. Baker. ``Requirements for IP Version 4 Routers'', RFC-1812.
R. T. Braden. ``Requirements for Internet hosts -- communication
layers'', RFC-1122.
``Cisco IOS Release 12.0 Network Protocols Command Reference, Part 1''
and ``Cisco IOS Release 12.0 Quality of Service Solutions
Configuration Guide: Configuring Policy-Based Routing'',
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120.

A. N. Kuznetsov. ``Tunnels over IP in Linux-2.2'',
在:ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz.

A. N. Kuznetsov. ``TC Command Reference'',
在:ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz.

``Cisco IOS Release 12.0 Quality of Service Solutions Configuration
Guide: Configuring QoS Policy Propagation via Border Gateway Protocol'',

http://www.cisco.com/univercd/cc/td/doc/product/software/ios120.

R. Droms. ``Dynamic Host Configuration Protocol.'', RFC-2131

分享到:
评论

相关推荐

    Linux系统常用命令快速入门\Linux网络配置之IP命令手册·rar.rar

    "Linux网络配置之IP命令手册"就是这样一个资源,它详细介绍了Linux中的IP命令,这是一个强大的工具,用于管理网络接口和配置网络参数。在这个压缩包中,主要包含了一个名为"Linux网络配置之IP命令手册.pdf"的文件,...

    linux ip命令手册

    linux ip命令手册 作为日常的参考,很有帮助的。

    Linux网络配置之IP命令手册pdf

    摘要: ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络工具。例如:ifconfig、router等。这个手册分章节介绍IP命令及其选项。

    linux ip命令手册(PDF)

    PDF中文,强大的linux。

    IP命令手册 这个手册将分章节介绍ip命令及其选项

    【IP命令手册】深入解析 IP命令是Linux系统中iproute2软件包的一部分,它是一个功能强大的网络配置工具,能够替代传统的网络管理命令如ifconfig和route。IP命令提供了丰富的选项和子命令,用于管理网络设备、协议...

    ip route命令手册

    ### IP Route 命令手册知识点详解 #### 1. 关于IP Route命令与文档 `ip route`命令是Linux操作系统中用于网络配置的核心工具,它隶属于iproute2软件包,取代了传统的网络管理工具如`ifconfig`和`route`。这份手册...

    ip命令手册三.pdf

    下面将对ip命令手册中的知识点进行详细介绍。 ### IP命令手册概述 ip命令是Linux系统中用于配置和操作网络接口的强大工具,由iproute2软件包提供。它替代了许多传统的命令,如ifconfig和route,并且提供了更多的...

    linux下的ip命令手册(中文版)

    linux ip命令详解,非常实用,绝对物超所值。 通过ip命令可以配置IP地址、路由、ARP、策略路由等等,非常强大。

    ubuntu命令手册.pdf

    Ubuntu 命令手册 本资源摘要信息将详细介绍 Ubuntu 命令手册中的各种知识点,涵盖了软件安装、系统管理、硬盘管理、进程管理、网络管理等方面。 软件安装 * 查看软件安装内容:使用 `dpkg -L` 命令查看软件安装...

    IP命令手册

    ip 是iproute2 软件包里面的一个强大的网络配置工具,本书详细介绍了ip 命令及其选项。 其中包括: link: 网络设备; address:一个设备的协议(IP 或者IPV6)地址; neighbour: ARP 或者NDISC 缓冲...

    华为最全命令手册(截至2021年2月15日).zip

    这份“华为最全命令手册”是针对华为设备管理和维护的重要参考资料,适用于网络管理员、系统工程师以及IT技术人员。手册截至2021年2月15日,意味着它包含了最新的华为设备命令集,对于日常操作和故障排查具有极高的...

    华为H3C命令手册((全)

    华为H3C命令手册 华为H3C命令手册是华为H3C设备所有操作命令的集合,让用户能够轻松地管理和维护华为H3C设备。本手册涵盖了路由器基本配置命令、交换机配置命令、VLAN 基本配置命令、端口聚合配置命令、STP 基本...

    华为交换机命令手册.rar

    《华为交换机命令手册》是华为网络设备管理的重要参考资料,主要针对华为交换机的配置、管理和维护提供了详尽的操作指南。这份手册分为两个部分,一部分是以CHM( Compiled Help Manual)格式的手册,通常便于离线...

    linux下的ip命令手册(中文版).pdf

    ### Linux下的ip命令手册知识点详解 #### 一、引言 `ip` 命令作为 `iproute2` 软件包中的一个强大工具,逐渐取代了传统的网络管理工具如 `ifconfig` 和 `route`。它提供了一种更灵活、功能更丰富的网络配置方法。本...

    Linux网络配置之IP命令手册

    2.ip 命令的语法 3.ip 的错误信息 4.ip link--配置网络设备 4.1.ip link set--改变设备的属性 4.2.ip link show--显示设备属性 5.ip address--协议地址管理 5.1.ip address add--添加一个新的协议地址 5.2.ip ...

    华为命令手册 pdf版最全

    华为交换机命令手册PDF版最全的资源包含了华为公司全系列交换机和路由器的配置与管理命令,旨在为网络管理员和IT专业人士提供详尽的参考资料。这份手册的重要性在于,它不仅是学习华为网络设备操作的基础,也是日常...

    IP相关命令使用手册

    ip是iproute2软件包里面的一个强大的网络配置工具,本文将分章节介绍ip命令及其选项。为了便于理解,作者在本文中列举了很多示例。但是,正如作者所说,这不是一个教程,而是一个使用手册。

    linux ip命令使用手册

    红帽整理的linux ip命令行使用手册,分用途整理了相关的使用说明。网络编程使用的同学可以下载了解下!

    linux命令手册.pdf

    Linux命令手册是Linux系统用户和管理员的重要参考资料,它详尽地阐述了如何在命令行界面中执行各种操作。对于新手来说,这份手册是快速学习和理解Linux操作的基础。以下是手册中涉及的一些关键知识点: 1. **...

Global site tag (gtag.js) - Google Analytics