ip命令手册(四)




  10.ip mroute -- 多播缓存Cache管理
  
  10.1.缩写
  mroute、mr
  
  10.2.对象
  
  这个命令操作对象是多播缓存Cache条目这个缓存Cache是由个用户空间多播路由监控进程(例如pimd或者mrouted)建立
  
  目前由于受和多播路由引擎接口限制还不能通过ip命令修改多播路由对象因此我们只能查看
  
  10.3.命令
  
  show或者list
  
  10.畲骉TL是32netadm@amber:~ # ip tunnel add 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: ipv6/ip remote 192.31.7.104 local 192.203.80.142 ttl 32 kuznet@amber:~ $
  
  输出部分是通道设备名接着是通道模式下面就是设置通道时各个参数
  
  统计信息
  kuznet@amber:~ $ ip -s tunl ls CiscoCisco: 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信息 2进制文件把解析结果显示出来这种历史文件可以有工具产生这个工具具有和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 rTimestamp: Wed Nov 6 20:25:54 2002 733331 us1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eth0: mtu 1500 qdisc pfo_fast link/ether 00:01:4f:00:15:f1 brd ff:ff:ff:ff:ff:ffTimestamp: Wed Nov 6 20:25:58 2002 33700 us61.133.4.7 via 211.99.114.65 dev eth0 Timestamp: Wed Nov 6 20:25:59 2002 924124 usDeleted 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提出了个解决方案就是把策略从路由迁移到转发引擎基本上通过BGPCisco策略迁移(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 to it. If rule has a source realm, source realm of the packet is to it. If destination realm was not get from route and rule has destination realm, it is also . 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 ier)使用我们可以使用路由类别把数据包分配到给区别流量类(trafffic )为数据包计数以及为它们制定调度策略
  
  相对于TC使用realm为进入数据包计数就简单多了但这是个非常有用应用内核可以根据realm收集整理总结数据包统计信息在用户空间我们可以使用工具rtacct查看这些信息例如:
  
  kuznet@amber:~ $ rtacct russiaRealm 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 
Tags: 

延伸阅读

最新评论

发表评论