সাধারণত, পাথ সর্বাধিক সংক্রমণ ইউনিট আবিষ্কার (পিএমটিইউডি) ঘটে যখনই কোনও হোস্ট মনে হয় একটি প্যাকেট খুব বড় হওয়ার কারণে বাদ পড়েছিল।
এটি আইসিএমপি বিভাজনের প্রয়োজনীয়তার জবাবে হতে পারে (টাইপ 3, কোড 4) স্পষ্টভাবে ইঙ্গিত করে যে প্যাকেটটি বাদ পড়েছিল। সাধারণ অনুশীলনে সমস্ত আইপিভি 4 প্যাকেটগুলি "না ফ্রেগমেন্ট" (ডিএফ) পতাকা সেট দিয়ে সেট করা থাকে, সুতরাং এমটিইউর বেশি কোনও প্যাকেট এ জাতীয় প্রতিক্রিয়া প্রকাশ করে। আইপিভি 6 মোটে টুকরো টুকরো সমর্থন করে না।
কিছু রাউটার বা হোস্ট ফায়ারওয়াল সমস্ত আইসিএমপি প্রায়শই ফেলে দেয় কারণ একটি নিরীহ প্রশাসক আইসিএমপি একটি সুরক্ষা ঝুঁকি বলে বিশ্বাস করে । অথবা, কিছু লিঙ্ক একীকরণ প্রকল্পগুলি আইসিএমপি বিতরণ ভঙ্গ করতে পারে । এমটিইউ আবিষ্কার করার জন্য একটি বিকল্প প্রক্রিয়া ছাড়িয়ে গেছে যা আরপিসি 4821 এ প্রস্তাবিত আইসিএমপি-র উপর নির্ভর করে না ।
tracepath
এমটিইউ অনুসন্ধানের জন্য আমার প্রিয় লিনাক্স সরঞ্জাম। LAN এ 9001 এমটিইউ সহ হোস্টের একটি উদাহরণ এখানে রয়েছে, তবে 10.33.32.157 এ পৌঁছানোর জন্য অবশ্যই একটি আইপিসিপি ভিপিএন অতিক্রম করতে হবে:
$ tracepath -n 10.33.32.157
1?: [LOCALHOST] pmtu 9001
1: 10.1.22.1 0.122ms pmtu 1500
1: 169.254.3.1 1.343ms pmtu 1422
1: 10.255.254.61 23.790ms
2: no reply
^C [this host won't return an ICMP port unreachable, so tracepath won't terminate]
আইসিএমপি ত্রুটিগুলি এর সাথে লক্ষ্য করা যায় tcpdump
:
$ sudo tcpdump -p -ni eth0 'icmp and icmp[0] == 3 and icmp[1] == 4'
14:46:57.313690 IP 10.1.22.1 > 10.1.22.194: ICMP 10.33.32.157 unreachable - need to frag (mtu 1500), length 36
14:46:57.315080 IP 169.254.3.1 > 10.1.22.194: ICMP 10.33.32.157 unreachable - need to frag (mtu 1422), length 556
এমটিইউ আবিষ্কারগুলি ক্যাশে করা হয়। লিনাক্সে এটি পর্যবেক্ষণ এবং ফ্লাশ করা যায় ip
( লিনাক্স 3.6 সাল থেকে পরিবর্তনের বিষয়ে সাবধান থাকুন ):
$ ip route get 10.33.32.157
10.33.32.157 via 10.1.22.1 dev eth0 src 10.1.22.194
cache expires 591sec mtu 1422
$ sudo ip route flush cache
$ ip route get 10.33.32.157
10.33.32.157 via 10.1.22.1 dev eth0 src 10.1.22.194
cache
টিসিপি-র ক্ষেত্রে, এমটিইউ ছাড়িয়ে যাওয়া সংযোগ সেটআপের অংশ হিসাবে এড়ানো যেতে পারে। প্রতিটি প্রান্তে প্রেরিত এসওয়াইএন অন্তর্ভুক্ত করা হয় সর্বাধিক সেগমেন্টের আকার (এমএসএস)। টিসিপি শিরোনাম ( বিকল্পগুলি বাদ দিয়ে 20 বাইট ) এবং আইপি শিরোনাম (20 বাইট) মানে এমএসএস এবং এমটিইউ 40 বাইটের পার্থক্যের সাথে সম্পর্কিত।
এর সাথে একটি বৃহত ফাইল স্থানান্তর করার সময় এই দুটি হোস্টের মধ্যে সংযোগ স্থাপনের উদাহরণ রয়েছে scp
:
$ sudo tcpdump -p -ni eth0 'host 10.33.32.157 and tcp[13]&2 == 2'
IP 10.1.22.194.45853 > 10.33.32.157.22: Flags [S], seq 634040018, win 26883, options [mss 8961,sackOK,TS val 10952240 ecr 0,nop,wscale 7], length 0
IP 10.33.32.157.22 > 10.1.22.194.45853: Flags [S.], seq 1371736848, ack 634040019, win 26847, options [mss 1379,sackOK,TS val 10824267 ecr 10952240,nop,wscale 7], length 0
প্রথম প্যাকেটে, স্থানীয় হোস্টটি 8961 এর এমএসএসের প্রস্তাব দেয় This এটি কনফিগার করা 9001 এমটিইউ, কম 40 বাইট। ফিরে আসা এসওয়াইএন / এসিএকে 1379 এর এমএসএস রয়েছে, এটি 1419 এর এমটিইউ বোঝায় I আমি জানি এই নেটওয়ার্কে দূরবর্তী হোস্টটি 8961 প্রেরণ করেছে, তবে রাউটার দ্বারা মানটি সংশোধন করা হয়েছে কারণ এটি জানে যে পথটিতে একটি ইন্টারনেট পাথ রয়েছে ( এমটিইউ 1500) একটি আইপিসি টানেলের একটি ওভারহেড। এই রাউটারটি অন্য হোস্টে 1419 হিসাবে উপস্থিত হতে আমাদের 8961 এর প্রেরিত এমএসএসও পরিবর্তন করেছে। এটিকে এমএসএস ক্ল্যাম্পিং বলা হয় ।
সুতরাং এক অর্থে পিএমটিইউডি হ'ল সারাক্ষণ। অনুশীলনে, এটি আসলে কখনই ঘটতে পারে না, যদি এমএসএস ক্ল্যাম্পিং থাকে এবং সমস্ত ট্রাফিক টিসিপির মাধ্যমে ঘটে থাকে, বা রাউটারগুলির কোনওটির যদি শেষ পয়েন্টগুলিতে কনফিগার করা থাকে তার চেয়ে ছোট কোনও এমটিইউ থাকে না। এমনকি এমএসএস ক্ল্যাম্পিং ছাড়াই এটি খুব কমই ঘটতে পারে, যখন ক্যাশের মেয়াদ শেষ হয়।