मैं लिनक्स (और सभी अन्य ओएस) के तहत कैशेड पीएमटीयू कैसे देख सकता हूं


13

जब मैं डीएफ बिट सेट और एक पैकेट आकार के साथ एक दूरस्थ साइट को पिंग करता हूं, जो कि मेरे राउटर के लिए बहुत बड़ा है, तो पहला आईसीएमपी "विखंडन आवश्यक" संदेश राउटर से भेजा जाता है। उसके बाद मेरे लोकलहोस्ट से मैसेज आता है।

Netstat -rC (लिनक्स पर) मुझे रूटिंग टेबल कैश देखने की अनुमति देता है, लेकिन

1) एमएसएस नामक कॉलम के तहत एमटीयू दिखाने के लिए लगता है (जो मुझे लिंक के निचले टीसीएस एमएसएस होने की उम्मीद है)

2) हमेशा मान 1500 के रूप में दिखाता है

मेरी लोकलहोस्ट को कहीं न कहीं पीएमटीयू को कैशिंग करना चाहिए ताकि यह विखंडन आवश्यक संदेश उत्पन्न कर सके। लेकिन मैं उसे कैसे देखूं?

यहाँ मेरी मशीन पर एक उदाहरण दिया गया है (netstat पर एक-दूसरे को रिवर्स DNS लुकअप को रोकता है):

[root@vbcentos ~]# ping -c 4 -M do -s 1431 212.58.244.69
PING 212.58.244.69 (212.58.244.69) 1431(1459) bytes of data.
From 217.155.134.6 icmp_seq=1 Frag needed and DF set (mtu = 1458)
From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458)
From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458)
From 217.155.134.4 icmp_seq=2 Frag needed and DF set (mtu = 1458)

--- 212.58.244.69 ping statistics ---
1 packets transmitted, 0 received, +4 errors, 100% packet loss, time 1002ms

[root@vbcentos ~]# netstat -rCn
Kernel IP routing cache
Source          Destination     Gateway         Flags   MSS Window  irtt Iface
217.155.134.3   217.155.134.4   217.155.134.4   il        0 0          0 lo
217.155.134.4   212.58.244.69   217.155.134.6          1500 0          0 eth0
217.155.134.4   217.155.134.4   217.155.134.4   l     16436 0          0 lo
217.155.134.3   217.155.134.255 217.155.134.255 ibl       0 0          0 lo
217.155.134.4   212.58.244.69   217.155.134.6          1500 0          0 eth0
217.155.134.6   217.155.134.4   217.155.134.4   il        0 0          0 lo
212.58.244.69   217.155.134.4   217.155.134.4   l         0 0          0 lo
[root@vbcentos ~]#

संपादित करें: सुझाव के अनुसार:

ip route get to 212.58.244.69

देता है

212.58.244.69 via 217.155.134.6 dev eth1  src 217.155.134.4
    cache  mtu 1500 advmss 1460 hoplimit 64

जो गलत भी लगता है क्योंकि MSS mtu से सिर्फ 40 कम है, जो कि PMTU के बजाय इंटरफ़ेस mtu है


1
फेडोरा 22 पर, netstat -rCnकुछ भी नहीं देता है, लेकिन watch ip route get to $HOSTदिखाता है कि कैश टीटीएल सहित क्या हो रहा है। ip route show cachedशो शायद कुछ उत्पादन भी करता है, लेकिन नहीं करता है।
डेविड टोनहोफर 20

जवाबों:


7

शायद

ip route get to 212.58.244.69

इसे जोड़ने के लिए संपादित प्रश्न।
नीक

1

विंडोज के तहत, "गंतव्य कैश" देखने के लिए netsh कमांड का उपयोग करें जो यह जानकारी रखता है। उदाहरण के लिए (IPv4 मानकर):

netsh interface ipv4 show destinationcache

1

MSS आपके MTU से 40 बाइट्स कम होना चाहिए (इसमें IPv4 (20 बाइट्स) और tcp (20) बाइट हेडर शामिल नहीं हैं)। तो यह सही है।

ICMP विखंडन आवश्यक संदेश राउटर द्वारा भेजा जाता है, न कि आपके सर्वर द्वारा।

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