目錄
基于RoCE的應(yīng)用程序的MTU注意事項(xiàng)
探測網(wǎng)絡(luò)中的MTU設(shè)置
概要
原文
MTU測試結(jié)果
DOC:
CentOS安裝tshark抓包工具
基于RoCE的應(yīng)用程序的MTU注意事項(xiàng)
原文:https://support.mellanox.com/s/article/MLNX2-117-1682kn
InfiniBand協(xié)議最大傳輸單元(MTU)定義了幾個(gè)固定大小的MTU:256、512、1024、2048或4096字節(jié)。
使用在以太網(wǎng)上運(yùn)行的RDMA的基于RoCE的應(yīng)用程序應(yīng)考慮到RoCE MTU小于以太網(wǎng)MTU(Ethernet MTU)。 (通常默認(rèn)值為1500)。
驅(qū)動程序從上面的列表中選擇比Ethernet MTU 小的最大的那個(gè)值作為最大的“active” MTU。(并考慮了RoCE傳輸頭和CRC字段)。
例如:
對于默認(rèn)的 Ethernet MTU (1500字節(jié)),RoCE將使用1024(作為active_mtu)
而對于Ethernet MTU = 4200,RoCE將使用4096作為“active MTU”。
可以使用“ ibv_devinfo”檢查“ active_mtu”值。
通信兩端之間用RoCE協(xié)議交換“ active_mtu”并進(jìn)行協(xié)商。將使用最小的MTU。
(RoCE protocol exchanges "active_mtu" values and negotiates it between both ends. The minimum MTU will be used.)
檢查端口MTU:
[root@rdma59 ~]# ?ifconfig ens2f0
ens2f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500
? ? ? ? inet 172.17.31.59 ?netmask 255.255.255.0 ?broadcast 172.17.31.255
? ? ? ? inet6 fe80::b696:91ff:fea5:9a70 ?prefixlen 64 ?scopeid 0x20<link>
? ? ? ? ether b4:96:91:a5:9a:70 ?txqueuelen 1000 ?(Ethernet)
? ? ? ? RX packets 6508 ?bytes 954004 (931.6 KiB)
? ? ? ? RX errors 0 ?dropped 477 ?overruns 0 ?frame 0
? ? ? ? TX packets 4736 ?bytes 361557 (353.0 KiB)
? ? ? ? TX errors 0 ?dropped 0 overruns 0 ?carrier 0 ?collisions 0
檢查InfiniBand MTU:
ibv_devinfo 顯示所有RDMA網(wǎng)口的簡略信息
ibv_devinfo -v顯示所有RDMA網(wǎng)口的所有信息
ibv_devinfo -d mlx5_0顯示所有mlx5_0的簡略信息
ibv_devinfo ?-v -d mlx5_0顯示所有mlx5_0的所有信息
更多:ibv_devinfo ?–h
[root@rdma63 ~]# ibv_devinfo -d mlx5_0
hca_id: mlx5_0
? ? ? ? transport: ? ? ? ? ? ? ? ? ? ? ?InfiniBand (0)
? ? ? ? fw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 16.29.1016
? ? ? ? node_guid: ? ? ? ? ? ? ? ? ? ? ?9803:9b03:009a:2b3a
? ? ? ? sys_image_guid: ? ? ? ? ? ? ? ? 9803:9b03:009a:2b3a
? ? ? ? vendor_id: ? ? ? ? ? ? ? ? ? ? ?0x02c9
? ? ? ? vendor_part_id: ? ? ? ? ? ? ? ? 4119
? ? ? ? hw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 0x0
? ? ? ? board_id: ? ? ? ? ? ? ? ? ? ? ? MT_0000000010
? ? ? ? phys_port_cnt: ? ? ? ? ? ? ? ? ?1
? ? ? ? Device ports:
? ? ? ? ? ? ? ? port: ? 1
? ? ? ? ? ? ? ? ? ? ? ? state: ? ? ? ? ? ? ? ? ?PORT_ACTIVE (4)
? ? ? ? ? ? ? ? ? ? ? ? max_mtu: ? ? ? ? ? ? ? ?4096 (5)
? ? ? ? ? ? ? ? ? ? ? ? active_mtu: ? ? ? ? ? ? 1024 (3)
? ? ? ? ? ? ? ? ? ? ? ? sm_lid: ? ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lid: ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lmc: ? ? ? ? ? ? ? 0x00
? ? ? ? ? ? ? ? ? ? ? ? link_layer: ? ? ? ? ? ? Ethernet
對于使用大IO的應(yīng)用程序,建議擴(kuò)大MTU。
注意:如果您更改端口MTU,則所有鏈路上的網(wǎng)絡(luò)元素(交換機(jī)和路由器)中的MTU也應(yīng)該一同修改。
一旦你修改了端口(port)的MTU后,InfiniBand的 active MTU將自動調(diào)整為適合該MTU的最大尺寸。
例如,一旦將端口MTU設(shè)置為4200,active_mtu將更改為4096。
但是,最好不要將端口MTU配置為9000,因?yàn)檫@會浪費(fèi)內(nèi)存。
建議的MTU值如下:
想讓active MTU為4096-將端口MTU配置為4200
想讓active MTU為2048-將端口MTU配置為2200
# ifconfig eth2 mtu 4200
# ibv_devinfo -d mlx4_0
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.31.5050
node_guid: f452:1403:0017:1b80
sys_image_guid: f452:1403:0017:1b83
vendor_id: 0x02c9
vendor_part_id: 4103
hw_ver: 0x0
board_id: MT_1090111019
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
port: 2
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
#
其他文章:
IP over Infiband MTU size in non homogeneous environments - IBM InfiniBand?
https://www.ibm.com/support/pages/ip-over-infiband-mtu-size-non-homogeneous-environments-ibm-infiniband
Maximum Transmit Unit (MTU) Configuration
https://www.supermicro.org.cn/wdl/driver/InfiniBand/VMWare/ESX_Server_5.X/Mellanox_IB_OFED_Driver_for_VMware_vSphere_User_Manual_Rev_1_8_0.pdf
探測網(wǎng)絡(luò)中的MTU設(shè)置
概要
1、MTU(Maximum Transmission Unit) 大小指的是一個(gè)以太幀(Ethernet Frame)能攜帶的最大數(shù)據(jù)部分(payload)的大小, 當(dāng)MTU值設(shè)置為9000 Bytes的時(shí)候也叫做巨型幀(Jumbo Frame)
2、一般情況下網(wǎng)卡的MTU大小是1500(最大可配置到9000),(增加)數(shù)據(jù)的傳輸效率,可以通過增加MTU只來實(shí)現(xiàn),MTU的增加即每幀(Frame)傳輸?shù)臄?shù)據(jù)量就會更大。
3、網(wǎng)絡(luò)中的所有節(jié)點(diǎn)必須同時(shí)增大MTU,網(wǎng)絡(luò)中小MTU的節(jié)點(diǎn)遇到上家發(fā)來的大于MTU的Frame(且沒有切分標(biāo)記),則直接丟棄。
PMTUD方法:
tracepath -n 192.169.31.54
https://networkengineering.stackexchange.com/questions/13417/exactly-when-is-pmtud-performed-path-mtu-discovery
原文
原文:https://www.jianshu.com/p/ee9c32b18005
MTU(Maximum Transmission Unit) 大小指的是一個(gè)以太幀(Ethernet Frame)能攜帶的最大數(shù)據(jù)部分(payload)的大小, 當(dāng)MTU值設(shè)置為9000 Bytes的時(shí)候也叫做巨型幀(Jumbo Frame):
以太幀(Ethernet Frame)
802.3 Ethernet MTU
+-------------+------------+-----------------+---------+----------------+
| Dest MAC(6) | Src MAC(6) | Eth Type/Len(2) | Payload | CRC Trailer(4) |
+-------------+------------+-----------------+---------+----------------+
所以說, 當(dāng)使用 Ethernet 介質(zhì)時(shí)確定只能傳最大 1518 字節(jié)的幀后, 減去 18 字節(jié)的 L2 頭和尾, 留給 IP 層的就只有 1500 字節(jié)了.
一般情況下網(wǎng)卡的MTU大小是1500(最大可配置到9000),然后為了在高性能的網(wǎng)絡(luò)環(huán)境下(增加)數(shù)據(jù)的傳輸效率,可以通過增加MTU只來實(shí)現(xiàn),換句話說通過MTU的增加,每幀(Frame)傳輸?shù)臄?shù)據(jù)量就會更大。 這就好比用面包車運(yùn)輸對比用大貨車運(yùn)輸?shù)膮^(qū)別。
然而要實(shí)現(xiàn)大MTU需要網(wǎng)絡(luò)里的每個(gè)設(shè)備都必須支持巨型幀大MTU,包括發(fā)送主機(jī),目標(biāo)主機(jī)以及網(wǎng)絡(luò)中的路由器等。
本文主要是記錄如何探測網(wǎng)絡(luò)中的MTU設(shè)置以及錯(cuò)誤配置MTU帶來的影響。
為了探測兩個(gè)不同實(shí)驗(yàn)室的機(jī)器之間的網(wǎng)絡(luò)是否支持Jumbo Frame, 我從實(shí)驗(yàn)室A的Centos主機(jī)(client) 發(fā)送ping命令到實(shí)驗(yàn)室B的服務(wù)器(server)。
首先檢查client的MTU配置:
[root@centos ~]# ifconfig eno16777736
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500
?
可以看到默認(rèn)的MTU值為1500, 此時(shí)我們發(fā)送一個(gè)大小為100B的ICMP數(shù)據(jù)包到目標(biāo)server.
[root@centos ?~]# ping -s 100 -c 1 10.245.194.61
PING 10.245.194.61 (10.245.194.61) 100(128) bytes of data.
108 bytes from 10.245.194.61: icmp_seq=1 ttl=50 time=23.0 ms
可以看到小于MTU的數(shù)據(jù)包(128 = 100 + 20(ip header) + 8(icmp header))成功地發(fā)出并得到服務(wù)器回應(yīng), 接著我們增大包的大小到2000,超過了1500的MTU值, 同樣數(shù)據(jù)ping成功ping發(fā)送并得到回應(yīng):
[root@centos ~]# ping -s 2000 -c 1 10.245.194.61
PING 10.245.194.61 (10.245.194.61) 2000(2028) bytes of data.
2008 bytes from 10.245.194.61: icmp_seq=1 ttl=50 time=24.2 ms
?
wireshark抓包
或許這里會有疑問,不是說最大只能發(fā)送1500字節(jié)的包嗎? 為何2000字節(jié)也能成功發(fā)出?為了解答這個(gè)問題,我們通過wireshark抓個(gè)包來看看怎么回事
[root@centos ~]# tcpdump -i eno16777736 -s 50 -w mtu_1500.pcap
[root@centos ~]# tshark -t ud -P -O icmp,ip -Y "ip.addr==10.245.194.61" -r mtu_1500.pcap000>>mtu_1500.txt
(參數(shù)解釋:
https://www.cnblogs.com/liun1994/p/6142505.html
-t: -t a|ad|d|dd|e|r|u|ud 設(shè)置解碼結(jié)果的時(shí)間格式?!癮d”表示帶日期的絕對時(shí)間,“a”表示不帶日期的絕對時(shí)間,“r”表示從第一個(gè)包到現(xiàn)在的相對時(shí)間,“d”表示兩個(gè)相鄰包之間的增量時(shí)間(delta)。 -u: s|hms 格式化輸出秒;
-P: 即使將解碼結(jié)果寫入文件中,也打印包的概要信息;
-O: -O <protocols>,只顯示此選項(xiàng)指定的協(xié)議的詳細(xì)信息。
-Y: -Y <display filter>,使用讀取過濾器的語法,在單次分析中可以代替-R選項(xiàng);
-r: -r <infile> 設(shè)置讀取本地文件
)
打開mtu_1500.txt,找到ICMP包:
icmp 幀
?
可以看到,即使我們指定的數(shù)據(jù)包大小是2000字節(jié),但是IP層會根據(jù)當(dāng)前MTU的設(shè)置對超過的ICMP數(shù)據(jù)進(jìn)行分片(Fragmentation),以滿足發(fā)送方的MTU設(shè)置要求。那么接收方是如何判定當(dāng)前IP包是否被分片過?可以通過More Fragments 標(biāo)志位(上圖93行)和Flags字段(上圖第90行)的值來判斷,, 當(dāng)接收方的IP層收到最后一個(gè)切片后(More Fragments: Not set),就會組裝收到的所有切片包然后交給上層協(xié)議, 這里我們停下來想一想,IP層如何保證切片重組的順序?其實(shí)很簡單,IP包里有個(gè)Fragment offset屬性,接收方可根據(jù)此屬性的順序重組切片, 此列中,理論上應(yīng)當(dāng)只有兩個(gè)切片(1500 + 500 =2000), 所以接下來的一個(gè)Frame就是最后一個(gè)IP 切片:
第二個(gè)Fragment
?
上圖第二個(gè)切片也是最后一個(gè),其IP包的大小為548字節(jié),也就是著總的數(shù)據(jù)傳輸量為2048(1500+548)字節(jié),其中1個(gè)icmp頭(8B), 2個(gè)ip頭(20B+20B)和icmp的數(shù)據(jù)部分(2000). 所以可以看到,即便發(fā)送數(shù)據(jù)量超過了MTU的值,在IP層也會進(jìn)行切片來適配所設(shè)置的MTU大小。
那么將發(fā)送發(fā)的MTU設(shè)置為9000字節(jié)啟用巨型幀的話,會出現(xiàn)什么結(jié)果呢?
[root@centos ~]# ifconfig eno16777736 mtu 9000 up
[root@centos ~]# ifconfig eno16777736
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 9000
設(shè)置好巨型幀以后,再來ping一個(gè)大數(shù)據(jù)包看看這次結(jié)果有什么不一樣。
[root@centos ~]# ping -s 2000 -c 1 10.245.194.61
PING 10.245.194.61 (10.245.194.61) 2000(2028) bytes of data.
?
--- 10.245.194.61 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
額。。。 增大了MTU之后,反而ping不成功!這是怎么回事??? 在看看網(wǎng)絡(luò)包:
ping with jumbo frame
?
嗯,沒問題,MTU設(shè)置應(yīng)該是成功的,這次IP層沒有分片,發(fā)送的數(shù)據(jù)也是2000字節(jié),但是為什么服務(wù)器沒有回應(yīng)呢?
其實(shí),這恰恰說明了此網(wǎng)絡(luò)是不支持巨型幀的,只要網(wǎng)絡(luò)里有一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的MTU值不是9000B并且發(fā)送方要求不分片(第170行, DF: Set)的情況下,轉(zhuǎn)發(fā)節(jié)點(diǎn)會丟棄該報(bào)文。這也就是為什么會返回超時(shí)丟包的錯(cuò)誤了。
簡單來說,當(dāng)一個(gè)轉(zhuǎn)發(fā)點(diǎn)收到一個(gè)IP報(bào)文以后,先檢查該報(bào)文的大小是否超過自己的MTU值,如果超過,再檢查是否設(shè)置了DF標(biāo)志(Don't Fragment), 如果設(shè)置,此報(bào)文將會被直接丟棄,如果沒有設(shè)置DF,那么該節(jié)點(diǎn)會對報(bào)文進(jìn)行切片后再轉(zhuǎn)發(fā)到下一個(gè)路由節(jié)點(diǎn)。
作者:hynoor
鏈接:https://www.jianshu.com/p/ee9c32b18005
?
MTU測試結(jié)果
谷歌搜索 MTU Test / Great Jumbo Frames /圖片搜索
《The Great Jumbo Frames Debate》https://longwhiteclouds.com/2013/09/10/the-great-jumbo-frames-debate/
《Jumbo Frames on vSphere 5》https://longwhiteclouds.com/2012/02/20/jumbo-frames-on-vsphere-5/
《Hardware Offloads - Test results》https://docs.openstack.org/performance-docs/latest/test_results/hardware_features/hardware_offloads/test_results.html
《Large MTUs and Internet Performance》http://irep.ntu.ac.uk/id/eprint/13183/1/221075_PubSub2797_Lee_K.pdf
《AWS Performance Test Results》https://docs.aviatrix.com/HowTos/insane_mode_perf.html
《Jumbo Frames for RAC Interconnect》https://blogs.oracle.com/exadata/jumbo-frames-for-rac-interconnect-v2
谷歌搜索 “mtu latency”,圖片
DOC:
基于RoCE的應(yīng)用程序的MTU注意事項(xiàng)
InfiniBand自動選擇的MTU與端口MTU有關(guān)
?
InfiniBand協(xié)議最大傳輸單元(MTU)定義了幾個(gè)固定大小的MTU:256、512、1024、2048或4096字節(jié)。
基于RoCE的應(yīng)用程序應(yīng)考慮到RoCE MTU小于以太網(wǎng)MTU(Ethernet MTU)。 (通常默認(rèn)值為1500)。
驅(qū)動程序從上面的列表中選擇比Ethernet MTU 小的最大的那個(gè)值作為active_mtu(即實(shí)際使用的MTU)。(并考慮了RoCE傳輸頭和CRC字段)。
例如:
對于默認(rèn)的 Ethernet MTU (1500字節(jié)),RoCE將使用1024(作為active_mtu)
而對于Ethernet MTU = 4200,RoCE將使用4096作為active_mtu。
通信兩端之間用RoCE協(xié)議交換“ active_mtu”并進(jìn)行協(xié)商,將使用最小的MTU。
(Mellanox :RoCE protocol exchanges "active_mtu" values and negotiates it between both ends. The minimum MTU will be used.)
(IBM:When an SMC-R link is initially established between two peer hosts, the MTU size is exchanged and negotiated to the lowest value for both hosts. The negotiated MTU size must account for transport headers and cyclic redundancy check (CRC) information that is used by the underlying RoCE protocols.)
查看端口MTU和InfiniBand MTU
檢查端口MTU:
?
檢查端口MTU:
netstat -i
也可以:
基于RoCE的應(yīng)用程序的MTU注意事項(xiàng)
InfiniBand自動選擇的MTU與端口MTU有關(guān)
?
InfiniBand協(xié)議最大傳輸單元(MTU)定義了幾個(gè)固定大小的MTU:256、512、1024、2048或4096字節(jié)。
基于RoCE的應(yīng)用程序應(yīng)考慮到RoCE MTU小于以太網(wǎng)MTU(Ethernet MTU)。 (通常默認(rèn)值為1500)。
驅(qū)動程序從上面的列表中選擇比Ethernet MTU 小的最大的那個(gè)值作為active_mtu(即實(shí)際使用的MTU)。(并考慮了RoCE傳輸頭和CRC字段)。
例如:
對于默認(rèn)的 Ethernet MTU (1500字節(jié)),RoCE將使用1024(作為active_mtu)
而對于Ethernet MTU = 4200,RoCE將使用4096作為active_mtu。
通信兩端之間用RoCE協(xié)議交換“ active_mtu”并進(jìn)行協(xié)商,將使用最小的MTU。
(Mellanox :RoCE protocol exchanges "active_mtu" values and negotiates it between both ends. The minimum MTU will be used.)
(IBM:When an SMC-R link is initially established between two peer hosts, the MTU size is exchanged and negotiated to the lowest value for both hosts. The negotiated MTU size must account for transport headers and cyclic redundancy check (CRC) information that is used by the underlying RoCE protocols.)
查看端口MTU和InfiniBand MTU
檢查端口MTU:
?
檢查端口MTU:
netstat -i
也可以:
[root@rdma59 ~]# ?ifconfig ens2f0
ens2f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> ?mtu 1500
? ? ? ? inet 172.17.31.59 ?netmask 255.255.255.0 ?broadcast 172.17.31.255
? ? ? ? inet6 fe80::b696:91ff:fea5:9a70 ?prefixlen 64 ?scopeid 0x20<link>
? ? ? ? ether b4:96:91:a5:9a:70 ?txqueuelen 1000 ?(Ethernet)
? ? ? ? RX packets 6508 ?bytes 954004 (931.6 KiB)
? ? ? ? RX errors 0 ?dropped 477 ?overruns 0 ?frame 0
? ? ? ? TX packets 4736 ?bytes 361557 (353.0 KiB)
? ? ? ? TX errors 0 ?dropped 0 overruns 0 ?carrier 0 ?collisions 0
檢查InfiniBand MTU
可以使用“ ibv_devinfo”檢查“ active_mtu”值。
ibv_devinfo 顯示所有RDMA網(wǎng)口的簡略信息
ibv_devinfo -v顯示所有RDMA網(wǎng)口的所有信息
ibv_devinfo -d mlx5_0顯示網(wǎng)口mlx5_0的簡略信息
ibv_devinfo ?-v -d mlx5_0顯示網(wǎng)口mlx5_0的所有信息
更多:ibv_devinfo ?–h
[root@rdma63 ~]# ibv_devinfo -d mlx5_0
hca_id: mlx5_0
? ? ? ? transport: ? ? ? ? ? ? ? ? ? ? ?InfiniBand (0)
? ? ? ? fw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 16.29.1016
? ? ? ? node_guid: ? ? ? ? ? ? ? ? ? ? ?9803:9b03:009a:2b3a
? ? ? ? sys_image_guid: ? ? ? ? ? ? ? ? 9803:9b03:009a:2b3a
? ? ? ? vendor_id: ? ? ? ? ? ? ? ? ? ? ?0x02c9
? ? ? ? vendor_part_id: ? ? ? ? ? ? ? ? 4119
? ? ? ? hw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 0x0
? ? ? ? board_id: ? ? ? ? ? ? ? ? ? ? ? MT_0000000010
? ? ? ? phys_port_cnt: ? ? ? ? ? ? ? ? ?1
? ? ? ? Device ports:
? ? ? ? ? ? ? ? port: ? 1
? ? ? ? ? ? ? ? ? ? ? ? state: ? ? ? ? ? ? ? ? ?PORT_ACTIVE (4)
? ? ? ? ? ? ? ? ? ? ? ? max_mtu: ? ? ? ? ? ? ? ?4096 (5)
? ? ? ? ? ? ? ? ? ? ? ? active_mtu: ? ? ? ? ? ? 1024 (3)
? ? ? ? ? ? ? ? ? ? ? ? sm_lid: ? ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lid: ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lmc: ? ? ? ? ? ? ? 0x00
? ? ? ? ? ? ? ? ? ? ? ? link_layer: ? ? ? ? ? ? Ethernet
max_mtu: ? infiniband網(wǎng)口支持的最大MTU ? ? ? ??
active_mtu: ?infiniband網(wǎng)口實(shí)際使用的MTU ? ?
MTU設(shè)置建議和注意事項(xiàng)
MTU設(shè)置建議
對于使用大IO的應(yīng)用程序,建議擴(kuò)大MTU。
注意事項(xiàng)
注意:如果您更改端口MTU,則所有鏈路上的網(wǎng)絡(luò)元素(交換機(jī)和路由器)中的MTU也應(yīng)該一同修改,否則大MTU端口發(fā)出的大幀遇到小MTU端口會發(fā)生數(shù)據(jù)丟棄,且沒有反饋,問題難以排查。
(MTU:最大傳輸單元,最大接收單元MRU,即MTU >MRU時(shí),接收方就丟棄數(shù)據(jù))
一旦你修改了端口(port)的MTU后,InfiniBand的 active MTU將自動調(diào)整為適合該MTU的最大尺寸。
例如,一旦將端口MTU設(shè)置為4200,active_mtu將更改為4096。
但是,最好不要將端口MTU配置為9000,因?yàn)檫@會浪費(fèi)內(nèi)存。
建議的MTU值如下:
想讓active MTU為4096-將端口MTU配置為4200
想讓active MTU為2048-將端口MTU配置為2200
# ifconfig eth2 mtu 4200
# ibv_devinfo -d mlx4_0
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.31.5050
node_guid: f452:1403:0017:1b80
sys_image_guid: f452:1403:0017:1b83
vendor_id: 0x02c9
vendor_part_id: 4103
hw_ver: 0x0
board_id: MT_1090111019
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
port: 2
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
#
確定路徑的MTU
原理
用來確定到達(dá)目的地的路徑的最大傳輸單元(MTU)的大小的策略/技術(shù)叫PMTUD(路徑MTU發(fā)現(xiàn))
[路徑MTU發(fā)現(xiàn)] (PMTUD)通過在IP報(bào)頭中設(shè)置不分片DF(Don't Fragment)標(biāo)志來探測路徑中的MTU值。一旦DF位置1,將不允許中間設(shè)備對該報(bào)文進(jìn)行分片,那么在遇到IP報(bào)文長度超過中間設(shè)備轉(zhuǎn)發(fā)接口的MTU值時(shí),該IP報(bào)文將會被中間設(shè)備丟棄。在丟棄之后,中間設(shè)備會向發(fā)送方發(fā)送ICMP差錯(cuò)報(bào)文。
(注意:如果通信路徑中間有防火墻阻止了ICMP錯(cuò)誤消息,那么會阻止PMTUD正常執(zhí)行。)
http://www.vants.org/?post=109
檢測
?
(ping的參數(shù)解釋,可以執(zhí)行 man ping 查看)
在Windows主機(jī)上,還可以使用“-f” ping參數(shù)將“不分段(DF)”位設(shè)置為1。
C:\ Users \ ScottHogg> ping 192.168.10.1 -l 1500 -f
在Linux上,命令為:
RedHat# ping -s 1500 -M do 192.168.10.1
通過改變ping包的大小,來回逼近的方法確定MTU
環(huán)境測試實(shí)踐結(jié)果
intel集群的172.17.31.55、172.17.31.59
?
在intel集群的172.17.31.55、172.17.31.59上測試:
只要兩個(gè)網(wǎng)口的MTU不一致,使用ping測試傳輸大于一端MTU的數(shù)據(jù)包就會失敗。
例如:
172.17.31.55 設(shè)置eth的MTU為4200(ib的MTU自動為4096):
ifconfig ens2f0 mtu 4200
172.17.31.59 的eth的MTU默認(rèn)1500
在172.17.31.55上向172.17.31.59 ping 200 byte的包會成功,ping 2000 byte的包會失敗:
ping -s 200 -c 1 172.17.31.59 ? ?#成功
ping -s 2000 -c 1 172.17.31.59 ? #失敗
反過來也一樣。
172.17.31.55 、172.17.31.59都設(shè)置eth的MTU為4200(ib的MTU自動為4096):
ping -s 2000 -c 1 172.17.31.59 ? #成功
windows檢查MTU size
?
ping ?-f -l 2000 182.200.31.59
-l size ? ? ? ?發(fā)送緩沖區(qū)大小。
-f ? ? ? ? ? ?在數(shù)據(jù)包中設(shè)置“不分段”標(biāo)志(僅適用于 IPv4)
返回中提示需要拆分,說明MTU 小于2000
PS C:\Users\l24514> ping 182.200.31.59 -l 1500 -f
正在 Ping 182.200.31.59 具有 1500 字節(jié)的數(shù)據(jù):
來自 182.200.31.254 的回復(fù): 需要拆分?jǐn)?shù)據(jù)包但是設(shè)置 DF。
來自 182.200.31.254 的回復(fù): 需要拆分?jǐn)?shù)據(jù)包但是設(shè)置 DF。
來自 182.200.31.254 的回復(fù): 需要拆分?jǐn)?shù)據(jù)包但是設(shè)置 DF。
來自 182.200.31.254 的回復(fù): 需要拆分?jǐn)?shù)據(jù)包但是設(shè)置 DF。
設(shè)置方法
設(shè)置:
# ifconfig eth2 mtu 4200
查看:
# ibv_devinfo -d mlx4_0
(eth2網(wǎng)口對應(yīng)的 device是mlx4_0)
為什么以太網(wǎng)mtu默認(rèn)值為1500?
https://www.zhihu.com/question/21524257/answer/118266374
理想狀態(tài)幀越大傳輸效率越高。(MTU越大允許的幀越大)
MTU過大引起的副作用:
傳送一個(gè)數(shù)據(jù)包的延遲也越大
?
對于上行鏈路,會有多個(gè)計(jì)算機(jī)的數(shù)據(jù)幀排隊(duì)等待傳輸,如果某個(gè)數(shù)據(jù)幀太大的話,那么其他數(shù)據(jù)幀等待的時(shí)間就會加長,導(dǎo)致體驗(yàn)變差。
需要更大的緩存區(qū)(內(nèi)存)
網(wǎng)絡(luò)I/O控制器需要從Host端主存中的緩沖區(qū)中取數(shù)據(jù),緩沖區(qū)的大小是有限制的,Host主存資源有限,一般無法分配太大的緩沖區(qū),只能將數(shù)據(jù)碎片化,一小份一小份的放置,并用環(huán)形隊(duì)列追蹤組織起來。
并且MTU越大,數(shù)據(jù)包中 bit位發(fā)生錯(cuò)誤的概率也越大
?
如果一次傳送太大量的數(shù)據(jù),一旦該數(shù)據(jù)中有一小部分被干擾,那么接收方的數(shù)據(jù)校驗(yàn)算法由于無法判斷具體是哪里產(chǎn)生了錯(cuò)誤以及如何修復(fù)錯(cuò)誤,所以只能將這份數(shù)據(jù)全部丟棄,并通知發(fā)送方重傳,這極度浪費(fèi)了網(wǎng)絡(luò)帶寬資源
所以折衷的長度:1518 byte ! 對應(yīng)的IP packet 就是 1500 byte:
https://www.zhihu.com/question/21524257/answer/118266374
其他相關(guān)內(nèi)容
Path MTU Discovery (PMTUD)?
PMTUD:
路徑MTU發(fā)現(xiàn)(PMTUD),用于確定計(jì)算機(jī)網(wǎng)絡(luò)中使用互聯(lián)網(wǎng)協(xié)議(IP)主機(jī)間的最大傳輸單元(MTU)的大小,通常目標(biāo)是避免IP分片。PMTUD原定應(yīng)用在IPv4的路由器上,然而所有現(xiàn)代操作系統(tǒng)都是在終端應(yīng)用它。在IPv6中,這個(gè)方法只應(yīng)用在終端之間的會話。對于IPv4包,路徑MTU發(fā)現(xiàn)通過在傳出包的IP頭中設(shè)置Don't Fragment (DF)標(biāo)志位來工作。然后,任何路徑上MTU小于數(shù)據(jù)包的設(shè)備都將丟棄它,并返回包含其MTU過大的ICMPv4(類型3、代碼4)數(shù)據(jù)包,從而允許源主機(jī)適當(dāng)?shù)販p小其路徑MTU。 [1]?
探測網(wǎng)絡(luò)中的MTU設(shè)置 實(shí)踐
?
《探測網(wǎng)絡(luò)中的MTU設(shè)置》: https://www.jianshu.com/p/ee9c32b18005
概要:
1、MTU(Maximum Transmission Unit) 大小指的是一個(gè)以太幀(Ethernet Frame)能攜帶的最大數(shù)據(jù)部分(payload)的大小, 當(dāng)MTU值設(shè)置為9000 Bytes的時(shí)候也叫做巨型幀(Jumbo Frame)
2、一般情況下網(wǎng)卡的MTU大小是1500(最大可配置到9000),(增加)數(shù)據(jù)的傳輸效率,可以通過增加MTU只來實(shí)現(xiàn),MTU的增加即每幀(Frame)傳輸?shù)臄?shù)據(jù)量就會更大。
3、網(wǎng)絡(luò)中的所有節(jié)點(diǎn)必須同時(shí)增大MTU,網(wǎng)絡(luò)中小MTU的節(jié)點(diǎn)遇到上家發(fā)來的大于MTU的Frame(且沒有切分標(biāo)記),則直接丟棄。
MTU Size Issues
https://www.networkworld.com/article/2224654/mtu-size-issues.html
RDMA 信息常用命令
查看RDMA device列表
?
[root@rdma63 tcpdump]# ibv_devices
? ? device ? ? ? ? ? ? ? ? node GUID
? ? ------ ? ? ? ? ? ? ?----------------
? ? mlx5_1 ? ? ? ? ? ? ?98039b03009a4296
? ? mlx5_0 ? ? ? ? ? ? ?98039b03009a2b3a
查看device信息
?
[root@rdma63 tcpdump]# ibv_devinfo -v -d mlx5_1
hca_id: mlx5_1
? ? ? ? transport: ? ? ? ? ? ? ? ? ? ? ?InfiniBand (0)
? ? ? ? fw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 16.29.1016
? ? ? ? node_guid: ? ? ? ? ? ? ? ? ? ? ?9803:9b03:009a:4296
? ? ? ? sys_image_guid: ? ? ? ? ? ? ? ? 9803:9b03:009a:4296
? ? ? ? vendor_id: ? ? ? ? ? ? ? ? ? ? ?0x02c9
? ? ? ? vendor_part_id: ? ? ? ? ? ? ? ? 4119
? ? ? ? hw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 0x0
? ? ? ? board_id: ? ? ? ? ? ? ? ? ? ? ? MT_0000000010
? ? ? ? phys_port_cnt: ? ? ? ? ? ? ? ? ?1
? ? ? ? Device ports:
? ? ? ? ? ? ? ? port: ? 1
? ? ? ? ? ? ? ? ? ? ? ? state: ? ? ? ? ? ? ? ? ?PORT_ACTIVE (4)
? ? ? ? ? ? ? ? ? ? ? ? max_mtu: ? ? ? ? ? ? ? ?4096 (5)
? ? ? ? ? ? ? ? ? ? ? ? active_mtu: ? ? ? ? ? ? 1024 (3)
? ? ? ? ? ? ? ? ? ? ? ? sm_lid: ? ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lid: ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lmc: ? ? ? ? ? ? ? 0x00
? ? ? ? ? ? ? ? ? ? ? ? link_layer: ? ? ? ? ? ? Ethernet
[root@rdma63 ~]# ibv_devinfo --help
ibv_devinfo: unrecognized option '--help'
Usage: ibv_devinfo ? ? ? ? ? ? print the ca attributes
Options:
? -d, --ib-dev=<dev> ? ? use IB device <dev> (default all devices found)
? -i, --ib-port=<port> ? use port <port> of IB device (default 0: all ports)
? -l, --list ? ? ? ? ? ? print only the IB devices names
? -v, --verbose ? ? ? ? ?print all the attributes of the IB device(s)
查看網(wǎng)口映射關(guān)系
?
mellonx:
[root@rdma64 ibdump-master]# ibdev2netdev
mlx5_0 port 1 ==> eth18-0 (Up)
mlx5_1 port 1 ==> ib3b-0 (Up)
intel:
ibv_devices|awk '{system("echo "$1"\"-->\"`ls /sys/class/infiniband/"$1"/device/net`")}'
檢查InfiniBand MTU
可以使用“ ibv_devinfo”檢查“ active_mtu”值。
ibv_devinfo 顯示所有RDMA網(wǎng)口的簡略信息
ibv_devinfo -v顯示所有RDMA網(wǎng)口的所有信息
ibv_devinfo -d mlx5_0顯示網(wǎng)口mlx5_0的簡略信息
ibv_devinfo ?-v -d mlx5_0顯示網(wǎng)口mlx5_0的所有信息
更多:ibv_devinfo ?–h
[root@rdma63 ~]# ibv_devinfo -d mlx5_0
hca_id: mlx5_0
? ? ? ? transport: ? ? ? ? ? ? ? ? ? ? ?InfiniBand (0)
? ? ? ? fw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 16.29.1016
? ? ? ? node_guid: ? ? ? ? ? ? ? ? ? ? ?9803:9b03:009a:2b3a
? ? ? ? sys_image_guid: ? ? ? ? ? ? ? ? 9803:9b03:009a:2b3a
? ? ? ? vendor_id: ? ? ? ? ? ? ? ? ? ? ?0x02c9
? ? ? ? vendor_part_id: ? ? ? ? ? ? ? ? 4119
? ? ? ? hw_ver: ? ? ? ? ? ? ? ? ? ? ? ? 0x0
? ? ? ? board_id: ? ? ? ? ? ? ? ? ? ? ? MT_0000000010
? ? ? ? phys_port_cnt: ? ? ? ? ? ? ? ? ?1
? ? ? ? Device ports:
? ? ? ? ? ? ? ? port: ? 1
? ? ? ? ? ? ? ? ? ? ? ? state: ? ? ? ? ? ? ? ? ?PORT_ACTIVE (4)
? ? ? ? ? ? ? ? ? ? ? ? max_mtu: ? ? ? ? ? ? ? ?4096 (5)
? ? ? ? ? ? ? ? ? ? ? ? active_mtu: ? ? ? ? ? ? 1024 (3)
? ? ? ? ? ? ? ? ? ? ? ? sm_lid: ? ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lid: ? ? ? ? ? ? ? 0
? ? ? ? ? ? ? ? ? ? ? ? port_lmc: ? ? ? ? ? ? ? 0x00
? ? ? ? ? ? ? ? ? ? ? ? link_layer: ? ? ? ? ? ? Ethernet
max_mtu: ? infiniband網(wǎng)口支持的最大MTU ? ? ? ??
active_mtu: ?infiniband網(wǎng)口實(shí)際使用的MTU ? ?
MTU設(shè)置建議和注意事項(xiàng)
?
對于使用大IO的應(yīng)用程序,建議擴(kuò)大MTU。
注意:如果您更改端口MTU,則所有鏈路上的網(wǎng)絡(luò)元素(交換機(jī)和路由器)中的MTU也應(yīng)該一同修改,否則大MTU端口發(fā)出的大幀遇到小MTU端口會發(fā)生數(shù)據(jù)丟棄,且沒有反饋,問題難以排查。
(MTU:最大傳輸單元,最大接收單元MRU,即MTU >MRU時(shí),接收方就丟棄數(shù)據(jù))
一旦你修改了端口(port)的MTU后,InfiniBand的 active MTU將自動調(diào)整為適合該MTU的最大尺寸。
例如,一旦將端口MTU設(shè)置為4200,active_mtu將更改為4096。
但是,最好不要將端口MTU配置為9000,因?yàn)檫@會浪費(fèi)內(nèi)存。
建議的MTU值如下:
想讓active MTU為4096-將端口MTU配置為4200
想讓active MTU為2048-將端口MTU配置為2200
# ifconfig eth2 mtu 4200
# ibv_devinfo -d mlx4_0
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.31.5050
node_guid: f452:1403:0017:1b80
sys_image_guid: f452:1403:0017:1b83
vendor_id: 0x02c9
vendor_part_id: 4103
hw_ver: 0x0
board_id: MT_1090111019
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
port: 2
state: PORT_DOWN (1)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
#
為什么以太網(wǎng)mtu默認(rèn)值為1500?
https://www.zhihu.com/question/21524257/answer/118266374
理想狀態(tài)幀越大傳輸效率越高。(MTU越大允許的幀越大)
MTU過大引起的副作用:
傳送一個(gè)數(shù)據(jù)包的延遲也越大
?
對于上行鏈路,會有多個(gè)計(jì)算機(jī)的數(shù)據(jù)幀排隊(duì)等待傳輸,如果某個(gè)數(shù)據(jù)幀太大的話,那么其他數(shù)據(jù)幀等待的時(shí)間就會加長,導(dǎo)致體驗(yàn)變差。
需要更大的緩存區(qū)(內(nèi)存)
網(wǎng)絡(luò)I/O控制器需要從Host端主存中的緩沖區(qū)中取數(shù)據(jù),緩沖區(qū)的大小是有限制的,Host主存資源有限,一般無法分配太大的緩沖區(qū),只能將數(shù)據(jù)碎片化,一小份一小份的放置,并用環(huán)形隊(duì)列追蹤組織起來。
并且MTU越大,數(shù)據(jù)包中 bit位發(fā)生錯(cuò)誤的概率也越大
?
如果一次傳送太大量的數(shù)據(jù),一旦該數(shù)據(jù)中有一小部分被干擾,那么接收方的數(shù)據(jù)校驗(yàn)算法由于無法判斷具體是哪里產(chǎn)生了錯(cuò)誤以及如何修復(fù)錯(cuò)誤,所以只能將這份數(shù)據(jù)全部丟棄,并通知發(fā)送方重傳,這極度浪費(fèi)了網(wǎng)絡(luò)帶寬資源
所以折衷的長度:1518 byte ! 對應(yīng)的IP packet 就是 1500 byte:
https://www.zhihu.com/question/21524257/answer/118266374
其他相關(guān)內(nèi)容
Path MTU Discovery (PMTUD)?
PMTUD:
路徑MTU發(fā)現(xiàn)(PMTUD),用于確定計(jì)算機(jī)網(wǎng)絡(luò)中使用互聯(lián)網(wǎng)協(xié)議(IP)主機(jī)間的最大傳輸單元(MTU)的大小,通常目標(biāo)是避免IP分片。PMTUD原定應(yīng)用在IPv4的路由器上,然而所有現(xiàn)代操作系統(tǒng)都是在終端應(yīng)用它。在IPv6中,這個(gè)方法只應(yīng)用在終端之間的會話。對于IPv4包,路徑MTU發(fā)現(xiàn)通過在傳出包的IP頭中設(shè)置Don't Fragment (DF)標(biāo)志位來工作。然后,任何路徑上MTU小于數(shù)據(jù)包的設(shè)備都將丟棄它,并返回包含其MTU過大的ICMPv4(類型3、代碼4)數(shù)據(jù)包,從而允許源主機(jī)適當(dāng)?shù)販p小其路徑MTU。 [1]?
探測網(wǎng)絡(luò)中的MTU設(shè)置 實(shí)踐
?
《探測網(wǎng)絡(luò)中的MTU設(shè)置》: https://www.jianshu.com/p/ee9c32b18005
概要:
1、MTU(Maximum Transmission Unit) 大小指的是一個(gè)以太幀(Ethernet Frame)能攜帶的最大數(shù)據(jù)部分(payload)的大小, 當(dāng)MTU值設(shè)置為9000 Bytes的時(shí)候也叫做巨型幀(Jumbo Frame)
2、一般情況下網(wǎng)卡的MTU大小是1500(最大可配置到9000),(增加)數(shù)據(jù)的傳輸效率,可以通過增加MTU只來實(shí)現(xiàn),MTU的增加即每幀(Frame)傳輸?shù)臄?shù)據(jù)量就會更大。
3、網(wǎng)絡(luò)中的所有節(jié)點(diǎn)必須同時(shí)增大MTU,網(wǎng)絡(luò)中小MTU的節(jié)點(diǎn)遇到上家發(fā)來的大于MTU的Frame(且沒有切分標(biāo)記),則直接丟棄。
MTU Size Issues
https://www.networkworld.com/article/2224654/mtu-size-issues.html
CentOS安裝tshark抓包工具
?
準(zhǔn)備在服務(wù)器上用tshark抓包,分析一下數(shù)據(jù)。直接yum install tshark卻發(fā)現(xiàn)沒有這個(gè)包。網(wǎng)上搜索一下,各種奇葩安裝方式,又是安裝apt?又是安裝各種環(huán)境?我相信既然CentOS已經(jīng)有了yum這么好的包管理工具,那么一定有更簡單的方式。
最后只好在Google上直接用我這蹩腳的英文搜索一下。果然,一句how to install tshark on centos順利解決了我的問題。
原來一直是自己對yum這個(gè)命令了解太少了,平時(shí)只會yum install,yum update :first_quarter_moon_with_face: 。那么到底故事如何,客官且聽我細(xì)細(xì)道來。
當(dāng)我試圖直接安裝時(shí):
$ yum install tshark
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
沒有可用軟件包 tshark。
錯(cuò)誤:無須任何處理
那么,該怎么辦呢? 原來yum提供了搜索功能。
$ yum whatprovides *tshark*
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
base/7/x86_64/filelists_db ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| 6.9 MB ?00:00:00
epel/x86_64/filelists ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?10 MB ?00:00:00
extras/7/x86_64/filelists_db ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| 524 kB ?00:00:00
updates/7/x86_64/filelists_db ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | 2.1 MB ?00:00:00
1:bash-completion-extras-2.1-11.el7.noarch : Additional programmable completions for Bash
源 ? ?:epel
匹配來源:
文件名 ? ?:/usr/share/bash-completion/completions/tshark
?
wireshark-1.10.14-14.el7.i686 : Network traffic analyzer
源 ? ?:base
匹配來源:
文件名 ? ?:/usr/sbin/tshark
文件名 ? ?:/usr/share/wireshark/tshark.html
文件名 ? ?:/usr/share/man/man1/tshark.1.gz
?
wireshark-1.10.14-14.el7.x86_64 : Network traffic analyzer
源 ? ?:base
匹配來源:
文件名 ? ?:/usr/sbin/tshark
文件名 ? ?:/usr/share/wireshark/tshark.html
文件名 ? ?:/usr/share/man/man1/tshark.1.gz
我們可以看到wireshark包已經(jīng)包含了tshark包。
接下來就是我們熟悉的步驟了==。
$ yum install wireshark
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解決依賴關(guān)系
--> 正在檢查事務(wù)
---> 軟件包 wireshark.x86_64.0.1.10.14-14.el7 將被 安裝
--> 正在處理依賴關(guān)系 libsmi.so.2()(64bit),它被軟件包 wireshark-1.10.14-14.el7.x86_64 需要
--> 正在處理依賴關(guān)系 libcares.so.2()(64bit),它被軟件包 wireshark-1.10.14-14.el7.x86_64 需要
--> 正在檢查事務(wù)
---> 軟件包 c-ares.x86_64.0.1.10.0-3.el7 將被 安裝
---> 軟件包 libsmi.x86_64.0.0.4.8-13.el7 將被 安裝
--> 解決依賴關(guān)系完成
?
...
?
已安裝:
? wireshark.x86_64 0:1.10.14-14.el7
?
作為依賴被安裝:
? ? c-ares.x86_64 0:1.10.0-3.el7 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?libsmi.x86_64 0:0.4.8-13.el7
?
完畢!
最后我們驗(yàn)證一下:
?$ tshark -v文章來源:http://www.zghlxwxcb.cn/news/detail-653046.html
————————————————
版權(quán)聲明:本文為CSDN博主「bandaoyu」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/bandaoyu/article/details/116706925文章來源地址http://www.zghlxwxcb.cn/news/detail-653046.html
到了這里,關(guān)于基于RoCE的應(yīng)用程序的MTU注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!