ইউডিপি বনাম টিসিপি, এটি কত দ্রুত? [বন্ধ]


194

সাধারণ প্রোটোকল বার্তা বিনিময়, যা কিছু প্যাকেটের ক্ষতি সহ্য করতে পারে। টিসিপিতে ইউডিপি কত বেশি দক্ষ?


প্রশ্নটি টিসিপি নিয়েও যেহেতু আপনি "টিসিপি" ট্যাগ যুক্ত করতে পারেন।
ক্রিশ্চিয়ান সিউপিতু

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

টিসিপিতে ইউডিপির চেয়ে স্পিড বাদে আরও ভাল বৈশিষ্ট্য রয়েছে।
রাজকুমার নগরীথিনাম

3
টিসিপি বনাম ইউডিপি গতির প্রশ্নটি মুট। আপনার শিরোনামের প্রশ্নটি আসলে প্রশ্নের শিরোনামের সাথে মেলে না। টিসিপি এবং ইউডিপি উভয়ই প্যাকেট একই মাধ্যমটিতে ঠিক একই গতিতে ভ্রমণ করে।
রন মাউপিন

উত্তর:


86

টিসিপির চেয়ে ইউডিপি দ্রুততর, এবং এর সহজ কারণ হ'ল এটির অস্তিত্বহীন স্বীকৃতি প্যাকেট (এসি কে) যা টিসিপির পরিবর্তে একটানা প্যাকেট প্রবাহকে অনুমতি দেয়, টিসিপি উইন্ডোর আকার এবং রাউন্ড-ট্রিপ সময় ব্যবহার করে গণনা করা হয় (RTT)।

আরও তথ্যের জন্য, আমি সহজ, তবে খুব বোধগম্য স্কালবক্স ব্যাখ্যা (টিসিপি বনাম ইউডিপি) প্রস্তাব দিচ্ছি


19
এমন অনেকগুলি ঘটনা রয়েছে যেখানে টিসিপি আসলে ইউডিপির চেয়ে দ্রুত। আমার উত্তর নীচে দেখুন।
রবার্ট এস বার্নেস

2
দ্রুত যা পুরোপুরি ট্র্যাফিকের বৈশিষ্ট্যের উপর নির্ভর করে।

4
যদিও উত্তরটি সঠিক হতে পারে তবে এটি প্রশ্নের উত্তর দেয় না এবং অন্য কোথাও উল্লিখিত জ্ঞানের পুনরাবৃত্তি করে। এসিকে দিয়ে নির্ভরযোগ্য ইউডিপি পদ্ধতিগুলি টিসিপির চেয়ে উল্লেখযোগ্যভাবে দ্রুততর হতে পারে তা উল্লেখ করতেও ব্যর্থ হয়।
এলিয়ট উডস

268

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

বৃহত্তর আকারে, এই টিসিপি আচরণ হ'ল ইন্টারনেটকে "ভিড়ের ধসের" মধ্যে আটকাতে বাধা দেয়।

অ্যাপ্লিকেশনগুলি ইউডিপির দিকে ধাক্কা দেওয়ার প্রবণতাগুলি:

  • গ্রুপ ডেলিভারি শব্দার্থবিজ্ঞান: টিসিপির পয়েন্ট-টু-পয়েন্ট স্বীকৃতির চেয়ে অনেক বেশি দক্ষতার সাথে একদল লোকের কাছে নির্ভরযোগ্য বিতরণ করা সম্ভব।

  • অফ-অর্ডার ডেলিভারি: প্রচুর অ্যাপ্লিকেশনগুলিতে, যতক্ষণ আপনি সমস্ত ডেটা পান, ততক্ষণ আপনি কোন অর্ডারটি আসেন তা বিবেচনা করবেন না; অফ-অফ-অর্ডার ব্লক গ্রহণ করে আপনি অ্যাপ্লিকেশন-স্তরের ল্যাটেন্সি হ্রাস করতে পারেন।

  • বন্ধুত্বপূর্ণতা: একটি ল্যান পার্টিতে, আপনি যত তাড়াতাড়ি সম্ভব নেটওয়ার্কের আপডেটগুলি ব্লিটি করছেন যতক্ষণ না আপনার ওয়েব ব্রাউজারটি সুন্দরভাবে কাজ করে তবে আপনি সেদিকে খেয়াল রাখতে পারেন না।

তবে আপনি যদি পারফরম্যান্সের বিষয়ে চিন্তা করেন তবে আপনি সম্ভবত ইউডিপির সাথে যেতে চান না:

  • আপনি এখন নির্ভরযোগ্যতার জন্য হুকের উপরে রয়েছেন এবং নির্ভরযোগ্যতা বাস্তবায়নে আপনি যা করতে পারেন তার অনেকগুলি টিসিপি ইতিমধ্যে যা করেছে তার চেয়ে ধীর হয়ে যায়।

  • এখন আপনি নেটওয়ার্ক-বন্ধুত্বপূর্ণ, যা ভাগ করা পরিবেশে সমস্যা সৃষ্টি করতে পারে।

  • সবচেয়ে গুরুত্বপূর্ণ, ফায়ারওয়ালগুলি আপনাকে ব্লক করবে।

আপনি একসাথে একাধিক টিসিপি সংযোগ "ট্র্যাঙ্কিং" করে কিছু টিসিপি পারফরম্যান্স এবং বিলম্বিত সমস্যাগুলি কাটিয়ে উঠতে পারেন; স্থানীয় অঞ্চল নেটওয়ার্কগুলিতে যানজট নিয়ন্ত্রণের জন্য আইএসসিআইআই এটি করে তবে আপনি স্বল্প-তত্পরতা "জরুরি" বার্তা চ্যানেল তৈরি করার জন্য এটি করতে পারেন (টিসিপি'র "জরুরি" আচরণ পুরোপুরি ভেঙে গেছে)।


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

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

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

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

1
এগুলি কেবলমাত্র ধরে নেওয়া যায় যে আমরা আকারের ডেটা সরবরাহ করতে আগ্রহী (বিলম্বিতা সম্পর্কে খুব বেশি যত্ন না করে)। বেশ কয়েকটি অ্যাপ্লিকেশনে (গেমস / ভিওআইপি) পরিস্থিতি একেবারে পৃথক: আমাদের কাছে খুব পরিমাণে ডেটা রয়েছে তবে লটেন্সিগুলি খুব বেশি যত্ন করে; এটি এই সাধারণ জিনিস যা ইউডিপির জন্য 99% বৈধ ব্যবহারের জন্য দায়ী। এবং কয়েকটি নীটপিকস: (ক) গ্রুপ বিতরণ ইন্টারনেটে কাজ করে না (এবং সম্ভবত কখনও সম্ভব হবে না), সুতরাং এটি কেবল ইন্ট্রানেট-রাজ্য; (খ) প্রতি গুগল, কেবলমাত্র 8-9% ইন্টারনেট জনসংখ্যার ইউডিপি নিয়ে সমস্যা রয়েছে; (গ) "নেটওয়ার্ক আনফ্রেরি" স্থির-হার স্ট্রিমের জন্য আবেদন করে না
নো-বাগস হরে

93

কিছু অ্যাপ্লিকেশনে টিডিপি ইউডিপির চেয়ে দ্রুত (আরও ভাল থ্রুপুট) হয়।

এমটিইউ আকারের তুলনায় প্রচুর ছোট লেখার ক্ষেত্রে এটি ঘটে। উদাহরণস্বরূপ, আমি একটি পরীক্ষা পড়েছি যেখানে ইথারনেট (1500 বাইট এমটিইউ) এর উপরে 300 বাইট প্যাকেটের প্রবাহ পাঠানো হচ্ছে এবং টিডিপি ইউডিপির চেয়ে 50% দ্রুত ছিল

কারণটি কারণ টিসিপি চেষ্টা করবে এবং ডেটা বাফার করবে এবং একটি সম্পূর্ণ নেটওয়ার্ক বিভাগ পূরণ করবে যাতে এটি উপলব্ধ ব্যান্ডউইথের আরও দক্ষভাবে ব্যবহার করে।

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

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


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

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

46
@Myforwik। অন্যের মধ্যে মুরনিজমের পরামর্শ দেওয়ার সময়, বুঝতে চেষ্টা করুন যে আমাদের সকলেরই আমাদের জ্ঞানের ফাঁক রয়েছে - আপনি অন্তর্ভুক্ত করেছেন। সুতরাং তাই, জ্ঞান-ভাগ করে নেওয়ার জন্য একটি ফোরাম। খুব সুন্দর সমস্ত প্রথম ব্যক্তি শ্যুটারগুলি ইউডিপি ব্যবহার করে এবং এমটিইউর মতো বৃহত্তর কাছাকাছি মাপে প্যাকেটগুলি প্রেরণ করা তাদের পক্ষে বিরল। আপনি যদি যান এবং জন কারম্যাকের কাছে পরামর্শ দিতে চান যে তিনি এই পদ্ধতির সাথে আগমন করার জন্য তিনি কি মুরান ছিলেন তবে আমি আপনাকে প্রথমে এই বিষয়ে নিজেকে পুরোপুরি শিক্ষিত করতে উত্সাহিত করব। 15 বছর, এবং একটি শিল্পের উচ্চ-পারফরম্যান্স নেটওয়ার্কিং কোডের মূল্য শুয়ে নেই এবং মারা যায় না কারণ আপনি মনে করেন এটি "মরোনিক"।
ইঞ্জিনিয়ার

2
" আমি একটি পরীক্ষা পড়েছি যেখানে ইথারনেট (1500 বাইট এমটিইউ) এর উপরে 300 বাইট প্যাকেটের প্রবাহ প্রেরণ করা হয়েছিল এবং টিডিপি ইউডিপির চেয়ে 50% দ্রুত ছিল। " - আপনি কি এই পরীক্ষার লিঙ্ক করতে পারবেন?
লিবিয়াথন

3
@ লেভিয়াথান এটি কার্যকর টিসিপি / আইপি প্রোগ্রামিং বইটিতে রয়েছে।
রবার্ট এস বার্নেস

31

ক্ষতি সহনশীল সহ

আপনার অর্থ "ক্ষতির সহন সহকারে"?

মূলত, ইউডিপি "ক্ষতি সহনকারী" নয়। আপনি কাউকে 100 প্যাকেট প্রেরণ করতে পারেন এবং তারা কেবলমাত্র সেই প্যাকেটগুলির মধ্যে 95 পেতে পারেন এবং কিছু ভুল ক্রমে থাকতে পারে।

ভিডিও স্ট্রিমিং এবং মাল্টিপ্লেয়ার গেমিংয়ের মতো জিনিসগুলির জন্য, যেখানে কোনও প্যাকেটটি পিছনে থাকা সমস্ত অন্যান্য প্যাকেটগুলিকে বিলম্ব করার চেয়ে মিস করা ভাল, এটি স্পষ্ট পছন্দ is

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

ধন্যবাদ, কিছু খুব স্মার্ট লোক এটি করেছে এবং তারা একে টিসিপি বলেছে।

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


1
100 এর মধ্যে 5 প্যাকেট? এটা বেশ অনেক। আমি অনুমান করি এটি একটি উদাহরণ মাত্র। প্রশ্ন: বাস্তব পরিস্থিতিতে কত প্যাকেট হারিয়ে যেতে পারে? কারণ এটি যদি 10000 এর মধ্যে 2 হিসাবে (প্লাস বিয়োগ 1) হয় তবে আমি এটির জন্য চিন্তা করব না n't
freakish

1
@ ফ্রেইকিশ, হ্যাঁ এটি কেবল একটি উদাহরণ ছিল। প্যাকেট ক্ষতির প্রকৃত পরিমাণ আপনার সংযোগ, প্রবাহ নেটওয়ার্কগুলি ইত্যাদির উপর নির্ভর করে I আমি একটি পটভূমি ডাউনলোড চালু করার সাথে সাথেই আমি কিছু পেতে শুরু করব (সম্ভবত 10% -20%)। এটি প্রায় 5 বছর আগে যদিও ছিল এবং দ্রুত ইন্টারনেট সংযোগগুলি সাহায্য করতে পারে।
অরিওন এডওয়ার্ডস

2
ইন্টারনেট রাউটারগুলি udp টিসিপি

19

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


2
এটি সঠিক নয় রাউটারগুলি টিসিপি-র আগে ইউডিপি ছাড়বে। একটি ভাগ করা তারের উপর আপনি ইউডিপি দ্বারা ডুবে যেতে পারেন তবে একটি অত্যধিক সাফল্যজনক পরিস্থিতিতে কী ঘটতে পারে তা নির্ভর করে প্রযুক্তির উপর তবে ইউডিপি পক্ষে খুব কম সংখ্যক সংঘর্ষের পাঠানো বিন্দুতে হ্রাস করা তার পক্ষে খুব সহজ।
ব্যবহারকারী 1496062

আমি আপনার ব্যাখ্যা পছন্দ করি তবে একটি পয়েন্ট পাই না। যদি ইউডিপি সংযোগগুলি সমস্ত ট্র্যাফিক পেতে পারে (যদি ব্যান্ডউইথ কম থাকে বা ডেটা বেশি থাকে) সেক্ষেত্রে আপনার অ্যাপ্লিকেশন টিসিপি ব্যবহার করে যদি প্রাথমিকভাবে ইউডিপি ব্যবহার করে তাদের জিম্মি করে রাখা হয়। সমস্ত অ্যাপ্লিকেশন যদি টিসিপি ব্যবহার করে তবে তারা একে অপরের সাথে "দুর্দান্ত খেলুন"। তাহলে প্রথম স্থানে রাউটারে ইউডিপি কেন অনুমতি দেবে?
ইগোর Čordaš

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

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

18

"দ্রুত কি" কথা বলার সময় - কমপক্ষে দুটি খুব আলাদা দিক রয়েছে: থ্রুপুট এবং বিলম্ব।

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

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

কোনও প্যাকেট নষ্ট হওয়ার পরে, টিসিপি কমপক্ষে 200 মিমি (আরএফসি 6298 এর অনুচ্ছেদ 2.4 অনুযায়ী 1 সেকেন্ডের জন্য পুনর্বাসনের জন্য অপেক্ষা করবে, তবে বাস্তব আধুনিক বাস্তবায়নগুলি এটি 200 মিমি হ্রাস করতে ঝুঁকবে)। তদুপরি, টিসিপির সাথে, এমনকি সেই সমস্ত প্যাকেটগুলি যেগুলি গন্তব্য হোস্টে পৌঁছেছে - অনুপস্থিত প্যাকেট না পাওয়া পর্যন্ত আপনার অ্যাপ্লিকেশনে সরবরাহ করা হবে না (যেমন, পুরো যোগাযোগটি 200 ডলার দেরিতে বিলম্বিত হয়) - বিটিডাব্লু, এই প্রভাবটি, হেড-অফ হিসাবে পরিচিত -লাইন ব্লকিং, টিসিপি বা নির্ভরযোগ্য + অর্ডারযুক্ত ইউডিপি, সমস্ত নির্ভরযোগ্য আদেশযুক্ত স্ট্রিমের সহজাত। জিনিসগুলিকে আরও খারাপ করে তোলার জন্য - যদি পুনঃপ্রেরণিত প্যাকেটটিও হারিয়ে যায়, তবে আমরা ms 600ms বিলম্বের কথা বলব (তথাকথিত তাত্পর্যপূর্ণ ব্যাকফের কারণে, 1 ম retransmit 200ms, এবং দ্বিতীয়টি 200 * 2 = 400ms)। আমাদের চ্যানেলে যদি 1% প্যাকেট ক্ষতি হয় (যা আজকের মানগুলির দ্বারা খারাপ নয়), এবং আমাদের প্রতি প্রতি সেকেন্ডে 20 টি আপডেটের সাথে একটি গেম রয়েছে - এই জাতীয় 600 মিমি দেরি গড়ে প্রতি 8 মিনিটে ঘটে। এবং দ্রুত গতির খেলায় আপনাকে নিহত করার জন্য 600 মিমি যথেষ্ট পরিমাণে বেশি - ভাল, গেমপ্লে জন্য এটি বেশ খারাপ। এই প্রভাবগুলি হ'ল কেন গেমদেবরা প্রায়শই টিসিপির চেয়ে ইউডিপি পছন্দ করেন।

যাইহোক, ইউটিডিটি বিলম্বিততাগুলি হ্রাস করার জন্য ব্যবহার করার সময় - এটি উপলব্ধি করা গুরুত্বপূর্ণ যে কেবল "ইউডিপি ব্যবহার করা" যথেষ্ট পরিমাণে বিলম্বিত উন্নতি অর্জনের পক্ষে যথেষ্ট নয়, আপনি ইউডিপি কীভাবে ব্যবহার করছেন তা সমস্ত কিছু is বিশেষত, যখন আরইউডিপি লাইব্রেরিগুলি সাধারণত "ক্ষতিকারক ব্যাক অফ" এড়ায় এবং স্বল্প retransmit বার ব্যবহার করে - যদি সেগুলি "নির্ভরযোগ্য আদেশযুক্ত" স্ট্রিম হিসাবে ব্যবহৃত হয় তবে তাদের এখনও হেড-অফ-লাইন ব্লকিংয়ে ভুগতে হবে (তাই দ্বিগুণ ক্ষেত্রে) প্যাকেটের ক্ষতি, এর 600 মিটারের পরিবর্তে আমরা প্রায় 1.5 * 2 * আরটিটি পাব - বা একটি ভাল ভাল 80 মিমি আরটিটির জন্য এটি 250 ডলার দেরি, যা একটি উন্নতি, তবে এখনও আরও ভাল করা সম্ভব)। অন্যদিকে, যদি http://gafferongames.com/networked-physics/snapshot-compression/ এবং / অথবা http: // ithare এ আলোচিত কৌশলগুলি ব্যবহার করা হয় , সম্পূর্ণরূপে হেড-অফ-লাইন ব্লকিংয়ের অবসান করা সম্ভব (সুতরাং 20 টি আপডেট / সেকেন্ডের সাথে কোনও গেমের জন্য একটি ডাবল-প্যাকেটের ক্ষতির জন্য, আরটিটি নির্বিশেষে 100 মিলিয়ন বিলম্ব হবে)।

এবং পার্শ্ব নোট হিসাবে - যদি আপনি কেবল টিসিপিতে অ্যাক্সেস পেয়ে থাকেন তবে কোনও ইউডিপি নেই (যেমন ব্রাউজারে, বা আপনার ক্লায়েন্ট যদি ইউডিপিকে অবরুদ্ধ কুৎসিত ফায়ারওয়ালগুলির মধ্যে একটির পিছনে থাকে) - সেখানে যাওয়ার উপায় বলে মনে হয় খুব বেশি বিলম্ব না করেই ইউডিপি-ওভার-টিসিপি বাস্তবায়ন করুন, এখানে দেখুন: http://ithare.com/almost-zero-additional-latency-udp-over-tcp/ (মন্তব্যগুলিও অবশ্যই পড়তে ভুলবেন না (!))।


13

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


ব্যর্থতার ছোট সুযোগ এবং প্যাকেটের আকারের একটি সীমা।

11

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

বিবেচনা করার অন্যান্য দিকটি হ'ল যদি আপনার মাল্টিকাস্ট দরকার হয়। যদি তা হয় তবে ইউডিপি ব্যবহার করুন।


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

1
সঠিক - নেটওয়ার্কের মাল্টি কাস্টিং বেশ বিরল বেশিরভাগ রাউটার এটিকে অবরুদ্ধ করে।
ব্যবহারকারীর 1496062

8

আপনার যদি দুটি আইপি-র মধ্যে এখনও কথা না বলার মধ্যে নেট জুড়ে দ্রুত কোনও বার্তা ছড়িয়ে দেওয়ার প্রয়োজন হয় তবে একটি ইউডিপি কমপক্ষে 3 গুণ দ্রুত, প্রায় 5 গুণ দ্রুত গতিতে পৌঁছাতে চলেছে।


1
কোন রেফারেন্স?
জেরার্ড 14

8

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


7

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

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


5

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


5

প্রোগ্রামারকে উভয় দুনিয়ার সুবিধাগুলি মঞ্জুর করার জন্য কিছু কাজ করা হয়েছে।

SCTP এর

এটি একটি স্বতন্ত্র পরিবহন স্তর প্রোটোলল, তবে এটি ইউডিপিতে অতিরিক্ত স্তর সরবরাহ করে এমন একটি গ্রন্থাগার হিসাবে ব্যবহার করা যেতে পারে। যোগাযোগের প্রাথমিক ইউনিটটি একটি বার্তা (এক বা একাধিক ইউডিপি প্যাকেটে ম্যাপ করা হয়)। সেখানে যানজট নিয়ন্ত্রণ অন্তর্নির্মিত রয়েছে prot প্রোটোকলটিতে সুইচ করার জন্য নোবস এবং টুইডল রয়েছে

  • বার্তা সরবরাহ করার জন্য
  • ব্যবহারকারী সংজ্ঞায়িত পরামিতি সহ হারিয়ে যাওয়া বার্তাগুলির স্বয়ংক্রিয় পুনঃপ্রেরণ

আপনার বিশেষ অ্যাপ্লিকেশনটির জন্য যদি এর কোনও প্রয়োজন হয়।

এর সাথে একটি সমস্যা হ'ল সংযোগ স্থাপনাটি জটিল (এবং সুতরাং ধীর প্রক্রিয়া)

অন্যান্য অনুরূপ স্টাফ

আরও একটি অনুরূপ মালিকানা পরীক্ষামূলক জিনিস

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


3

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


1

নেটওয়ার্ক সেটআপ যে কোনও পরিমাপের জন্য গুরুত্বপূর্ণ। আপনি যদি নিজের স্থানীয় মেশিনে বা বিশ্বের অন্য প্রান্তের সাথে সকেটের মাধ্যমে যোগাযোগ করে থাকেন তবে এটি একটি বিশাল পার্থক্য করে।

আমি আলোচনায় তিনটি জিনিস যুক্ত করতে চাই:

  1. আপনি গেম বিকাশের প্রসঙ্গে টিসিপি বনাম ইউডিপি সম্পর্কে একটি খুব ভাল নিবন্ধটি এখানে পেতে পারেন ।
  2. তদ্ব্যতীত , পরিমাপের দ্বারা নিজের প্রশ্নের উত্তর নিজেই দেওয়ার জন্য আইপিআরএম ( জেফারফ একটি জিইউআই সহ আইপিফার বাড়ানো) একটি খুব দুর্দান্ত সরঞ্জাম।
  3. আমি পাইথনে একটি মানদণ্ড প্রয়োগ করেছি ( এই এসও প্রশ্নটি দেখুন )। গড় 10 ^ 6 পুনরাবৃত্তি 8 ডি বাইট প্রেরণের পার্থক্যটি ইউডিপির জন্য প্রায় 1-2 মাইক্রোসেকেন্ড হয়।

1
রিয়েল ওয়ার্ল্ড ইন্টারনেটের সাথে মাপদণ্ডটি প্রাসঙ্গিক করে তুলতে, আপনাকে এটি নেটেমের মতো প্যাকেট ক্ষতির সিমুলেটর দিয়ে আবার চালাতে হবে। যদি এটি সঠিকভাবে করা হয় (এবং 100 মিলিয়ন সিমুলেটেড আরটিটি সহ এবং 1% সিমুলেটেড প্যাকেট ক্ষতি হয়), ফলাফলগুলি মারাত্মকভাবে পৃথক হবে। সংক্ষেপে - যদিও টিসিপি এবং ইউডিপি বিলম্বগুলি প্রকৃতপক্ষে শূন্য প্যাকেটের ক্ষতির জন্য একই - তারা প্রতিটি হারিয়ে যাওয়া প্যাকেটের জন্য অনেকগুলি আলাদা করতে শুরু করে।
নো-বাগস হরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.