क्या अंतर के बीच अंतर है: "": "गिरा:" "उग आया:" और "फ्रेम:" फ़ील्ड ifconfig RX पैकेट उत्पादन में?


11

क्या कोई आउटपुट RX packetsमें विभिन्न क्षेत्रों के बीच अंतर पर विस्तार से बता सकता है ifconfig?

उदाहरण के लिए, मान लें कि मैं दौड़ता हूं ifconfigऔर निम्नलिखित देखता हूं :

eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF  
          inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:202723544 errors:0 dropped:4959 overruns:0 frame:37
          TX packets:158354057 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4261083782 (3.9 GiB)  TX bytes:1224803677 (1.1 GiB)
          Interrupt:83 Memory:f6bf0000-f6c00000 

बीच क्या अंतर है errors: dropped: overrunsऔरframe:

इस बिंदु पर मेरा अनुमान (कुछ अस्पष्ट गुग्लिंग के आधार पर) यह है कि frame:विशेष रूप से सीआरसी विफलताओं से संबंधित है जब निक आने वाले फ्रेम का विश्लेषण करता है और errors:यह एक व्यापक सामान्य श्रेणी है। फिर से ... अगर ऐसा होता, तो मैं उन दोनों क्षेत्रों से संख्या दिखाने की उम्मीद करूंगा।

जवाबों:


17

वह जानकारी खराब दस्तावेज है। मैं आपको बताऊंगा कि मैं अपने अनुभव से क्या समझता हूं।

  • frame केवल मिथ्या निरूपित फ़्रेमों की गणना करता है, इसका मतलब है 8. 8. द्वारा विभाज्य लंबाई के साथ फ़्रेम नहीं है क्योंकि उस लंबाई का एक मान्य फ्रेम नहीं है और इसे केवल त्याग दिया गया है।

  • इस बीच errorsसीआरसी त्रुटियों, बहुत-छोटे फ़्रेम और बहुत-लंबे फ़्रेमों को गिना जाता है।

  • overruns उस समय की गणना करता है जब FIFO ओवररन होता है, जिस दर से बफर पूरा हो जाता है और कर्नेल इसे खाली करने में सक्षम नहीं होता है।

  • अंत में, droppedजब आईपीवी 6 के लिए इंटरफ़ेस कॉन्फ़िगर नहीं किया गया है, तो अनपेक्षित वीएलएएन टैग या आईपीवी 6 फ्रेम प्राप्त करने जैसी चीजें गिनाती हैं।


धन्यवाद। मैंने इसी तरह के निष्कर्षों के साथ ब्लॉग पोस्ट पाया। blog.hyfather.com/blog/2013/03/04/ifconfig
माइक बी

आपने यह कैसे पता लगाया, आपके स्रोत कहां हैं? मैं उत्सुक हूं क्योंकि मैं खुद इन उत्तरों की तलाश कर रहा हूं और इन्हें कहीं भी नहीं ढूंढ सकता, लेकिन ब्लॉग, या पोस्ट जैसे कि यह। कोई भी आदमी पेज या आधिकारिक दस्तावेज?
mdo123

8

मुझे पता है कि यह एक 1 साल पुराना सवाल है लेकिन यह Google पर 1 है इसलिए शायद मैं इसमें 5 सेंट जोड़ सकता हूं।

पहले मुझे फ्रेम फ़ील्ड पर इस मॉड 8 नियम के बारे में पता नहीं था ... क्या यह ड्राइवर नियम या कर्नेल नियम है?

मेरे पास जो थोड़ा अनुभव है, उसमें ये नंबर काफी सामान्य हैं और अधिक जानकारी ethtool(यदि ड्राइवर इसे सपोर्ट करता है) से प्राप्त किया जा सकता है : यह watchकमांड से है।

Every 1s: ethtool -S eth1 | grep rx_ && echo  && ifconfig eth1                                                   1970-01-01 00:21:07

 rx_octets: 12635134290
 rx_frames: 8488675
 rx_broadcast_frames: 103
 rx_multicast_frames: 0
 rx_pause_frames: 0
 rx_64_byte_frames: 113
 rx_65_127_byte_frames: 47
 rx_128_255_byte_frames: 186340
 rx_256_511_byte_frames: 1
 rx_512_1023_byte_frames: 0
 rx_1024_1518_byte_frames: 8302174
 rx_greater_than_1518_byte_frames: 0
 rx_undersized_frames: 0
 rx_oversize_frames: 0
 rx_jabbers: 0
 rx_frame_check_sequence_errors: 0
 rx_length_field_frame_errors: 0
 rx_symbol_errors: 0
 rx_alignment_errors: 0
 rx_resource_errors: 283
 rx_overruns: 132
 rx_ip_header_checksum_errors: 0
 rx_tcp_checksum_errors: 0
 rx_udp_checksum_errors: 0

eth1      Link encap:Ethernet  HWaddr AA:BB:CC:DD:20:16  
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a8bb:ccff:fedd:2016/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:8488675 errors:415 dropped:4 overruns:132 frame:283
          TX packets:647464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3892403548 (3.6 GiB)  TX bytes:62273943 (59.3 MiB)
          Interrupt:147 Base address:0xc000 

ड्राइवर के आधार पर अलग-अलग फ़ील्ड होंगे ethtoolऔर ifconfigफ़ील्ड अंडरस्क्राइब / ओवरसाइज़्ड फ़्रेम को भी इंगित कर सकते हैं।

यदि आपका एनआईसी और ड्राइवर इसका समर्थन करता है, तो आप कर सकते हैं (या करना चाहिए):

ifdown eth1 && modprobe -r macb && modprobe macb && ifup eth1 && ethtool -offload  eth1  rx off  tx off && ethtool -K eth1 gso off && ethtool --show-offload eth1

अधिक जानकारी प्राप्त करने के लिए (जानकारी को एथलेट में दिखाने के लिए सक्षम होने दें)। मैं यहाँ macb ड्राइवर का उपयोग कर रहा हूँ ... इसलिए ethtoolअपने ड्राइवर की जाँच करें।

ethtool -i eth1

यह वही है जो मुझे यह समझने में मदद करता है कि आमतौर पर क्या हो रहा है।

कभी-कभी कोई त्रुटि नहीं होती है, लेकिन पैकेट दूषित होते हैं ... तो यह एक PHYsical या ड्राइवर की समस्या अधिक होती है ... और कभी-कभी स्निफ़र्स दिखाते हैं कि सब कुछ सही है, लेकिन ड्राइवर / कर्नेल के पास जाने के बाद एक समस्या है (यह ऊपर का मामला है) वास्तव में)।

कुछ और से प्राप्त किया जा सकता है netstat -s, या यदि आप इसे एक स्क्रिप्ट में डालते हैं (छोटे एम्बेडेड सिस्टम के लिए):

awk '(f==0) { i=1; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} (f==1){ i=2; while ( i<=NF){ printf "%s = %d\n", n[i], $i; i++}; f=0}'  /proc/net/netstat

चूंकि netstat -sउपलब्ध नहीं हो सकता है।


1
हेड-अप के लिए धन्यवादethtool -S
kostix
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.