Traversal Using Relays around NAT
ট্র্যাভার্সাল ইউজিং রিলে অ্যারাউন্ড ন্যাট (টি. ইউ. আর. এন) হল একটি প্রটোকল যা মাল্টিমিডিয়া অ্যাপ্লিকেশনের জন্য নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেটর (ন্যাট) বা ফায়ারওয়ালের ট্র্যাভার্সাল-এ সহায়তা করে। এটি ট্রান্সমিশন কন্ট্রোল প্রোটোকল (টিসিপি) এবং ইউজার ডেটাগ্রাম প্রোটোকল (ইউডিপি) এর সাথে ব্যবহার করা যেতে পারে। এটি প্রতিসম এনএটি ডিভাইস দ্বারা ছদ্মবেশিত নেটওয়ার্কের ক্লায়েন্টদের জন্য সবচেয়ে কার্যকর। টার্ন একটি ন্যাটের মাধ্যমে ব্যক্তিগত নেটওয়ার্কের সুপরিচিত বন্দরে সার্ভার চালাতে সহায়তা করে না; উদাহরণস্বরূপ, টেলিফোনের মতো এটি একটি ন্যাটের পিছনে একজন ব্যবহারকারীর শুধুমাত্র একটি পিয়ারের সাথে সংযোগকে সমর্থন করে। টার্ন দ্বারা নির্দিষ্ট করা হয়। টার্ন ইউআরআই প্রকল্পটি নথিভুক্ত করা হয়েছে। পরিচিতি নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (এনএটি), একটি প্রক্রিয়া যা আইপিভি 6-এ রূপান্তরের সময় আইপিভি 4 অ্যাড্রেস ক্লান্তির সমস্যা হ্রাস করার ব্যবস্থা হিসাবে কাজ করে, তার সাথে বিভিন্ন সীমাবদ্ধতা রয়েছে। এই সীমাবদ্ধতাগুলির মধ্যে সবচেয়ে সমস্যাজনক হল যে এনএটি অনেক বিদ্যমান আইপি অ্যাপ্লিকেশনগুলিকে ভেঙে দেয় এবং নতুনগুলি স্থাপন করা আরও কঠিন করে তোলে। নির্দেশিকাগুলি তৈরি করা হয়েছে যা বর্ণনা করে যে কীভাবে "এনএটি বন্ধুত্বপূর্ণ" প্রোটোকল তৈরি করা যায়, তবে অনেক প্রোটোকল কেবল সেই নির্দেশিকাগুলি অনুসারে তৈরি করা যায় না। এই ধরনের প্রটোকলের উদাহরণগুলির মধ্যে রয়েছে মাল্টিমিডিয়া অ্যাপ্লিকেশন এবং ফাইল শেয়ারিং। সেশন ট্র্যাভার্সাল ইউটিলিটিজ ফর ন্যাট (এস. টি. ইউ. এন) একটি অ্যাপ্লিকেশনকে ন্যাট অতিক্রম করার একটি উপায় প্রদান করে। STUN একজন গ্রাহককে একটি পরিবহন ঠিকানা (একটি IP ঠিকানা এবং বন্দর) পাওয়ার অনুমতি দেয় যা সহকর্মীদের কাছ থেকে প্যাকেট গ্রহণের জন্য দরকারী হতে পারে। যাইহোক, STUN দ্বারা প্রাপ্ত ঠিকানাগুলি সমস্ত সহকর্মীদের দ্বারা ব্যবহারযোগ্য নাও হতে পারে। এই ঠিকানাগুলি নেটওয়ার্কের টপোলজিক্যাল অবস্থার উপর নির্ভর করে কাজ করে। অতএব, স্টান নিজেই ন্যাট ট্র্যাভার্সালের জন্য একটি সম্পূর্ণ সমাধান প্রদান করতে পারে না। একটি সম্পূর্ণ সমাধানের জন্য এমন একটি উপায় প্রয়োজন যার মাধ্যমে একজন গ্রাহক একটি পরিবহন ঠিকানা পেতে পারেন যেখান থেকে তিনি যে কোনও পিয়ারের কাছ থেকে মিডিয়া গ্রহণ করতে পারেন যা জনসাধারণের ইন্টারনেটে প্যাকেট পাঠাতে পারে। এটি শুধুমাত্র পাবলিক ইন্টারনেটে থাকা সার্ভারের মাধ্যমে ডেটা রিলে করে সম্পন্ন করা যেতে পারে। ট্র্যাভার্সাল ইউজিং রিলে অ্যারাউন্ড ন্যাট (টিইউআরএন) হল একটি প্রটোকল যা একজন ক্লায়েন্টকে এই ধরনের রিলে থেকে আইপি অ্যাড্রেস এবং পোর্ট পেতে দেয়। যদিও টার্ন প্রায় সবসময়ই একটি ক্লায়েন্টকে সংযোগ প্রদান করে, এটি টার্ন সার্ভার সরবরাহকারীর জন্য সম্পদ নিবিড়। তাই যখন সম্ভব হয় তখন অন্যান্য প্রক্রিয়াগুলি (যেমন স্টান বা সরাসরি সংযোগ) পছন্দ করে শুধুমাত্র শেষ অবলম্বন হিসাবে টার্ন ব্যবহার করা বাঞ্ছনীয়। এটি সম্পন্ন করার জন্য, সংযোগের সর্বোত্তম উপায়গুলি আবিষ্কার করতে ইন্টারেক্টিভ কানেক্টিভিটি এস্টাব্লিশমেন্ট (আই. সি. ই) পদ্ধতি ব্যবহার করা যেতে পারে। প্রটোকল প্রক্রিয়াটি শুরু হয় যখন একটি ক্লায়েন্ট কম্পিউটার একটি ডেটা লেনদেনের জন্য একটি পিয়ার কম্পিউটারের সাথে যোগাযোগ করতে চায়, কিন্তু ক্লায়েন্ট এবং পিয়ার উভয়ই নিজ নিজ ন্যাটের পিছনে থাকার কারণে তা করতে পারে না। যদি STUN একটি বিকল্প না হয় কারণ NAT-এর মধ্যে একটি প্রতিসম NAT (এক ধরনের NAT যা নন-STUN সামঞ্জস্যপূর্ণ হিসাবে পরিচিত), তাহলে অবশ্যই TURN ব্যবহার করতে হবে। প্রথমে, ক্লায়েন্ট একটি "বরাদ্দ" অনুরোধ সহ একটি টার্ন সার্ভারের সাথে যোগাযোগ করে। বরাদ্দ অনুরোধটি টার্ন সার্ভারকে ক্লায়েন্টের জন্য তার কিছু সম্পদ বরাদ্দ করতে বলে যাতে এটি কোনও পিয়ারের সাথে যোগাযোগ করতে পারে। যদি বরাদ্দ করা সম্ভব হয়, সার্ভার ক্লায়েন্টকে রিলে হিসাবে ব্যবহার করার জন্য একটি ঠিকানা বরাদ্দ করে এবং ক্লায়েন্টকে একটি "বরাদ্দ সফল" প্রতিক্রিয়া পাঠায়, যার মধ্যে টার্ন সার্ভারে অবস্থিত একটি "বরাদ্দ রিলে করা পরিবহন ঠিকানা" থাকে। দ্বিতীয়ত, ক্লায়েন্ট পিয়ার-সার্ভার যোগাযোগের জন্য একটি অনুমতি পরীক্ষা ব্যবস্থা তৈরি করার জন্য টার্ন সার্ভারে একটি ক্রিয়েটপারমিশন অনুরোধ পাঠায়। অন্য কথায়, যখন কোনও পিয়ারের সঙ্গে অবশেষে যোগাযোগ করা হয় এবং ক্লায়েন্টের কাছে রিলে করার জন্য টার্ন সার্ভারে তথ্য ফেরত পাঠানো হয়, তখন টার্ন সার্ভার পিয়ার-টু-টার্ন সার্ভার যোগাযোগ বৈধ কিনা তা যাচাই করার জন্য অনুমতিগুলি ব্যবহার করে। অনুমতি তৈরি হওয়ার পরে, ক্লায়েন্টের কাছে প্রকৃত তথ্য পাঠানোর জন্য দুটি বিকল্প থাকে, (1) এটি সেন্ড মেকানিজম ব্যবহার করতে পারে, অথবা (2) এটি চ্যানেলবাইন্ড অনুরোধ ব্যবহার করে একটি চ্যানেল সংরক্ষণ করতে পারে। সেন্ড প্রক্রিয়াটি আরও সহজবোধ্য, তবে এতে একটি বৃহত্তর হেডার, 36টি বাইট রয়েছে, যা একটি টার্ন রিলে কথোপকথনে ব্যান্ডউইথকে যথেষ্ট পরিমাণে বাড়িয়ে তুলতে পারে। বিপরীতে, চ্যানেলবাইন্ড পদ্ধতিটি হালকাঃ হেডারটি মাত্র 4 বাইটে হয়, তবে এটির জন্য একটি চ্যানেল সংরক্ষণ করা প্রয়োজন যা অন্যান্য বিবেচনার মধ্যে পর্যায়ক্রমে রিফ্রেশ করা প্রয়োজন। উভয় পদ্ধতি ব্যবহার করে, পাঠান বা চ্যানেল বাইন্ডিং, টার্ন সার্ভার ক্লায়েন্টের কাছ থেকে তথ্য গ্রহণ করে এবং ইউডিপি ডেটাগ্রাম ব্যবহার করে পিয়ারের কাছে রিলে করে, যা তাদের উৎস ঠিকানা হিসাবে "বরাদ্দকৃত রিলেড ট্রান্সপোর্ট অ্যাড্রেস" ধারণ করে। পিয়ার তথ্য গ্রহণ করে এবং প্রতিক্রিয়া জানায়, আবার পরিবহন প্রোটোকল হিসাবে একটি ইউডিপি ডেটাগ্রাম ব্যবহার করে, ইউডিপি ডেটাগ্রামটি টিআরএন সার্ভারে রিলে ঠিকানায় পাঠায়। টার্ন সার্ভার পিয়ার ইউডিপি ডেটাগ্রাম গ্রহণ করে, অনুমতিগুলি পরীক্ষা করে এবং যদি সেগুলি বৈধ হয় তবে এটি ক্লায়েন্টের কাছে ফরোয়ার্ড করে। এই প্রক্রিয়াটি সমমিত NAT-এর কাছাকাছি চলে যায় কারণ ক্লায়েন্ট এবং সহকর্মী উভয়ই কমপক্ষে TURN সার্ভারের সাথে কথা বলতে পারে, যা যোগাযোগের জন্য একটি রিলে IP ঠিকানা বরাদ্দ করেছে। যদিও টার্ন স্টানের চেয়ে বেশি শক্তিশালী যে এটি আরও বেশি ধরণের ন্যাট ট্র্যাভার্সাল করতে সহায়তা করে, একটি টার্ন যোগাযোগ সার্ভারের মাধ্যমে পুরো যোগাযোগকে রিলে করে যার জন্য স্টান প্রোটোকলের চেয়ে অনেক বেশি সার্ভার ব্যান্ডউইথের প্রয়োজন হয়, যা সাধারণত কেবল জনসাধারণের মুখোমুখি আইপি ঠিকানা সমাধান করে এবং সরাসরি যোগাযোগে ব্যবহার করার জন্য ক্লায়েন্ট এবং পিয়ারের কাছে তথ্য রিলে করে। এই কারণে, আই. সি. ই প্রোটোকল প্রথম অবলম্বন হিসাবে স্টান ব্যবহার বাধ্যতামূলক করে, এবং শুধুমাত্র প্রতিসম ন্যাট বা অন্যান্য পরিস্থিতি যেখানে স্টান ব্যবহার করা যায় না সেগুলির সাথে মোকাবিলা করার সময় টার্ন ব্যবহার বাধ্যতামূলক করে। আরও দেখুন ইন্টারেক্টিভ কানেক্টিভিটি এস্টাব্লিশমেন্ট ইন্টারনেট প্রোটোকল নেটওয়ার্ক প্রোটোকল নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন ভয়েস ওভার আইপি অ্যাপ্লিকেশন লেয়ার প্রোটোকল