নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন

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

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

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

বেসিক ন্যাট সম্পাদনা

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

    • বেসিক প্যাট**
PAT-এর পূর্ণরুপ হল Port Address Translatio. পোর্ট অ্যাড্রেস ট্রান্সলেশনেে একাধিক প্রাইভেট আইপি অ্যাড্রেসকে একটিমাত্র পাবলিক আইপি অ্যাড্রেসের সাথে ম্যাপ করা হয়। এই ম্যাপ করার জন্য পাবলিক আইপি অ্যাড্রেস ও সেই সাথে পোর্ট নম্বর ব্যবহার করা হয়। PAT ডাইনামিক্যাল NAT এন্ট্রি তৈরি করে। পোর্ট মাল্টিপ্লেক্সড-এর মাধ্যমে PAT একই সাথে UDP ও TCP স্ট্রিমকে একই আইপি অ্যাড্রেস ব্যবহারের সুযোগ করে দেয়। নেটওয়ার্ক ট্রান্সলেশন এর এ পদ্ধতিকে বলা হয় ওভারলোডিং।বিশেষ করে ছোট অফিস ও বাসায় PAT ব্যবহার করা হয়।

ওয়ান-টু-মেনি ন্যাট সম্পাদনা

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

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

যেহেতু প্রাথমিক যোগাযোগের উৎপত্তিই ট্রান্সলেশনের প্রয়োজনীয় তথ্য প্রতিষ্ঠা করে তাই আলাপ যখন শুধু প্রাইভেট নেটওয়ার্কে উৎপন্ন হয় তখনই এই মাধ্যম যোগাযোগের অনুমতি প্রদান করে। মাশকোরেইডিং নেটওয়ার্কের ভেতরের একটা ওয়েব ব্রাউজার ইন্টারনেটের যে কোন ওয়েবসাইট ব্যবয়াহ্র করতে পারবে কিন্তু বাইরের ওয়েব সাইট মাশকোরেইডিং নেটওয়ার্কের ভেতরের কোন হোস্টের ওয়েবসাইট ব্রাউজ করতে পারবে না।[ক] টিসিপি এবং ইউডিপি ব্যবহার করে না এমন প্রটোকলের জন্য ট্রান্সলেশন করতে ভিন্ন কৌশলের প্রয়োজন হয়। ইন্টারনেট কন্ট্রোল ম্যাসেজ প্রোটোকল (ICMP) এর প্যকেটগুলো সাধারণত বিদ্যমান কোন সংযোগের সাথে সম্পর্কযুক্ত এবং ঐ আইপি এড্রেস ও পোর্ট নাম্বারকে বিদ্যমান সংযোগের সাথে ম্যপ করতে হবে।

ওয়ান-টু-মেনি ন্যাটের বাড়তি সুবিধা হচ্ছে এটা IPv4 এড্রেস স্বল্পতা সমস্যার বাস্তব সমাধান দিয়েছে। এমনকি এর ফলে একটি পাবলিক এড্রেসের মাধ্যমেই অনেক বড় নেটওয়ার্ক কে ইন্টারনেটে সংযোগ করা সম্ভব হয়েছে।[খ]

ট্রান্সলেশনের বিভিন্ন পন্থা সম্পাদনা

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

এই উদ্দেশ্যে, NATs উপর UDP এর সহজ গমন (STUN) প্রোটোকল তৈরি করা হয় (RFC 3489, মার্চ 2003)। এটা ন্যাটের বাস্তবায়ন কে ফুল-কৌন ন্যাট, (এড্রেস) রেস্ট্রিকটেড-কৌন ন্যাট, পোর্ট-রেস্ট্রিকটেড-কৌন ন্যাট অথবা সিমেট্রিক ন্যাট অনুযায়ী শ্রেনীবদ্ধ করে এবং সাথে একটি যন্ত্র নীরিক্ষণের জন্য একটি প্রস্তাবনা উল্লেখ করে। যাইহোক, এই প্রক্রিয়াগুলোকে মূল্যায়নের মানদন্ড থেকে বাদ দেয়া হয়েছিলো কারণ তারা অনেক যন্ত্রকে ভালো করে মূল্যায়ন করতে পারে নি। RFC 5389 (অক্টোবর ২০০৮) পূর্বের নাম অনুসারেই STUN কে মানদন্ডের নতুন পদ্ধতি হিসেবে নিয়েছে কিন্তু যার আধ্যাক্ষর পরিবর্তিত হয়ে বর্তমানে “সেশন ট্রাভেলস ইউটিলিটিস ফর ন্যাট” কে বুঝাচ্ছে।

ফুল-কৌন ন্যাট, বা ওয়ান-টু-ওয়ান ন্যাট
  • যখন কোন আভ্যন্তরীণ এড্রেসকে (iAddr:iPort) বাইরের কোন এড্রেসের (eAddr:ePort) সাথে ম্যাপ করা হয় তখন iAddr:iPort থেকে আসা যেকোন প্যাকেটকে eAddr:ePort দ্বারা প্রেরন করা হয়।
  • কোন বহিরাগত হোস্ট iAddr:i- এ প্যাকেট পাঠাতে পারে: eAddr:eপোর্টে প্যাকেট প্রেরনের মাধ্যমে।
 
(এড্রেস) রেস্ট্রিকটেড-কৌন ন্যাট
  • যখন কোন আভ্যন্তরীণ এড্রেসকে (iAddr:iPort) বাইরের কোন এড্রেসের (eAddr:ePort) সাথে ম্যাপ করা হয় তখন iAddr:iPort থেকে আসা যেকোন প্যাকেটকে eAddr:ePort দ্বারা প্রেরন করা হয়।
  • eAddr:e পোর্টে প্যাকেট প্রেরন করার মাধ্যমে একটি বহিরাগত হোস্ট (hAddr:hPort) অন্য কোন পোর্ট যেমন iAddr:i পোর্টে প্যাকেট প্রেরন করতে পারবে। শুধু তখনই যদি iAddr:i পোর্ট পূর্বে hAddr: পোর্টে যেকোন প্যাকেট প্রেরন করে থাকে। এখানে "যেকোন" বলতে কোন পোর্ট নাম্বার বিষয় নয়।
 
পোর্ট-রেস্ট্রিকটেড-কৌন ন্যাট

এটাকে এড্রেস রেস্ট্রিকশন কৌন ন্যাটের মতো মনে হয় কিন্তু এখানে পোর্ট নাম্বার ও যুক্ত

  • যখন কোন আভ্যন্তরীণ এড্রেসকে (iAddr:iPort) বাইরের কোন এড্রেসের (eAddr:ePort) সাথে ম্যাপ করা হয় তখন iAddr:iPort থেকে আসা যেকোন প্যাকেটকে eAddr:ePort দ্বারা প্রেরন করা হয়।
  • eAddr:e পোর্টে প্যাকেট প্রেরন করার মাধ্যমে একটি বহিরাগত হোস্ট (hAddr:hPort) অন্য কোন পোর্ট যেমন iAddr:i পোর্টে প্যাকেট প্রেরন করতে পারবে। শুধু তখনই যদি iAddr:i পোর্ট পূর্বে hAddr: পোর্টে যেকোন প্যাকেট প্রেরন করে থাকে।
 
সিম্যাট্রিক ন্যাট
  • একই অভ্যন্তরীণ আইপি ঠিকানা এবং পোর্ট থেকে যখন কোন অনুরোধ একটি নির্দিষ্ট গন্তব্যের আইপি ঠিকানা ও পোর্টে আসে তখন একটি স্বতন্ত্র বহিরাগত উৎস আইপি ঠিকানা এবং পোর্ট দিয়ে তা ম্যাপ করা হয়; যদি একটি অভ্যন্তরীণ হোস্ট একই এড্রেস এবং পোর্ট নাম্বার দিয়ে ভিন্ন গন্তব্যে প্যাকেট প্রেরন করে তাহলে ভিন্ন ম্যাপিং ব্যবহার করতে হবে। একই অভ্যন্তরীণ আইপি ঠিকানা এবং পোর্ট থেকে যখন কোন অনুরোধ একটি নির্দিষ্ট গন্তব্যের আইপি ঠিকানা ও পোর্টে আসে তখন একটি স্বতন্ত্র বহিরাগত উৎস আইপি ঠিকানা এবং পোর্ট দিয়ে তা ম্যাপ করা হয়; যদি একটি অভ্যন্তরীণ হোস্ট একই এড্রেস এবং পোর্ট নাম্বার দিয়ে ভিন্ন গন্তব্যে প্যাকেট প্রেরন করে তাহলে ভিন্ন ম্যাপিং ব্যবহার করতে হবে।
  • বহিরাগত হোস্ট যা অভ্যন্তরীণ হোস্ট থেকে প্যাকেট গ্রহণ করে শুধু সেটিই প্যাকেট পুনরায় ফেরত পাঠাতে পারে।
 

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

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

সংশ্লিষ্ট কৌশলসমূহ সম্পাদনা

আইইইই[৩] রিভার্স অ্যাড্রেস এবং পোর্ট ট্রান্সলেশন (RAPT, অথবা RAT) রিয়েল বা বাস্তব আইপি এড্রেস সংবলিত কোন হোস্টকে যার আইপি সময়ে পরিবর্তিত হয়,তাকে একটি স্থায়ী আইপি এড্রেসের মাধ্যমে সার্ভার হিসেবে নাগালের ভিতরে রাখা। নীতিগতভাবে এটাকে ডিএইচসিপি স্মবলিত কোন নেটওয়ার্ককে সার্ভার হিসেবে অনুমতি দেয়ার কথা। যদি এটাও সঠিক সমাধান না হয় তাহলে RAPT এর সাথে আসন্ন প্রটোকল যেমনঃ DHCP-DDNS গুলো হতে পারে নেটওয়ার্ক এডমিনদের কাছে সমস্যা সমাধানের কারখানার শেষ উপকরন।

সিসকো RAPT বাস্তবায়ন হচ্ছে পোর্ট অ্যাড্রেস ট্রান্সলেশন (পিএটি) অথবা ন্যাট ওভারলোডিং এবং একাধিক প্রাইভেট আইপি অ্যাড্রেসকে একটি পাবলিক আইপি অ্যাড্রেস এ ম্যাপ করার পদ্ধতি। একাধিক এড্রেসকে একটি একক এড্রেসে ম্যাপ করা যাবে কারণ প্রতিটি প্রাইভেট এড্রেসকে একটি পোর্ট নম্বর দ্বারা লক্ষ্য রাখা হয়। PAT অনুবাদগুলির মধ্যে পার্থক্য করার জন্য আভ্যন্তরীন গ্লোবাল আইপি এড্রেসে একক উৎস পোর্ট নাম্বার ব্যবহার করে। পোর্ট নাম্বার গুলি ১৫বিট সংখ্যার। প্রতিতা আইপি দিয়ে এড্রেস দিয়ে আভ্যন্তরীন এড্রেসের সর্বমোট সংখ্যা তাত্ত্বিক ভাবে সর্বোচ্ছ ৬৫,৫৩৬ হতে পারে যাদেরকে একটি মাত্র বাহ্যিক এড্রেসে রুপান্তর করা যেতে পারে। প্রকৃতপক্ষে, একক IP ঠিকানা বরাদ্দ করা যেতে পারে এমন পোর্ট সংখ্যা প্রায় ৪০০০। প্যাট মূল উৎস পোর্ট সংরক্ষণ করতে চেষ্টা করে। যদি এই উৎস পোর্টটি ব্যবহৃত থাকে তাহলে এটার পরবর্তি প্রথম ব্যবহারযোগ্য সংখ্যাকে উপযুক্ত পোর্ট গ্রোপ যেমন ০-৫১১, ৫১২-১০২৩ অথবা ১০২৪-৬৫৫৩৫ থেকে নির্ধারন করে দেয়। যখন আর কোন পোর্ট অবশিষ্ট নেই এবং যখন একটির বেশি বাস্তবায়িত বাহ্যিক আইপি এড্রেস না থাকে তখন প্যাট তার আদি উৎস পোর্ট বন্টণের জন্য পরবর্তি আইপি এড্রেসে পরিবর্তিত হয়। যতক্ষন পর্যন্ত অব্যবহৃত পোর্ট ও বাহ্যিক আইপি এড্রেস শেষ হচ্ছে ততক্ষন পর্যন্ত এই পদ্ধতি চলতে থাকে।

এড্রেস এবং পোর্ট ম্যাপিং হচ্ছে একটি সিসিকো প্রস্তাবনা যা A+P পোর্ট এড্রেস ট্রান্সলেশনের সাথে IPv4 প্যকেট টানেলিং কে আএইসপি প্রদানকৃত আভ্যন্তরীন IPv6 নেটওয়ার্কের মাধ্যমে সংযুক্ত করে। প্রকৃতপক্ষে এটা ক্যারিয়ার গ্রেড ন্যাট এবং ডিএস-লাইট এর (প্রায়) অলিখিত বিকল্প, যেটা IPv4 IP এড্রেস/পোর্ট ট্রান্সলেশন ফাংশন (এবং এই কারণে ন্যাট অবস্থার বাস্তবায়ন) কে সম্পূর্ণভাবে পূর্বে বিদ্যমান ন্যাট বাস্তবায়নে ধাক্কা দিয়েছিলো। এভাবেই ন্যাট৪৪৪ এবং ক্যারিয়ার গ্রেড ন্যাটের বিশদ সমস্যা এড়ানো যায় এবং একই সাথে একটু জটিলতার সাথে IPv6 বাস্তবায়ন করা যায়।

ন্যাটের প্রকারভেদ এবং ন্যাট ট্রাভের্সাল, টিসিপির জন্য পোর্ট সংরক্ষণ নীতি সম্পাদনা

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

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

অন্যদিকে ইউডিপির জন্য ন্যাটের পোর্ট সংরক্ষণের প্রয়োজন হয় না। প্রকৃতপক্ষে একই উৎস পোর্টে একাধিক ইউডিপি যোগাযোগ (প্রেত্যেকটি একটি স্বতন্ত্র শেষপ্রান্ত) হতে পারে এবং অ্যাপ্লিকেশনগুলি সাধারণত একই UDP সকেট পুনঃব্যবহার করে বিভিন্ন হোস্টে প্যাকেট পাঠাতে পারে।যেহেতু এখানে প্রতিটি প্যাকেটের জন্য একই উৎস পোর্ট তাই এটি পোর্ট ভবিষ্যদ্বাণীকে সহজবোধ্য করে তোলে।

এছাড়া টিসিপির জন্য ন্যাটে পোর্ট সংরক্ষণ করতে পিটুপি প্রটোকলকে কম জটিলতা এবং কম সময়ে প্রস্তাবনার অনুমতি দেয়। কারণ সেখানে পোর্ট চেনার জন্য তৃতীয় কোন পক্ষের (যেমনঃ STUN) প্রয়োজন নেই যেহেতু এপ্লিকেশনটি পূর্ব থেকেই ন্যাট পোর্টের অবস্থান সম্পর্কে জানে।.[২][৪]

যাইহোক, যদি দুটি অভ্যন্তরীণ হোস্ট একই পোর্ট নম্বর ব্যবহার করে একই বহিরাগত হোস্টের সাথে যোগাযোগ করার চেষ্টা করে তবে দ্বিতীয় হোস্ট দ্বারা ব্যবহৃত বহিরাগত পোর্ট নম্বরটি দৈবচয়ন পদ্ধতিতে নেয়া হয়। এই ধরনের ন্যাটকে মাঝেমধ্যে (এড্রেস)রেসট্রিকটেড কৌন নেট বা অন্য সময় সিমেট্রিক ন্যাট হিসেবে চিহ্নিত করা হয়।

২০০৬ এর একটি হিসাব-এর হিসাব অনুযায়ী, পিটুপি নেটওয়ার্কের প্রায় ৭০% গ্রাহক ন্যাটের কিছু গঠন বহাল রেখেছে।[৫]

বাস্তবায়ন সম্পাদনা

দ্বিমুখী যোগাযোগ প্রতিষ্ঠা সম্পাদনা

প্রতিটি টিসিপি এবং ইউডিপি প্যাকেটসমূহে একটি উৎস আইপি এড্রেস ও সোর্স পোর্ট নাম্বার এবং সেইসাথে গন্তব্য আইপি এড্রেস এবং গন্তব্য পোর্ট নাম্বার থাকে। আইপি এড্রেস এবং পোর্ট নাম্বার একত্রে মিলে একটি সকেট তৈরি করে। বিশেষ করে সোর্স আইপি অ্যাড্রেস এবং সোর্স পোর্ট নম্বর মিলে সোর্স সকেট গঠন করে।

জনসাধারণের যেসব সেবার প্রয়োজন যেমনঃ ওয়েব সার্ভার এবং মেইল সার্ভার, এগুলোর জন্য পোর্ট নাম্বার গুরুত্বপূর্ণ। যেমনঃ ৮০ নাম্বার পোর্ট টি ওয়েব সার্ভার সফটয়্যার এবং ২৫ নাম্বার পোর্ট টি মেইল সার্ভারের SMTP daemon সাথে যোগাযোগ তৈরি করে। পোস্টাল এড্রেস এবং টেলিফোন নাম্বারের যেমন সার্বজনীন ভাবে একক তেমনি পাবলিক সার্ভারের আইপি এড্রেসের এককতাও গুরুত্বপূর্ণ। কার্যকরী যোগাযোগের জন্য হোস্টকে আইপি এড্রেস এবং পোর্ট নাম্বার সঠিক ভাবে জানতে হবে।

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

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

টেলিফোন নাম্বার বৃদ্ধিকরন সামঞ্জস্যতা সম্পাদনা

একটি ন্যাট ডিভাইস যে কোন অফিসের ফোন সিস্টমের মতো যাদের একটা সার্বজনীন নাম্বারের সাথে বাড়তি নাম্বার যোগ করে নাম্বার বৃদ্ধিকরনের সুবিধা রয়েছে। অফিস থেকে বাইরে কল করার সময় তা সবার জন্য একই নাম্বার থেকে প্রদর্শিত হবে। আবার অফিসের ভেতরে কল করার জন্য মূল নাম্বারের সাথে সংযুক্ত নাম্বার যোগ না করলে তা নির্ধারিত গন্তব্যে পৌছাবে না। এই দৃশ্য বিবরনীতে অফিস হচ্ছে প্রাইভেট ল্যান, সার্বজনীন ফোন নাম্বার হচ্ছে পাবলিক আইপি এড্রেস এবং যে নাম্বার গুলো অতিরিক্ত যোগ করা হয় তা হলো একক পোর্ট নাম্বার।[৬]

শেষপ্রান্তের ট্রান্সলেশন সম্পাদনা

ন্যাটের মাধ্যমে বাইরের হোস্টের কাছে যোগাযোগের জন্য যে ন্যাট ডিভাইসের আভ্যন্তরীন হোস্ট আইপি এড্রেস বা পোর্ট নাম্বারের পরিবর্তে বাহ্যিক আইপি এড্রেস এবং পোর্ট নাম্বার বহন করে।

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

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

কাজের দৃশ্যতা সম্পাদনা

ন্যাট অপারেশন সাধারণত অভ্যন্তরীণ ও বাহ্যিক উভয় হোস্টের জন্য স্বচ্ছ হয়।

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

সমস্যা এবং সীমাবদ্ধতা সম্পাদনা

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

ইন্টারনেট সংযোগ মূলনীতির একটি হলো এন্ড-টু-এন্ড এবং এটি ইন্টারনেট স্থাপত্যবিদ্যা সমিতি দ্বারা স্বীকৃত। বর্তমান ইন্টারনেট স্থাপত্যবিদ্যার একটি গবেষণা ন্যাটকে এন্ড-টু-এন্ড মূলনীতির জন্য সমস্যা হিসেবে পর্যবেক্ষণ করেছে। কিন্তু সতর্কতার সাথে ন্যটকে তৈরি করলে তা কার্যকরী ভূমিকা পালন করতে পারে।[৭] আবার IPv6 ন্যাটের ব্যবহার আরও বেশি উদ্বেগজনক এবং অনেক IPv6 স্থাপত্যবিদ বিশ্বাস করেন IPv6 এর উদ্দেশ্য হচ্ছে রাউটার থেকে ন্যাটের ব্যবহার অপসারন করা।.[৮]

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

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

ন্যাট এবং টিসিপি/ইউডিপি সম্পাদনা

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

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

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

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

ডিন্যাট সম্পাদনা

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

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

এসন্যাট সম্পাদনা

এসন্যটের শব্দের অর্থ নেটওয়ার্কে ডিভাইস বিক্রেতা প্রতিষ্ঠান অনুযায়ী বিভিন্ন হয়। এসন্যটের জন্য এসব প্রতিষ্ঠানের নিজস্ব সংজ্ঞা আছে। যেমনঃ

  • গন্তব্য ন্যাটের (ডিন্যাট) পরিপূরক হিসেবে উৎস ন্যাটের সম্প্রসারণ একটা সাধারণ ব্যাপার।
  • সিসকো সিস্টেম ভারসাম্যপূর্ন ন্যাট ব্যবহার করে।[৯]
  • ওয়াচগার্ড স্থিতিশীল ন্যাট ব্যবহার করে।[১০]
  • ন্যাট এফ৫ নেটওয়ার্ক এবং মাইক্রোসফ্ট[তথ্যসূত্র প্রয়োজন] (আইএসএ সার্ভার বিবাচনায়) নিরাপদ ন্যাট ব্যবহার করে।

মাইক্রোসফটের নিরাপদ নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (এসন্যাট) হলো মাইক্রোসফটের ইন্টারনেট সিকিউরিটি এবং অ্যাক্সিলেশন সার্ভারের একটি অংশ এবং এটি মাইক্রোসফট উইন্ডোজ সার্ভারে তৈরি ন্যাট ড্রাইভারের একটি বর্ধিত অংশ। এফটিপি, আইসিএমপি, এইচ.৩২৩ এবং পিপিটিপি প্রোটোকলের পাশাপাশি একটি স্বচ্ছ এইচটিটিপি প্রক্সি সার্ভার কনফিগার করার জন্য প্রয়োজনীয় অতিরিক্ত নেটওয়ার্ক সংযোগের জন্য এটি সংযোগ ট্র্যাকিং এবং ফিল্টারিং প্রদান করে।

ডায়নামিক নেটওয়ার্ক এড্রেস ট্রান্সলেশন সম্পাদনা

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

ন্যাট লুপব্যাক সম্পাদনা

ন্যাট লুপব্যাক, যা ন্যাট হেয়ারপাইনিং বা ন্যাট রিফ্লেকশন হিসেবেও পরিচিত।[১১] is a feature in many consumer routers[১২] এটা অনেক গ্রাহক রাউটারের একটি বৈশিষ্ট্য যা লোকাল নেটওয়ার্কের ভিতর থেকে পাবলিক আইপি অ্যাড্রেস ব্যবহারের মাধ্যমে একটি সেবা গ্রহণের অনুমতি দেয়। এটা অভ্যন্তরীন নেটওয়ার্কের মধ্যে হোস্টের জন্য পৃথক ডোমেন নাম রেজোলিউশন করার প্রয়োজনকে বাদ দিয়েছে, যা পাবলিক নেটওয়ার্কের একটি ওয়েবসাইটের জন্য করতে হতো।

নিম্নে এটার একটা উদাহরণ দেয়া হলোঃ

  • পাবলিক এড্রেস ২০৩.০.১১৩.১। এটা রাউটারের ওয়্যান ইন্টারফেসের একটি এড্রেস।
  • রাউটারের অভ্যন্তরীণ এড্রেস: ১৯২.১৬৮.১.১
  • সার্ভারের এড্রেস: ১৯২.১৬৮.১.২
  • একটি লোকাল কম্পিউটারের এড্রেস: ১৯২.১৬৮.১.১০০

যদি ১৯২.১৬৮.১.১০০ এড্রেসের কম্পিউটার থেকে কোন প্যাকেট পাবলিক এড্রেসে পাঠানো হয় তাহলে সাধারণভাবে প্যাকেটটি রাউটারের ডিফল্ট গেটওয়ে দ্বরা রাউটেড হবে, যদি না কম্পিউটারের রাউটিং টেবিলে অন্য কোন রাউট দেয়া থাকে। রাউটারটি যদি ন্যাট লুপব্যাক বৈশিষ্ট্য সম্পন্ন হয় তাহলে এটা দেখবে যে ২০৩.০.১১৩.১ এড্রেস হচ্ছে তার ওয়্যান ইন্টারফেসের এড্রেস এবং প্যাকেটটি এই এড্রেস থেকে আসছে। তাই এটা ডিন্যাট (পোর্ট ফরওয়ার্ডিং) রুলের উপর এর ভিত্তি করে তার গন্তব্য নির্ধারন করবে। প্যাকেটটিকে যদি পোর্ট ৮০ তে পাঠাতে হয় এবং ডিন্যাটে যদি পোর্ট ৮০ এর সাথে ১৯২.১৬৮.১.২ এর জন্য রুল থাকে তাহলে এটা ঐ প্যাকেটটি গ্রহণ করবে।

যদি কোনও প্রযোজ্য ডিন্যাট রুল পাওয়া না যায় তাহলে রাউটারটি প্যাকেট ড্রপ করবে। গন্তব্যে ঠিকমত না পৌছার জন্য একটি আইসিএমপি ডেসটিনেশন আনরিচেবল প্রতিউত্তর পাঠানো হতে পারে। যদি কোন ডিন্যাট রুল রাউটারে উপস্থিত থাকে তাহলে এড্রেস ট্রান্সলেশন তখনো কার্যকর থাকে এবং রাউটারটি প্যাকেটের মধ্যে উৎস আইপি এড্রেস তখনো পুনরায় লিখতে থাকে। লোকাল কম্পিউটার (১৯২.১৬৮.১.১০০) প্যাকেটটি পাঠায় এবং রাউটারের কাছে তা ১৯২.১৬৮.১.১০০ থেকে আসে, কিন্তু সার্ভার (১৯২.১৬৮.১.২) মনে করে প্যাকেট ২০৩.০.১১৩.১ থেকে আসছে। তারপর সার্ভার যখন উত্তর পাঠায় তখন তা বাহ্যিক প্রেরকের কাছে পাঠানোর অনুরুপ হয়। এইভাবে, ল্যান নেটওয়ার্কের হোস্টগুলোর মধ্যে পাবলিক আইপি অ্যাড্রেসের মাধ্যমে দ্বি-মুখী যোগাযোগ সম্ভব।

আইপিভি৬ এ ন্যাট

নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন সাধারণত আইপিভি৬ এ ব্যবহৃত হয় না, কারণ আইপিভি ৬ এর গঠন কাঠামোর লক্ষ্যগুলির মধ্যে একটি হচ্ছে এন্ড-টু-এন্ড নেটওয়ার্ক সংযোগ পুনঃস্থাপন করা।.[১৩] ন্যাট লুপব্যাক ও সাধারণত প্রয়োজন হয় না। যদিও এটা সম্ভব তারপরও আইপিভি ৬ এর বিশাল সংখ্যাক এড্রেস এর লারণে এটা আইপি এড্রেস সংরক্ষণের প্রয়োজনীয়তাকে পরিহার করে এবং এটার মাধ্যমে প্রতিটা ডিভাইসকে একক ভাবে চিহ্নিত করার জন্য এড্রেস দেয়া যাবে। এটা বলা যায়, নেটওয়ার্ক প্রিফিক্স ট্রান্সলেশনের এর সাথে একক লোকাল এড্রেসের ব্যবহার অনুরূপ ফলাফল আনতে পারে।

ন্যাট দ্বারা প্রভাবিত এপ্লিকেশনসমূহ

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

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

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

অন্য সম্ভাব্য সমাধান হল ইউপিএনপি ইন্টারনেট গেটওয়ে ডিভাইস প্রোটোকল, ন্যাট-পিএমপি (ন্যাট পোর্ট ম্যাপিং প্রোটোকল), বা পোর্ট কন্ট্রোল প্রোটোকল (পিএসপি) এর ব্যবহার।[১৪] কিন্তু এসব প্রোটোকলগুলো প্রয়োগ করার জন্য ন্যাট ডিভাইসের প্রয়োজন হয়।

বেশিরভাগ পুরাতন ক্লায়েন্ট-সার্ভার প্রোটোকল (এরমধ্যে এফটিপি অন্যতম প্রধান ব্যতিক্রম) লেয়ার 3 যোগাযোগের তথ্য পাঠায় না এবং এজন্য ন্যাটসের এক্ষেত্রে বিশেষ কোন হস্তক্ষেপের প্রয়োজন হয় না। প্রকৃতপক্ষে, বর্তমানে নতুন উচ্চ-লেয়ার প্রোটোকল ডিজাইন করার সময় (যেমনঃ এফটিপি এর পরিবর্তে এসএফটিপি ব্যবহার) ন্যাটের জটিলতাগুলি এড়ানো প্রয়োজন।

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

ইন্টারেক্টিভ কানেকটিভিটি প্রতিষ্ঠা একটি এনএটি ট্র্যাভার্সাল টেকনিক যা এএলজি সমর্থন করে না।

8 জুলাই, ২008 তারিখে ড্যান কামিনস্কির দ্বারা ঘোষিত দি ডিএনএস প্রোটোকল ভোলনারেবিলিটি পরোক্ষভাবে NAT পোর্ট ম্যাপিং দ্বারা প্রভাবিত হয়। ডিএনএস সার্ভার ক্যাশ পয়জনিং এড়াতে ডিএনএস সার্ভার থেকে বাইরে যাওয়া ডিএনএস আবেদনের ইউডিপি উৎস পোর্ট নাম্বারকে ট্রান্সলেট না করাটা বাঞ্ছনীয়। এই ডিএনএস সার্ভারটি ফায়াওয়ালের পিছনে থেকে ন্যাট বাস্তবায়ন করে। সকল ক্যাশিং ডিএনএস সার্ভারে ঐচ্ছিক ইউডিপি উৎস পোর্ট ব্যবহার করা হচ্ছে ডিএনএস ভোলনারেবিলিটির জন্য সুপারিশকৃত কাজ। যদি ন্যাট ফাংশন ইউডিপি উৎস পোর্টগুলিকে পুনয়ায় ঐচ্ছিক বানিয়ে দেয় তাহলে ডিএনএস সার্ভার ভোলনারেবল হয়ে যায়।

ন্যাট সফটওয়্যার এর উদাহারন সম্পাদনা

আরও দেখুন সম্পাদনা

টীকা সম্পাদনা

  1. Most NAT devices today allow the network administrator to configure static translation table entries for connections from the external network to the internal masqueraded network. This feature is often referred to as static NAT. It may be implemented in two types: port forwarding which forwards traffic from a specific external port to an internal host on a specified port, and designation of a DMZ host which passes all traffic received on the external interface (on any port number) to an internal IP address while preserving the destination port. Both types may be available in the same NAT device.
  2. The more common arrangement is having computers that require end-to-end connectivity supplied with a routable IP address, while having others that do not provide services to outside users behind NAT with only a few IP addresses used to enable Internet access.

তথ্যসূত্র সম্পাদনা

  1. Network Protocols Handbook (2 সংস্করণ)। Javvin Technologies Inc.। ২০০৫। পৃষ্ঠা য়। আইএসবিএন 9780974094526। সংগ্রহের তারিখ ২০১৪-০৯-১৬ 
  2. François Audet; Cullen Jennings (January 2007). Network Address Translation (NAT) Behavioral Requirements for Unicast UDP. IETF. RFC 4787. http://tools.ietf.org/html/rfc4787.
  3. "IEEE Xplore - Sign In" (পিডিএফ) 
  4. "Characterization and Measurement of TCP Traversal through NATs and Firewalls"। ডিসেম্বর ২০০৬। 
  5. "Illuminating the shadows: Opportunistic network and web measurement"। ডিসেম্বর ২০০৬। ২০১০-০৭-২৪ তারিখে মূল থেকে আর্কাইভ করা। 
  6. "The Audio over IP Instant Expert Guide" (পিডিএফ)। Tieline। জানুয়ারি ২০১০। ২০১১-১০-০৮ তারিখে মূল (পিডিএফ) থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১১-০৮-১৯ 
  7. R. Bush; and D. Meyer; RFC 3439, Some Internet Architectural Guidelines and Philosophy ওয়েব্যাক মেশিনে আর্কাইভকৃত ১১ মার্চ ২০১৮ তারিখে, December 2002
  8. G. Van de Velde et al.; RFC 4864, Local Network Protection for IPv6, May 2007
  9. "Enhanced IP Resiliency Using Cisco Stateful NAT"Cisco 
  10. https://www.watchguard.com/help/configuration-examples/nat_to_email_servers_configuration_example%20(en-US).pdf
  11. "What is NAT Reflection/NAT Loopback/NAT Hairpinning?"। NYC Networkers। ২০১৪-১১-০৯। ২০১৭-০৪-২৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৭-০৪-২৭ 
  12. "NAT Loopback Routers - OpenSim" (MediaWiki)OpenSimulator। ২০১৩-১০-২১। সংগ্রহের তারিখ ২০১৪-০২-২১ 
  13. Iljitsch van Beijnum (২০০৮-০৭-২৩)। "After staunch resistance, NAT may come to IPv6 after all"। Ars Technica। সংগ্রহের তারিখ ২০১৪-০৪-২৪ 
  14. RFC 6887, Port Control Protocol (PCP), Wing, Cheshire, Boucadair, Penno & Selkirk (April 2013)

বহিঃসংযোগ সম্পাদনা