ইউনিট ৯: নেটওয়ার্কিং অধ্যায়ের ক্রিপ্টোগ্রাফি সংক্রান্ত আজকের পর্বে আপনাদের সকলকে স্বাগতম। এটি বেসরকারি শিক্ষক নিবন্ধন এর কম্পিউটার সাইন্স বিষয়ের লিখিত ৯ম অধ্যায়ের ৩য় অংশ। এক নজরে এই অংশের সিলেবাসটা দেখে নেয়া যাক।

ক্রিপ্টোগ্রাফি (Cryptography) কী?
ক্রিপ্টোগ্রাফি (Cryptography) হলো এমন একটি প্রক্রিয়া যার সাহায্যে নিরাপদ যোগাযোগ (secure communication) নিশ্চিত করা যায়। Cryptography এর মাধ্যমে connection ও data এমনভাবে বিশ্লেষণ ও develop করা হয় যেন প্রেরক ও প্রাপক ব্যতিত অন্য কোন ৩য় পক্ষ data access করে তবে সে ভুল তথ্য পাবে। ক্রিপ্টোগ্রাফি এর বৈশিষ্ট্যসমূহ:
- Confidentiality
- Data integrity
- Authentication
- Non repudiation
বিভিন্ন প্রকার এনক্রিপশন এলগোরিদম
- সিমেট্রিক কি এলগোরিদম (Symmetric Key)
- এসিমেট্রিক কি এলগোরিদম (Asymmetric Key)
- হ্যাশ
- ডিজিটাল সিগনেচার
- কি এক্সচেঞ্জ

ক্রিপ্টোগ্রাফি প্রটোকল
দুই বা ততোধিক ডিভাইসে সংযোগ করার ক্ষেত্রে তা সুরক্ষিত ভাবে করাকে বলা হয় সিকিউরড কানেকশন (Secured Connection). কানেকশন সিকিউরড বা সুরক্ষিত করার যে সমস্ত নিয়ম রয়েছে সেগুলোকে বলা হয় ক্রিপ্টোগ্রাফিক প্রটোকল।
বিভিন্ন ধরণের Cryptographic প্রটোকল:
- SSL (Secure Sockets Layer) : ক্রিপ্টোগ্রাফিক প্রটোকলসমূহের মধ্যে অনেক পুরাতন একটি প্রটোকল হলো SSL. এটি ইন্টারনেটে ব্যাপকভাবে ব্যবহৃত হতো একটি সময়ে।
- PGP (Pretty Good Privacy): ইমেইলে যোগাযোগ করার ক্ষেত্রে সিকিউরড কানেকশন প্রদানের জন্য পরিচিত। এতে মূলত পাবলিক কি (Public Key) এর মাধ্যমে এনক্রিপশন টেকনিক ব্যবহার করা হয়।
- TLS – Transpost Layer Security : ইন্টারনেটে সিকিউরিটি প্রদানের ক্ষেত্রে অন্যতম জনপ্রিয় মাধ্যম। ওয়েব সার্ভার এবং ওয়েব ব্রাউজারে তথ্য আদান প্রদানের সময় এনক্রিপশন ও ডিক্রিপশনের মাধ্যমে সিকিউরিটি প্রদান করা হয়। SSL এর একটি বড় অংশ TLS দ্বারা প্রতিস্থাপিত বা বদল হয়েছে।
- SSH (Secure Shell): সার্ভারের সাথে যোগাযোগ করার প্রটোকল হিসাবে পরিচিত। এতে এনক্রিপশন ও অথরাইজেশন এর মাধ্যমে অনাকাঙ্খিত সংযোগ বাতিল করা হয়
- IPSec (Internet Protocol Security): নেটওয়ার্কিং ডিভাইসসমূহের মধ্যে VPN এর মাধ্যমে সিকিউরড কমিউনিকেশন স্থাপন করার প্রক্রিয়া।
Policy and Mechanism
Policy (what) and Mechanism (how)
পলিসি এবং মেকানিজম নেটওয়ার্কিংয়ে কোন একটি সিস্টেমের সার্ভিস এবং রিসোর্স ম্যানেজমেন্টের জন্য খুবই গুরুত্বপূর্ণ। পলিসি হলো Set of Rules অথবা নিয়ম যার মাধ্যমে নির্ধারণ করা হয় একটি নেটওয়ার্কের রিসোর্স এবং সার্ভিস কিভাবে এক্সেস করা হবে। এটি সাধারণত নেটওয়ার্ক এডমিনরা তৈরি করে থাকেন যেহেতু তারাই নেটওয়ার্ক তৈরি করেন।
মেকানিজম হলো টেকনিকাল টুলস যার মাধ্যমে নেটওয়ার্ক পলিসি বাস্তবায়ন করা হয়। যেমন: এক্সেস কন্ট্রোল, এনক্রিপশন, ফায়ারওয়াল ইত্যাদি। পলিসি এবং ম্যাকানিজম একটি নেটওয়ার্কের সিকিউরিটি নিশ্চিত করে।
Design Issues
নেটওয়ার্কিংয়ে ডিজাইন ইস্যু বলতে বোঝায় নেটওয়ার্ক ডিজাইন এবং বাস্তবায়নের প্রতিবন্ধকতাসমুহ। নেটওয়ার্কের কার্যপরিধি এবং আকারের উপর এর বাস্তবায়ন নির্ভর করে। নেটওয়ার্ক ডিজাইনিং এর বিভিন্ন ইস্যু:
- Security
- Feasibility
- Reliability
- Performance
- Management
Key Distribution
দুই বা ততোধিক মাধ্যমে Cryptographic Key সুরক্ষিতভাবে প্রেরণ করার প্রক্রিয়াকে বলা হয় Key Distribution. তথ্যের গোপনীয়তা রক্ষার্থে Key Distribution করা হয়। মূলত Key সমূহ এনক্রিপশন ও ডিক্রিপশনের কাজে ব্যবহৃত হয়।
বিভিন্ন প্রকার Key Distribution:
- Symmetric Key Distribution
- Public Key Distribution
- Diffie-Hellman Key Exchange
- Kerberos Key Distribution
নেমিং সার্ভিসেস (Naming Services)
Naming Service বলতে বোঝায় নেটওয়ার্কিং এর ডিভাইস, সার্ভার, এপ্লিকেশন বা সেবাকে নাম এসাইন করা। নেটওয়ার্কিং এ এটি অনেক গুরুত্বপূর্ণ কারণ কম্পিউটার খুব তাড়াতাড়ি সংখ্যা বুঝতে পারে। সে তুলনায় মানুষ সংখ্যা বা নাম্বারের তুলনায় নাম দিলে তা আরও ভালোভাবে বুঝতে পারে। প্রতিটি ওয়েবসাইটের একটি নির্দিষ্ট আইপি এড্রেস বা ইন্টারনেট প্রটোকল এড্রেস আছে। তবে কোন একটি ওয়েবসাইটকে তার আইপি এড্রেসের বদলে নাম দিয়ে মনে রাখা বা প্রবেশ করা অধিকতর সহজ। Naming Service এর অন্যতম উদারহণ হলো DNS বা Domain Name System. ডিস্ট্রিবিউটেড সিস্টেম বা ক্লাউড কম্পিউটিংয়ে এর বহুল ব্যবহার রয়েছে।
এট্রিবিউট বেজড নেমিং (Attribute Based Naming)
কোন জিনিসের শুধুমাত্র নামের উপর নির্ভর না করে তার বৈশিষ্টের সাথে মিল করে নামকরণ করার প্রক্রিয়া হলো Attribute Based Naming. কোন একটি অফিসে একাধিক রাউটার থাকতে পারে। এগুলোকে Router1, Router2, Router3….. এভাবে নামকরণ না করে যদি Company Name Level 1, Company Name Level 2, Company Name Guest, Company Name HR এভাবে নামকরণ করা হয় তাহলে সেটা বুঝতে সুবিধা হয়।
Client Perspective
Distributed File সিস্টেমে একজন ক্লায়েন্ট বা ব্যবহারকারী একটি ট্রেডিশনাল ফাইল যেভাবে এক্সেস করবেন সেভাবেই সার্ভার থেকে তথ্য চাইতে পারেন। এক্ষেত্রে সার্ভার সেই ফাইলের ফিজিকাল লোকেশন থেকে ফাইল এক্সেস করে ক্লায়েন্টের নিকট তা প্রদর্শন করাবে। তবে ব্যাকগ্রাউন্ডে কি কাজ চলছে সেটা ক্লায়েন্টের না জানলেও চলবে। একটি ট্রেডিশনাল এবং ডিস্ট্রিবিউটেড সিস্টেমের মধ্যে তফাত হলো যে ক্লায়েন্ট খুব তাড়াতাড়ি ডিস্ট্রিবিউটেড সিস্টেমে তার কাঙ্খিত ফাইল এক্সেস করতে পারেন। ক্লায়েন্ট Perspective হবে খুবই ইউজার ফ্রেন্ডলি, সহজ এবং স্বচ্ছ।
Server Perspective
একটি সার্ভারের কাজ হলো তার মেমরিতে থাকা তথ্যসমূহ সংরক্ষণ এবং প্রয়োজনমতো তা প্রদর্শন, হালনাগাদ এবং মুছে ফেলা। ডিস্ট্রিবিউটেড ফাইল সিস্টেমে সার্ভারকে হতে হবে শক্তিশালী এবং অনেক বড় ডাটা সঠিকভাবে রক্ষণাবেক্ষনের ক্ষমতা। সার্ভার রিলায়েবল বা বিশ্বস্ত হওয়া প্রয়োজন।
NFS
NFS এর অর্থ হলো Network File System. এটি মূলত ডিস্ট্রিবিউটেড ফাইল সিস্টেমের একটি প্রটোকল যা একজন ক্লায়েন্টকে তথ্য রিমোট সার্ভারে থাকা সত্ত্বেও তা লোকাল সার্ভারে স্টোর করার মতো পারফরমেন্স প্রদান করে। UNIX, Windows এবং Mac সিস্টেমে এটি ব্যবহৃত হয়। এটি ক্রস প্লাটফর্মে কাজ করে।
CODA
CODA হলো এক প্রকারের ডিস্ট্রিবিউটেড ফাইল সিস্টেম যা ওয়াইড এরিয়া নেটওয়ার্কে (WAN) ব্যবহৃত হয়। এটি নেটওয়ার্কিংয়ের নির্ভরযোগ্যতা নিশ্চিত করে।
GFS
Google File System হলো গুগল কর্তৃক ডেভেলপ করা এক প্রকার ডিস্ট্রিবিউটেড ফাইল সিস্টেম। এটি ২০০৩ সালে তৈরি করা হয়। বড় ডাটা সেন্টারে এটি বহুল ব্যবহৃত। এটি মাস্টার স্লেভ আর্কিটেকচারের মাধ্যমে তৈরি।
প্যারালাল প্রোগ্রামিং (Parallel Programming)
Parallel Programming হলো এমন এক ধরণের প্রোগ্রামিং যার মাধ্যমে একই সাথে বিভিন্ন প্রোসেসরে মাল্টি টাস্ক বা ইনস্ট্রাকশন এক্সিকিউট করা হয়। এতে করে কোন একটি প্রোগ্রামকে বিভিন্ন ভাগে ভাগ করা হয়। প্রতিটি ভাগকে বলা হয় Thread. বিভিন্ন ইনস্ট্রাকশন বা টাস্ক একইসাথে বা প্যারালালি এক্সিকিউট করা হয় বলে একে Parallel Programming বলা হয়। ডাটা এনালিসিস, মেশিন লার্নিং, সাইন্টিফিক কম্পিউটিংয়ে এটি ব্যবহার করা হয়।
Structure of Parallel Programming :
- Shared Memory
- Message Passing
- Data Parallelism
- Task Parallelism
- Pipeline Parallelism.
Data Communication ও Bandwidth কী?
Data communication: যে electronic পদ্ধতিতে ডাটা একস্থান থেকে অন্যস্থানে প্রেরণ করা হয় তাকে data communication বলে। এর মৌলিক উপাদান ৩টি:
- Sender
- Medium
- Receiver
Bandwidth
একটি নির্দিষ্ট সময়ে কোন চ্যানেল দিয়ে যে পরিমাণ data স্থানান্তরিত হয় তার পরিমাণকে বলা হয় Bandwidth. এর একক bits per second (BPS).
LAN, MAN ও WAN কী?
LAN: Local Area Network হলো একটি ছোট এরিয়া বা বিল্ডিং ব্লক বা একই সাথে অবস্থিত কয়েকটি বিল্ডিং এর মধ্যে সকল কম্পিউটারের সমন্বয়ে তৈরি নেটওয়ার্ক। এর খরচ তুলনামূলক কম।
MAN: দুই বা ততোধিক LAN এর সমন্বয়ে তৈরি করা হয় MAN বা Metropolitan Area Network. কোন বড় আকৃতির সরকারি প্রতিষ্ঠান, টিভি প্রোভাইডার বা একটি শহরের নেটওয়ার্ক কানেকশন এর জন্য MAN ব্যবহৃত হয়।
WAN: Wide Area Network অথবা WAN কোন বড় এলাকা, স্টেট বা এমনকি কোন দেশের অভ্যন্তরীন নেটওয়ার্কের জন্য ব্যবহৃত হয়।
IP Address ও এর প্রকারভেদ:
Internet Protocol Address (IP Address) একটি নেটওয়ার্কের ইউনিক আইডি যা একটি নির্দিষ্ট ডিভাইসকে ঐ নেটওয়ার্কে নির্দিষ্ট করে শনাক্ত করতে পারে। ৩২ বিটের আইপি অ্যাড্রেসকে চারটি অংশে ভাগ করা যায়। প্রতিটি অংশকে বলা হয় একেকটি অক্টেড যা (.) ডট দিয়ে আলাদা করা হয়। যেমন: 192.168.001.001
প্রকারভেদ: IP Address ৫ ধরণের:
- Class A – 8 network, 24 host (1.0.0.1 – 129.255.255.254)
- Class B – 16 network, 16 host (128.1.0.1 – 191.255.255.254)
- Class C – 24 network, 8 host (192.0.1.1 – 223.255.255.255)
- Class D – Multicast (224.0.0.0 – 239.255.255.255)
- Class E – Experimental / Research (240.0.0.0 – 254.255.255.254)
Client Server network কী?
কেন্দ্রীয়ভাবে ডাটা বা তথ্য সংরক্ষণ, নিরাপত্তা, বিভিন্ন অ্যাপ্লিকেশন চালনা এবং নেটওয়ার্ক পরিচালনার উপযোগী একটি মডেল হলো ক্লায়েন্ট সার্ভার মডেল। এই মডেলে একটি কম্পিউটারে থাকবে রিসোর্স আর নেটওয়ার্কের অন্যান্য কম্পিউটার সেই রিসোর্স ব্যবহার করবে। যে রিসোর্স শেয়ার করবে সে সার্ভার আর যারা রিসোর্স ব্যবহার করবে তারা ক্লায়েন্ট। এই নেটওয়ার্ক এক বা বহু সার্ভারবিশিষ্ট হতে পারে। উদাহরণ: ফাইল সার্ভার, ম্যাসেজ সার্ভার, প্রিন্ট সার্ভার, ডাটাবেজ সার্ভার।
সুবিধাসমূহ:
- কেন্দ্রীয়ভাবে ডাটা সংরক্ষণ করা হয়
- উচ্চমাত্রায় নিরাপত্তা নিশ্চিত করা যায়
- শক্তিশালী ইকুইপমেন্ট ব্যবহার করা যায়
- ভালো পারফরমেন্স পাওয়া যায়
- ইউজার অ্যাকাউন্ট ও রিসোর্স পারমিশন কেন্দ্রীয়ভাবে নিয়ন্ত্রণ করা যায়
Peer to peer নেটওয়ার্ক কী?
যে নেটওয়ার্কে workstation সমূহ প্রাধান্যের ক্ষেত্রে সমকক্ষ তাকে peer to peer নেটওয়ার্ক বলে। এই নেটওয়ার্কে প্রতি ব্যবহারকারী অন্য ব্যবহারকারীদের সাথে তথ্য শেয়ার করতে পারে। অর্থাৎ প্রতিটি নেটওয়ার্ক স্টেশন একইসাথে সার্ভার ও ক্লায়েন্ট। সুবিধাসমূহ:
- কনফিগার করা সহজ
- অতিরিক্ত সার্ভার হার্ডওয়্যার প্রয়োজন হয় না
কম্পিউটার নেটওয়ার্ক এর রিসোর্স শেয়ারিং কী?
নেটওয়ার্কের রিসোর্স শেয়ারিং হলো:
- ইনফরমেশন শেয়ারিং
- হার্ডওয়্যার শেয়ারিং
- সফটওয়্যার শেয়ারিং
- এক্সচেঞ্জিং ম্যাসেজ