আইপি শিরোলেখের মধ্যে পিংয়ের "রাউন্ড-ট্রিপ সময়" কোথায় সঞ্চিত আছে?


9

আমরা যদি আইএমএমপি ব্যবহার করি তবে আমরা pingটিটিএল জানি এবং round-trip timeআইপি শিরোনামে সঞ্চিত থাকি । নীচের আইপি শিরোনামের মানচিত্রে আমরা টিটিএল এর অবস্থান জানি তবে রাউন্ড ট্রিপ সময়টি কোথায়?

এখানে চিত্র বিবরণ লিখুন

এটি জমা আছে Options?

উত্তর:


23

রাউন্ড ট্রিপ সময় আসলে কোথাও সংরক্ষণ করা হয় না। প্রেরণকারী হোস্টটি আইসিএমপির 16-বিট সনাক্তকারী এবং সিকোয়েন্স ক্ষেত্রগুলি ব্যবহার করে প্রতিটি আইসিএমপি ইকো অনুরোধ বার্তা প্রেরণের সময়টিকে স্মরণ করে। এটি যখন আইএমএমপি ইকো রিপ্লাই পায়, এটি বর্তমান সময়টিকে নোট করে, উত্তরটির দ্বারা চিহ্নিত ম্যাচিংয়ের অনুরোধ প্যাকেটটি প্রেরণের সময়টি আবিষ্কার করে, পার্থক্যটি গণনা করে এবং রিপোর্ট করে।

সাধারণত পিং একাধিক যুগপত পিংস এবং পৃথক প্যাকেটগুলির পার্থক্য করতে সিকোয়েন্স ক্ষেত্রের পার্থক্য করতে আইসিএমপি এর সনাক্তকরণ ক্ষেত্র ব্যবহার করে।

প্রদত্ত প্যাকেটের জন্য বহির্মুখী সময়টি কোথায় সংরক্ষণ করতে হবে তা স্থির করে তা বাস্তবায়নের উপর নির্ভর করে: এটি কোনও টেবিলে হোস্টে রাখার পরিবর্তে এটি সাধারণত বহির্গামী অনুরোধে প্রেরণ করে এবং সময়টি গণনার জন্য উত্তরটিতে অনুলিপিটি ব্যবহার করে। (এটি নির্দেশ করার জন্য মন্তব্যকারীদের ধন্যবাদ।) এটি প্রয়োগের জন্য যেভাবেই সুবিধাজনক হোক না কেন এটি প্রেরণ করা হয়েছে এবং অবশ্যই ডেটা সঠিকভাবে অনুলিপি করার জন্য সুদূর প্রান্ত এবং কোনও হস্তক্ষেপকারী সরঞ্জামকে বিশ্বাস করতে হবে। কিছু সিস্টেম মাইক্রোসেকেন্ডগুলির রেজোলিউশন সহ 16 বাইটে কিছু সময় উপস্থাপন করে, কিছুটি 8 মিলি সেকেন্ডের রেজোলিউশন সহ বাইট হিসাবে পরিচিত।

dataআইপিএম প্যাকেটের অংশের অভ্যন্তরের বিন্যাসটি হ'ল আইসিএমপি ইকো অনুরোধ / উত্তর বার্তা, আরএফসি 792 "ইন্টারনেট নিয়ন্ত্রণ বার্তা ফর্ম্যাট" (পি 14) থেকে অনুলিপি করা হয়েছে ।

Typeঅনুরোধের জন্য 8, জবাব দেওয়ার জন্য 0; Code0 হয়।

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Identifier          |        Sequence Number        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Data ...
   +-+-+-+-+-

পুনশ্চ. কেবল স্পষ্ট করে বলতে গেলে, আইপি শিরোনামের সনাক্তকরণ ক্ষেত্রটি সাধারণত একটি স্বেচ্ছাসেবী মানতে সেট করা থাকে, প্রতিটি বিদায়ী প্যাকেটের জন্য পৃথক, যে কোনও বিভাজন পুনরায় অপসারণের জন্য ব্যবহৃত হয় এবং আইসিএমপি বডিতে কোনও কিছুর সমান মান থাকে না।

এছাড়াও, আইপি শিরোনামটিতে টাইমস্ট্যাম্পগুলি বিকল্প হিসাবে রাখার জন্য একটি পদ্ধতি নির্ধারিত থাকলেও পিংয়ের জন্য এটি সাধারণ প্রক্রিয়া নয় কারণ অনেকগুলি রাউটার নির্দিষ্ট আইপি বিকল্পগুলি পাস না করার জন্য কনফিগার করা হয়েছে। ইন্টারনেট প্রোটোকল টাইমস্ট্যাম্প বিকল্পের আরএফসি 781 নির্দিষ্টকরণ দেখুন ।

শেষ অবধি, যদিও এখানে সমস্ত কিছু মূল প্রশ্ন অনুসারে আইপিভি 4 দৃষ্টিকোণ থেকে লেখা হয়েছিল; তবে আইপিভি 6-তে পিং অত্যন্ত মিল, আইসিএমপিভি 6 আরএফসি 4443 দেখুন


3
এআইইউআই "সনাক্তকরণ" ক্ষেত্রটি খণ্ড পুনরায় অপসারণের প্যাকেট সনাক্ত করতে ব্যবহৃত হয়। আইসিএমপি শিরোলেখটিতে আইডি এবং সিক ক্ষেত্রের প্রতিবেদনের সাথে প্রতিধ্বনির সাথে ইকো অনুরোধগুলি মিলছে।
পিটার গ্রিন

এটি দেখানোর জন্য ধন্যবাদ: আমি স্পষ্ট করে দিয়েছি এটি আইসিএমপি নয় আইপি আইডি (এবং আপনি যেমন সিক,)।
জোনাথঞ্জো

আমি নিশ্চিত যে pingলিনাক্সে অন্তত একটি বাস্তবায়ন রয়েছে যা Dataআইসিএমপি পে-লোডের বিভাগে টাইমস্ট্যাম্প সংরক্ষণ করে । প্রতিধ্বনির উত্তরগুলি এমন একটি ইন্টারনেট এক্সচেঞ্জকে অনুসরণ করে যা প্রতিটি প্যাকেটে সেই জায়গাতে কিছুটা দূষিত হয়ে যায় তখন এটি কিছু আকর্ষণীয় ত্রুটি বার্তার দিকে নিয়ে যায়।
কাস্পার্ড

আপনি অবশ্যই ঠিক আছেন, এবং আমি এই উত্তরটি উত্তর আপডেট করেছি; যদিও প্রাকৃতিকভাবে এটি প্রেরকের ঘড়ি অনুযায়ী প্রেরণের পরম সময় যা আরটিটি নিজেই নয়।
জোনাথঞ্জো

3

কমপক্ষে pingলিনাক্সে সাধারণ ইউটিলিটি সহ , প্যাকেটটি প্রেরণের সময় প্রতিধ্বনি অনুরোধ প্যাকেটের ডেটা অংশে অর্থাৎ আইপি এবং আইসিএমপি হেডারগুলির পরে সংরক্ষণ করা হয়। যখন রিসিভারটি প্রতিধ্বনির জবাব দিয়ে উত্তর দেয় তখন ডেটা অংশ অক্ষত রাখা হয়, যাতে প্রেরক রাউন্ড-ট্রিপ সময় গণনা করতে পারে।

এটি ইউটিলিটির জন্য ম্যান পেজেping বর্ণিত হয়েছে ("আইসিএমপি প্যাকেট বিবরণ" এর অধীনে):

যদি ডেটা স্পেসের struct timevalপিংয়ের আকার কমপক্ষে থাকে তবে এই স্পেসের প্রারম্ভিক বাইট ব্যবহার করে এমন টাইমস্ট্যাম্প অন্তর্ভুক্ত করে যা এটি রাউন্ড ট্রিপ বারের গণনায় ব্যবহার করে। যদি ডেটার স্থানটি ছোট হয় তবে কোনও রাউন্ড ট্রিপ সময় দেওয়া হয় না।

আমার মেশিনে sizeof(struct timeval)16, তাই প্যাকেট ডেটার আকার 15 এ সেট করা pingরাউন্ড ট্রিপের সময়গুলি দেখানো থেকে বিরত রাখে:

$ ping -s 15 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 15(43) bytes of data.
23 bytes from 8.8.8.8: icmp_seq=1 ttl=121

অবশ্যই, জোনাথঞ্জোর উত্তর বর্ণিত হিসাবে ইউটিলিটির মধ্যে প্রেরণের টাইমস্ট্যাম্প সংরক্ষণ করাও একটি সম্ভাব্য বাস্তবায়ন হতে পারে। এমনকি লিনাক্স ইউটিলিটির কিছু অভ্যন্তরীণ বুককিপিং প্রয়োজন, যেহেতু এটি সদৃশ প্যাকেটগুলি সনাক্ত করে।


1
এটি কোনও প্রোগ্রাম বাগ হিসাবে মনে হয় যে আপনি যখন ডেটা আকার 16 এর চেয়ে কম রাখবেন তখন তারা আরটিটি প্রদর্শন করতে পারবেন না But তবে ভাল পয়েন্ট।
কানাডাড্রি

@ কানাডাড্রি, ঠিক আছে, প্যাকেটে নিজেই টাইমস্ট্যাম্প স্থাপন করা ঠিক স্পষ্ট: উত্তর প্যাকেটটি আসার পরে কেবলমাত্র তার প্রয়োজনের দরকার, তাই স্থানীয়ভাবে এটি সংরক্ষণ করার কোনও সুবিধা নেই। অবশ্যই, প্রোগ্রামটি 80 এর দশকের বিএসডি মূল থেকে উদ্ভূত বলে মনে হয়েছে, সুতরাং এটির সময়গুলির সাথেও কিছু করার থাকতে পারে। যাইহোক, আমি ঠিক নিশ্চিত না যে কেন কেউ এই জাতীয় অতিরিক্ত প্যাকেট ব্যবহার করতে চাইবে। নোট করুন যে এমনকি ন্যূনতম ইথারনেট ফ্রেমের আকারও ইথারনেট, আইপি এবং আইসিএমপি শিরোনাম এবং একটি 16 বাইট টাইমস্ট্যাম্পের সাথে ফিট করার জন্য যথেষ্ট বড়। (যদিও 2 বাইট বাকি রয়েছে, এত বেশি কোনও বাড়ানোর জায়গা নেই))
ইলক্কাচু

@ ইলক্কাচু আমাকে স্মরণ করিয়ে দেওয়ার জন্য ধন্যবাদ যে সময়টি প্রায়শই সঞ্চিত হয়; আমি আমার উত্তর আপডেট। ক্ষুদ্র প্যাকেট পুনরায়: অনেক নেটওয়ার্ক সমস্যা প্যাকেটের আকারের সাথে আলাদা করা হয়।
জোনাথঞ্জো

@ মিক্সাচু আমি সিসকোয়ের পিং প্যাকেটগুলি একবার দেখেছি: তাদের সময়ও আছে, 64৪-বিট মিলিসেকেন্ডের গণনা হিসাবে।
জোনাথঞ্জো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.