টিএলডিআর: টিসিপি-র শীর্ষে একাধিক চ্যানেলগুলি মাল্টিপ্লেক্স করার সময় আপনি যে প্রধান ত্রুটিটি লক্ষ্য করতে পারেন (যদি আপনি এটি সঠিকভাবে করেন) চ্যানেলগুলির মধ্যে হেড-অফ-লাইন ব্লক হওয়ার কারণে বর্ধিত বিলম্ব হয় ।
পরিণতি: আপনি যদি বিলম্বের বিষয়ে চিন্তা না করেন তবে আপনার ভাল হওয়া উচিত।
অন্যদিকে, একক টিসিপি সংযোগ ব্যবহারের অর্থ "অন্যান্য প্রবাহ এবং দীর্ঘকালীন সংযোগগুলির সাথে কম প্রতিযোগিতা, যার ফলে উপলভ্য নেটওয়ার্কের সক্ষমতা আরও উন্নত হবে" ।
টিসিপির মাধ্যমে অবরুদ্ধ অবরুদ্ধ
যদি আপনি একই টিসিপি স্ট্রিমের শীর্ষে একাধিক চ্যানেলগুলি মাল্টিপ্লেক্স করেন তবে চ্যানেলগুলি হেড-অফ-লাইন ব্লক করে ভোগ করতে পারে :
হেড-অফ-লাইন ব্লকিং (এইচএল) সংঘটিত হতে পারে যখন ট্রান্সপোর্ট প্রোটোকলগুলি অর্ডার দেওয়া বা আংশিক আদেশযুক্ত পরিষেবা সরবরাহ করে: যদি বিভাগগুলি হারিয়ে যায়, তবে পরবর্তী বার্তাগুলি রিসিভার সারিতে সফল পুনঃস্থাপনের জন্য অপেক্ষা করতে হয় এবং এইভাবে বিলম্বিত হয়।
আপনি যখন TCP এর উপরে একাধিক স্ট্রিমগুলি মাল্টিপ্লেক্স করেন তখন আপনি চ্যানেলগুলির মধ্যে এইচএল পান ।
যদি চ্যানেল এ টিসিপি প্রেরণকারী বাফার পূরণ করেছে, চ্যানেল বি এর কোনও নতুন তথ্য কার্যকরভাবে দূরবর্তী অ্যাপ্লিকেশন স্তরে স্থানান্তরিত করার আগে আপনাকে এই সমস্ত তথ্য পাওয়ার আগে অপেক্ষা করতে হবে।
দেখুন "বিভিন্ন TCP উপরে multiplexing" বিভিন্ন TCP শীর্ষ এবং এর চ্যানেলগুলিতে multiplexing সম্পর্কে আরো বিস্তারিত জানার জন্য hackernews আলোচনা ।
টিসিপিতে মাল্টিপ্লেক্সিংয়ের উদাহরণ
এসএসএইচের মাধ্যমে চ্যানেল মাল্টিপ্লেক্সিং (টিসিপি ওভার)
এর একটি সাধারণ উদাহরণ এসএসএইচ। SSH- র একাধিক চ্যানেল (দেখুন মাল্টিপ্লেক্স করতে ControlMaster
, ControlPath
এবং ControlPersist
OpenSSH এ)। এটি ব্যবহার করে একটি নতুন এসএসএইচ অধিবেশন শুরু করার ব্যয় হ্রাস করা হয় (প্রাথমিক সূক্ষ্মতা) তবে একটি চ্যানেলে ভারী স্থানান্তর সাধারণত অন্যগুলির বিলম্ব / ইন্টারঅ্যাক্টিভিটি বাড়ায় (আপনি একাধিক টিসিপি স্ট্রিম ব্যবহার করলে তা ঘটে না): আপনি যদি ইন্টারেক্টিভ ব্যবহার করছেন সেশনগুলি এবং একই চ্যানেলে একটি ভারী ফাইল স্থানান্তরকে ট্রিগার করা শুরু করুন, আপনার সেশনটি অনেক কম ইন্টারেক্টিভ হওয়া শুরু করবে।
টিসিপিতে মাল্টিপ্লেক্সড এইচটিটিপি / 2
এইচএলটি / ২ টি এইচএল ব্লকিং ঠিক করার জন্য টিসিপির মাধ্যমে অনুরোধ / প্রতিক্রিয়াগুলির একাধিক সংযোগ ব্যবহার করে। এই বৈশিষ্ট্যটি HTTP / 2 সম্পর্কে অনেক নিবন্ধ এবং কাগজপত্রে বিজ্ঞাপন দেওয়া হয় is HTTP- র / 2 বোঝায় যা RFC দাবিগুলি:
এইচটিটিপি / ১.১ অনুরোধ পাইপলাইনের যোগ করেছে, তবে এটি কেবল আংশিকভাবে অনুরোধ অনুরোধটিকে সম্বোধন করেছে এবং এখনও লাইন অবরুদ্ধ হওয়াতে ভুগছে।
[...]
ফলাফলযুক্ত প্রোটোকলটি নেটওয়ার্কের পক্ষে আরও বন্ধুত্বপূর্ণ কারণ HTTP / 1.x এর তুলনায় কম টিসিপি সংযোগ ব্যবহার করা যেতে পারে। এর অর্থ অন্যান্য প্রবাহ এবং দীর্ঘকালীন সংযোগগুলির সাথে কম প্রতিযোগিতা, যার ফলে উপলব্ধ নেটওয়ার্কের সক্ষমতা আরও ভালভাবে ব্যবহার করতে পারে।
তবে যা আলোচিত নয় তা হ'ল এইচএল ব্লকিং পুরোপুরি সমাধান করা হয় না। টিসিপি-স্তরের এইচএল ব্লক করা থেকে টিসিপি ওভারে এইচটিটিপি / 2 এখনও ভোগাচ্ছে ) ।
এটি কুইক সম্পর্কে এই এলডাব্লুএন নিবন্ধে আলোচনা করা হয়েছে
:
এইচটিটিপি / 2 একক সংযোগে অন্তর্নির্মিত একাধিক "স্ট্রিম" ব্যবহার করে এই সমস্যাটির সমাধান করার জন্য ডিজাইন করা হয়েছিল । [...] এটি একটি নতুন সমস্যা তৈরি করে: একক প্যাকেটের ক্ষতি হ'ল একসাথে সমস্ত স্ট্রিমের সংক্রমণ বন্ধ করে দেবে, নতুন বিলম্বিত সমস্যা তৈরি করবে। হেড-অফ-লাইন-ব্লকিং সমস্যার এই রূপটি টিসিপিতে তৈরি করা হয়েছে এবং এইচটিটিপি স্তরে আরও টুইট দিয়ে স্থির করা যায় না।
অন্যান্য মাল্টিপ্লেক্সিং কৌশল
SCTP এর
এটি এসসিটিপি (মাল্টিস্ট্রিমিং) এর একটি স্বতন্ত্র বৈশিষ্ট্য, আপনার একই এসসিটিপি সংস্থায় একাধিক স্বতন্ত্র স্ট্রিম থাকতে পারে এবং প্রতিটি স্ট্রিম অন্যটি ব্লক করে না।
এসএসটিপির মাধ্যমে এসএসএইচ দেখুন - এসএসএইচের ক্রস-চ্যানেল এইচএলএল ব্লকিং এড়ানোর জন্য এসসিটিপি ব্যবহারের প্রভাবের জন্য এসসিটিপিতে এটি রূপান্তর করে একটি মাল্টি-চ্যানেল প্রোটোকল অনুকূলকরণ:
এসসিটিপি কেবলমাত্র এক-একটি স্ট্রিমের মধ্যে বার্তাগুলির ক্রম সংরক্ষণ করে যা হেড-অফ-লাইন ব্লকিং হিসাবে পরিচিত প্রভাবকে প্রশমিত করতে পারে। যদি কোনও বার্তাটি হারিয়ে যায় তবে অর্ডার সংরক্ষণের জন্য হারিয়ে যাওয়াটিকে পুনঃপ্রেরণ না করা পর্যন্ত পরবর্তী বার্তাগুলি বিলম্ব করতে হবে। যেহেতু কেবল একই স্ট্রিমের বার্তাগুলি বিলম্বিত করতে হয়, ক্ষতির পরে প্রভাবিত বার্তার সংখ্যা হ্রাস পায়।
[...]
এসসিটিপির স্ট্রিমগুলিতে এসএসএইচের চ্যানেলগুলি ম্যাপিংয়ের মাধ্যমে, মাল্টি-স্ট্রিমিংয়ের সুবিধাটি এসএসএইচে উপলব্ধ করা হয়েছে, যা হেড-অফ-লাইন ব্লকিংয়ের প্রশমন ।
এসসিটিপি স্থাপন করা অগত্যা সহজ নয় (কারণ ওএস উপলভ্যতা, মিডলবক্স ইন্টারঅ্যাকশন ইত্যাদি)। একটি সম্ভাবনা তা বাস্তবায়ন হয় এর ফলে UDP উপর ইউজার-স্পেসের মধ্যে ।
কুইক (ইউডিপিতে মাল্টিপ্লেক্সিং)
আর একটি উদাহরণ, ইউডিপি-র উপরে এইচটিটিপি মাল্টিপ্লেক্সিংয়ের জন্য পরীক্ষামূলক কুইক প্রোটোকল হ'ল (কারণ এইচটিটিপি / ২ হিসাবে টিসিপির শীর্ষে মাল্টিপ্লেক্সিং একাধিক স্ট্রিম এইচএলটি অবরোধের ফলে ভোগ করে ):
QUIC একটি নতুন পরিবহন যা লেটেন্সি হ্রাস বিভিন্ন TCP তুলনায়। সরেজমিনে, ক্যুইক ইউডিপিতে প্রয়োগ করা টিসিপি + টিএলএস + এইচটিটিপি / 2 এর সাথে খুব মিল।
[...]
লাইন ব্লকিংয়ের মাথা ছাড়াই মাল্টিপ্লেক্সিং
গুগলের কুইক প্রোটোকল: টিসিপি থেকে ইউডিপিতে ওয়েব সরিয়ে নেওয়া টিসিপি -র উপরে মাল্টিপ্লেক্সিং চ্যানেলগুলি যখন কুইক এবং এইচএল ব্লক করার একটি ভাল ওভারভিউ উপস্থাপন করে।
সাম্প্রতিক একটি উপস্থাপনা দাবি করেছে যে কুইকের ওপরে এইচটিটিপি বিলম্বিতা উন্নতি করে তবে এইচএল-ব্লকিং উন্নতি একটি "ছোট সুবিধা":
0-আরটিটি, বিলম্বিত উন্নতির 50% এরও বেশি
[...]
কম সময়সীমা ভিত্তিক পুনঃপ্রেরণাগুলি লেজের বিলম্বকে উন্নত করে […]
অন্যান্য, আরও ছোট সুবিধা, যেমন লাইন ব্লকিংয়ের প্রধান of
দ্রষ্টব্য যে কুইকটিকে "ইউডিপিতে টিসিপি + টিএলএস + এইচটিটিপি / 2 এর সাথে খুব একই রকম" হিসাবে বর্ণনা করা হয়েছে এটি আসলে একটি সাধারণ-উদ্দেশ্য পরিবহণ যা HTTP / 2 এর থেকে স্বাধীনভাবে ব্যবহার করা যেতে পারে এবং আপনার প্রয়োজন অনুসারে হতে পারে।
দ্রষ্টব্য: এইচটিটিপি / কুইক সি এইচটিটিপি / 3 হিসাবে মানক হতে চলেছে ।