संगणक एकमेकांना कसे शोधतात आणि बोलतात, ते शाळेच्या पोस्ट रूमच्या रूपात शिकवलेले: पत्ता, खोली क्रमांक, रस्ता आणि पावती. प्रत्येक धडा म्हणजे क्रमांकित आकृती असलेली शाळेची गोष्ट — आणि पोस्ट रूम रेपोच्या आतच आहे: खरे sockets उघडणारी, DNS प्रश्न आणि HTTP विनंती हाताने लिहिणारी, आणि TLS certificate वाचणारी शून्य-dependency Python लॅब.
पोहोच-साखळी: थर · नोंदणीकृत टपाल विरुद्ध लाउडस्पीकर 📦📬
निर्देशिका: DNS 📖
🏗️ भाग 2 — इमारत (7–12)
तारेवरची चिठ्ठी: HTTP/1.1, 2, 3 📨
सील केलेला लखोटा: TLS आणि certificates 🔒
कॉरिडॉरचा नकाशा: routing, gateways, BGP 🧭
गेट: firewalls, NAT, VPN 🚧
स्वागत कक्ष आणि वाचकाजवळची प्रत: load balancers, CDN 🏪
तपासणीची शिडी: debugging 🔧
# the 60-second wow — real packets, no libraries:
git clone https://github.com/BaluRaut/learn-networking-school.git && cd learn-networking-school
python3 net/demo.py # TCP handshake, lossy UDP, a DNS question by hand, HTTP by hand, a TLS certificate
bash net/lab.sh example.com # the debugging ladder: dig → ping → traceroute → nc → openssl → curl
तुम्हाला काय दिसायला हवे (छाटलेले — यश असे दिसते):
── TCP — the registered post: connect (handshake), then bytes arrive complete and in order
my socket ('127.0.0.1', NNNNN) ↔ the clerk's socket ('127.0.0.1', NNNNN) (ip:port on both ends = one connection)
sent 3 pieces; the clerk answered: receipt: 31 bytes from 127.0.0.1:NNNNN
the shape: a connection first, then a reliable ordered byte stream — you add the message boundaries (newline, length, HTTP)
── UDP — the loudspeaker: no connection, one datagram at a time, and some never arrive
10 announcements made, 6 reached the corridor, 6 heard: ['announcement 0', 'announcement 2', 'announcement 4', 'announcement 5', 'announcement 7', 'announcement 9']
the shape: cheap and fast, no ordering, no retransmit — DNS, video, games; anything else wants TCP
── Ports — room numbers: a quick knock on the usual doors of this machine
127.0.0.1:22 ssh closed
127.0.0.1:80 http closed
127.0.0.1:443 https closed
127.0.0.1:NNNNN postgres open ← someone is listening
127.0.0.1:NNNNN redis closed
127.0.0.1:NNNNN the API school's counter closed
127.0.0.1:NNNNN the auth demo closed
the shape: an address says WHICH computer, a port says WHICH program; 0–1023 are the well-known rooms
── DNS — the directory: ask 8.8.8.8 'what is the address of example.com?' — one UDP packet each way
sent 29 bytes · got 61 bytes · id matches: True · answers: 2 · flags 0x8180
A record → 172.66.147.243 ttl 300s (the directory says: cache me this long)
A record → 104.20.23.154 ttl 300s (the directory says: cache me this long)
the shape: a name → an IP, cached by TTL, asked over UDP port 53; 'is it DNS?' is the first question of every outage
── HTTP — the slip in the envelope: a GET to example.com, typed by hand on port 80
→ GET / HTTP/1.1 · Host: example.com
← HTTP/1.1 200 OK · Content-Type: text/html
← body: 571 bytes (HTTP is just text over a TCP stream; the API school lives one layer up)
── TLS — the sealed envelope: handshake with example.com:443 and read its certificate
protocol TLSv1.2 · cipher ECDHE-ECDSA-CHACHA20-POLY1305
certificate for: example.com issued by: SSL Corporation valid until: Oct 27 22:17:21 2026 GMT
also valid for: ['example.com', '*.example.com']
the shape: the server proves its name with a certificate a CA signed; then the envelope is sealed — HTTPS, and every 'S'
── Route — which corridor? the address this machine would use to reach the internet, and its default gateway
my outward-facing address: 192.168.x.x (a private address → NAT at the gate turns it into the school's one public address)
run `traceroute 8.8.8.8` (or `tracert`) to see every corridor: your router → your ISP → an exchange → Google; each hop is a router forwarding by prefix
✅ the post room: addresses and rooms (IP:port) · registered post vs loudspeaker (TCP/UDP) · the directory (DNS) · the slip (HTTP) · the seal (TLS) · the corridors (routes)
🎒 धडा 01 आधी: तुम्हाला Python 3 आणि terminal लागतो; लॅबचे online भाग internet शिवाय सभ्यपणे वगळले जातात. चांगले शेजारी: API शाळा (लखोट्यात काय प्रवास करते), AWS शाळा (VPC, subnets आणि security groups म्हणजे याच कल्पना तासावर भाड्याने) आणि Kubernetes शाळा (Services आणि Ingress म्हणजे cluster मधला धडा 11). हे काय नाही: CCNA कोर्स — switch configuration नाही, spanning tree नाही; डेव्हलपर किंवा SRE ला दर आठवड्याला भेटणाऱ्या कल्पना.
एक git ब्रँच = एक कल्पना; ब्रँच 04 मध्ये धडे 01–04 आहेत. लॅब साध्या Python 3 आणि तुमच्या मशीनवर आधीच असलेल्या साधनांनी चालतात.
1
📮 Networking का
शाळेचे टपाल — पत्राला पत्ता, खोली क्रमांक आणि प्रवासाचा रस्ता असेल तरच दोन संगणक बोलू शकतात.lesson-01-why-networkingधडा वाचा →आकृती पहा ↗
2
🏫 IP पत्ते & subnets
इमारतीचा पत्ता — IPv4, IPv6, CIDR विभाग, खाजगी पल्ले, आणि गेटवरचा एकच सार्वजनिक पत्ता (NAT).lesson-02-ip-addressesधडा वाचा →आकृती पहा ↗
3
🚪 Ports & sockets
खोली क्रमांक — port कोणता प्रोग्राम ते सांगतो; socket म्हणजे एका खोलीतले एक बाक; सुप्रसिद्ध खोल्या 0–1023.lesson-03-ports-socketsधडा वाचा →आकृती पहा ↗
4
📦 थर (layers)
पोहोच-साखळी — पत्र, लखोटा, पिशवी, व्हॅन, रस्ता: Ethernet वर IP वर TCP वर HTTP, आणि प्रत्येक थर फक्त शेजाऱ्याला का ओळखतो.lesson-04-layersधडा वाचा →आकृती पहा ↗
5
📬 TCP विरुद्ध UDP
नोंदणीकृत टपाल विरुद्ध लाउडस्पीकर — TCP चा handshake, पावत्या आणि क्रम; UDP चे स्वस्त, हरवणारे आवाज.lesson-05-tcp-udpधडा वाचा →आकृती पहा ↗
6
📖 DNS
शाळेची निर्देशिका — नावाचा पत्ता होतो; resolvers, records, TTL, आणि 'DNS आहे का?' ने प्रत्येक outage का सुरू होते.lesson-06-dnsधडा वाचा →आकृती पहा ↗
🏗️ भाग 2 — इमारत (धडे 7–12)
तुमचा लॅपटॉप आणि production मधला server यांच्यामधले सगळे, प्रत्येक तुकडा तुमच्याकडे आधीच असलेल्या साधनांनी दाखवलेला.
7
📨 तारेवरचे HTTP
लखोट्यातली चिठ्ठी — request line, headers, body; keep-alive; HTTP/1.1, /2 आणि /3 (QUIC).lesson-07-http-on-the-wireधडा वाचा →आकृती पहा ↗
8
🔒 TLS & certificates
सील केलेला लखोटा — certificates, सही करणारी CA, handshake, SNI; HTTPS आणि प्रत्येक 'S' का.lesson-08-tlsधडा वाचा →आकृती पहा ↗
9
🧭 Routing & internet
कॉरिडॉरचा नकाशा — default gateway, prefix नुसार पुढे पाठवणारे routers, traceroute चे hops, MTU, आणि एका परिच्छेदात BGP.lesson-09-routingधडा वाचा →आकृती पहा ↗
10
🚧 Firewalls, NAT & VPN
गेट — परवानगी-याद्या, stateful नियम, security groups, NAT, SSH बोगदे आणि VPN: कोणत्या खोलीत कोण जाऊ शकते.lesson-10-firewalls-nat-vpnधडा वाचा →आकृती पहा ↗
11
🏪 Load balancers, proxies & CDN
स्वागत कक्ष — L4 विरुद्ध L7, reverse proxies, health checks, sticky sessions, आणि वाचकाजवळची प्रत (CDN).lesson-11-load-balancers-cdnधडा वाचा →आकृती पहा ↗
12
🔧 Network चे debugging
तपासणीची शिडी — DNS → पोहोच → route → port → TLS → HTTP → logs; latency विरुद्ध bandwidth; साधनपेटी.lesson-12-debuggingधडा वाचा →आकृती पहा ↗
🗣️ मोठ्याने समजावा — धडा 12 नंतर: (1) दोन लॅपटॉप दोन्ही 192.168.0.12 आहेत — दोघेही example.com कसे गाठतात? (2) 'Connection refused' विरुद्ध 'timed out' — कोणते firewall आहे, आणि का? (3) DNS UDP का वापरते पण HTTP TCP का? (4) certificate काय सिद्ध करते, आणि काय सिद्ध करत नाही? (5) एक साइट भारतातून हळू आणि Frankfurt मधून वेगवान आहे — latency की bandwidth, आणि CDN काय बदलेल? (6) 'ॲप बंद आहे' साठी शिडी चढा आणि प्रत्येक पायरीवरचे साधन सांगा.
प्रत्येक धडा एका क्रमांकित बॉक्स-आणि-बाण आकृतीत — स्वतंत्र पानावरही.
1 📮 Networking का
शाळेचे टपाल — पत्राला पत्ता, खोली क्रमांक आणि प्रवासाचा रस्ता असेल तरच दोन संगणक बोलू शकतात.
🧒 सोप्या शब्दांत
दोन computers मधला संदेश म्हणजे दुसऱ्या शाळेला पत्र पाठवण्यासारखे. त्याला इमारतीचा पत्ता, आतला खोली क्रमांक आणि प्रवासासाठी रस्ता लागतो, आणि उत्तर त्याच मार्गाने परत येते. प्रत्येक पत्र योग्य खोलीत पोहोचेल याची खात्री करणारे नियम म्हणजेच networking.
📖 नवे शब्दIP address — इमारतीचा पत्ता, उदा. 93.184.216.34port — खोली क्रमांक: पत्र कोणत्या program ला मिळणारpacket — network वरून प्रवास करणारे एक छोटे पत्रDNS — example.com सारख्या नावाचे पत्त्यात रूपांतर करणारी directory
⏪ आधी
समान नियमांशिवाय दोन computers म्हणजे पत्ता, room किंवा रस्ता नसताना गर्दीत ओरडणारी दोन माणसे.
💡 काय
networking म्हणजे शाळेचे post: प्रत्येक request हे पत्ता, room number, रस्ता आणि उत्तर असलेले पत्र आहे.
⚙️ कसे
तुमचा laptop 192.168.0.12 हा GET /grades पत्ता 93.184.216.34 च्या room 443 ला hop by hop पाठवतो, आणि 200 OK त्याच रस्त्याने परत येते.
🎯 का
page load होत नसेल तर कुठे, कोणती room, कोणता रस्ता आणि उत्तर हे चार प्रश्न माहीत असले की कुठे पाहायचे ते कळते.
🚀 पुढे
पत्राच्या प्रत्येक भागाला स्वतःचा lesson आहे: IP addresses, ports, layers, DNS, आणि lesson 09 मध्ये रस्ता स्वतः.
🧪 Try it here — पत्रावर पत्ता लिहा: नाव आणि service निवडा, पाकिटावरची माहिती पहा
इमारतीचा पत्ता — IPv4, IPv6, CIDR विभाग, खाजगी पल्ले, आणि गेटवरचा एकच सार्वजनिक पत्ता (NAT).
🧒 सोप्या शब्दांत
गावातल्या प्रत्येक इमारतीला पत्ता असतो, आणि मोठी शाळा wings मध्ये विभागलेली असते. IPv4 पत्ता म्हणजे 192.168.0.12 सारखे चार आकडे: पहिला भाग wing सांगतो आणि शेवटचा भाग खोली. शाळेच्या आत खोल्या private पत्ते वापरतात, आणि gate बाहेरच्या जगाला फक्त एकच public पत्ता दाखवते.
📖 नवे शब्दIPv4 — 192.168.0.12 सारख्या चार आकड्यांत लिहिलेला 32-bit पत्ताsubnet — एक wing: ज्यांचा पहिला भाग सारखा आहे असे पत्ते/24 — पहिले 24 bits wing सांगतात, 256 पत्ते उरतातprivate address — फक्त आतला पत्ता, जसे 192.168.x.xNAT — private पत्त्यांच्या जागी एक public पत्ता लावणारे gate
⏪ आधी
पत्त्याशिवाय पत्राला जायला इमारतच नसते, आणि कोणत्या machines एकाच corridor मध्ये आहेत हेही कळत नाही.
💡 काय
IP address म्हणजे इमारतीचा पत्ता; IPv4 हा 32 bits चा असतो, 192.168.0.12 सारखा चार अंक आणि dots ने लिहिलेला.
⚙️ कसे
192.168.0.0/24 मध्ये पहिले 24 bits wing सांगतात, म्हणून 256 addresses: .0 network, .1 ते .254 hosts, .255 broadcast.
🎯 का
subnets ठरवतात कोण थेट बोलतो आणि कोण router मार्गे जातो, आणि NAT मुळे पूर्ण इमारत एकच public address वापरते.
🚀 पुढे
cloud VPCs आणि Kubernetes pod networks याच CIDR wings ने आखले जातात, म्हणून हे गणित प्रत्येक cloud design मध्ये येते.
🧪 Try it here — prefix सह पत्ता लिहा आणि तो कोणत्या विभागात आहे ते पहा
खोली क्रमांक — port कोणता प्रोग्राम ते सांगतो; socket म्हणजे एका खोलीतले एक बाक; सुप्रसिद्ध खोल्या 0–1023.
🧒 सोप्या शब्दांत
एका शाळेच्या इमारतीत अनेक खोल्या असतात, म्हणून पत्रावर कोणत्या खोलीसाठी ते लिहावे लागते. computer वर पत्ता machine शोधतो आणि port क्रमांक program शोधतो: website साठी 443, ssh साठी 22. socket म्हणजे एक संभाषण, एका desk सारखे, दोन्ही बाजूंच्या पत्त्यांनी आणि ports नी ओळखले जाणारे.
📖 नवे शब्दport — संदेश कोणत्या program ला मिळणार ते ठरवणारा 0 ते 65535 मधला आकडाsocket — एक संभाषण: तुमचा पत्ता आणि port, अधिक त्यांचेwell-known ports — 0–1023, 80 आणि 443 सारख्या ठरलेल्या सेवांसाठी राखीवlisten — आपल्या खोलीत पाहुण्यांची वाट पाहणारा program
⏪ आधी
फक्त पत्त्याने इमारत गाठता येते, पण एकाच server वर ssh, web आणि database असताना पत्राला कोणता program ते कळत नाही.
💡 काय
port म्हणजे 0 ते 65,535 मधला room number, आणि socket म्हणजे एक संवाद: दोन addresses आणि दोन ports.
⚙️ कसे
server 443 सारख्या ठरलेल्या room मध्ये ऐकतो, तर client प्रत्येक desk साठी 49152 ते 65535 मधला तात्पुरता port घेतो.
🎯 का
यामुळे "address already in use" सारख्या errors समजतात, आणि अनेक visitors एकाच वेळी room 443 मध्ये वेगवेगळ्या desks वर बसू शकतात.
🚀 पुढे
lesson 10 मधले firewalls म्हणजे visitors कोणत्या rooms वर knock करू शकतात याची list, याच port numbers वर बांधलेली.
🧪 Try it here — खोली क्रमांकावर टकटक करा — आणि चार-आकड्यांचा नियम पाहायला desks उघडा
पोहोच-साखळी — पत्र, लखोटा, पिशवी, व्हॅन, रस्ता: Ethernet वर IP वर TCP वर HTTP, आणि प्रत्येक थर फक्त शेजाऱ्याला का ओळखतो.
🧒 सोप्या शब्दांत
पार्सल पाठवताना पत्र पाकिटात जाते, पाकीट टपाल पिशवीत, पिशवी van मध्ये. प्रत्येक मदतनीस फक्त आपले लेबल वाचतो आणि आत काय आहे याची पर्वा करत नाही. networks असेच काम करतात, म्हणूनच website ला कळू न देता तुम्ही cable वरून Wi-Fi वर जाऊ शकता.
📖 नवे शब्दlayer — पोहोचवण्याच्या साखळीतला एक काम करणारा मदतनीसencapsulation — गुंडाळणे: प्रत्येक layer पुढे आपले लेबल लावतोheader — layer लावतो ते लेबल, जसे 'कडून' आणि 'कडे'MTU — रस्त्यावर चालणारी सर्वात मोठी पिशवी, सुमारे 1,500 bytes
⏪ आधी
एकाच program ने Wi-Fi signals, routing आणि web pages सगळे एकदम हाताळले तर कोणताही बदल सर्व काही मोडेल.
💡 काय
layers म्हणजे delivery chain: TCP envelope मधले HTTP पत्र, ते IP bag मध्ये, आणि ते Ethernet van मध्ये.
⚙️ कसे
प्रत्येक layer पुढे स्वतःचा header जोडतो, Eth 14 + IP 20 + TCP 20 bytes, त्यामुळे प्रत्येक frame मध्ये 1460 bytes पर्यंत data.
🎯 का
प्रत्येक helper फक्त स्वतःचे label वाचतो, म्हणून HTTP ला कळत नकळत Wi-Fi बदलू शकते आणि एकेक layer debug करता येतो.
🚀 पुढे
पुढचे lessons एकेक envelope उघडतात: TCP आणि UDP, DNS, HTTP, TLS, आणि मग routing चा रस्ता.
नोंदणीकृत टपाल विरुद्ध लाउडस्पीकर — TCP चा handshake, पावत्या आणि क्रम; UDP चे स्वस्त, हरवणारे आवाज.
🧒 सोप्या शब्दांत
registered post प्रत्येक तुकड्याला क्रमांक आणि पावती देते, म्हणून हरवलेले तुकडे पुन्हा पाठवले जातात आणि क्रमाने पोहोचतात: सुरक्षित, पण हळू. शाळेचा loudspeaker फक्त ओरडतो: जलद आणि स्वस्त, पण एखादा शब्द चुकला तर कोणी पुन्हा सांगत नाही. TCP म्हणजे registered post आणि UDP म्हणजे loudspeaker; खात्री महत्त्वाची की वेग, त्यावरून निवडा.
📖 नवे शब्दTCP — भरवशाची डिलिव्हरी: क्रमांक, पावती, पुन्हा पाठवणे, क्रम टिकवणेUDP — जलद आरोळ्या: पावती नाही, काही हरवूही शकतातhandshake — TCP बोलायला लागण्याआधीचे 'चालेल का? / हो, मी? / हो'ACK — 'मिळाले' सांगणारी पावती
⏪ आधी
network pieces हरवते आणि क्रम बिघडवते, म्हणून नियमांशिवाय file मध्ये भोके किंवा चुकीच्या क्रमातील पाने येऊ शकतात.
💡 काय
TCP म्हणजे क्रमांक आणि पावत्या असलेले registered post; UDP म्हणजे handshake किंवा पावतीशिवाय ओरडणारा loudspeaker.
⚙️ कसे
TCP SYN, SYN-ACK, ACK ने सुरू होतो आणि हरवलेले pieces पुन्हा पाठवतो; UDP demo मध्ये 30% loss, दहा पैकी सात आवाज ऐकू येतात.
🎯 का
खात्रीसाठी एक round trip आणि buffers मोजावे लागतात, म्हणून files आणि pages साठी TCP, आणि जलद loss चालणाऱ्या traffic साठी UDP.
🚀 पुढे
पुढच्या lesson मध्ये DNS UDP port 53 वर चालतो, आणि HTTP/3 QUIC वापरून UDP वरच स्वतःची reliability बांधतो.
🧪 Try it here — गळक्या कॉरिडॉरमधून दहा तुकडे दोन्ही प्रकारे पाठवा
शाळेची निर्देशिका — नावाचा पत्ता होतो; resolvers, records, TTL, आणि 'DNS आहे का?' ने प्रत्येक outage का सुरू होते.
🧒 सोप्या शब्दांत
तुम्हाला मित्राचे नाव माहीत आहे पण घर क्रमांक नाही, म्हणून तुम्ही directory पाहता. DNS ही internet ची directory आहे: ती example.com चे 93.184.216.34 करते. कोणत्याही एका server ला सगळी नावे माहीत नसतात, म्हणून प्रत्येक जण पुढे कुठे विचारायचे ते सांगतो, आणि उत्तर काही वेळ लक्षात ठेवले जाते म्हणजे पुढचा शोध लगेच होतो.
📖 नवे शब्दDNS — नावांचे पत्त्यांत रूपांतर करणारी directoryresolver — तुमच्यासाठी चौकशी करणारा आणि उत्तरे लक्षात ठेवणारा मदतनीसA record — 'हे नाव या IPv4 पत्त्यावर राहते' सांगणारी ओळTTL — उत्तर किती seconds लक्षात ठेवता येते, उदा. 300
⏪ आधी
directory नसती तर example.com टाइप करण्याऐवजी 93.184.216.34 लक्षात ठेवावे लागले असते.
💡 काय
DNS ही शाळेची directory आहे जी example.com सारखे नाव address मध्ये बदलते, A, AAAA आणि CNAME सारखे records वापरून.
⚙️ कसे
तुमचा resolver आधी root, मग .com, मग example.com ला विचारतो आणि A 93.184.216.34 हे TTL 300 seconds साठी cache करतो.
🎯 का
जवळजवळ प्रत्येक request lookup ने सुरू होतो, म्हणून चुकीचा record किंवा जुना cache म्हणजे पूर्ण site बंद असल्यासारखे दिसते.
🚀 पुढे
म्हणूनच lesson 12 च्या triage ladder ची पहिली पायरी "is it DNS?" आहे, आणि dig हे पहिले tool.
🧪 Try it here — नाव पावलापावलाने resolve करा — दुसऱ्यांदा ते cache मधून येते
पाकिटाच्या आत एक साधी लिहिलेली चिठ्ठी असते: तुम्हाला काय हवे, कोणते पान, काही नोंदी, आणि कदाचित काही मजकूर. server 200 OK सारखी स्थिती आणि उत्तर असलेली चिठ्ठी परत लिहितो. HTTP म्हणजे फक्त तो मजकूर, आणि नव्या आवृत्त्यांत अनेक चिठ्ठ्या एकाच वेळी एकच रस्ता वापरू शकतात.
📖 नवे शब्दHTTP — web ची साध्या मजकुरातली विचारा-आणि-उत्तर भाषाmethod — क्रियापद, जसे आणायला GET किंवा पाठवायला POSTstatus code — एक आकडा: 2xx ठीक, 4xx तुमची चूक, 5xx त्यांचीheader — 'name: value' अशी नोंद, जसे Content-Typekeep-alive — अनेक requests साठी एकच connection पुन्हा वापरणे
⏪ आधी
ठरलेल्या format शिवाय browser आणि server ला request कुठे संपते किंवा उत्तराचा अर्थ काय हे कळणार नाही.
💡 काय
HTTP म्हणजे envelope मधली साध्या text ची चिठ्ठी: request line, headers, एक रिकामी ओळ, आणि मग हवी तर body.
⚙️ कसे
GET /v1/students/2 HTTP/1.1 जातो, आणि HTTP/1.1 200 OK हे Content-Length: 38 आणि 38 bytes JSON सह परत येते.
🎯 का
status codes दोष कोणाचा ते सांगतात: 2xx ok, 3xx दुसरीकडे, 4xx तुमची चूक, 5xx त्यांची चूक.
🚀 पुढे
HTTP/2 एकच connection वाटून घेतो आणि HTTP/3 QUIC वर चालतो, आणि API school सगळे याच चिठ्ठीवर बांधते.
🧪 Try it here — request बांधा आणि नेमके bytes पहा; status code निवडा आणि वाचा
सील केलेला लखोटा — certificates, सही करणारी CA, handshake, SNI; HTTPS आणि प्रत्येक 'S' का.
🧒 सोप्या शब्दांत
postcard वाटेतला प्रत्येक पोस्टमन वाचू शकतो; बंद पाकीट नाही. TLS तुमचे संदेश सील करते, म्हणजे वाटेत कोणी ते वाचू किंवा बदलू शकत नाही. आधी website तुमच्या computer चा आधीच विश्वास असलेल्या कोणीतरी सही केलेले ओळखपत्र दाखवते, म्हणजे ती खरीच तीच आहे हे कळते, आणि मग दोन्ही बाजू एका गुप्त key वर सहमत होतात.
📖 नवे शब्दTLS — वाटेत संदेश खाजगी आणि न बदललेले ठेवणारे सीलcertificate — website चे ओळखपत्र, ठरावीक काळासाठी वैध (उदा. 90 दिवस)CA — ती ओळखपत्रे सही करणारे विश्वासू कार्यालयHTTPS — TLS सीलच्या आत प्रवास करणारे साधे HTTP
⏪ आधी
साधे HTTP म्हणजे postcard: रस्त्यावरचा कोणीही तुमचा password वाचू शकतो किंवा page पोहोचण्यापूर्वी बदलू शकतो.
💡 काय
TLS envelope बंद करतो: certificate server कोण आहे ते सिद्ध करतो, मग पुढचे सर्व encrypted आणि tamper-proof असते.
⚙️ कसे
TLS 1.3 मध्ये browser SNI आणि key share पाठवतो, cert ते CA ते trusted root तपासतो, मग दोघांकडे एकच session key.
🎯 का
HTTPS आणि इतर अनेक protocols मधला S हाच आहे, जो प्रत्येक अविश्वसनीय network वर logins, payments आणि data वाचवतो.
🚀 पुढे
Let's Encrypt सारखे certificates 90 दिवस टिकतात, म्हणून खऱ्या teams expiry मुळे site बंद पडण्याआधी renewal automate करतात.
🧪 Try it here — browser तपासतो तसे certificate तपासा
कॉरिडॉरचा नकाशा — default gateway, prefix नुसार पुढे पाठवणारे routers, traceroute चे hops, MTU, आणि एका परिच्छेदात BGP.
🧒 सोप्या शब्दांत
टपाल कार्यालयातल्या कोणालाच पूर्ण देशाचा नकाशा माहीत नसतो. प्रत्येक sorting office ला फक्त तुमची पिशवी पुढे कोणत्या दाराने पाठवायची ते माहीत असते, hop by hop, ती पोहोचेपर्यंत. routers असेच करतात: घरचा router ओळखत नसलेले सगळे तुमच्या internet provider कडे पाठवतो, आणि मोठी networks एकमेकांना कोणते पत्ते गाठता येतात ते सांगतात.
📖 नवे शब्दrouter — packets पुढच्या hop कडे पाठवणारे sorting officehop — एका router पासून पुढच्या router पर्यंतचे एक पाऊलdefault gateway — 'खात्री नसेल तर इथे पाठवा', सहसा घरचा routerBGP — मोठी networks कोणते पत्ते गाठू शकतात ते कसे जाहीर करतातtraceroute — वाटेतला प्रत्येक hop दाखवणारे tool
⏪ आधी
कोणतेही एक machine सर्व ~75,000 networks चा रस्ता जाणू शकत नाही, म्हणून routing शिवाय packet ला कुठे जायचे ते कळणार नाही.
💡 काय
routing म्हणजे hop-by-hop delivery: प्रत्येक router फक्त प्रत्येक address prefix साठी पुढचा corridor जाणतो.
⚙️ कसे
route सांगतो की THIS prefix साठी bag THAT पुढच्या दाराला द्या; सर्वात लांब match जिंकतो आणि 0.0.0.0/0 हा default.
🎯 का
traceroute रस्ता कुठे संपतो ते दाखवतो, म्हणून local router ची अडचण आणि internet वर दूरची अडचण वेगळी ओळखता येते.
🚀 पुढे
networks दरम्यान "I have 93.184.0.0/16" सारख्या BGP announcements या tables बनवतात, आणि cloud route tables असेच चालतात.
🧪 Try it here — route table मध्ये पत्ता शोधा — सगळ्यात लांब prefix जिंकतो — मग रस्ता trace करा
गेट — परवानगी-याद्या, stateful नियम, security groups, NAT, SSH बोगदे आणि VPN: कोणत्या खोलीत कोण जाऊ शकते.
🧒 सोप्या शब्दांत
शाळेच्या gate वर यादी घेतलेला पहारेकरी असतो: पाहुणे office मध्ये जाऊ शकतात, बाकी सगळ्यांना परत पाठवले जाते. firewall computers साठी हेच करते, यादीतले सोडून प्रत्येक port बंद ठेवते. NAT मुळे संपूर्ण शाळा एकच public पत्ता वापरते, आणि VPN म्हणजे दूरवरून इमारतीत येणारा खाजगी झाकलेला रस्ता.
📖 नवे शब्दfirewall — कोणते ports, कुठून गाठता येतात ते सांगणारी gate ची यादीdeny by default — यादीत नसलेले सगळे बंदstateful — तुम्ही पाठवलेल्याची उत्तरे आपोआप आत येऊ दिली जातातNAT — अनेक private machines एकच public पत्ता वापरतातVPN — दूरवरूनही तुम्हाला 'आत' आणणारा encrypted बोगदा
⏪ आधी
प्रत्येक room उघडा असलेल्या server वर कोणताही visitor database port वर knock करू शकतो, म्हणजे सहज घुसखोरी.
💡 काय
firewall म्हणजे list असलेले gate जे default ने नकार देते; NAT आणि VPNs gate कसे पार करायचे ते ठरवतात.
⚙️ कसे
443 सर्वांसाठी, 22 फक्त office IP साठी allow, बाकी deny; NAT 192.168.0.12:51234 ला 203.0.113.7:40001 असे बदलते.
🎯 का
refused म्हणजे रिकामी room आणि timed out म्हणजे gate हे माहीत असले की connection fail झाल्यावर तासन्तास वाचतात.
🚀 पुढे
cloud मध्ये हेच gate security groups बनते, आणि SSH tunnels व VPNs मुळे teams खाजगी rooms पर्यंत सुरक्षित पोहोचतात.
🧪 Try it here — port आणि source घेऊन दारावर टकटक करा; नियम ठरवताना पहा
स्वागत कक्ष — L4 विरुद्ध L7, reverse proxies, health checks, sticky sessions, आणि वाचकाजवळची प्रत (CDN).
🧒 सोप्या शब्दांत
गर्दीच्या शाळेत अनेक counters समोर एकच reception desk असतो. पाहुणे desk ला विचारतात, आणि desk प्रत्येकाला चालू, मोकळ्या counter कडे पाठवतो, बंद पडलेले counter वगळून. load balancer websites साठी हेच करतो, आणि CDN चित्रांच्या प्रती तुमच्या जवळच्या शाखेत ठेवतो म्हणजे ती लवकर पोहोचतात.
📖 नवे शब्दload balancer — प्रत्येक पाहुण्याला अनेक servers पैकी एकाकडे पाठवतोhealth check — नियमित 'ठीक आहात ना?' म्हणजे बिघडलेले servers वगळले जातातreverse proxy — तुमच्या वतीने servers शी बोलणारा पुढचा deskL4 vs L7 — L4 फक्त पत्ते आणि ports वाचतो; L7 HTTP request सुद्धा वाचतोCDN — जगभरातील वाचकांच्या जवळ ठेवलेल्या files च्या प्रती
⏪ आधी
एका नावामागे एकच server असेल तर हजारो visitors आल्यावर तो कोसळतो, आणि तो आजारी पडला तर पूर्ण site बंद.
💡 काय
load balancer म्हणजे reception desk: अनेक counters समोर एकच नाव, जे प्रत्येक visitor ला निरोगी counter कडे पाठवते.
⚙️ कसे
दर काही seconds ला health checks आजारी counters वगळतात, आणि round-robin, least connections किंवा sticky cookies पुढचा निवडतात.
🎯 का
एका नावामागे rooms वाढवून तुम्ही scale करता, आणि TLS desk वरच संपू शकतो त्यामुळे counters सोपे राहतात.
🚀 पुढे
Kubernetes Service आणि Ingress हीच desk आहे, आणि CDN प्रत्येक वाचकाजवळ copy ठेवून pages जलद करतो.
🧪 Try it here — पाहुणे desk कडे पाठवा आणि प्रत्येकाला कोणता counter मिळतो ते पहा
तपासणीची शिडी — DNS → पोहोच → route → port → TLS → HTTP → logs; latency विरुद्ध bandwidth; साधनपेटी.
🧒 सोप्या शब्दांत
'internet बंद आहे' असे वाटले की शिडी चढल्यासारखे तपासा: नावावरून पत्ता मिळतो का, machine पर्यंत पोहोचता येते का, रस्ता तिथवर जातो का, खोली उघडी आहे का, सील वैध आहे का, server ने काय उत्तर दिले? जी पहिली पायरी अपयशी ठरते ती problem कुठे आहे ते सांगते, म्हणजे अंदाज लावणे थांबते.
📖 नवे शब्दtriage — आधी काय बिघडले ते शोधायला ठरलेल्या क्रमाने तपासणेping — machine ला पाठवलेली 'आहेस का?' चाचणीlatency — एक संदेश पोहोचायला किती वेळ लागतोbandwidth — प्रत्येक second ला किती data वाहू शकतो
⏪ आधी
"site बंद आहे" तेव्हा अंदाजाने शोधले तर तास वाया जातात, कारण दोष अनेक layers पैकी कुठेही असू शकतो.
💡 काय
triage ladder च्या सात पायऱ्या: DNS, reach, route, port, TLS, HTTP, logs; जी पहिली पायरी fail होते तीच कारण सांगते.
⚙️ कसे
dig, ping, traceroute, nc -zv host 443, openssl s_client आणि curl -v ने चढा; net/lab.sh सातही पायऱ्या एकदम चालवतो.
🎯 का
शांत, क्रमाने केलेली तपासणी भीतीदायक outage ला एका तुटलेल्या पायरीत बदलते, आणि latency व bandwidth अडचणी वेगळ्या करते.
🚀 पुढे
capstone मध्ये तुम्ही मुद्दाम काहीतरी मोडून ते शोधता; हीच सवय production मधला प्रत्येक on-call engineer वापरतो.
🧪 Try it here — मुद्दाम काहीतरी मोडा, मग पायरी नापास होईपर्यंत शिडी चढा