Ravindra BagaleCourses & study guides English

Networking ची basics: client आणि server, IP address, IPv4 मोजणी, static आणि dynamic IP, gateway

चला मित्रांनो, आज आपण आपलं पहिलं lecture चालू करतोय. AWS किंवा Linux ला हात लावायच्या आधी internet वर दोन machines एकमेकांशी कशा बोलतात ते आपण शिकणार आहोत. सुरुवात रोजच्या गोष्टीपासून करू, म्हणजे phone वर Instagram उघडणं, आणि शेवटी अशा गोष्टीपर्यंत येऊ जी तुम्ही आज रात्री घरी करून बघू शकता: तुमच्या घरच्या WiFi router मध्ये login. घाबरू नका, हळूहळू कळेल तुम्हाला.

आजच्या class मध्ये काय शिकणार

  • VirtualBox नाही, cloud server वरच practice का
  • Linux च्या आधी networking का
  • Client आणि server: request आणि response
  • प्रत्येक machine ला IP address का लागतो
  • IPv4 आणि IPv6
  • IPv4: 4 parts, प्रत्येक 0 ते 255
  • IP मोजणी: 0.0.0.255 + 1 = 0.0.1.0
  • एकूण IPv4: 4,294,967,296
  • IPv4 कमी का पडतायत
  • Static IP आणि dynamic IP
  • Server ला fixed IP का लागतो
  • Gateway IP आणि packet चा प्रवास
  • तुमचा घरचा router, आणि homework

1. VirtualBox नाही, cloud server वरच practice का

का? हा AWS चा course आहे. Company मध्ये तुम्ही स्वतःच्या laptop वर काम नाही करणार; लांब कुठेतरी data center मध्ये बसलेल्या servers वर काम करणार. म्हणून पहिल्या दिवसापासूनच आपण job मध्ये जसं काम होतं तसंच practice करायचं.

काय? Class मध्ये जवळपास सगळ्यांकडे Windows laptop आहे. Linux आणि AWS शिकायला तुमच्याकडे दोन options आहेत:

  1. Option 1: laptop वर VirtualBox install करायचा आणि त्याच्या आत Linux चालवायचा.
  2. Option 2: AWS account बनवायचं आणि cloud मध्ये Linux server launch करायचा, नवीन accounts साठी असलेल्या AWS Free Tier offer मधून (sign up करताना current offer मध्ये काय काय आहे ते बघून घ्या).

आपण कुठला निवडायचा? आपण Option 2 घेणार, कारण "आपण cloud आणि server वाले लोक आहोत". तुमचा laptop फक्त screen आणि keyboard म्हणून वापरायचा; खरं काम AWS मधल्या server वर होणार.

2. Linux च्या आधी networking का

का? AWS मध्ये launch केलेला server तुमच्या समोर नसतो. Laptop वरून त्याच्यापर्यंत पोचायला internet वरून जावं लागतं. IP address काय असतो, request server पर्यंत कशी पोचते हेच माहिती नसेल, तर पहिल्याच connection ला अडकाल.

काय? म्हणून पहिले 2 ते 3 दिवस आपण networking ची basics करणार, आणि मगच Linux चालू करणार.

पुढे याचा उपयोग कसा होतो?

  1. तुम्ही AWS मध्ये server launch करता.
  2. AWS त्या server ला एक IP address देतं.
  3. तुमचा laptop तो IP वापरून server ला connect होतो.
  4. त्यानंतर तुम्ही टाकलेली प्रत्येक Linux command त्या लांबच्या server वर चालते.

3. Client आणि server: Instagram ची request आणि response

का? तुम्ही वापरता ती प्रत्येक app याच पद्धतीने चालते. एक example नीट कळलं, की सगळ्या कळतात.

काय? समजा मी माझ्या mobile वर Instagram app उघडलं.

  1. माझा phone Instagram च्या server ला request पाठवतो: "reels दाखव".
  2. Server त्याचा database check करतो.
  3. Server database मधून reels काढतो.
  4. Server माझ्या phone ला response परत पाठवतो.
  5. माझ्या screen वर reels चालू होतात.
Client and server: request and response InstagramMy phone (client) Server Databasereels 1. Request: show reels 4. Response: reels 2. check 3. fetch Same pattern: Netflix, Amazon, Paytm, PhonePe, WhatsApp

Figure 1. Phone request पाठवतो, server database check करतो, आणि response परत येतो. Netflix, Amazon, Paytm, PhonePe आणि WhatsApp पण असंच चालतं.

Pattern तोच, apps वेगळ्या.

तुम्ही हे करता Request कुठे जाते तुम्हाला मिळणारा response
Instagram उघडता Instagram चा server Reels
Netflix वर play दाबता Netflix चा server Video
Amazon वर search करता Amazon चा server Products ची list
Paytm किंवा PhonePe ने pay करता Payment server "Payment successful"
WhatsApp message पाठवता WhatsApp चा server ✓✓ ticks

हे servers चालतात कुठे? Company स्वतःच्या data centers मध्ये servers चालवू शकते, किंवा AWS, Microsoft Azure, Google Cloud (GCP) सारख्या cloud provider कडून भाड्याने घेऊ शकते. काही companies आपली app एकापेक्षा जास्त providers वर पसरवतात, म्हणजे एका provider ला outage आला तरी बाकीच्यांवरून app चालू राहते. याला multi-cloud म्हणतात. AWS 2006 मध्ये सुरू झालं, या तिघांमध्ये सगळ्यात आधी, म्हणून त्यांच्याकडे अनुभव जास्त आहे. हे लिहिताना AWS च्या global infrastructure page वर दिल्याप्रमाणे, AWS Cloud 39 Regions मध्ये 124 Availability Zones मध्ये पसरलेलं आहे.

4. प्रत्येक machine ला IP address का लागतो

का? माझ्या phone ला request कुठेतरी पाठवायची आहे. Internet वर "कुठेतरी" म्हणजे address. माणसांना नावं असतात, आणि नावावरून आपण माणसं ओळखतो. तसंच internet वरच्या machines त्यांच्या IP address वरून ओळखल्या जातात.

Classroom line

If any two machines on the internet want to talk to each other, they must have an IP address.

काय? IP address म्हणजे network वरच्या machine ला दिलेला एक number, ज्यामुळे बाकीच्या machines त्याला data पाठवू शकतात.

App ला server चा IP कसा कळतो? Instagram app मध्ये server चा IP लिहून ठेवलेला नसतो. App मध्ये एक domain name असतं (api.example.com सारखं नाव). App ला server हवा असला की phone DNS (Domain Name System) ला विचारतो, "या नावाचा IP काय?", आणि DNS IP सांगतो. मग phone त्या IP वर request पाठवतो.

  1. App ला नाव माहिती असतं, उदाहरणार्थ api.example.com.
  2. Phone DNS ला त्या नावाचा IP विचारतो.
  3. DNS उत्तर देतो, उदाहरणार्थ 7.7.7.7.
  4. Phone 7.7.7.7 वर request पाठवतो.

5. IPv4 आणि IPv6

दोन प्रकार का? IPv4 हे internet वर वापरलेलं पहिलं version, आणि त्याचे addresses संपत आलेत (exact numbers खाली बघूच). तो problem सोडवायला IPv6 बनवलं.

काय?

IPv4 IPv6
कसा दिसतो 110.7.200.3 2001:db8::1
Parts 4 parts, मध्ये dots 8 groups, मध्ये colons
इतिहास मूळ version 1990 च्या दशकाच्या शेवटी standard झालं; गेल्या काही वर्षांत वापर खूप वाढलाय
कुठे दिसतो सगळीकडे, बहुतेक AWS labs मध्ये पण जास्तीत जास्त mobile networks आणि websites वर

आपण कसं शिकायचं? IPv4 अजून सगळीकडे वापरला जातो आणि वाचायला सोपा आहे, म्हणून आधी IPv4 शिकायचा. IPv6 नंतर येईल.

6. IPv4: चार parts, प्रत्येक 0 ते 255

का? एखादा number बघितल्या बघितल्या तुम्हाला सांगता आलं पाहिजे, "हा IP address आहे" किंवा "हा नाहीये".

काय? IPv4 address मध्ये dots ने वेगळे केलेले 4 parts असतात: _ . _ . _ . _. प्रत्येक part 0 ते 255 मधला कुठलाही number असू शकतो. त्याच्यापेक्षा मोठा नाही.

  • सगळ्यात लहान: 0.0.0.0
  • सगळ्यात मोठा: 255.255.255.255
IPv4: 4 parts, each from 0 to 255 192 . 168 . 0 . 1 part 1: 0–255part 2: 0–255part 3: 0–255part 4: 0–255 ✓ IP address 110.7.200.33.3.3.31.0.100.9192.168.0.1lowest 0.0.0.0 · highest 255.255.255.255 ✗ Not an IP address 256.0.7.8256 > 255 10.300.2.1300 > 255 1.2.3only 3 parts

Figure 2. चार parts, प्रत्येक 0 ते 255. कुठलाही part 255 च्या वर गेला म्हणजे तो IP address नाही.

Check कसं करायचं? Examples:

Number IP address आहे का? का
192.168.0.1 हो 4 parts, सगळे 0 ते 255 मध्ये
110.7.200.3 हो 4 parts, सगळे 0 ते 255 मध्ये
3.3.3.3 हो 4 parts, सगळे 0 ते 255 मध्ये
1.0.100.9 हो 4 parts, सगळे 0 ते 255 मध्ये
256.0.7.8 नाही पहिला part 256 आहे, 255 पेक्षा मोठा
10.300.2.1 नाही दुसरा part 300 आहे
1.2.3 नाही फक्त 3 parts

Classroom line

No part is bigger than 255. If you see a number above 255, it is not an IP address.

या range मधला प्रत्येक number internet वर वापरता येत नाही. काही ranges खास कामांसाठी राखून ठेवलेल्या आहेत: उदाहरणार्थ 127.0.0.1 म्हणजे नेहमी "हीच machine", आणि 192.168.x.x सारख्या ranges घर आणि office च्या networks साठी आहेत. हे आपण नंतर detail मध्ये बघू.

7. IP मोजणी: 0.0.0.255 नंतर काय?

का? AWS तुम्हाला network देईल तेव्हा त्याच्यात किती IPs आहेत ते कळायला पाहिजे. त्याची सुरुवात साध्या मोजणीपासून होते.

काय? आधी फक्त शेवटचा part मोजा:

  1. 0.0.0.0
  2. 0.0.0.1
  3. 0.0.0.2
  4. … असंच पुढे …
  5. 0.0.0.255

0 ते 255 म्हणजे 256 IPs.

मग 0.0.0.255 नंतरचा IP कुठला? Class मध्ये एका student ने 0.0.1.256 सांगितलं. ते चूक आहे, कारण 256 हा 255 पेक्षा मोठा आहे.

Classroom line

No. Where there is 255, write 0, and add 1 to the part on its left. So 0.0.1.0.

Rule कसा चालतो (गाडीच्या odometer सारखा):

  1. एखादा part 255 वर पोचला आणि 1 add केला, की तो part 0 होतो.
  2. त्याच्या डावीकडचा part 1 ने वाढतो.
  3. तो डावीकडचा part पण 255 असेल, तर तो पण 0 होतो आणि त्याच्या पुढचा डावा part 1 ने वाढतो.
Counting like a car odometer 0 . 0 . 0 . 254 0 . 0 . 0 . 255 0 . 0 . 1 . 0 254 → 255 → (+1) the last part becomes 0, the part on its left goes up by 1 0.0.0.255+ 10.0.1.0256 IPs done 0.0.255.255+ 10.1.0.065,536 IPs done 0.255.255.255+ 11.0.0.016,777,216 IPs done

Figure 3. Rollover, गाडीच्या odometer सारखा: part 255 च्या पुढे गेला की 0 होतो आणि डावीकडचा part 1 ने वाढतो.

Handwritten whiteboard list counting 0.0.0.0, 0.0.0.1 up to 0.0.0.255, marked as 256 addresses, followed by 0.0.1.0.

Class board वरून: IP मोजणं म्हणजे गाडीचा meter समजा: 0.0.0.0 ते 0.0.0.255 म्हणजे 256 addresses, आणि त्याच्या पुढचा येतो थेट 0.0.1.0.

Examples:

IP + 1 =
0.0.0.255 0.0.1.0
0.0.1.255 0.0.2.0
0.0.255.255 0.1.0.0
0.1.0.255 0.1.1.0
0.255.255.255 1.0.0.0
254.255.255.255 255.0.0.0

असंच मोजत मोजत शेवटच्या IP पर्यंत जायचं, 255.255.255.255.

Ravindra Bagale's Tip

खूप students पुढचा IP 0.0.1.256 किंवा 0.0.0.256 लिहितात. लक्षात ठेवा: part कधीच 255 च्या वर जात नाही. 255 च्या पुढे गेला की 0 होतो आणि डाव्या part ला +1.

8. एकूण IPv4 addresses किती?

का? याच number मुळे कळतं की जगात IPv4 का संपत आलेत.

काय आणि कसं, board वर step by step:

  1. फक्त शेवटचा part: 0.0.0.0 ते 0.0.0.255 = 256 IPs.
  2. शेवटचे दोन parts: तिसरा part 0 असताना चौथा part 256 IPs देतो. तिसरा part 1 असताना आणखी 256. … तिसरा part 255 असताना आणखी 256. म्हणजे 256 × 256 = 65,536 IPs.
  3. शेवटचे तीन parts: 256 × 256 × 256 = 16,777,216 IPs.
  4. चारही parts: 256 × 256 × 256 × 256 = 4,294,967,296 IPs.

आपल्या भारतीय पद्धतीने 4,294,967,296 म्हणजे 429,49,67,296, साधारण 429 कोटी IPv4 addresses.

How many IPv4 addresses? 256last part 65,536256 × 256 16,777,216256 × 256 × 256 4,294,967,296≈ 429 crore256 × 256 × 256 × 256 429 crore IPs vs 800 crore people (and many devices each)

Figure 4. प्रत्येक part ला 256 values, म्हणून एकूण 256 × 256 × 256 × 256 = 4,294,967,296, साधारण 429 कोटी.

Whiteboard showing 255.255.255.255 and the multiplication 256 × 256 × 256 × 256 = 429,49,67,296.

Class board वरून: शेवटचा IP आहे 255.255.255.255. चारही parts ला प्रत्येकी 256 values, म्हणून 256 × 256 × 256 × 256 = 4,294,967,296, म्हणजे जवळपास 429 कोटी IPv4 addresses.

9. IPv4 कमी का पडतायत

हे महत्त्वाचं का? Addresses पुरेसे नसतील तर प्रत्येक नवीन phone आणि server ला स्वतःचा public IP मिळू शकत नाही. म्हणूनच dynamic IP आणि एक IP share करणं असे उपाय आहेत.

Classroom line

What's the problem now? The world's population is 800 crore, and there are only 429 crore IPs.

IPs कोण कोण वापरतं? एका माणसाला एक IP असं नाहीये. एका माणसाला बरेच लागू शकतात:

  1. दोन SIM असलेला phone.
  2. Laptop आणि tablet.
  3. Smart TV.
  4. गाडीतला GPS, आणि गाडीच्या dashboard वरचा Android player.
  5. Sensors आणि बाकीचे IoT devices.
  6. आणि प्रत्येक company चा प्रत्येक server.

म्हणजे 429 कोटी खूपच कमी आहेत. आणि लक्षात ठेवा, त्या 429 कोटींपैकी काही खास कामांसाठी राखून ठेवलेले आहेत, ते internet वर कधीच वापरता येत नाहीत.

10. Static IP आणि dynamic IP

का? IPs कमी आहेत, म्हणून सगळे कायमचे वाटून टाकता येत नाहीत. बहुतेक devices ना IP फक्त online असेपर्यंत मिळतो, आणि काहींनाच fixed IP मिळतो.

काय? IP address म्हणजे फक्त एक number. तो static आहे की dynamic, हे तो device ला कसा दिला जातो यावर ठरतं:

Dynamic IP Static IP
कसा मिळतो connect झाल्यावर network आपोआप lease करून देतं (DHCP) एका device साठी fixed किंवा reserve केलेला
Disconnect केल्यावर pool मध्ये परत जातो, दुसऱ्याला मिळू शकतो त्याच device कडे राहतो
सहसा कोणाकडे phones, laptops, घरचे users (clients) servers
खर्च तुमच्या नेहमीच्या plan मध्येच जास्तीचे पैसे, server चालवण्यासारख्या कारणासाठी दिला जातो
Board वरचं example 3.3.3.3, नंतर 5.5.5.5 7.7.7.7
Whiteboard sketch: a phone whose IP 3.3.3.3 is crossed out and replaced by 5.5.5.5, a second phone now using 3.3.3.3, and a server with static IP 7.7.7.7.

Class board वरून: Dynamic IP आणि static IP: mobile data off करून परत on केला की phone चा dynamic IP बदलतो (3.3.3.3 चा 5.5.5.5 होतो), आणि तोच 3.3.3.3 दुसऱ्या phone ला मिळू शकतो. Server चा static IP 7.7.7.7 मात्र कायम तसाच राहतो.

11. Dynamic IP: mobile data on आणि off

का? याच पद्धतीने थोडे कोटी IPs त्याच्यापेक्षा खूप जास्त devices मध्ये वाटले जातात.

काय? समजा माझ्याकडे Jio चं SIM आहे.

  1. मी mobile data on करतो. आत्ता कुठे माझ्या phone ला IP मिळतो, समजा 3.3.3.3.
  2. मी 30 मिनिटं WhatsApp वापरतो. तोपर्यंत IP माझ्या phone कडेच राहतो.
  3. मी mobile data off करतो (किंवा airplane mode on करतो, phone बंद करतो, किंवा network जातं).
  4. 3.3.3.3 सुटतो आणि pool मध्ये परत जातो.
  5. आत्ताच data on केलेल्या दुसऱ्या कोणालातरी network 3.3.3.3 देतं.
  6. मी परत data on केलं की मला वेगळा IP मिळू शकतो, समजा 5.5.5.5.
Dynamic IP is reused Phone A mobile data ON OFF ON again 5.5.5.5 IP pool(the network's free IPs) Phone Bjust turned data on 3.3.3.3 releasedgiven again server Static IP 7.7.7.7stays with the server, even after it is switched off and on 1. A: data ON → gets 3.3.3.3 · 2. A: data OFF → 3.3.3.3 back to pool · 3. B gets 3.3.3.3 · 4. A ON again → 5.5.5.5 (Real mobile networks often also give phones private IPs and share one public IP; the reuse idea is the same.)

Figure 5. Dynamic IP reuse: Phone A ने data off केलं, 3.3.3.3 pool मध्ये परत गेला आणि Phone B ला मिळाला. Phone A परत आला तेव्हा त्याला 5.5.5.5 मिळाला. Server चा static 7.7.7.7 तसाच राहतो.

Classroom line

Generally people switch off mobile data and sleep at night...

रात्री तो IP जातो कुठे? जगाच्या दुसऱ्या बाजूला नाही. प्रत्येक mobile company कडे स्वतःचे IP blocks असतात (region च्या registry कडून मिळालेले, India साठी APNIC), म्हणून Jio चे IPs फक्त Jio च्याच users ना मिळतात.

  1. तुम्ही रात्री mobile data off करता.
  2. तुमचा IP Jio च्या free IPs च्या pool मध्ये परत जातो.
  3. त्या वेळी data on करणाऱ्या दुसऱ्या Jio user ला (कोणी night shift वाला, किंवा लवकर उठलेला) तो IP मिळतो.
  4. सकाळी तुम्ही data on करता, तेव्हा Jio कडे जो free IP असेल तो मिळतो, बऱ्याच वेळा वेगळाच.

आणखी एक खरी गोष्ट. Mobile companies IPs आणखी एका पद्धतीने वाचवतात: बऱ्याच वेळा त्या phones ना private address देतात आणि बरेच phones मिळून एक public IP share करतात (याला carrier-grade NAT म्हणतात). Idea सोपी रहावी म्हणून board वर आपण 3.3.3.3 च ठेवतोय; reuse ची idea तीच आहे.

12. Static IP: तो टिकतो

का? काही machines प्रत्येक वेळी, restart नंतर सुद्धा, त्याच address वर सापडल्या पाहिजेत. हेच server चं काम आहे.

काय? Static IP, समजा 7.7.7.7, device बंद असला तरी त्याच device कडे राहतो.

कसा मिळवायचा?

  1. तुमच्या internet provider कडे (Jio, Airtel, Vi वगैरे) static IP मागा.
  2. कारण सांगा, जसं की server चालवायचा आहे.
  3. त्याचे जास्तीचे पैसे लागतात, म्हणून सगळे घेत नाहीत.
  4. AWS मध्ये static IP ला Elastic IP म्हणतात. तो तुमच्या account ला allocate करायचा आणि तुमच्या server ला attach करायचा.

13. Client आणि server: कोण कोण?

का? प्रत्येक network diagram मध्ये clients आणि servers असतात. कुठली बाजू कुठली ते कळलं पाहिजे.

काय?

Classroom line

The one who sends the request first, we call the client.

  1. Server म्हणजे उत्तर देणारा मोठा box, उदाहरणार्थ Instagram चा server.
  2. Clients म्हणजे विचारणारे सगळे: Android app, iPhone app, laptop वरचा browser, iPad, गाडीची screen सुद्धा.
  3. Clients कडे सहसा dynamic IPs असतात.
  4. Servers कडे सहसा static IPs असतात.

14. Server ला fixed IP का लागतो: 1 कोटी users ची गोष्ट

का? Clients रोज IP बदलू शकतात, काही बिघडत नाही. पण server चा IP बदलला तर लाखो लोकांना फटका बसतो.

काय होतं? समजा Instagram चा server dynamic IP 3.3.3.3 वर आहे, आणि तो 1 कोटी users वापरतात:

  1. App च्या domain name चा DNS record सांगतो: server 3.3.3.3 वर आहे.
  2. 1 कोटी phones नी DNS ला विचारलंय आणि 3.3.3.3 हे उत्तर काही वेळासाठी लक्षात (cache) ठेवलंय.
  3. Maintenance साठी server restart होतो आणि dynamic असल्यामुळे नवीन IP घेऊन येतो, 5.5.5.5.
  4. Phones अजून 3.3.3.3 वरच requests पाठवतायत. तिथे आता काहीच नाही. त्या users साठी app बंद.
  5. कोणालातरी DNS record 5.5.5.5 करावा लागतो, आणि users चं cache केलेलं उत्तर expire होईपर्यंत ते मेलेल्या address वरच जात राहतात.
  6. 3.3.3.3 ला allow केलेले firewall rules आणि partner systems पण तुटतात, ते बदलावे लागतात.
  7. आणि हे प्रत्येक restart नंतर परत परत होईल.

उपाय काय? Server ला fixed IP द्यायचा. मग restart झाला तरी काही बदलत नाही: DNS बरोबर जागीच point करतो, आणि firewall rules चालू राहतात. AWS मध्ये server चा नेहमीचा public IP stop आणि start केल्यावर बदलू शकतो, म्हणून server साठी Elastic IP attach करायचा, जो तुम्ही release करेपर्यंत तसाच राहतो.

Why a server needs a fixed IP Dynamic IP on the server ✗ DNS / phones' cache: server = 3.3.3.3 1 crorephones 3.3.3.3 ✗nothing here restarted5.5.5.5 Users hit a dead address until DNS isupdated and caches expire; firewall rulesthat allowed 3.3.3.3 break too. Fixed IP (AWS: Elastic IP) ✓ DNS / phones' cache: server = 7.7.7.7 1 crorephones 7.7.7.7 restarted7.7.7.7 Restart changes nothing: DNS still pointsto the right place and firewall rules keepworking.

Figure 6. डावीकडे: dynamic IP वरचा server restart नंतर 5.5.5.5 घेऊन येतो, आणि phones अजून 3.3.3.3 वर जातात. उजवीकडे: fixed IP (AWS मध्ये Elastic IP) असेल तर restart ने काहीच बदलत नाही.

Student चा प्रश्न: "IP kami ahet, mhanje kadhitari kai problem yeil na?" (IPs कमी आहेत, मग कधीतरी problem येईल ना?)

हो, म्हणूनच static IPs आयुष्यभर free नसतात:

  1. Internet provider कडचा static IP ठराविक कालावधीसाठी मिळतो.
  2. कालावधी संपला किंवा पैसे भरले नाहीत, तर तो pool मध्ये परत जातो.
  3. AWS मध्ये तुम्ही Elastic IP release केला, तर तो AWS च्या pool मध्ये परत जातो, आणि सहसा तोच परत मिळत नाही.

15. Gateway IP: माझा phone server पर्यंत पोचतो कसा?

का? एका student ने विचारलं: "Client cha IP assign jhalela ahe, ani server sathi pan ahe, mag te connect kasa hotat?" (Client ला IP मिळालाय, server ला पण आहे, मग ते connect कसे होतात?) याचं उत्तर म्हणजे gateway.

काय? Gateway म्हणजे तुमच्या network मधून बाहेर जायचा दरवाजा. Network च्या बाहेर जाणारा प्रत्येक packet आधी gateway कडे जातो.

Board वरचं example. मी पुण्यात आहे, शिवाजीनगर मध्ये, Jio वर.

  1. मी mobile data on करतो.
  2. माझ्या phone ला त्याचा IP मिळतो, 3.3.3.3.
  3. Phone ला एक gateway IP पण मिळतो, 3.3.3.1. हा Jio tower च्या बाजूच्या network चा address आहे.
  4. माझा phone internet वर जे काही पाठवतो ते सगळं आधी 3.3.3.1 कडे जातं.

Classroom line

Let me remove the data center from the picture; we'll just think of it as the tower.

16. Snapchat वर "Hi": packet चा प्रवास, hop by hop

का? आता सगळं एकत्र जोडायचं: client IP, server IP, DNS आणि gateway.

Packet म्हणजे काय? Internet वर data छोट्या छोट्या तुकड्यांमध्ये जातो, त्यांना packets म्हणतात. प्रत्येक packet मध्ये हे असतं:

Field Example
To IP (destination) 8.7.7.7, Snapchat चा server
From IP (source) 3.3.3.3, माझा phone
Data "Hi"

Gateway IP packet च्या आत लिहिलेला नसतो. Packet फक्त gateway कडे पाठवला जातो.

Classroom line

The gateway IP doesn't travel inside the packet; the packet is sent to it.

"Hi" server पर्यंत कसं पोचतं? समजा Snapchat चा server Mumbai मधल्या AWS data center मध्ये आहे, IP 8.7.7.7 (हे फक्त शिकण्यासाठी "समजा" example आहे; board वरचे सगळे IPs dummy numbers आहेत).

  1. पुण्यात माझ्या Jio phone वर मी Snapchat मध्ये "Hi" टाइप करतो.
  2. App ला server चं नाव माहिती असतं. Phone DNS ला त्याचा IP विचारतो आणि 8.7.7.7 मिळतो.
  3. Phone packet बनवतो: To 8.7.7.7, From 3.3.3.3, Data "Hi".
  4. Phone तो packet त्याच्या gateway कडे पाठवतो, 3.3.3.1 (tower).
  5. Gateway router To IP वाचतो, 8.7.7.7, आणि packet रस्त्यातल्या पुढच्या router कडे पाठवतो, उदाहरणार्थ 4.4.4.1.
  6. तो router पण तेच करतो: To IP वाचतो आणि packet एक पाऊल पुढे पाठवतो.
  7. असं hop by hop करत packet 8.7.7.7 ज्याच्या मालकीचा आहे त्या network पर्यंत पोचतो, आणि मग Snapchat च्या server पर्यंत.
  8. Reply त्याच रस्त्याने परत येतो, आता To 3.3.3.3 आणि From 8.7.7.7.
Snapchat "Hi": hop by hop DNS (asked by the phone)snapchat.com → 8.7.7.7 My phoneJio, Pune3.3.3.3 Tower gateway3.3.3.1 Next router4.4.4.1 … Snapchatserver8.7.7.7(suppose: AWSMumbai) hop 1hop 2hop 3 To: 8.7.7.7 From: 3.3.3.3 Data: "Hi" The gateway IP is not written in the packet; the packet is only sent to it. Each router reads the To IP and forwards one hop closer.

Figure 7. Phone एकदा DNS ला विचारतो, मग packet त्याच्या gateway कडे पाठवतो. प्रत्येक router To IP वाचून packet एक hop पुढे पाठवतो, server पर्यंत.

17. कुठे पाठवायचं हे routers ना कसं कळतं?

का? तुमचा message tower ने कधी बघितलाही नाही. मग Mumbai कुठल्या दिशेला आहे हे त्याला कसं कळतं?

काय? इथे दोन वेगळ्या गोष्टी काम करतात:

  1. DNS phone वापरतो, towers नाही. Company आपलं domain name एखाद्या registrar कडून (उदाहरणार्थ GoDaddy) विकत घेते आणि "हे नाव या IP वर आहे" असा DNS record टाकते. तुमचा phone DNS वापरून नावाचा IP करतो, जसं 8.7.7.7.
  2. Routers routes वापरून पुढे पाठवतात. Internet वरचं प्रत्येक network (Jio, AWS आणि बाकीचे) सांगत असतं की कुठल्या IP ranges त्याच्या मालकीच्या आहेत. हे सांगणं BGP नावाच्या protocol ने होतं. प्रत्येक router या announcements मधून एक table बनवतो: "ही range असेल तर त्या बाजूला पाठव".
  3. म्हणजे tower ला Snapchat माहिती असायची गरज नाही. त्याला फक्त एवढं माहिती पाहिजे: "8.7.7.7 त्या network च्या range मध्ये आहे; त्या बाजूच्या पुढच्या hop कडे पाठव".

18. तुमचा घरचा WiFi router हाच तुमचा gateway

का? Jio tower मध्ये तुम्ही login करू शकत नाही, पण घरच्या छोट्या box मध्ये करू शकता. तो पण तेच काम करतो, म्हणून gateway स्वतःच्या डोळ्यांनी बघायला ही सगळ्यात चांगली जागा.

Classroom line

Has anyone ever configured the router at home? … Never. … Everyone has one at home these days.

काय? घरी WiFi router हा तुमच्या सगळ्या devices चा gateway असतो:

Device IP (example)
Network 192.168.0.0, network address; हा कुठल्याच device ला दिला जात नाही
WiFi router (gateway) 192.168.0.1
तुमचा phone 192.168.0.2
आईचा phone 192.168.0.3
Laptop 192.168.0.4
  1. घरचे सगळे devices आपले packets router कडे पाठवतात, 192.168.0.1.
  2. हे 192.168.x.x addresses private आहेत; ते फक्त तुमच्या घराच्या आतच चालतात.
  3. Router कडे तुमच्या internet provider ने दिलेला एक public IP असतो, आणि तो सगळं provider च्या gateway कडे पुढे पाठवतो.
  4. तरी तुमचे phones internet वर पोचतात: बाहेर जाताना router त्यांचा private IP बदलून स्वतःचा public IP लावतो (याला NAT म्हणतात) आणि आत येताना परत बदलतो.

काही routers 192.168.0.1 ऐवजी 192.168.1.1 वापरतात. .0 वाला address device साठी किंवा login साठी कधीच वापरायचा नाही.

Your home: the WiFi router is the gateway Home network 192.168.0.0 (network address, not a device) Your phone192.168.0.2 Mom's phone192.168.0.3 Laptop192.168.0.4 WiFi routergateway (LAN side)192.168.0.1 public IP (WAN)203.0.113.25 Internet providergateway → internet Browserhttp://192.168.0.1→ router login screen Private IPs (192.168.x.x) work only inside home.The router swaps them for its public IP (NAT).Some routers use 192.168.1.1.

Figure 8. तुमचं घर: phones ना private IPs 192.168.0.2, .3, .4; router म्हणजे gateway 192.168.0.1, आणि त्याच्याकडे internet provider ने दिलेला एक public IP.

Ravindra Bagale's Tip

खूप students http://192.168.0.0 टाकतात किंवा https लावतात आणि काहीच उघडत नाही. .0 हा network address आहे, router नाही. http://192.168.0.1 अगदी असंच टाका (http, मग colon, मग दोन slash). ते नाही उघडलं तर http://192.168.1.1 try करा.

19. Homework: घरच्या router मध्ये login करा

Classroom line

Go home, open your laptop, put this URL in, and the login screen should come.

घरी करून बघा

  1. तुमचा laptop (किंवा phone) घरच्या WiFi ला connect करा.
  2. Browser उघडा.
  3. http://192.168.0.1 टाइप करा आणि Enter दाबा.
  4. काही उघडलं नाही तर http://192.168.1.1 try करा.
  5. तरी नाही? Windows laptop वर Command Prompt उघडा, ipconfig चालवा, आणि Default Gateway चा address browser मध्ये टाका.
  6. Router ची login screen आली पाहिजे.
  7. Username आणि password साठी router च्या मागचा sticker बघा. साधारण admin / admin असतो.
  8. ते नाही चाललं, तर internet provider ने घरातल्या कोणाचातरी registered mobile number ठेवला असेल. ज्यांनी connection घेतलंय त्यांना विचारा.
  9. Login झाल्यावर WAN किंवा Internet status चं page शोधा.
  10. तीन गोष्टी लिहून घ्या: router चा स्वतःचा IP (192.168.0.1), provider ने दिलेला public IP, आणि provider चा gateway IP.
  11. Connected devices ची list उघडा आणि तुमच्या phones आणि laptop चे private IPs लिहून घ्या.
  12. कुठलीही setting बदलू नका. फक्त बघा, आणि logout करा.
  13. ते तीन IPs पुढच्या class ला घेऊन या.

हे फक्त तुमच्या स्वतःच्या घरच्या router वरच करा.

Classroom line

The username and password are on the back of your router.

Ravindra Bagale's Tip

Username आणि password तुमच्या router च्या मागे असतो. घरातल्या कोणी आधीच बदलला असेल, तर guess करत बसू नका. त्यांना विचारा, किंवा internet provider ला विचारा.

थोडक्यात

थोडक्यात सांगायचं तर

  1. आपण AWS मधल्या cloud server वर practice करतो, म्हणून त्याच्यापर्यंत पोचायला आधी networking शिकतो.
  2. Client आधी request पाठवतो; server database check करून response पाठवतो.
  3. Internet वरच्या प्रत्येक machine ला IP address लागतो. Apps मध्ये domain name असतं; DNS IP देतो.
  4. IPv4 मध्ये 4 parts, प्रत्येक 0 ते 255. 256.0.7.8 हा IP नाही.
  5. 255 नंतर 0, आणि डाव्या part ला +1: 0.0.0.255 + 1 = 0.0.1.0.
  6. 256 × 256 = 65,536. चारही parts: 4,294,967,296, साधारण 429 कोटी, आणि लोक 800 कोटी, devices त्याहून जास्त.
  7. Static की dynamic हे IP कसा दिला जातो त्यावर ठरतं. Offline गेलात की dynamic IPs reuse होतात.
  8. Servers ना fixed IP लागतो (AWS मध्ये Elastic IP), नाहीतर DNS आणि firewall rules तुटत राहतात.
  9. तुमचा packet आधी gateway कडे जातो, मग hop by hop server पर्यंत. Phone DNS वापरतो; routers BGP ने announce केलेले routes वापरतात.
  10. 192.168.0.1 वरचा तुमचा घरचा router हाच तुमचा gateway. आज रात्री login करा.

समजलं का? आज रात्री router मध्ये login करा आणि ते तीन IPs घेऊन या. पुढच्या class मध्ये IPs मध्ये आणखी खोल जाऊ.


Ravindra Bagale, trainer: linkedin.com/in/ravindra-bagale. Board वरचे सगळे IPs शिकण्यासाठीचे dummy numbers आहेत. Snapchat AWS Mumbai मध्ये हे "समजा" example आहे, Snapchat बद्दलची खरी माहिती नाही.