Blog top image

Network Protocols


নেটওয়ার্ক প্রটোকল কী?

প্রটোকল হলো কিছু নিয়ম-কানুনের সমষ্টি, যা একাধিক পক্ষ একে অপরের সাথে যোগাযোগ করার সময় অনুসরণ করে।
নেটওয়ার্ক প্রটোকল মানে—নেটওয়ার্কে থাকা মেশিনগুলো কিভাবে তথ্য আদান-প্রদান করবে, তার নিয়ম।


জনপ্রিয় নেটওয়ার্ক প্রটোকলসমূহ:

  • IP (Internet Protocol)

  • TCP (Transmission Control Protocol)

  • HTTP (HyperText Transfer Protocol)


IP এবং IP Address

  • IP Address হলো ইন্টারনেটে যুক্ত একটি মেশিনের পরিচয়—যেটা চারটি নাম্বারে গঠিত (IPv4)।

    • উদাহরণ: 192.168.0.1

    • 127.0.0.1 → নিজ মেশিনকে বোঝায় (localhost)

  • Private Network: সাধারণত 192.168.x.x দিয়ে শুরু হয়।


IP কী করে?

  • একটি মেশিন থেকে আরেকটিতে ডাটা পাঠায় IP address ব্যবহার করে।


IP Packet

  • IP Packet হলো এমন একটি ইউনিট, যার মাধ্যমে ডাটা এক মেশিন থেকে অন্য মেশিনে যায়।

  • এতে থাকে:

    • IP Header: Source & Destination IP, Size ইত্যাদি

    • Payload: আসল ডাটা

  • সর্বোচ্চ সাইজ: 2^16 bytes (~64 KB)

  • যদি ডাটা বড় হয়, তখন সেটা ভাঙতে বা পুনঃপ্রেরণ করতে অন্য প্রটোকল যেমন TCP লাগে।


TCP (Transmission Control Protocol)

  • IP এর উপর ভিত্তি করে তৈরি, রিলায়েবল ডাটা ট্রান্সমিশন নিশ্চিত করে।

  • TCP কি করে:

    • হ্যান্ডশেকের মাধ্যমে সংযোগ স্থাপন করে (Client ↔ Server)

    • বড় ডাটাকে ভেঙে ছোট ছোট প্যাকেট করে

    • প্রতিটি প্যাকেটের সিরিয়াল নম্বর থাকে (অর্ডার ঠিক রাখতে)

    • ডাটা পৌঁছালে অ্যাকনলেজমেন্ট পাঠায়

    • প্যাকেট হারিয়ে গেলে আবার পাঠায় (retransmission)

    • নির্দিষ্ট সময় পর সংযোগ টাইমআউট হয়ে যায়


HTTP (HyperText Transfer Protocol)

  • TCP-এর উপর তৈরি ক্লায়েন্ট-সার্ভার ভিত্তিক প্রটোকল।

  • Client → Request করে
    Server → Response দেয়


HTTP Request এর কাঠামো:

  1. Start Line (উদাঃ: GET /index.html HTTP/1.1)

  2. Headers (উদাঃ: "Content-Type": "application/json")

  3. Blank Line

  4. Body (Optional)


HTTP Response এর কাঠামো:

  1. Status Line (উদাঃ: HTTP/1.1 200 OK)

  2. Headers (উদাঃ: "Content-Length": 1238)

  3. Blank Line

  4. Body (মূল কন্টেন্ট)


উদাহরণ:

Request:

GET /products HTTP/1.1
Host: example.com
Content-Type: application/json


Response:

HTTP/1.1 200 OK
Content-Length: 1238
Content-Type: application/json

{ "products": [...] }