টিসিপি কর্তৃক স্বীকৃতি হ'ল গ্যারান্টি দেয় না যে ডেটা সরবরাহ করা হয়েছে


11

আরএফসি 793 তে টিসিপি বিভাগগুলির স্বীকৃতি সম্পর্কে একটি অংশ রয়েছে:

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

টিসিপি কর্তৃক স্বীকৃতি গ্যারান্টি দেয় না যে ডেটা শেষ ব্যবহারকারীর কাছে পৌঁছেছে , তবে কেবল যে প্রাপ্ত টিসিপি তা করার জন্য দায়িত্ব নিয়েছে।

এখন, এটি আকর্ষণীয়। আমাদের এনওসি তে আমরা প্রায়শই আমাদের নেটওয়ার্ক এবং বহিরাগত ক্লায়েন্ট নেটওয়ার্কের মধ্যে সংযোগ সমস্যাগুলি সমাধান করি এবং যখনই আমরা ফায়ারওয়ালে ট্র্যাফিক স্নিগ্ধ করি এবং উভয় দিকে SYN এবং ACK বিট প্রেরণ এবং প্রাপ্ত দেখি, আমরা ধরে নিই যে সংযোগটি প্রতিষ্ঠিত হয়েছে এবং ইস্যুটির কিছুই নেই ass নেটওয়ার্ক দিয়ে না।

তবে এখন এই আরএফসি আমাকে ভাবতে বাধ্য করেছে - টিসিপি সংযোগ স্থাপন করা থাকলেও ব্যবহারকারীরা এখনও সংযোগের সমস্যার সম্মুখীন হয়ে থাকেন তবে আমি আর কী পরীক্ষা করব (ওয়্যারশার্ক স্থাপন না করে)?


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

উত্তর:


24

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

টিসিপি কর্তৃক স্বীকৃতি গ্যারান্টি দেয় না যে ডেটা শেষ ব্যবহারকারীর কাছে পৌঁছেছে, তবে কেবল যে প্রাপ্ত টিসিপি তা করার জন্য দায়িত্ব নিয়েছে।

আমি সর্বদা এটি সম্পর্কে এইভাবে চিন্তা করেছি:

  • ওএস ACK প্রেরণ এবং ক্লায়েন্ট প্রক্রিয়াতে পৌঁছে যাওয়া ডেটাগুলির মধ্যে ক্রাশ হতে পারে ("ক্লায়েন্ট" এর অর্থ ওএসের ক্লায়েন্ট, "নেটওয়ার্ক ক্লায়েন্ট" নয়)
  • ক্লায়েন্ট প্রক্রিয়াটি বগি বা ক্রাশ হতে পারে, বা তার আগত ডেটা নিয়ে কাজ করার জন্য প্রত্যাশিত তুলনায় খুব ধীর হতে পারে বা কেবল স্পষ্টতই পরিস্থিতিতে এটি পড়তে পারে না
  • যদি ক্লায়েন্টটি পরে কোনও ডেটা প্রেরণ করে, সম্ভবত কোনও ডিস্ক ফাইলে, ফাইলটি এখনও লিখিত বা ফ্লাশ করা হয়নি
  • যদি ক্লায়েন্ট টিসিপি দ্বারা ডেটা প্রেরণ করে চলেছে, তবে সুদূর পাশের টিসিপি তথ্য সঞ্চারিত না করে, একটি এসকে পেয়েছে না বা প্রসেসটি সাফল্যের সাথে ডেটা গ্রাস করেছে

কেবল এটিই বলছে যে এটি একটি স্তর 3 স্বীকৃতি ("আমি আপনার বাইটগুলি শুনি") উচ্চতর স্তর স্বীকৃতি নয়। উদাহরণস্বরূপ, টিসিপি এসির মধ্যে পার্থক্য বিবেচনা করুন, 250 OKপরবর্তী হপ মেল গেটওয়ে কোনও বার্তা গ্রহণ করার পরে এসএমটিপি , একটি বার্তা প্রাপ্তি বার্তা (যেমন আরএফসি প্রতি 3798 অনুযায়ী ), একটি বার্তা খোলা ট্র্যাকিং পিক্সেল, কোনও পিএ-এর একটি ধন্যবাদ নোট, এবং একটি উত্তর "হ্যাঁ আমি এটি করব" saying

আর একটি দৃ concrete় উদাহরণ একটি মুদ্রক হবে:

  • এর প্রান্তটি কী রয়েছে তা জানার আগে অবশ্যই এটি অবশ্যই ডেটা এসিকে করা উচিত (টিসিপি ট্রান্সমিশ উইন্ডোর চেয়ে বড় একটি অন্তর্ভুক্ত লাইব্রেরি দিয়ে শুরু হওয়া কোনও পোস্টস্ক্রিপ্ট ফাইল হতে পারে)
  • এটিতে একটি স্থিত ক্যোয়ারী থাকতে পারে ("আপনার কি কাগজ রয়েছে?", যা এটি স্পষ্টতই কার্যকর করতে পারে)
  • এটিতে একটি মুদ্রণ কমান্ড থাকতে পারে ("দয়া করে এটি মুদ্রণ করুন", এটি কাগজ না থাকলে এটি ব্যর্থ হতে পারে)

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

নির্ণয়ের জন্য আমি এসিকেগুলি নির্দিষ্ট করে না বলে retransmits সন্ধানের পরামর্শ দিই।


অন্য বুলেট আইটেম: ক্লায়েন্ট প্রক্রিয়াটি ঠিকঠাক চলতে থাকলেও এটি এখনও ডেটা পড়তে পারে না।
বারমার

1
ক্লায়েন্ট প্রক্রিয়া (যদি এটি অলস বা বিকৃত মনে হয়) কেবল কখনও recv()সকেটে কল করতে পারে না , সেক্ষেত্রে প্রাপ্ত ডেটা টিসিপি সকেটের প্রাপ্ত-বাফারে অনির্দিষ্টকালের জন্য থাকবে।
জেরেমি ফ্রাইজনার

উভয়কে ধন্যবাদ, ক্লায়েন্ট প্রক্রিয়াটি ধীর, বগি, চঞ্চল হতে পারে এমন পরামর্শ দেওয়ার জন্য এটি আপডেট করে।
জোনাথঞ্জো

অ্যাপ্লিকেশনটি আপনার ইনপুটটি প্রক্রিয়া করেছে তা নিশ্চিত করতে আপনি ACK এর উপর নির্ভর করতে পারবেন না, আপনাকে অবশ্যই একটি অ্যাপ্লিকেশন স্তর ACK বা চেক প্রয়োগ করতে হবে। এটি অন্য প্রসঙ্গে রাখার জন্য। ক্লায়েন্ট পক্ষের আইপি স্ট্যাকের সাথে টিএসএন ব্যবহার করে শিল্প নিয়ন্ত্রণ নেটওয়ার্কগুলির জন্য, প্রক্রিয়া ভেরিয়েবলগুলি ল্যাচ করা হয়েছিল তার গ্যারান্টি দেওয়ার জন্য টিসিপি এসিই যথেষ্ট নয়। এটি হ'ল, সিস্টেমটি নিরাপদ বা সেবাযোগ্য অবস্থায় রাখার জন্য আপনি টিসিপি এসি-র উপর নির্ভর করতে পারবেন না, আপনার অবশ্যই কোনও অ্যাপ্লিকেশন স্তর পরিষেবা থেকে স্বীকৃতি থাকতে হবে যে মেশিনে আপনার হাত আটকা রাখা নিরাপদ।
ক্র্যাসিক

10

আরএফসি দৃষ্টিকোণ থেকে, "শেষ ব্যবহারকারী" হ'ল অ্যাপ্লিকেশন। টিসিপি প্রক্রিয়াটি কেবলমাত্র অ্যাপ্লিকেশনটি ডেটা পেয়েছে এমন কোনও গ্যারান্টি নেই।

আপনার এনওসি দৃষ্টিকোণ থেকে, নেটওয়ার্কটি কাজ করছে এবং ডেটা শেষ হোস্টে পৌঁছেছে। সম্ভবতঃ আপনারা এটাই যত্নবান।


0

আপনি এটি এইভাবে দেখতে পারে।

আপনি এম.এসমিথ এবং আপনি এম.টোটোর কাছে একটি চিঠি পাঠাতে চান (ব্যক্তিরা অ্যাপ্লিকেশন স্তর)।

চিঠিটি প্রেরণের জন্য, আপনি আপনার স্থানীয় ডাকঘর এ যান যা এম.টোটোর স্থানীয় ডাকঘর বিতে চিঠিটি প্রেরণ করবে (ডাকঘরগুলি টিসিপি স্তর)।

আপনার মধ্যে সবকিছু ঠিকঠাক চলতে পারে, ডাকঘর এ এবং ডাকঘর বি - বি ডাকঘর এগুলিতে এসি কে প্রেরণ করবে। তবে চিঠিটি এম টোটোর কাছে পৌঁছানোর কোনও নিশ্চয়তা নেই। পোস্ট অফিস বি এবং এম টোটোর মধ্যে যে কোনও কিছু ঘটতে পারে।

এটিই মূলত আরএফসি বলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.