在日常網(wǎng)絡(luò)運維過程中,當(dāng)遇到丟包或者轉(zhuǎn)發(fā)不通時,往往需要判斷報文丟在什么地方,除了用traceroute路徑跟蹤到數(shù)據(jù)包終止在具體設(shè)備(如路由器)時,那就需要進(jìn)一步判斷路由器針對該報文的轉(zhuǎn)發(fā)情況,是丟棄了?還是發(fā)錯接口了?那么針對銳捷路由器,就可以使用流表這項技術(shù)進(jìn)行判斷。
銳捷捷路由器當(dāng)配置了 NAT、 QOS、 PBR、 ACL 等業(yè)務(wù)時,那么就默認(rèn)開啟了 X-flow 流表功能。即當(dāng)每個數(shù)據(jù)包到達(dá)或者穿過路由器,路由器根據(jù)這個報文的 6 元組就生產(chǎn)了一條流會話記錄。通過流表技術(shù),我們就可以用來查看路由器針對該報文的收發(fā)情況(比如路由器有沒收到?有沒發(fā)出?收到多少?發(fā)出多少?)。因此可以作為通信異常時的定位神器。可通過 show ip fpm flow 來查看當(dāng)前的流表。通過 clear ip fpm flows 來清除當(dāng)下的流(高峰期慎用,會造成業(yè)務(wù)閃斷)
下面我們以192.168.33.39這個源IP為例,來看看路由器針對該數(shù)據(jù)流的收發(fā)情況吧。
每個流會話都包含如下 9 個字段,字段解析:
Pr:IP 協(xié)議號,常見的有 ICMP 為 1;TCP 是 6;UDP 是 17
SrcAddr:該數(shù)據(jù)報文的源 IP 地址
DstAddr:該數(shù)據(jù)報文的目的 IP 地址
SrcPort:該數(shù)據(jù)報文的源端口號(TCP/UDP 以外的協(xié)議是沒有端口號的,那么設(shè)備使用該協(xié)議的其它字段,作為端口號識別。如 ICMP 使用標(biāo)識位。)
DstPort:該數(shù)據(jù)報文的目的端口號
Vrf:該數(shù)據(jù)報文所在的 vrf, 默認(rèn)全局 vrf 為 0
SendBytes:發(fā)送字節(jié)數(shù),源 IP 發(fā)送給目的 IP 的字節(jié)數(shù)
RecvBytes:接收字節(jié)數(shù), 目的 IP 回復(fù)給源 IP 的字節(jié)數(shù)
St:協(xié)議狀態(tài)
通過以上可知道,這條流代表的是,源192.168.33.49向目標(biāo)172.18.10.13發(fā)起了telnet(目標(biāo)端口是23),且源向目的發(fā)送了1437個字節(jié),目的回包了1923個字節(jié)。
2、轉(zhuǎn)發(fā)面轉(zhuǎn)發(fā): 數(shù)據(jù)報文流量是穿越路由器的,一般指的是客戶的業(yè)務(wù)報文等。設(shè)備對于這類報文產(chǎn)生的流表稱之為轉(zhuǎn)發(fā)面流表。對于集中式設(shè)備直接在路由器主控(ruijie#)上查看對應(yīng)的流表;對于分布式設(shè)備,比如RSR77或77X要通過進(jìn)入數(shù)據(jù)包流入、流出的線卡來進(jìn)行查看。
分布式設(shè)備對轉(zhuǎn)發(fā)面的流表查看均要登錄線卡進(jìn)行查看, 以 RSR77-X 為例:
步驟 1:首先確定對應(yīng)線卡的槽位號(一般是接口編號的前 2 位,比如接口是gi1/0/2,那么槽位號就是1/0)
命令1:show ip fpm statistics
Slot-1/0 : RSR7708-SRCMI-X-RSR77-SIP5-X —>SIP5-X 線卡的流表統(tǒng)計
Flow table capacity: 2097152 -→該線卡的流表數(shù)目總?cè)萘俊娟P(guān)注】
FRQ capacity: 4096 →分片隊列長度
Flow number: 36 →當(dāng)前活躍的流表總量【注意不要超過總量】
Nat-flow number: 7 →當(dāng)前活躍的 NAT 流總量【注意不要超過總量】
User number: 3 →當(dāng)前用戶數(shù)【關(guān)注】
Defragment context number: 0
命令2:show ip fpm users
使用技巧:
1)可通過管道符 | 對用戶ip進(jìn)行過濾,查看特定的用戶情況。
2)在分布式設(shè)備,比如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 :數(shù)據(jù)流的源 ip 地址, 通常情況下為用戶的內(nèi)網(wǎng)地址
Active-timie:該用戶存在數(shù)據(jù)流的時間
Active-conns:該用戶 存在多少條活躍的流,如果過大,可能存在異常攻擊
Max-config-conns:配置的該用戶最大會話限制, 默認(rèn)是 100000, 可通過 ip session filter 進(jìn)行調(diào)整
命令3:show ip fpm users

命令4:show ip fpm users x.x.x.x
含義:顯示特定源IP所有的數(shù)據(jù)流的轉(zhuǎn)發(fā)信息
使用場景:當(dāng)需要查看當(dāng)前某個特定流表轉(zhuǎn)發(fā)情況時,使用該命令。
使用限制:該命令在極簡出口版本才有支持, 一般在對應(yīng)線卡進(jìn)行查看。
[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與認(rèn)證服務(wù)器的認(rèn)證(端口1812)和計費(端口1813)的數(shù)據(jù)流交互過程。
命令5: show ip fpm flow filter pr 源ip 掩碼 目的ip 掩碼
含義:查看針對特定源,特定目標(biāo)的數(shù)據(jù)流的轉(zhuǎn)發(fā)信息
使用場景:當(dāng)需要查看當(dāng)前某個特定流表轉(zhuǎn)發(fā)情況時,使用該命令。

上圖代表,源172.18.1.128 經(jīng)過NAT地址轉(zhuǎn)換后源IP地址變成110.1.1.12,該tcp源端口是36064,目的端口是23,發(fā)送了5467字節(jié),接收9301個字節(jié)。
其中0.0.0.0 代表任意
含義:顯示當(dāng)前用戶特定的數(shù)據(jù)轉(zhuǎn)發(fā)的詳細(xì)信息,并顯示對應(yīng)的來源接口和發(fā)送出口。
使用場景:在做故障排查或者業(yè)務(wù)測試的時候,當(dāng)需要查看當(dāng)前某個特定流表轉(zhuǎn)發(fā)從哪個接口進(jìn)出時,使 用該命令。
使用技巧:針對分布式設(shè)備,一般在對應(yīng)線卡進(jìn)行查看數(shù)據(jù)流的轉(zhuǎn)發(fā)。
舉例:
如果要查看10.20.255.34 訪問223.5.5.5這個流的進(jìn)出接口。
通過上述可以看到,該報文是從ag2口進(jìn)入,ag4口發(fā)出。
如有疑問或相關(guān)售后問題咨詢,可點擊進(jìn)入閃電兔咨詢