এটি একটি ধারাবাহিক প্রবন্ধের ধারাবাহিকতা যেখানে আমি সংক্ষেপে সিস্টেম আর্কিটেকচার ডিজাইনের একটি নির্দিষ্ট বিষয়ের মূল বিষয়গুলি কভার করি৷ প্রথম নিবন্ধ এখানে পড়া যাবে.
যেকোন জটিল সিস্টেম হল অসংখ্য উপাদানের একটি মোজাইক, যার প্রত্যেকটির নির্দিষ্ট ফাংশন রয়েছে। এই উপাদানগুলি বিচ্ছিন্নভাবে কাজ করে না; তারা ক্রমাগত একটি নেটওয়ার্কে যোগাযোগ করে, ডেটা এবং কমান্ড আদান প্রদান করে। এই মিথস্ক্রিয়াগুলির মূল বিষয়গুলি বোঝা অত্যন্ত গুরুত্বপূর্ণ।
সিস্টেমের সামগ্রিক কর্মক্ষমতা এবং স্থিতিস্থাপকতা বোঝার জন্য উপাদানগুলি কীভাবে নেটওয়ার্কের মাধ্যমে যোগাযোগ করে তা অবশ্যই বুঝতে হবে।
আকার, স্থাপত্য, পরিসর এবং ফাংশনের উপর ভিত্তি করে নেটওয়ার্কগুলিকে চার প্রকারে ভাগ করা যায়:
বিশেষ হার্ডওয়্যার ডিভাইস ছাড়া নেটওয়ার্ক নির্মাণ এবং রক্ষণাবেক্ষণ অসম্ভব হবে:
নেটওয়ার্ক টপোলজি হল একটি স্ট্রাকচারাল লেআউট যা নির্দেশ করে যে কীভাবে বিভিন্ন নেটওয়ার্ক ডিভাইস এবং উপাদান সংযুক্ত করা হয় এবং কীভাবে ডেটা প্রেরণ করা হয়। টপোলজির পছন্দ নেটওয়ার্কের কর্মক্ষমতা, মাপযোগ্যতা এবং ত্রুটি সহনশীলতাকে উল্লেখযোগ্যভাবে প্রভাবিত করে। এটি দুটি প্রধান ধরনের মধ্যে শ্রেণীবদ্ধ করা হয়:
নিম্নলিখিত ধরণের টপোলজিগুলি আলাদা করা হয়েছে:
দুটি নোড বা শেষ পয়েন্টের মধ্যে একটি সরাসরি সংযোগ। এটি নেটওয়ার্ক টপোলজির সহজতম রূপ।
সুবিধা :
সরাসরি এবং ডেডিকেটেড লিঙ্ক উচ্চ গতির ডেটা স্থানান্তর নিশ্চিত করে।
সহজ কনফিগারেশন এবং সেটআপ।
নির্ভরযোগ্য যোগাযোগ যেহেতু শুধুমাত্র দুটি নোড জড়িত।
অসুবিধা :
সমস্ত ডিভাইস একটি একক যোগাযোগ লাইন ভাগ করে। একটি ডিভাইস দ্বারা প্রেরিত ডেটা অন্যান্য সমস্ত ডিভাইসে উপলব্ধ, কিন্তু শুধুমাত্র উদ্দেশ্য প্রাপক সেই ডেটা গ্রহণ করে এবং প্রক্রিয়া করে৷
সুবিধা :
ছোট নেটওয়ার্কের জন্য বাস্তবায়ন করা সহজ।
ন্যূনতম তারের কারণে সাশ্রয়ী।
অসুবিধা :
প্রতিটি ডিভাইস দুটি অন্য ডিভাইসের সাথে সংযুক্ত, একটি রিং গঠন করে। ডেটা এক বা কখনও কখনও দুটি দিকে ভ্রমণ করে।
সুবিধা :
এটি বাস টপোলজির চেয়ে বড় ডেটা লোড পরিচালনা করতে পারে।
অসুবিধা :
সমস্ত ডিভাইস একটি কেন্দ্রীয় ডিভাইসের সাথে সংযুক্ত থাকে (যেমন, একটি সুইচ বা হাব)।
সুবিধা :
অসুবিধা :
হাইব্রিড টপোলজি যা তারকা এবং বাস টপোলজির বৈশিষ্ট্যগুলিকে একত্রিত করে। তারকা-কনফিগার করা নেটওয়ার্কগুলির গ্রুপগুলি একটি রৈখিক বাস ব্যাকবোনের সাথে সংযুক্ত থাকে।
সুবিধা :
অনুক্রমিক এবং মাপযোগ্য।
ডিভাইসগুলির গ্রুপিং এটি পরিচালনা করা সহজ করে তোলে।
অসুবিধা :
ডিভাইসগুলি আন্তঃসংযুক্ত। প্রতিটি ডিভাইস অন্য প্রতিটি ডিভাইসের সাথে সংযুক্ত।
সুবিধা :
উচ্চ অপ্রয়োজনীয়তা এবং নির্ভরযোগ্যতা প্রদান করে।
একই সাথে একাধিক ডিভাইস থেকে ডেটা প্রেরণ করা যায়।
অসুবিধা :
দুই বা ততোধিক টপোলজির সমন্বয়।
সুবিধা :
নমনীয় এবং নির্ভরযোগ্য কারণ এটি এর উপাদান টপোলজির সুবিধাগুলি উত্তরাধিকার সূত্রে প্রাপ্ত।
পরিমাপযোগ্য।
অসুবিধা :
নেটওয়ার্ক প্রোটোকল হল নিয়ম বা মান যা সংজ্ঞায়িত করে কিভাবে একটি নেটওয়ার্কের মাধ্যমে ডেটা প্রেরণ এবং গ্রহণ করা হয়। এই প্রোটোকলগুলি নিশ্চিত করে যে একটি নেটওয়ার্কে (বা একাধিক নেটওয়ার্ক জুড়ে) ডিভাইসগুলি একে অপরের সাথে একটি প্রমিত উপায়ে যোগাযোগ করতে পারে।
OSI এবং TCP/IP হল দুটি প্রাথমিক মডেল যা গাইডিং ফ্রেমওয়ার্ক হিসেবে কাজ করে যা একটি নেটওয়ার্কের মাধ্যমে ডেটা কমিউনিকেশনের সাথে জড়িত প্রক্রিয়াগুলিকে বর্ণনা করে।
| ওএসআই মডেল | প্রোটোকল | উপাত্ত বিন্যাস | TCP/IP মডেল |
---|---|---|---|---|
7 | আবেদন | HTTP, DNS, SMTP, FTP | ডেটা | আবেদন |
6 | উপস্থাপনা | TLS, SSL | ডেটা | আবেদন |
5 | সেশন | সকেট | ডেটা | আবেদন |
4 | পরিবহন | টিসিপি, ইউডিপি | সেগমেন্ট, প্যাকেট | পরিবহন |
3 | অন্তর্জাল | আইপি, আইসিএমপি, আইপিসেক | আইপি ডেটাগ্রাম | ইন্টারনেট |
2 | ডাটা লিংক | পিপিপি, ইথারনেট | ফ্রেম | নেটওয়ার্ক ইন্টারফেস |
1 | শারীরিক | ফাইবার, ওয়্যারলেস | বিট | নেটওয়ার্ক ইন্টারফেস |
OSI (ওপেন সিস্টেম ইন্টারকানেকশন) মডেল হল সাতটি স্তরে নেটওয়ার্ক মিথস্ক্রিয়া বোঝার জন্য একটি ধারণাগত কাঠামো। প্রতিটি স্তর একটি নির্দিষ্ট ফাংশন পরিবেশন করে:
ভৌত : ডিভাইসগুলির মধ্যে শারীরিক সংযোগ নিয়ে কাজ করে। এটি হার্ডওয়্যার উপাদানগুলিকে সংজ্ঞায়িত করে, যেমন কেবল, সুইচ এবং NICs।
ডেটা লিঙ্ক : দুটি সরাসরি সংযুক্ত নোডের মধ্যে একটি নির্ভরযোগ্য লিঙ্ক তৈরি করা, ত্রুটিগুলি পরিচালনা করা এবং ডেটা প্রবাহ নিয়ন্ত্রণ করার জন্য দায়ী৷
নেটওয়ার্ক : নেটওয়ার্ক জুড়ে উৎস থেকে গন্তব্যে ডেটা স্থানান্তর করার সর্বোত্তম পথ নির্ধারণ করে।
পরিবহন : এন্ড-টু-এন্ড যোগাযোগ, ডেটা প্রবাহ নিয়ন্ত্রণ এবং ত্রুটি সংশোধন নিশ্চিত করে।
সেশন : উভয় প্রান্তে অ্যাপ্লিকেশন সংযোগ স্থাপন, রক্ষণাবেক্ষণ এবং সমাপ্ত করে।
উপস্থাপনা : অ্যাপ্লিকেশন এবং পরিবহন স্তরগুলির মধ্যে ডেটা অনুবাদ করে, ডেটা পাঠযোগ্য তা নিশ্চিত করে৷
অ্যাপ্লিকেশন : সফ্টওয়্যার এবং OSI মডেলের নিম্ন স্তরের মধ্যে কার্যকর যোগাযোগ নিশ্চিত করে, শেষ-ব্যবহারকারী অ্যাপ্লিকেশনগুলির সাথে সরাসরি যোগাযোগ করে।
TCP/IP হল একটি আরও সংক্ষিপ্ত মডেল যা প্রধানত আধুনিক ইন্টারনেটে ব্যবহৃত হয়, যা OSI স্তরগুলিকে চারটি বিভাগে বিভক্ত করে:
নেটওয়ার্ক ইন্টারফেস : OSI এর ফিজিক্যাল এবং ডেটা লিংক লেয়ারের ফাংশনগুলিকে একত্রিত করে, কীভাবে একটি নেটওয়ার্ক মাধ্যমে ডেটা পাঠানো/গ্রহণ করা হয় তার উপর ফোকাস করে।
ইন্টারনেট : OSI-তে নেটওয়ার্ক লেয়ারের সাথে মিলে যায়, ডাটা রাউটিং, আইপি অ্যাড্রেসিং এবং প্যাকেট ফরওয়ার্ডিং পরিচালনা করে।
ট্রান্সপোর্ট : OSI এর ট্রান্সপোর্ট লেয়ারের মতো, সঠিক অ্যাপ্লিকেশনে ডেটা পৌঁছানো নিশ্চিত করে এবং নির্ভরযোগ্যভাবে (TCP) বা দ্রুত (UDP) প্রেরণ করা হয়।
অ্যাপ্লিকেশন : OSI এর সেশন, উপস্থাপনা, এবং অ্যাপ্লিকেশন স্তরগুলির ফাংশনগুলিকে একত্রিত করে, শেষ-ব্যবহারকারীর অ্যাপ্লিকেশন প্রক্রিয়াগুলির সাথে কাজ করে।
সিস্টেম ডিজাইনে, সংবেদনশীল ডেটা রক্ষা করতে এবং ব্যবহারকারী এবং স্টেকহোল্ডারদের আস্থা বজায় রাখতে, ব্যবসার ধারাবাহিকতা নিশ্চিত করতে এবং নিয়ন্ত্রক প্রয়োজনীয়তাগুলি পূরণ করতে শক্তিশালী নেটওয়ার্ক নিরাপত্তা নিশ্চিত করা সর্বোত্তম।
DDoS আক্রমণ : ইন্টারনেট ট্র্যাফিকের বন্যায় অভিভূত করে একটি লক্ষ্যযুক্ত সার্ভার, পরিষেবা বা নেটওয়ার্কের স্বাভাবিক ট্র্যাফিক ব্যাহত করার ক্ষতিকারক প্রচেষ্টা।
ম্যালওয়্যার : কম্পিউটার সিস্টেমে ব্যাঘাত, ক্ষতি বা অননুমোদিত অ্যাক্সেস লাভ করার জন্য ডিজাইন করা সফ্টওয়্যার। এর মধ্যে রয়েছে ভাইরাস, ওয়ার্ম, স্পাইওয়্যার এবং র্যানসমওয়্যার।
ম্যান-ইন-দ্য-মিডল অ্যাটাকস : আক্রমণকারীরা গোপনে দুই পক্ষের মধ্যে যোগাযোগ বন্ধ করে এবং রিলে করে। তারা একটি পক্ষের ছদ্মবেশ ধারণ করতে পারে বা অন্যকে প্রতারিত করতে পারে।
অভ্যন্তরীণ হুমকি : সংস্থার মধ্যে থেকে উদ্ভূত হুমকি, যেমন কর্মচারী, প্রাক্তন কর্মচারী, বা নিরাপত্তা অনুশীলন সংক্রান্ত অভ্যন্তরীণ তথ্য সহ অংশীদার।
সফ্টওয়্যার ত্রুটি : অননুমোদিত অ্যাক্সেস পেতে বা পরিষেবাগুলি ব্যাহত করতে সফ্টওয়্যারের ত্রুটি বা দুর্বলতাগুলিকে কাজে লাগানো যেতে পারে। উদাহরণগুলির মধ্যে রয়েছে বাফার ওভারফ্লো এবং আন-হ্যান্ডেল করা ব্যতিক্রম।
হার্ডওয়্যার দুর্বলতা : শারীরিক উপাদানগুলির দুর্বলতা থাকতে পারে, যেমন ফার্মওয়্যার যা প্রস্তুতকারকদের দ্বারা ইনস্টল করা বা পিছনের দরজাগুলির সাথে টেম্পার করা যেতে পারে।
ভুল কনফিগার করা নেটওয়ার্ক ডিভাইস : রাউটার, সুইচ বা ফায়ারওয়ালের মতো ডিভাইস যা সঠিকভাবে কনফিগার করা হয়নি সেগুলি নেটওয়ার্ককে বিভিন্ন হুমকির সম্মুখীন করতে পারে।
দুর্বল প্রমাণীকরণ এবং অনুমোদন : অপর্যাপ্ত পাসওয়ার্ড নীতি, মাল্টি-ফ্যাক্টর প্রমাণীকরণের অভাব, বা শিথিল অ্যাক্সেস নিয়ন্ত্রণ অননুমোদিত অ্যাক্সেসের অনুমতি দিতে পারে।
আনএনক্রিপ্ট করা ডেটা : যে ডেটা এনক্রিপ্ট করা হয়নি তা সহজেই আটকানো যায় এবং এটি একটি নেটওয়ার্ক জুড়ে ভ্রমণ করার সময় পড়া যায়।
পুরানো সিস্টেম : যে সিস্টেমগুলি আর সমর্থিত নয় বা আপডেট করা হয়নি সেগুলির পরিচিত দুর্বলতা থাকতে পারে যা শোষণ করা সহজ।
শারীরিক দুর্বলতা : এটি শারীরিক অ্যাক্সেস পয়েন্টগুলিকে বোঝায় যেখানে আক্রমণকারী নেটওয়ার্কে প্লাগ করতে পারে বা সরাসরি সার্ভারগুলি অ্যাক্সেস করতে পারে।
ফায়ারওয়াল : নিরাপত্তা নীতির উপর ভিত্তি করে ইনকামিং এবং আউটগোয়িং নেটওয়ার্ক ট্র্যাফিক নিরীক্ষণ এবং নিয়ন্ত্রণ করতে হার্ডওয়্যার এবং সফ্টওয়্যার ফায়ারওয়াল স্থাপন করুন।
এনক্রিপশন : এনক্রিপশন প্রোটোকল ব্যবহার করুন, বিশেষ করে সংবেদনশীল ডেটার জন্য, উভয় ট্রানজিটে (যেমন ওয়েব ট্রাফিকের জন্য SSL/TLS) এবং বিশ্রামে (যেমন ডাটাবেস এনক্রিপশন)।
নিয়মিত আপডেট : প্যাচ দুর্বলতাগুলির জন্য সমস্ত সিস্টেম, সফ্টওয়্যার এবং অ্যাপ্লিকেশন আপডেট রাখুন।
মাল্টি-ফ্যাক্টর অথেন্টিকেশন (MFA) : নিরাপত্তার একটি স্তর যোগ করতে MFA প্রয়োগ করুন, নিশ্চিত করুন যে ব্যবহারকারীরা অ্যাক্সেস পেতে দুই বা তার বেশি যাচাইকরণ ফ্যাক্টর প্রদান করে।
নেটওয়ার্ক মনিটরিং : অস্বাভাবিক কার্যকলাপ বা অননুমোদিত অ্যাক্সেস ক্রমাগত জন্য নেটওয়ার্ক নিরীক্ষণ করতে নেটওয়ার্ক মনিটরিং সরঞ্জাম ব্যবহার করুন।
নিরাপত্তা সচেতনতা প্রশিক্ষণ : নিরাপত্তার গুরুত্ব এবং সম্ভাব্য হুমকিগুলি কীভাবে চিনতে হয় সে সম্পর্কে কর্মচারী এবং ব্যবহারকারীদের শিক্ষিত করুন।
নেটওয়ার্ক বিভাজন : নেটওয়ার্কের মধ্যে হুমকির বিস্তার সীমিত করে এবং ডেটা অ্যাক্সেসের উপর আরও ভাল নিয়ন্ত্রণ প্রদান করে।
ব্যাকআপ এবং দুর্যোগ পুনরুদ্ধার : লঙ্ঘন বা ব্যর্থতার ক্ষেত্রে ডেটা প্রাপ্যতা এবং ব্যবসার ধারাবাহিকতা নিশ্চিত করে।
শারীরিক নিরাপত্তা : নেটওয়ার্ক ডিভাইসে শারীরিক অ্যাক্সেস লঙ্ঘনের দিকে নিয়ে যেতে পারে।
টপোলজির জটিলতা থেকে শুরু করে মৌলিক প্রোটোকলের সূক্ষ্মতা পর্যন্ত নেটওয়ার্কিংয়ের মৌলিক বিষয়গুলিকে উপলব্ধি করা নিছক একটি একাডেমিক অনুশীলন নয় - এটি শক্তিশালী এবং দক্ষ সিস্টেম তৈরির জন্য অত্যন্ত গুরুত্বপূর্ণ।
নেটওয়ার্ক নীতিগুলির একটি শক্ত ভিত্তি নিশ্চিত করে যে সিস্টেমগুলি নির্বিঘ্নে যোগাযোগ করে, স্থিতিস্থাপকভাবে মানিয়ে নেয় এবং দক্ষতার সাথে স্কেল করে।