Linux之 網路卡發包、接包 error 、droped 情況

張衝andy發表於2017-12-23

1、 檢視各個網路卡傳送、接受包情況
oracle@hbdw2:/oratmp2$netstat -ni
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
Ibond0 1500 0 328233758 0 0 0 331426557 0 0 0 BMmRU
ebond0 1500 0 926492731 0 0 0 1822546664 0 0 0 BMmRU
ebond0:1 1500 0 - no statistics available - BMmRU
ebond0:3 1500 0 - no statistics available - BMmRU
ebond1 1500 0 9095336643 0 0 0 9497066959 0 0 0 BMmRU
ebond1:1 1500 0 - no statistics available - BMmRU
eth0 1500 0 925316283 0 0 0 1822592394 0 0 0 BMsRU
eth1 1500 0 9082511424 0 0 0 9497365650 0 0 0 BMsRU
eth2 1500 0 13003043 0 0 0 8 0 0 0 BMsRU
eth3 1500 0 1179049 0 0 0 0 0 0 0 BMsRU
ib0 1500 0 328232222 0 0 0 331434671 0 0 0 BMsRU
ib3 1500 0 4955 0 0 0 0 0 0 0 BMsRU
lo 65536 0 563542270 0 0 0 563542270 0 0 0 LRU

Iface :網路介面名稱
MTU:Maximum Trasmission Unit 最大傳輸單元
Met: Metric,度量值 , 供某些作業系統用,用於計算一條路由的成本
RX-OK :接收時,正確的資料包數。
RX-ERR :接收時,產生錯誤的資料包數。
RX-DRP :接收時,丟棄的資料包數。
RX-OVR :接收時,由於過速(在資料傳輸中,由於接收裝置不能接收按照傳送速率傳送來的資料而使資料丟失)而丟失的資料包數。
TX-OK :傳送時,正確的資料包數。
TX-ERR :傳送時,產生錯誤的資料包數。
TX-DRP :傳送時,丟棄的資料包數。
TX-OVR :傳送時,由於過速而丟失的資料包數。
Flg :標誌。

-- 詳細補充:
Flg: 標誌種類
B 已經設定了一個廣播地址。
L 該介面是一個回送裝置。
M 接收所有資料包(混亂模式)。
N 避免跟蹤。
O 在該介面上,禁用ARP。
P 這是一個點到點連結。
R 介面正在執行。
U 介面處於“活動”狀態。

MTU 最大傳輸單元:鏈路層具有最大傳輸單元MTU這個特性,它限制了資料幀的最大長度,不同的網路型別都有一個上限值。乙太網的MTU是1500,你可以用 netstat -i 命令檢視這個值。如果IP層有資料包要傳,而且資料包的長度超過了MTU,那麼IP層就要對資料包進行分片(fragmentation)操作,使每一片的長度都小於或等於MTU。我們假設要傳輸一個UDP資料包,乙太網的MTU為1500位元組,一般IP首部為20位元組,UDP首部為8位元組,資料的淨荷(payload)部分預留是1500-20-8=1472位元組。如果資料部分大於1472位元組,就會出現分片現象。

2、 檢視指定網路卡傳送接受包情況
oracle@hbdw2:/oratmp2$ifconfig ebond0
ebond0 Link encap:Ethernet HWaddr A0:A3:3B:D0:C7:DC 
inet addr:136.142.55.2 Bcast:136.142.55.127 Mask:255.255.255.128
inet6 addr: fe80::a2a3:3bff:fed0:c7dc/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:926533235 errors:0 dropped:0 overruns:0 frame:0
TX packets:1825953502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:3331627908495 (3.0 TiB) TX bytes:1033757568200 (962.7 GiB)

Link encap :介面的概要描述。
HWaddr :網路卡的硬體地址。
inet addr :網路卡的IP地址。
Bcast :廣播地址。
Mask :網路掩碼。
UP:表示“介面已啟用”。
BROADCAST :表示“主機支援廣播”。
RUNNING:表示“介面在工作中”。
MULTICAST:表示“主機支援多播”。
MTU :最大傳輸單元
Metric 見上上表。(同“Met”)
RX packets 接收時,正確的資料包數。
RX errors 接收時,產生錯誤的資料包數。
RX dropped 接收時,丟棄的資料包數。
RX overruns 接收時,由於過速而丟失的資料包數。
RX frame 接收時,發生frame錯誤而丟失的資料包數。
(乙太網是一種共享媒體(shared medium),所以必須要有機制來決定由誰來使用傳輸媒體,在乙太網中所採用的是CSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式,步驟如下:
1 將要傳輸的資料切割成Frame,作為傳輸單位。
2 要傳輸時先偵測電纜上是否有裝置送Frame(Carrier Sense)。
3 若沒有裝置使用,才準備傳送Frame,並偵測是否有另外的裝置傳送Frame(Collision Detection)。
4 若發生碰撞,則各自等待一段隨機的時間,再重試( Backoff Algorithm)。
TX packets 傳送時,正確的資料包數。
TX errors 傳送時,產生錯誤的資料包數。
TX dropped 傳送時,丟棄的資料包數。
TX overruns 傳送時,由於過速而丟失的資料包數。
TX carrier 傳送時,發生carrier錯誤而丟失的資料包數。 
collisions 衝突資訊包的數目。 
txqueuelen 傳送佇列的大小。 
RX bytes 接收的資料量。
TX bytes 傳送的資料量。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2149153/,如需轉載,請註明出處,否則將追究法律責任。

相關文章