অ্যাপ্লিকেশন লেয়ার কি? ক্লায়েন্ট সার্ভার, পিয়ার-টু-পিয়ার এবং হাইব্রিড আর্কিটেকচার কি?

অ্যাপ্লিকেশন লেয়ার কি? ক্লায়েন্ট সার্ভার, পিয়ার-টু-পিয়ার এবং হাইব্রিড আর্কিটেকচার কি?
আমরা সবাই জানি, নেটওয়ার্ক ইন্টারনেট মডেলের পাঁচটি লেয়ার আছে: ফিজিক্যাল লেয়ার, ডাটা লিঙ্ক লেয়ার, নেটওয়ার্ক লেয়ার ট্রান্সপাের্ট দেয়ার ও অ্যাপ্লিকেশন লেয়ার। ওএসআই মডেলের সাতটি লেয়ার আছে এবং আমরা সেদিকে যাচ্ছি না। এই টিটোরিয়ালে আজকে অ্যাপ্লিকেশন লেয়ারের কিছু বেসিক জিনিস নিয়ে আলােচনা করা হবে। নেটওয়ার্ক অ্যাপ্লিকেশন ডেভেলপমেন্ট বলতে বুঝায় এমন কিছু প্রোগ্রাম ডেভেলপ করা যেগুলাে অ্যাপ্লিকেশন লেয়ারে কাজ করবে এবং যা বিভিন্ন এন্ড সিস্টেম (end system- নেটওয়ার্কের প্রান্তিক সিস্টেম বা প্রান্তিক ইউজারের সিস্টেম)-এ রান করবে এবং নিজেদের বা অন্যান্য সিস্টেমের সাথে কমিউনিকেট করতে পারবে। এর একটি উদাহরণ হলাে সাধারণ ওয়েব অ্যাপ্লিকেশন যেখানে দুটি ভিন্ন প্রােগ্রাম একে অপরের সাথে কমিউনিকেট করে। প্রথমটি হলাে ব্রাউজার প্রােগ্রাম, যা ইউজার হোস্ট (ডেস্কটপ, ল্যাপটপ, পিডিএ, মােবাইল ইত্যাদি)-এ রান করে এবং দ্বিতীয়টি হলে ওয়েব সার্ভার প্রােগ্রাম যা সার্ভার কম্পিউটারে রান করে। নেটওয়ার্ক অ্যাপ্লিকেশন ডেভেলপমেন্টের আরেকটি উদাহরণ হলাে P2P ফাইল শেয়ারিং বা পিয়ার-টু-পিয়ার ফাইল শেয়ারিং। এখানে প্রত্যেক হোস্টে একটি প্রােগ্রাম রান করে, যার মাধ্যমে বহু পিসির মধ্যে ফাইল শেয়ারিং হয় যেমন- কাজা, আইমেশ ইত্যাদি। বিভিন্ন হােস্টে রান করা এই প্রোগ্রামগুলাে একই রকম বা ভিন্ন রকম হতে পারে। জেনে রাখ ভালাে, নেটওয়ার্ক অ্যাপ্লিকেশন ডেভেলপমেন্টে এমন কোনাে সফটওয়্যার তৈরি করতে হয় না, যা কিনা নেটওয়ার্কের কোর ডিভাইস অর্থাৎ রাউটার বা ইথারনেট সুইচ ইত্যাদিতে রান করবে। কারণ এই ডিভাইসগুলাে অ্যাপ্লিকেশন লেয়ারে রান করে না, নেটওয়ার্ক বা তার নিচের লেয়ারগুলাে তা রান করে।
অ্যাপ্লিকেশন আর্কিটেকচার মূলত তিন ধরনের হয়ে থাকে। যথা—
১. ক্লায়েন্ট সার্ভার আর্কিটেকচার,
২. পিয়ার-টু-পিয়ার (P2P) আর্কিটেকচার এবং
৩. হাইব্রিড আর্কিটেকচার (আগের দুটির সমন্বয়ে তৈরি)
নিচে এগুলাের সংক্ষিপ্ত বর্ণনা দেয়া হলো
১. ক্লায়েন্ট সার্ভার আর্কিটেকচার
এখানে একটি হােস্ট সবসময় অন থাকে যাকে বলা হয় সার্ভার। এই সার্ভার অন্যান্য অনেক হোস্টকে সার্ভিস দিয়ে থাকে, যাদের বলা হয় ক্লায়েন্ট। ক্লায়েন্ট হোস্ট সব সময় অন থাকার দরকার নেই। ক্লায়েন্ট সার্ভার আর্কিটেকচারের একটি উল্লেখযােগ্য বৈশিষ্ট্য হলো ক্লায়েন্ট কখনােই নিজেদের মধ্যে সরাসরি যােগাযােগ করে না। যেমন দুটি ব্রাউজার প্রােগ্রাম সরাসরি নিজেদের সাথে যোগাযােগ করে না। ক্লায়েন্ট সার্ভার আর্কিটেকচারের আরেকটি বৈশিষ্ট্য হলো সার্ভারের একটি নির্দিষ্ট এবং সুপরিচিত আইপি (IP) আড্রেস থাকে। সার্ভার সবসময় অন থাকায় এবং এর আইপি অ্যাড্রেস নির্দিষ্ট থাকার কারণে একটি ক্লায়েন্ট সার্ভারের সাথে যেকোনাে সময় যােগাযােগ করতে পারে। ক্লায়েন্ট সার্ভার আর্কিটেকচারের উল্লেখযােগ্য উদাহরণ হলাে ওয়েব, ই-মেইল রিমােট লগইন ইত্যাদি। চিত্র-১-এ ক্লায়েন্ট সার্ভার আর্কিটেকচার দেখানাে হলাে।

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

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

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

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

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

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

MR Laboratory Public blog

আমাদের এই ব্লগে আপনি ও  লিখতে পারবেন । এর জন্য আপনি আপনার লিখা আমাদেরকে ইমেইল করতে পারেন । অথবা আমাদের একজন সদস্য হয়ে ও পোস্ট করতে পারবেন । আমাদের ওয়েবসাইট এর সদস্য হতে চাইলে ভিসিট করুন । আপ্বনার লিখা অবস্যয় শিক্ষনীয় হতে হবে । আমাদের ইমেইল ঠিকানা support@mrlaboratory.com


Next Post Previous Post
1 Comments
  • Unknown
    Unknown October 13, 2021 at 1:54 AM

    If you wish to pass a urine drug test and do not have time to go through a full-fledged THC detox kit, detox drinks are the best THC detox option for you. These detox programs target your body fat, where THC is stored and metabolizes along with the cannabinoids. To get the best results from detox drinks, you must discontinue THC use at least 48 hours before the test. So their team has all communication lines open like email, live chat, and call. => Visit the Official Website of Urinator for the Best Discount Brand Overview: This kit by Clear Choice is specifically designed to wrap the synthetic urine bag around you discreetly. It is one of the more lightweight options among other synthetic urine belt products.

Add Comment
comment url