টিসিপির পরিবর্তে ইউডিপি ব্যবহার করা কখন উপযুক্ত? [বন্ধ]


302

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

আমি ধরে নিচ্ছি যে ইউডিপি দ্রুততর হয় যেহেতু এটিতে কোনও স্ট্রিম তৈরি এবং রক্ষণাবেক্ষণের ওভারহেড নেই, তবে কোনও তথ্য কখনও তার গন্তব্যে পৌঁছায় তা কি অপ্রাসঙ্গিক হবে না?


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

3
এমনকি প্যাকেট অর্ডার দেওয়ার গ্যারান্টি দেয় না।
মেহরদাদ আফশারি

19
টিসিপি সরবরাহের গ্যারান্টি দেয় না , এটি কেবল গ্যারান্টি দেয় যে এটি প্যাকেটগুলি সরবরাহ করতে সক্ষম হলে তারা যেভাবে প্রেরণ করা হয়েছিল একই ক্রমে থাকবে order
চেইম গেরেটজ

5
বিটিডাব্লু, আমি প্রায়শই টিসিপি retransmits থেকে লোকদের নির্ভরযোগ্যতা / অর্ডার সরবরাহের সমান দেখি। এই "বিশেষজ্ঞরা" আপনাকে বলবে যে ইউডিপিতে সংক্রমণ ত্রুটিগুলি কাটিয়ে উঠতে আপনি টিসিপি (খারাপভাবে) পুনরায় প্রতিস্থাপন করবেন এবং তাই আপনি পাশাপাশি টিসিপি ব্যবহার করতে পারেন। এটি সত্য নয়। রিট্রান্সমিট ছাড়াও অন্যান্য ত্রুটি-পুনরুদ্ধার কৌশল রয়েছে, যা ক্ষুদ্র-তবে-শূন্য-ত্রুটি-ত্রুটির হারের ফলস্বরূপ বিলম্বিত বা তাত্পর্যপূর্ণভাবে অবনমিত থ্রুপুটকে ভোগ করে না।
বেন ভয়েগট

টিসিপিও গ্যারান্টি দেয় যে গন্তব্যটি প্যাকেটগুলি না পেয়ে আপনি জানতে পারবেন।
csga5000

উত্তর:


353

এটি আমার প্রিয় একটি প্রশ্ন is ইউডিপি এত ভুল বোঝাবুঝি।

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

অন্য কেসটি হ'ল আপনি যখন ডেটা বিতরণ করছেন যা হারিয়ে যেতে পারে কারণ নতুন ডেটা আসার পরে সেই পূর্ববর্তী ডেটা / রাজ্যটিকে প্রতিস্থাপন করা হবে। আবহাওয়ার ডেটা, ভিডিও স্ট্রিমিং, একটি স্টক কোটেশন পরিষেবা (প্রকৃত ব্যবসায়ের জন্য ব্যবহৃত হয় না), বা গেমিং ডেটা মনে আসে।

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

আর একটি মামলা মাল্টিকাস্ট ট্র্যাফিকের। ইউডিপি একাধিক হোস্টে মাল্টিকাস্ট করা যেতে পারে যেখানে টিসিপি একেবারেই এটি করতে পারে না।


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

@ ড্যাশসি - আপনি কি অর্ডারিংয়ের প্রয়োজনীয়তা থেকে মুক্তি পেতে পারেন? আপনি যে পেওডটি ব্যবহার করতে পারেন তার মধ্যে কি কোনও মনোোটোনিকভাবে বর্ধমান সংখ্যা রয়েছে? যদি তা হয় তবে আপনার সত্যিকার অর্থে একটি সম্পূর্ণ প্রস্ফুটিত ব্যবহারকারী জমি টিসিপি স্ট্যাকের প্রয়োজন নেই।
drudru

@ ড্রড্রু- হ্যাঁ সিকোয়েন্স নম্বরটি রয়েছে, আমাকে নিজেরাই বাফার ও ডি-জিটার লাগতে পারে। ধন্যবাদ, আরও একটি বিকল্প অপসারণ সর্বদা দুর্দান্ত।
ড্যাশী

63

যদি কোনও টিসিপি প্যাকেট হারিয়ে যায় তবে তা আবার ক্ষুব্ধ হবে। এটি এমন অ্যাপ্লিকেশনগুলির পক্ষে কার্যকর নয় যা তথ্যগুলিকে রিয়েল টাইমে একটি নির্দিষ্ট ক্রমে পরিচালনা করা হয়।

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


16
আমি মনে করি আপনি এটি পিছনের দিকে আছে। টিসিপি প্যাকেটগুলি পুনরায় অর্ডার করে যাতে প্রেরিত ক্রমে ডেটা বিতরণ করা হয়। এর ফলে UDP পুনরায়-অর্ডার না এবং যাই হোক না কেন যাতে এটা এটা পেয়েছি ডাটা বিতরণ করে।
হান্স Malherbe

1
ইউডিপি অর্ডারটির গ্যারান্টি দেয় না, তবে আপনি প্যাকেটগুলি সংখ্যায়িত করতে পারেন এবং সেগুলি পুনরুদ্ধার করার পরে তাদের পুনরায় অর্ডার করতে পারেন।
কুগেল

7
@ স্টিফেন202: আমি মনে করি স্কাইপে ফেলে দেওয়া প্যাকেটগুলি না দেখে আমার দ্বিমত পোষণ করতে হবে ;-)
রবার্ট এস বার্নেস

6
@ কুগেল: কেবল সতর্ক হন যে আপনি একটি নতুন টিসিপি স্ট্যাক প্রয়োগ করছেন। আপনার এটির ওএসের চেয়ে ভাল কাজ করার সম্ভাবনা নেই।
এরিক্ক্যালেন

1
@ এরিক্ক্যালেন: টিসিপি পূরণের জন্য একই প্রয়োজনীয়তার সাথে যদি কেউ উচ্চ স্তরের প্রোটোকল প্রয়োগ করতে ইউডিপি ব্যবহার করে থাকে তবে বিদ্যমান প্রোটোকলের চেয়ে কারওর চেয়ে ভাল করার সম্ভাবনা কম। অন্যদিকে, কিছু অ্যাপ্লিকেশন প্রোটোকলটিতে কয়েকটি বৈশিষ্ট্য সংযোজন করে উপকৃত হয় যা কোনও ইউডিপি র‌্যাপার টিসিপির চেয়ে ভাল পরিচালনা করতে পারে।
সুপারক্যাট

56

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

টিসিপি সকেটের জন্য আলোচনার ক্ষেত্রে এবং টিসিপি প্যাকেটগুলি হাতছাড়া করার ক্ষেত্রে ওভারহেড বিশাল। সত্যিই বিশাল। ওভারহেডের কোনও প্রশংসনীয় UDP নেই।

সর্বাধিক গুরুত্বপূর্ণ, আপনি সহজেই কিছু নির্ভরযোগ্য ডেলিভারি হাত কাঁপানো দিয়ে ইউডিপি পরিপূরক করতে পারেন যা টিসিপির চেয়ে কম ওভারহেড। এটি পড়ুন: http://en.wikedia.org/wiki/Reliable_User_Datગ્રામ_প্রোটোকল

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

অন্য কোনও ধরণের ওয়ান-ওয়ে "উল্লেখযোগ্য ইভেন্ট" বা "লগিং" ক্রিয়াকলাপ ইউডিপি প্যাকেটগুলির সাথে দুর্দান্তভাবে পরিচালনা করা যায়। আপনি একটি সম্পূর্ণ সকেট তৈরি না করে বিজ্ঞপ্তি পাঠাতে চান want আপনি বিভিন্ন শ্রোতার কাছ থেকে কোনও প্রতিক্রিয়া আশা করবেন না।

সিস্টেম "হার্টবিট" বা "আমি বেঁচে আছি" বার্তাগুলিও একটি ভাল পছন্দ। অনুপস্থিত একটি সংকট নয়। অর্ধ ডজন (এক সারিতে) নিখোঁজ।


5
"একটি ব্যবহারিক বিষয় হিসাবে, তারা প্রায় সর্বদা পাস করে"। উচ্চতর স্তর স্তর নির্ভরযোগ্যতার উপর নির্ভর করে।
m0skit0

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

30

আমি এমন একটি পণ্য নিয়ে কাজ করি যা ক্লায়েন্ট এবং সার্ভারের মধ্যে উভয়ই ইউডিপি (আইপি) এবং টিসিপি / আইপি যোগাযোগকে সমর্থন করে। এটি 13 বছর আগে আইপি সমর্থন যুক্ত হয়ে আইপিএক্স দিয়ে শুরু হয়েছিল। আমরা 3 বা 4 বছর আগে টিসিপি / আইপি সমর্থন যুক্ত করেছি। বন্য অনুমান আসছে: ইউডিপি থেকে টিসিপি কোড অনুপাত সম্ভবত প্রায় 80/20 is পণ্যটি একটি ডাটাবেস সার্ভার, সুতরাং নির্ভরযোগ্যতা গুরুত্বপূর্ণ। অন্যান্য উত্তরগুলিতে ইতিমধ্যে উল্লিখিত ইউডিপি দ্বারা আরোপিত সমস্ত সমস্যা (প্যাকেট ক্ষতি, প্যাকেট দ্বিগুণ, প্যাকেট ক্রম ইত্যাদি) আমাদের পরিচালনা করতে হবে। খুব কমই সমস্যা আছে, তবে সেগুলি কখনও কখনও ঘটে এবং তাই অবশ্যই পরিচালনা করা উচিত। ইউডিপিকে সমর্থন করার সুবিধাটি হ'ল আমরা এটিকে আমাদের নিজস্ব ব্যবহারের জন্য কিছুটা কাস্টমাইজ করতে সক্ষম হয়েছি এবং এর থেকে আরও কিছুটা পারফরম্যান্স সামঞ্জস্য করতে পারি।

প্রতিটি নেটওয়ার্ক আলাদা হতে চলেছে, তবে ইউডিপি যোগাযোগ প্রোটোকলটি আমাদের জন্য সাধারণত কিছুটা দ্রুত। সন্দিহান পাঠক সঠিকভাবে প্রশ্ন করবেন যে আমরা সবকিছু সঠিকভাবে প্রয়োগ করেছি কিনা। এছাড়াও, 2 সংখ্যার প্রতিনিধিত্বকারী লোকের কাছ থেকে আপনি কী আশা করতে পারেন? যাইহোক, আমি এখনই কৌতূহলের বাইরে একটি পরীক্ষা চালিয়েছি। পরীক্ষায় 1 মিলিয়ন রেকর্ড পড়ে (সামিটবেল থেকে * নির্বাচন করুন)। আমি প্রতিটি পৃথক ক্লায়েন্টের অনুরোধটি 1, 10 এবং তার পরে 100 হওয়ার অনুরোধ জানাতে ফিরে আসার জন্য রেকর্ডের সংখ্যা সেট করেছিলাম each 100Mbit ল্যানের মাধ্যমে সার্ভারটি মাত্র দুটি হপ ছিল away সংখ্যাগুলি অন্যরা অতীতে যা পেয়েছিল তার সাথে একমত বলে মনে হয়েছে (বেশিরভাগ পরিস্থিতিতে ইউডিপি প্রায় 5% দ্রুত)। মিলিসেকেন্ডে মোট সময়টি এই নির্দিষ্ট পরীক্ষার জন্য নিম্নলিখিত ছিল:

  1. 1 রেকর্ড
    • আইপি: 390,760 এমএস
    • টিসিপি: 416,903 এমএস
  2. 10 রেকর্ড
    • আইপি: 91,707 এমএস
    • টিসিপি: 95,662 এমএস
  3. 100 রেকর্ড
    • আইপি: 29,664 এমএস
    • টিসিপি: 30,968 এমএস

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


আপনি যদি কেবল এটি টিসিপি-র জন্য বিকাশ করতে চান এবং আরও 5x কোডিং প্রচেষ্টার পরিবর্তে আরও ভাল হার্ডওয়্যার কিনেছেন?
inf3rno

2
কংক্রিট সংখ্যার জন্য ধন্যবাদ! জটিলতা যুক্ত করার জন্য 5% উন্নতি কিছুটা হতাশাব্যঞ্জক।
সের্গেই

1
সম্ভবত 5% কারণ স্থানীয় নেটওয়ার্কে পাঠানো হয়েছে (দুই আশা দূরে)? আমার অনুমান যে এটি যত বেশি দূরত্ব তত বেশি।
Lepe

19

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

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

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

ফলাফল হ'ল ইউডিপি:

  • যতক্ষণ না নেটওয়ার্ক ড্রপ রেট অ্যাপ্লিকেশনটি পরিচালনা করতে পারে তার সীমাতে যতক্ষণ না TCP এর চেয়ে বেশি থ্রুপুট অর্জন করুন।
  • কম বিলম্বের সাথে টিসিপির চেয়ে দ্রুত প্যাকেট সরবরাহ করুন।
  • সংযোগ সেটআপ করার জন্য কোনও প্রাথমিক হ্যান্ডশেক না থাকায় দ্রুত সংযোগ স্থাপন করুন
  • মাল্টিকাস্ট প্যাকেট প্রেরণ করুন, যেখানে টিসিপিকে একাধিক সংযোগ ব্যবহার করতে হবে।
  • স্থির আকারের প্যাকেটগুলি প্রেরণ করুন, যেখানে টিসিপি বিভাগগুলিতে ডেটা প্রেরণ করে। আপনি যদি 300 বাইটের একটি ইউডিপি প্যাকেট স্থানান্তর করেন তবে আপনি অন্য প্রান্তে 300 বাইট পাবেন। টিসিপি দিয়ে, আপনি প্রেরণকারী সকেটটি 300 বাইট খাওয়াতে পারেন তবে রিসিভারটি কেবল 100 বাইট পড়েন এবং আপনাকে কোনওভাবে খুঁজে বের করতে হবে যে আরও 200 টি বাইট রয়েছে are আপনার অ্যাপ্লিকেশনটি বাইটের প্রবাহের চেয়ে স্থির আকারের বার্তা প্রেরণ করে তবে এটি গুরুত্বপূর্ণ।

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


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

প্রথমত, দুর্দান্ত উত্তরের জন্য আপনাকে ধন্যবাদ, আমি এটি থেকে সত্যই অনেক কিছু শিখেছি! তবে আমার একটি প্রশ্ন আছে: স্তর 4 (টিসিপি এবং ইউডিপি উভয়) থেকে প্রাপ্ত সমস্ত প্যাকেটের জন্য ইথারনেট অ্যাডাপ্টারের সীমাবদ্ধতার কারণে স্তর 3 (আইপি) এ বিভাজন ঘটে না? টিসিপিতে ঘটে তবে ইউডিপিতে হয় না এমন অন্য কোনও বিভাগকে বোঝাতে চাইছেন? আপনি যদি আমাকে এটি ব্যাখ্যা করতে পারতেন তবে আমি সত্যিই প্রশংসা করব।
RuslanSh

1
@Freezy। আপনি ঠিক বলেছেন, লিঙ্কের এমটিইউ অতিক্রমকারী প্যাকেটের খণ্ডন (স্তর 2) স্তর 3-আইপিতে ঘটে। তবে, টিসিপি হ'ল একটি স্ট্রিম ভিত্তিক প্রোটোকল এবং এটি ডেটাকে বাইটের স্ট্রিম হিসাবে বিবেচনা করে। এমসিএস অনুসারে মাপযুক্ত আইপি প্যাকেটের ভিতরে টিসিপি তার ডেটাগুলি সেগমেন্টগুলিতে প্রেরণ করে, তাই টিসিপিতেও বিভাগকরণ হয়। টিসিপি একটি বিভাগে কত ডেটা রাখে, বা আপনার সকেটটি পড়বে এমন অনেক ডেটা বিভিন্ন কারণের দ্বারা পরিবর্তিত হয়; এটি 1 বাইট বা এমএসএস বাইট হতে পারে। ইউডিপি সহ, প্যাকেটটি কোনও পথে হারিয়ে না গেলে রিসিভার সর্বদা প্রেরিত ট্রান্সমিটারের সঠিক সংখ্যা পায়।
অ্যান্ডি

15

এর ফলে UDP একটি সংযোগ-কম প্রোটোকল এবং মত প্রোটোকল ব্যবহার করা হয় জন্য SNMP এবং ডিএনএস যা ডেটা প্যাকেট আদেশের বাইরে আসার ডেটা প্যাকেট বিষয়ে গ্রহণযোগ্য ও অবিলম্বে সংক্রমণ হয়।

এটি এসএনএমপিতে ব্যবহৃত হয় যেহেতু নেটওয়ার্ক চাপে থাকা অবস্থায় নেটওয়ার্ক পরিচালনা প্রায়শই করাতে হবে অর্থাৎ যখন নির্ভরযোগ্য, যানজট-নিয়ন্ত্রিত ডেটা স্থানান্তর অর্জন করা কঠিন হয় is

এটি ডিএনএসে ব্যবহৃত হয় যেহেতু এটি সংযোগ স্থাপনার সাথে জড়িত না, যার ফলে সংযোগ স্থাপনে বিলম্ব এড়ানো যায়।

চিয়ার্স


14

ইউডিপি-তে কম ওভারহেড নেই এবং অডিও বা ভিডিওর মতো রিয়েল টাইম ডেটা স্ট্রিম করার মতো জিনিসগুলি করার জন্য বা ডেটা নষ্ট হয়ে গেলে যে কোনও ক্ষেত্রেই এটি ঠিক থাকলে ভাল for


12

এই প্রশ্নের জন্য আমি যে উত্তরটি জানি তার মধ্যে একটি হ্যাকার নিউজের zAy0LfpBZLC8mAC ব্যবহারকারী থেকে আসে । এই উত্তরটি খুব ভাল আমি ঠিক যেমন হয় তেমন উদ্ধৃতি দিচ্ছি।

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

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

রিয়েলটাইম / লো ল্যাটেন্সি অ্যাপ্লিকেশনগুলি ছাড়াও, ইউডিপি সত্যই ছোট লেনদেনের জন্য যেমন ডিএনএস লুকআপগুলি বোঝায়, কেবল এটির কারণেই এটির টিসিপি সংযোগ স্থাপনা এবং টিয়ারডাউন ওভারহেড নেই, উভয় বিলম্বের ক্ষেত্রে এবং ব্যান্ডউইথের ব্যবহারের ক্ষেত্রে। আপনার অনুরোধটি যদি কোনও সাধারণ এমটিইউর চেয়ে ছোট হয় এবং সম্ভবত এটির প্রয়োজন হয় না তবে আপনাকে একটি রাউন্ডআর্ট্রিপ্টেও করা যেতে পারে, সার্ভারে কোনও রাজ্য রাখার প্রয়োজন নেই, এবং প্রবাহ নিয়ন্ত্রণ ALS ক্রম সরবরাহ এবং যা সম্ভবত বিশেষভাবে কার্যকর নয় isn't যেমন ব্যবহারের জন্য।

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

এছাড়াও, আমি অনুমান করি যে এটি উল্লেখ করা উচিত যে ইউডিপি এবং টিসিপি, যেমন এসসিটিপি এবং ডিসিসিপি-র বেশি রয়েছে। বর্তমানে কেবলমাত্র সমস্যাটি হ'ল (আইপিভি 4) ইন্টারনেটটি এনএটি গেটওয়েতে পরিপূর্ণ যা শেষ-ব্যবহারকারী অ্যাপ্লিকেশনগুলিতে ইউডিপি এবং টিসিপি ছাড়া অন্য প্রোটোকল ব্যবহার করা অসম্ভব করে তোলে।


আপনি ইউডিপিতে এসসিটিপি এবং ডিসিসিপি চালাতে পারেন।
ডেমি

8

ভিডিও স্ট্রিমিং ইউডিপি ব্যবহারের একটি নিখুঁত উদাহরণ।


দয়া করে কিছু উদাহরণ সরবরাহ করুন।
গৌরব সিং

"ভিডিও স্ট্রিমিং" এর উদাহরণ। হটস্টারের মাধ্যমে একটি লাইভ ম্যাচ স্ট্রিম করা বিবেচনা করুন।
সিসির

8

ইউডিপির ওভারহেড কম রয়েছে, যেমনটি ইতিমধ্যে উল্লিখিত ভিডিও এবং অডিওর মতো স্ট্রিমিংয়ের জন্য ভাল যেখানে কেবল কোনও প্যাকেট হারাতে ভাল, তারপরে পুনরায় পাঠানোর চেষ্টা করার চেষ্টা করা ভাল।

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

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

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


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

টিসিপিতে, প্রতিটি খণ্ডের দৈর্ঘ্যের সাথে কেবল উপসর্গ রেখে কোনও ব্যক্তি নিরাপদে ডেটা বিভাজনগুলি সীমিত করতে পারে। অ্যাপ্লিকেশনটির উপর নির্ভর করে, প্রত্যেকটি এক একটি নির্দিষ্ট বাইট, বাইট-বাইট, বা চার-বাইট দৈর্ঘ্য সহ উপস্থাপিত করতে পারে বা 128 ^ N আকারের প্রতিটি অংশকে এন-বাইট দৈর্ঘ্যের সাথে উপসর্গ করতে পারে। ঠিক বিশাল ওভারহেড নয়। এই জাতীয় নকশা এমন প্রোটোকলগুলির সাথে খারাপ হবে যা ফাঁকগুলি ছাড়াই অর্ডার সরবরাহের গ্যারান্টি দেয় না, তবে টিসিপি ব্যবহার করার সময় এ জাতীয় নকশা ঠিক আছে।
সুপারক্যাট

যদি নির্দিষ্ট দৈর্ঘ্যের পরিমাণের ডেটা সন্ধান করতে আপনার এমনকি দৈর্ঘ্যের প্রয়োজন হয় না কেবল বাইটগুলি আসার সাথে সাথে তাদের গণনা করতে হবে ...
ওল্ডটিমায়ার

1
@supercat। তুমি একদম সঠিক. এর অর্থ হ'ল আপনি নিজের আবেদনে জটিলতা যুক্ত করছেন; জটিলতা যা আসলে ইউডিপিতে প্রয়োজন। এই কারণে, টিসিপি ফাইলগুলির মতো স্ট্রিম স্থানান্তর করার জন্য ভাল। তবে আমি ঠিক কীভাবে করব যখন আমি খণ্ডিত ডেটার নির্ভরযোগ্যতা এবং শীর্ষ টিসিপিতে সম্ভবত টিএলএসের অতিরিক্ত সুরক্ষা চাই।
অ্যান্ডি

5

ভিডিও গেমগুলির জন্য নেটওয়ার্ক যোগাযোগ প্রায় সবসময় ইউডিপিতে করা হয়।

গতি অত্যন্ত গুরুত্বপূর্ণ এবং প্রতিটি আপডেটে প্লেয়ার কী দেখতে পারে তার সম্পূর্ণ বর্তমান অবস্থা রয়েছে বলে আপডেটগুলি মিস করা হয় কিনা তা আসলেই কিছু যায় আসে না।


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

5

মূল প্রশ্নটি সম্পর্কিত ছিল "কোন ধরণের পরিস্থিতিতে ইউডিপি আরও ভাল পছন্দ হবে [টিসিপি ছাড়াই]"

উপরে অনেক দুর্দান্ত উত্তর রয়েছে তবে টিসিপির কার্য সম্পাদনের উপর পরিবহন অনিশ্চয়তার প্রভাব সম্পর্কে যে কোনও আনুষ্ঠানিক, বস্তুনিষ্ঠ মূল্যায়নের অভাব রয়েছে।

মোবাইল অ্যাপ্লিকেশনগুলির বিশাল বৃদ্ধি, এবং "মাঝে মাঝে সংযুক্ত" বা "মাঝে মাঝে সংযোগ বিচ্ছিন্ন" দৃষ্টান্তগুলির সাথে যা তাদের সাথে চলে যায়, অবশ্যই এমন পরিস্থিতি রয়েছে যখন সংযোগগুলি কার্যকর করা শক্ত হয়ে ওঠে যখন সংযোগ বজায় রাখার জন্য টিসিপি'র ওভারহেড একটি শক্তিশালী দিকে পরিচালিত করে ইউডিপি এবং এর "বার্তা ওরিয়েন্টেড" প্রকৃতির ক্ষেত্রে case

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


3

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

আপনি টিসিপির পরিবর্তে ইউডিপি ব্যবহার করতে চান এমন একটি অনন্য ক্ষেত্রে হ'ল আপনি অন্য প্রোটোকলের (যেমন টানেল, ভার্চুয়াল নেটওয়ার্ক ইত্যাদি) উপর টিসিপি টানেল করছেন। আপনি যদি টিসিপিকে টিসিপির মাধ্যমে সুড়ঙ্গ করেন তবে প্রত্যেকের যানজট নিয়ন্ত্রণ একে অপরের সাথে হস্তক্ষেপ করবে। সুতরাং কেউ সাধারণত ইউডিপি (বা অন্য কোনও স্টেটলেস প্রোটোকল) দিয়ে টিসিপি টানেল পছন্দ করে। টেকরেপাবলিক প্রবন্ধটি দেখুন: টিসিপি ওভার টিসিপি বোঝা: প্রান্ত থেকে টু এন্ড থ্রোপুট এবং লেটেন্সিতে টিসিপি টানেলিংয়ের প্রভাব


2

ইউডিপি ব্যবহার করা যেতে পারে যখন কোনও অ্যাপ্লিকেশন সঠিক তথ্য প্রতিরূপের পরিবর্তে "রিয়েল-টাইম" ডেটা সম্পর্কে বেশি যত্ন করে। উদাহরণস্বরূপ, ভিওআইপি ইউডিপি ব্যবহার করতে পারে এবং অ্যাপটি প্যাকেটগুলি পুনরায় অর্ডার করার বিষয়ে চিন্তিত হবে, তবে শেষ পর্যন্ত ভিওআইপি প্রতিটি প্যাকেটের প্রয়োজন নেই, তবে আরও গুরুত্বপূর্ণভাবে তাদের অনেকের অবিচ্ছিন্ন প্রবাহ প্রয়োজন। ভয়েস কোয়ালিটিতে আপনি এখানে একটি "গ্লাখ" রয়েছেন তবে মূল উদ্দেশ্যটি হ'ল আপনি বার্তাটি পেয়েছেন এবং এটি নয় যে এটি অন্যদিকে পুরোপুরি পুনরায় তৈরি করা হয়েছে। ইউডিপি এমন পরিস্থিতিতেও ব্যবহার করা হয় যেখানে সংযোগ তৈরি করার এবং টিসিপির সাথে সিঙ্ক করার ব্যয় পেডোলের চেয়েও বেশি। ডিএনএস অনুসন্ধানগুলি একটি নিখুঁত উদাহরণ। প্রতি ক্যোয়ারীতে একটি প্যাকেট আউট, একটি প্যাকেট ফিরে। টিসিপি ব্যবহার করা হলে এটি আরও বেশি নিবিড় হবে। আপনি যদি DNS প্রতিক্রিয়া ফিরে না পান, আপনি কেবল আবার চেষ্টা করুন।


2

গতি যখন প্রয়োজন হয় তখন ইউডিপি এবং প্যাকেটগুলি না হলে যথার্থতা এবং যখন আপনার নির্ভুলতার প্রয়োজন হয় তখন টিসিপি।

ইউডিপি প্রায়শই শক্ত হয় যে আপনাকে অবশ্যই নিজের প্রোগ্রামটি এমনভাবে লিখতে হবে যাতে এটি প্যাকেটের যথার্থতার উপর নির্ভর করে না।


2

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

অন্যদিকে, ইউডিপি তথ্যের সংক্ষিপ্ত প্যাকেট প্রেরণের জন্য উপযুক্ত যেখানে তথ্যের অনুক্রম কম গুরুত্বপূর্ণ বা যেখানে কোনও একক প্যাকেটে ডেটা ফিট করতে পারে।

আপনি একই ব্যবহারকারীর কাছে একই তথ্য সম্প্রচার করতে চাইলে এটিও উপযুক্ত।

অন্য সময়, আপনি সিক্যুয়েন্সড ডেটা প্রেরণ করার সময় এটি উপযুক্ত তবে এটির কিছু অনুপস্থিত থাকলে আপনি খুব বেশি উদ্বিগ্ন নন (যেমন একটি ভিওআইপি অ্যাপ্লিকেশন)।

কিছু প্রোটোকল আরও জটিল কারণ টিসিপির বৈশিষ্ট্যগুলির কিছু (তবে সমস্ত নয়) তবে ইউডিপি যা সরবরাহ করে তার চেয়ে বেশি needed অ্যাপ্লিকেশন স্তরটিতে অতিরিক্ত কার্যকারিতা কার্যকর করতে হবে। এই ক্ষেত্রে ইউডিপিও যথাযথ (যেমন ইন্টারনেট রেডিও, ক্রমটি গুরুত্বপূর্ণ তবে প্রতিটি প্যাকেটের মধ্যে দিয়ে যাওয়ার প্রয়োজন হয় না)।

এটি কোথায় / ব্যবহৃত হতে পারে তার উদাহরণ 1) একটি টাইম সার্ভার একটি ল্যানে মেশিনগুলির একটি গোছায় সঠিক সময় সম্প্রচার করে। ২) ভিওআইপি প্রোটোকল ৩) ডিএনএস লুক্কুল ৪) ল্যান পরিষেবাদির অনুরোধ করা আপনি কোথায় আছেন? 5) ইন্টারনেট রেডিও 6) এবং আরও অনেক ...

ইউনিক্সে আপনি আজ প্রয়োগ করা ইউডিপি প্রোটোকলের একটি তালিকা পেতে গ্রেপ ইউডিপি / ইত্যাদি / পরিষেবাদিগুলি টাইপ করতে পারেন ... শত শত রয়েছে।


2

স্টিভেনের ইউনিক্স নেটওয়ার্ক প্রোগ্রামিংয়ের 22.4 বিভাগটি দেখুন , "কখন টিসিপির পরিবর্তে ইউডিপি ব্যবহার করবেন"।

এছাড়াও, ইউসিপি টিসিপির চেয়ে সবসময় দ্রুত হয় এমন ভ্রান্ত ধারণা সম্পর্কে এই অন্যান্য এসও উত্তর দেখুন ।

স্টিভেনের যা বলেছে তা সংক্ষিপ্ত করে বলা যেতে পারে:

  • সম্প্রচার এবং মাল্টিকাস্টের জন্য ইউডিপি ব্যবহার করুন যেহেতু এটি আপনার একমাত্র বিকল্প (যে কোনও নতুন অ্যাপের জন্য মাল্টিকাস্ট ব্যবহার করুন)
  • আপনি সাধারণ অনুরোধ / জবাব অ্যাপ্লিকেশনগুলির জন্য ইউডিপি ব্যবহার করতে পারেন তবে আপনাকে নিজের অ্যাকস, টাইমআউট এবং পুনঃপ্রেরণাগুলি তৈরি করতে হবে
  • বাল্ক ডেটা স্থানান্তর করার জন্য ইউডিপি ব্যবহার করবেন না।

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

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

2

আমরা জানি যে ইউডিপি একটি সংযোগ-কম প্রোটোকল, তাই এটি

  1. প্রক্রিয়াটির জন্য উপযুক্ত যা সাধারণ অনুরোধ-প্রতিক্রিয়া যোগাযোগের প্রয়োজন।
  2. অভ্যন্তরীণ প্রবাহ, ত্রুটি নিয়ন্ত্রণ রয়েছে এমন প্রক্রিয়াটির জন্য উপযুক্ত
  3. ব্রড কাস্টিং এবং মাল্টিকাস্টিংয়ের জন্য উপযুক্ত

নির্দিষ্ট উদাহরণ:

  • এসএনএমপি-তে ব্যবহৃত
  • কিছু রুট আপডেট করার প্রোটোকল যেমন আরআইপি-র জন্য ব্যবহৃত হয়

2

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

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


1

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


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

1

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


0

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

ইউডিপি কোথায় দরকার তা কেবলমাত্র আমিই ভাবতে পারি ব্রডকাস্ট প্রোটোকলের জন্য। যে অ্যাপ্লিকেশনটিতে দুটি, পরিচিত হোস্ট জড়িত রয়েছে, ক্ষেত্রে ইউডিপি সম্ভবত কোড জটিলতার ব্যয়বহুল ব্যয়ের জন্য প্রান্তিক পারফরম্যান্স সুবিধা প্রদান করবে।


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

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

ওহ অপটিমাইজেশন ফ্রন্টে একমত। তবে যখন টিসিপি সমস্যা হতে পারে তখন জ্ঞানের সাহায্যে আপনি যখন সেই পারফরম্যান্স সমস্যাটি সমাধান করার চেষ্টা করছেন তখন অন্য কিছু সাহায্য করে।
সাইমন পিলগ্রিম

-1

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

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


2
টিসিপি চেকসাম অফলোডের মতো ইউডিপি চেকসাম অফলোড উপলব্ধ।
বেন ভয়েগট

তবে চেকসামের বৈধতা নয়।
পাভেল রদজিভিলভস্কি

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

-2

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

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