交换机
园区网交换机
数据中心与云计算交换机
行业精选交换系列
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
行业精选无线系列
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
制造业
高教/职教
医疗卫生
交通
公共安全
在日常网络运维过程中,当遇到丢包或者转发不通时,往往需要判断报文丢在什么地方,除了用traceroute路径跟踪到数据包终止在具体设备(如路由器)时,那就需要进一步判断路由器针对该报文的转发情况,是丢弃了?还是发错接口了?那么针对锐捷路由器,就可以使用流表这项技术进行判断。
锐捷捷路由器当配置了 NAT、 QOS、 PBR、 ACL 等业务时,那么就默认开启了 X-flow 流表功能。即当每个数据包到达或者穿过路由器,路由器根据这个报文的 6 元组就生产了一条流会话记录。通过流表技术,我们就可以用来查看路由器针对该报文的收发情况(比如路由器有没收到?有没发出?收到多少?发出多少?)。因此可以作为通信异常时的定位神器。可通过 show ip fpm flow 来查看当前的流表。通过 clear ip fpm flows 来清除当下的流(高峰期慎用,会造成业务闪断)
下面我们以192.168.33.39这个源IP为例,来看看路由器针对该数据流的收发情况吧。
每个流会话都包含如下 9 个字段,字段解析:
Pr:IP 协议号,常见的有 ICMP 为 1;TCP 是 6;UDP 是 17
SrcAddr:该数据报文的源 IP 地址
DstAddr:该数据报文的目的 IP 地址
SrcPort:该数据报文的源端口号(TCP/UDP 以外的协议是没有端口号的,那么设备使用该协议的其它字段,作为端口号识别。如 ICMP 使用标识位。)
DstPort:该数据报文的目的端口号
Vrf:该数据报文所在的 vrf, 默认全局 vrf 为 0
SendBytes:发送字节数,源 IP 发送给目的 IP 的字节数
RecvBytes:接收字节数, 目的 IP 回复给源 IP 的字节数
St:协议状态
通过以上可知道,这条流代表的是,源192.168.33.49向目标172.18.10.13发起了telnet(目标端口是23),且源向目的发送了1437个字节,目的回包了1923个字节。
2、转发面转发: 数据报文流量是穿越路由器的,一般指的是客户的业务报文等。设备对于这类报文产生的流表称之为转发面流表。对于集中式设备直接在路由器主控(ruijie#)上查看对应的流表;对于分布式设备,比如RSR77或77X要通过进入数据包流入、流出的线卡来进行查看。
分布式设备对转发面的流表查看均要登录线卡进行查看, 以 RSR77-X 为例:
步骤 1:首先确定对应线卡的槽位号(一般是接口编号的前 2 位,比如接口是gi1/0/2,那么槽位号就是1/0)
命令1:show ip fpm statistics
Slot-1/0 : RSR7708-SRCMI-X-RSR77-SIP5-X —>SIP5-X 线卡的流表统计
Flow table capacity: 2097152 -→该线卡的流表数目总容量【关注】
FRQ capacity: 4096 →分片队列长度
Flow number: 36 →当前活跃的流表总量【注意不要超过总量】
Nat-flow number: 7 →当前活跃的 NAT 流总量【注意不要超过总量】
User number: 3 →当前用户数【关注】
Defragment context number: 0
命令2:show ip fpm users
使用技巧:
1)可通过管道符 | 对用户ip进行过滤,查看特定的用户情况。
2)在分布式设备,比如RSR77-X系列,需要在线卡里面查看
[LC1/0]#sh ip fpm users
IP-address Active-time(s) Active-Conns Max-Config-Conns
192.13.64.2 147 11 100000
192.168.30.1 1227 3 100000
172.19.1.1 1685 1 100000
172.18.157.32 700747 17 100000
Ip-address :数据流的源 ip 地址, 通常情况下为用户的内网地址
Active-timie:该用户存在数据流的时间
Active-conns:该用户 存在多少条活跃的流,如果过大,可能存在异常攻击
Max-config-conns:配置的该用户最大会话限制, 默认是 100000, 可通过 ip session filter 进行调整
命令3:show ip fpm users
命令4:show ip fpm users x.x.x.x
含义:显示特定源IP所有的数据流的转发信息
使用场景:当需要查看当前某个特定流表转发情况时,使用该命令。
使用限制:该命令在极简出口版本才有支持, 一般在对应线卡进行查看。
[LC1/0]#sh ip fpm flows user 192.168.30.1
Pr SrcAddr DstAddr SrcPort DstPort Vrf SendBytes RecvBytes St
17 192.168.30.1 172.18.157.32 64834 1813 0 366618 90096 3
17 192.168.30.1 172.18.157.32 64838 1812 0 387548 95520 3
解析:192.168.30.1与认证服务器的认证(端口1812)和计费(端口1813)的数据流交互过程。
命令5: show ip fpm flow filter pr 源ip 掩码 目的ip 掩码
含义:查看针对特定源,特定目标的数据流的转发信息
使用场景:当需要查看当前某个特定流表转发情况时,使用该命令。
上图代表,源172.18.1.128 经过NAT地址转换后源IP地址变成110.1.1.12,该tcp源端口是36064,目的端口是23,发送了5467字节,接收9301个字节。
其中0.0.0.0 代表任意
含义:显示当前用户特定的数据转发的详细信息,并显示对应的来源接口和发送出口。
使用场景:在做故障排查或者业务测试的时候,当需要查看当前某个特定流表转发从哪个接口进出时,使 用该命令。
使用技巧:针对分布式设备,一般在对应线卡进行查看数据流的转发。
举例:
如果要查看10.20.255.34 访问223.5.5.5这个流的进出接口。
通过上述可以看到,该报文是从ag2口进入,ag4口发出。
如有疑问或相关售后问题咨询,可点击进入闪电兔咨询