> For the complete documentation index, see [llms.txt](https://mominur.gitbook.io/mominur-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mominur.gitbook.io/mominur-notes/system-design/networking/ip-and-port.md).

# IP and Port

আমরা আজকের দিনে ইন্টারনেট ব্যবহার করি প্রতিদিন। কিন্তু আপনি কি জানেন **IP address** এবং **Port** আসলে কী এবং কীভাবে কাজ করে?&#x20;

***

### IP Address কী?

**IP Address (Internet Protocol Address)** হলো আপনার কম্পিউটার বা ডিভাইসের **Unique Address**, যা ইন্টারনেটে বা নেটওয়ার্কে অন্য ডিভাইসকে আপনার ডিভাইস খুঁজে পেতে সাহায্য করে।

\
ধরুন ইন্টারনেট হলো একটি বিশাল শহর।

* **IP Address = আপনার বাড়ির ঠিকানা।**\
  যদি কেউ আপনার বাড়িতে চিঠি বা প্যাকেজ পাঠাতে চায়, তাহলে প্রথমে তাকে **ঠিকানাটি (IP)** জানতে হবে।

**উদাহরণ:**

* `192.168.1.10`
* `172.16.0.5`

একইভাবে, আপনার কম্পিউটারও অন্য ডিভাইসের IP জানলে তাদের সাথে যোগাযোগ করতে পারে।

***

### Port কী?

**Port** হলো আপনার কম্পিউটারের মধ্যে একটি **নির্দিষ্ট চ্যানেল বা দরজা**, যা দিয়ে নির্দিষ্ট ধরনের ডেটা Enter বা Exit করে।

* আপনার বাড়ির ঠিকানা IP।
* **Port = বাড়ির দরজা বা ঘর।**\
  ধরা যাক, আপনার বাড়িতে অনেক দরজা আছে:

1. রান্নাঘরের দরজা – খাবার পরিবেশনের জন্য
2. অফিসের দরজা – অফিসের কাজের জন্য
3. অতিথি কক্ষের দরজা – অতিথির জন্য

যদি কেউ রান্নাঘরে খাবার পৌঁছে দিতে চায়, সে শুধু **রান্নাঘরের দরজা (specific port)** ব্যবহার করবে।

***

### IP এবং Port একসাথে

একটি ডিভাইসের IP ঠিকানা জানালেই যথেষ্ট নয়। আপনার কম্পিউটার বা সার্ভার **একাধিক প্রোগ্রাম বা সার্ভিস চালাতে পারে**, যেমন:

* ওয়েব সার্ভার (HTTP) → Port 80
* সিকিউর ওয়েব সার্ভার (HTTPS) → Port 443
* ইমেইল সার্ভার (SMTP) → Port 25

**Analogy:**

* IP = শহরের ঠিকানা
* Port = সেই শহরের নির্দিষ্ট ভবনের দরজা

যদি কেউ আপনার শহরে আসে, তবে ঠিকানা জানলেই হবে না। তাকে জানাতে হবে **কোন দরজা খুলে প্রবেশ করতে হবে**, তাহলে সে সঠিক সার্ভিস বা প্রোগ্রামে পৌঁছাতে পারবে।

***

### উদাহরণ (ওয়েব সার্ভিস)

আপনি যদি ব্রাউজারে টাইপ করেন:

```
http://192.168.1.10:8080
```

* `192.168.1.10` → সার্ভারের IP
* `8080` → সার্ভারের কোন Port এর সাথে সংযোগ করা হবে (যে প্রোগ্রাম বা সার্ভিস শুনছে)

যদি port না উল্লেখ করা হয়, ওয়েব ব্রাউজার **ডিফল্টভাবে 80** ব্যবহার করে।

***

### ছোট উদাহরণ

**Scenario:**

* আপনার ল্যাপটপে ওয়েব সার্ভার চলছে port 3000 এ
* বন্ধু আপনার ল্যাপটপে ওয়েবপেজ দেখতে চায়

**Solution:**

* সে আপনার IP জানবে (যেমন 192.168.1.50)
* সে port 3000 ব্যবহার করবে

এভাবেই IP + Port একসাথে কাজ করে, ঠিকানার মতো এবং দরজার মতো।
