4 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Internet आवाज़, वीडियो और टेक्स्ट को बिजली, रोशनी और रेडियो तरंगों के पैटर्न में बदलकर कई स्वतंत्र operators के उपकरणों से गुज़ारता है, और किसी केंद्रीय नियंत्रक या पूरे path को जानने वाली एकल इकाई के बिना हर hop के local निर्णयों से data आगे बढ़ता है
  • telegraph की digital regeneration, telephone network का circuit switching, packet switching, Ethernet, IP, TCP, DNS और TLS कोई तैयार blueprint के हिस्से नहीं थे, बल्कि हर दौर की भौतिक और operational सीमाओं को हल करते हुए जमा हुए protocols थे
  • IP केवल best-effort delivery संभालता है, जिसमें loss, duplicate और order change की अनुमति होती है; TCP endpoints पर retransmission, order restore और congestion control करता है, DNS नाम को address में बदलता है और TLS authentication व encryption जोड़ता है
  • जब कोई web page पहली बार खोला जाता है, तो content transfer से पहले DNS lookup, TCP connection और TLS handshake के लिए कई round trips चाहिए होते हैं, इसलिए केवल high bandwidth से latency की वजह से होने वाली slow start खत्म नहीं होती
  • simple IP layer और open standards की वजह से HTTP, VPN, WebRTC, QUIC जैसे नए protocols को existing routers की permission या replacement के बिना deploy किया जा सकता है, और Internet नई ज़रूरतें सामने आते ही हर layer की सीमाओं को लगातार सुधारता रहता है

भौतिक signal से bit तक

  • Internet communication संदेश को Wi-Fi radio waves, copper wire के electrical pulses और fiber optics की light में लगातार बदलता है, और दूसरी तरफ़ उल्टे क्रम में उसे फिर से बहाल करता है
    • devices और cables को लाखों conversations साझा करती हैं, और data कई देशों की स्वतंत्र कंपनियों के मालिकाना उपकरणों से होकर गुजरता है
    • कोई central computer traffic को निर्देशित नहीं करता; हर device केवल अगला route चुनता है
  • Internet एक बार में design नहीं किया गया था, और packet switching, TCP, DNS, TLS बाद में जोड़े गए ताकि पहले से चल रहे network की खास समस्याएँ हल की जा सकें
  • हर link का मूल सिद्धांत यह है कि एक तरफ़ कोई physical quantity बदली जाए और दूसरी तरफ़ agreed timing पर उसे मापा जाए
    • तनी हुई डोरी mechanical vibration पहुँचा सकती है, लेकिन दूरी बढ़ने पर friction और ढीलापन signal को कमज़ोर कर देते हैं
    • copper wire voltage, fiber optics laser, और Wi-Fi radio waves के रूप में बदलाव करके bits को ढोते हैं

digital communication और protocol की नींव रखने वाला telegraph

  • network शब्द मूल रूप से धागों या रस्सियों के एक-दूसरे को काटते हुए बने जाल के रूप को दर्शाता था, और 19वीं सदी की शुरुआत में canal और railway networks से होते हुए 1840 के दशक में telegraph के wires और relay stations की व्यवस्था के लिए इस्तेमाल होने लगा
  • 1844 में Samuel Morse ने Washington से Baltimore तक “What hath God wrought” भेजा
    • Morse code आवाज़ को ज्यों का त्यों भेजने के बजाय छोटे और लंबे electrical pulses जैसे discrete symbols भेजने वाला एक digital network था
    • relay कमजोर waveform को amplify करने के बजाय pulse की मौजूदगी पहचानकर साफ़ नया pulse बनाते थे
    • साधारण amplification हर segment में noise भी बढ़ा देती है, लेकिन discrete symbols की regeneration महाद्वीपीय स्तर पर भी message degradation को रोकती है
  • sender और receiver द्वारा हर character के pulse pattern और received, repeat जैसी प्रक्रियाओं को पहले से साझा किए गए नियम ही protocol हैं
    • IP, TCP, DNS और TLS भी इसी अर्थ में publicly agreed rules हैं, जो message format और communication order तय करते हैं
  • telegraph network में routing इंसान करते थे
    • relay station operators संदेश को paper tape पर दर्ज करते और destination के पास वाली line खाली होने पर उसे फिर से भेजते
    • व्यस्त समय में वे संदेशों को holding area में इंतज़ार कराते थे; यही संरचना बाद में electronic store-and-forward और routers में दोहराई गई
  • पहली transatlantic telegraph cable अगस्त 1858 में चालू हुई, लेकिन insulation damage और overvoltage समस्याओं के बीच 3 हफ़्तों में ही खराब हो गई
    • सफल cable 1866 में SS Great Eastern ने लगभग 4,000km लंबाई में एक टुकड़े के रूप में बिछाई
  • bit जानकारी की सबसे छोटी इकाई है, जो 0 और 1 दो अवस्थाओं में से एक को दर्शाती है
    • 8-bit का 1 byte 256 अवस्थाएँ दिखा सकता है और एक character या छोटा number रख सकता है

bandwidth और latency

  • bandwidth वह bit संख्या है जो कोई link प्रति second ले जा सकता है, और latency वह समय है जो एक bit को दूसरी तरफ़ पहुँचने में लगता है
  • bandwidth को signal transmission interval घटाकर या कई wavelengths को parallel इस्तेमाल करके बढ़ाया जा सकता है, लेकिन latency दूरी और light की speed से सीमित होती है
    • light काँच में लगभग 200,000km प्रति second की गति से चलती है, जो vacuum speed का करीब दो-तिहाई है
    • New York–London segment में one-way लगभग 28ms भौतिक न्यूनतम है, और round trip में उसका दोगुना लगता है
  • video streaming कुछ seconds पहले buffer करके latency सह लेती है, लेकिन उसे अधिक bandwidth चाहिए
  • video call में bandwidth की ज़रूरत अपेक्षाकृत कम हो सकती है, फिर भी low latency महत्वपूर्ण होती है
  • web page को content मिलने से पहले DNS, TCP और TLS round trips से गुजरना पड़ता है, इसलिए gigabit connection पर भी शुरुआत धीमी हो सकती है
  • bandwidth transmission schedule से पैदा होती है, और latency link की लंबाई से, इसलिए दोनों एक-दूसरे के बदले जाने वाले मान नहीं हैं

circuit switching और modem

  • 1876 के बाद telephone network ने हर call के लिए end-to-end dedicated electrical path reserve करने वाला circuit switching इस्तेमाल किया
    • शुरुआती दौर में operators patch cords लगाते थे, बाद में electromechanical relays ने इसे automate किया
    • आवाज़ call के दौरान लगातार बहती रहती है, इसलिए reserved circuit को लगातार इस्तेमाल करने वाली संरचना तार्किक थी
  • 1950–60 के दशक में computers को मौजूदा telephone network का ही उपयोग करना पड़ता था, इसलिए modem (modulator-demodulator) digital bits को analog sound में बदलता था
  • Bell 103 जैसे 300-baud शुरुआती modems ने FSK का उपयोग किया
    • 1 को high frequency के लगातार tone से और 0 को low frequency tone से दिखाया जाता था
    • सामने वाला modem सुनी गई frequency पहचानकर bits को restore करता था
  • data transfer से पहले communication speed, error correction और line characteristics पर negotiation होती थी
    • 1981 के Hayes Smartmodem के बाद speaker चालू रहता था ताकि इंसान connection status समझ सके; इसमें dial tone, ringing, feature exchange, modulation negotiation और equalizer training सुनाई देती थी
    • वास्तविक handshake 30 seconds के भीतर कई stages से गुजरता था
  • DSL और cable ने मौजूदा telephone wire और TV lines को हमेशा जुड़े रहने वाले digital links के रूप में फिर से इस्तेमाल किया, और home fiber ने voice network की wiring से पूरी तरह बाहर निकलकर नया रास्ता लिया
  • computer traffic bursty होता है: request भेजने के बाद पढ़ने या computation के दौरान वह idle रहता है
    • circuit reserve करने पर ज़्यादातर समय capacity खाली पड़ी रहती है और दूसरे users उसका उपयोग नहीं कर पाते
    • path call शुरू होने पर तय होकर fixed हो जाता है, इसलिए बीच की केवल एक link टूटने पर पूरी connection समाप्त हो जाती है
  • 1960 के शुरुआती दशक में research computers की बढ़ती संख्या, interactive computing की bursty प्रकृति, और अमेरिकी सेना की यह ज़रूरत कि कुछ segments खोने पर भी system चलता रहे, इन सबने circuit switching की सीमाएँ उजागर कर दीं

packet switching और best-effort delivery

  • Paul Baran ने survivability के लिए और Donald Davies ने circuit sharing के लिए packet switching का स्वतंत्र रूप से विचार किया, और packet नाम Davies ने दिया
  • message को छोटे units में बाँटा जाता है, और हर packet में source और destination जैसी control information वाला header और असली data वाला payload होता है
  • router पूरा packet प्राप्त करने के बाद destination पढ़ता है और अपनी table के अनुसार अगली link पर भेजता है; इसे store-and-forward कहा जाता है
    • scale बनाए रखने के लिए table में individual hosts नहीं बल्कि address ranges यानी networks दर्ज किए जाते हैं
  • packets में कई conversations एक ही line को साझा करते हुए interleave होती हैं, और हर packet स्वतंत्र रूप से route होता है
    • बीच का router बंद हो जाए तो बाद के packets दूसरा route ले सकते हैं
    • failure information फैलने से पहले कुछ packets पुराने route पर भेजे जाकर खो सकते हैं; नए route के स्थिर होने की प्रक्रिया को convergence कहते हैं
  • address वाला device host कहलाता है, बातचीत शुरू करने वाला client होता है, और known fixed address पर request का इंतज़ार करने वाला server
  • अगर input speed output link से तेज़ हो, तो router packets को memory में queue करता है, और queue भरने पर अतिरिक्त packets को drop कर देता है
  • network केवल best-effort delivery देता है, जिसमें packet loss, duplicate और order change स्वीकार्य हैं
    • reliability को network के केंद्र की बजाय endpoints पर छोड़ने का यह निर्णय Internet को सरल बनाए रखने और उसे global scale तक बढ़ाने की नींव बना

ARPANET और पहले routers

  • ARPA ने 1969 में universities के research computers को जोड़ने के लिए पहली वास्तविक packet-switched network ARPANET को support किया
  • अलग-अलग vendors और operating systems वाले mainframes को packet switching का काम सौंपना कठिन था, इसलिए BBN ने IMP (Interface Message Processor) बनाया
    • IMP एक dedicated minicomputer था जो messages को packets में बाँटता, route करता और फिर reassemble करता था
    • हर site का mainframe local IMP से जुड़ता था, और IMP आपस में leased telephone lines से communicate करते थे
    • computation करने वाले mainframe को Host और transport infrastructure को IMP कहने की terminology आज तक चली आ रही है
    • IMP पहला router था, और home wireless router भी इसी pattern का पालन करता है, जहाँ dedicated device network protocols को आपके behalf पर संभालता है
  • 29 अक्टूबर 1969 को UCLA के Charley Kline ने Stanford Research Institute को LOGIN टाइप करते समय LO तक भेजा ही था कि receiving system crash हो गया
  • दिसंबर 1969 तक ARPANET 4-node network बन गया था, और 1973 तक यह Norway और London तक फैल गया

Ethernet और लोकल नेटवर्क

  • ARPANET जैसे लंबी दूरी के नेटवर्क को WAN कहा जाता है, जबकि ऑफिस के अंदर कई डिवाइसों को जोड़ने वाले नेटवर्क को LAN कहा जाता है
  • Robert Metcalfe ने 1973 में Xerox PARC में Ethernet डिज़ाइन किया
    • यह विचार उन्हें Hawaiian islands को जोड़ने वाले ALOHAnet की बिना अनुमति वाले transmission और collision handling से मिला
    • शुरुआती Ethernet में सभी कंप्यूटर एक shared coaxial cable से जुड़े होते थे, सभी frames प्राप्त करते थे, लेकिन केवल अपने address वाले frame को process करते थे
  • Coaxial cable में बीच की copper wire, insulation layer, cylindrical shield, और बाहरी covering होती है
    • Shield return path का काम भी करता है और बाहरी interference को भी रोकता है
  • Shared line पर दो डिवाइस एक साथ transmit करें तो collision होता है
    • CSMA/CD transmission से पहले medium को सुनता है, transmission के दौरान collision detect होते ही तुरंत रुक जाता है, और random समय बाद फिर कोशिश करता है
    • बार-बार collision होने पर delay range को दोगुना करने वाला exponential backoff स्थायी collision को रोकता है
  • आधुनिक ऑफिस shared coaxial cable की जगह हर डिवाइस से switch तक dedicated twisted pair cable और RJ-45 connector का उपयोग करते हैं
    • हर port dedicated line होता है और send/receive path अलग होने के कारण full-duplex में सिद्धांततः collision नहीं होता
    • CSMA/CD आधुनिक wired Ethernet में बेकार हो चुका है, लेकिन shared medium यानी हवा का उपयोग करने वाले Wi-Fi में contention की समस्या फिर दिखती है
  • Switch और MAC address

    • नेटवर्क switch नाम की परंपरा रेल के point switch, current बदलने वाली electric key, और telephone switchboard जैसी चीज़ों से जुड़ी है
    • आधुनिक network switch लाखों transistor switches से बने ASIC के जरिए frames forward करते हैं
    • Router global network address का उपयोग करता है, जबकि switch local hardware address यानी MAC address का उपयोग करता है
    • Ethernet में data की इकाई frame होती है
    • MAC address को 00:1A:2B:3C:4D:5E की तरह hexadecimal के 6 जोड़ों, कुल 48 bits में लिखा जाता है
    • Hexadecimal का एक digit ठीक 4 bits का होता है, और दो digit 1 byte के साथ align होते हैं, इसलिए raw bits को छोटा दिखाने के लिए यह उपयुक्त है
    • पारंपरिक MAC address के पहले 3 जोड़े manufacturer OUI होते हैं, और आख़िरी 3 जोड़े उस interface का serial number होते हैं
    • Smartphone में भी Wi-Fi और Bluetooth chip के लिए अलग-अलग address होते हैं
    • Fixed address के आधार पर सार्वजनिक जगहों में tracking रोकने के लिए आधुनिक operating system scan और connection के समय अस्थायी random MAC address बनाते हैं
    • Switch frame के source MAC और जिस port से वह आया है, उसे देखकर forwarding table अपने-आप सीखता है
    • अगर destination अभी table में न हो, तो वह बाकी सभी ports पर flood करता है
    • अगर destination पता हो, तो वह केवल उसी एक port पर forward करता है
    • Switch की table local traffic से अपने-आप infer होती है, जबकि router की table manual setting या routing protocol से भरी जाती है
    • MAC address केवल local segment में अर्थपूर्ण होता है, जबकि IP address नेटवर्कों के बीच जाने के लिए उपयोग होता है

IP और नेटवर्कों का नेटवर्क

  • 1970 के दशक में SATNET, PRNET, Ethernet जैसे अलग-अलग packet networks के format, address, और maximum size अलग थे, इसलिए वे सीधे आपस में communicate नहीं कर सकते थे
  • Vint Cerf और Bob Kahn ने 1973 में ऐसा internetwork डिज़ाइन किया जो हर नेटवर्क की अंदरूनी संरचना को एक जैसा बनाए बिना उन्हें जोड़ सके
  • IP एक पतली common layer है, जिस पर सभी भाग लेने वाले networks को सहमत होना पड़ता है
    • यह universal IP address और universal packet format को परिभाषित करता है
    • हर local network IP packet को अपने frame के अंदर रखकर ले जाता है
    • Router बातचीत की state याद नहीं रखते और loss को recover भी नहीं करते
    • यह connectionless है, यानी न कोई setup phase होता है और न packets के बीच shared state, इसलिए इसे copper wire, optical fiber, wireless, या satellite कहीं भी लागू किया जा सकता है
  • नीचे कई तरह के physical media और ऊपर कई तरह के applications होते हैं, और बीच में IP एक संकीर्ण common point बनाता है; यह hourglass structure interoperability पैदा करता है
  • IPv4 address और longest prefix match

    • IPv4 address 32 bits का होता है, यानी 4 octets, जिसे 91.198.174.192 की तरह dot-separated decimal में लिखा जाता है
    • /24 का मतलब है कि शुरुआती 24 bits fixed network prefix हैं
    • 255.255.255.0 subnet mask भी उन्हीं fixed bits को दिखाने का दूसरा तरीका है
    • Router destination और route का XOR करता है, फिर prefix के बाद वाले हिस्से को mask करके fixed भाग में mismatch है या नहीं, यह जाँचता है
    • अगर कई routes match करें, तो सबसे ज़्यादा fixed bits वाले longest prefix match को चुना जाता है
    • जब कोई specific route n हो, तब 0.0.0.0/0 default route का उपयोग होता है
    • हर router को पूरे internet का नक्शा जानने की ज़रूरत नहीं होती; सिर्फ़ पड़ोसी और सामान्य दिशा पता ho तो अगले router के ऐसे ही फ़ैसले से packet destination तक पहुँच जाता है
  • Classful addressing से CIDR तक

    • 1981 की classful addressing में network size को तीन प्रकारों में स्थिर कर दिया गया था
    • Class A /8 में 16,777,216, Class B /16 में 65,536, और Class C /24 में 256 addresses मिलते थे
    • लगभग 4,000 addresses की ज़रूरत वाली किसी संस्था को या तो Class B लेना पड़ता था और लगभग 94% बर्बाद करना पड़ता था, या 16 Class C लेने पड़ते थे जिससे सभी core routers में 16 routes बनानी पड़ती थीं
    • 1990 के शुरुआती वर्षों तक address space और router memory तेज़ी से खत्म होने लगे
    • 1993 में आए CIDR ने prefix length को स्वतंत्र रूप से तय करना संभव बनाया
    • एक /20 से 4,096 addresses मिल सकते हैं, और adjacent blocks को एक route में aggregate भी किया जा सकता है
    • IANA पूरे IPv4 space का प्रबंधन करता है और 5 regional internet registries को बड़े blocks आवंटित करता है
    • Regional registry ISP को, और ISP कंपनियों व घरों को छोटे blocks बाँटते हैं
    • हर संस्था द्वारा केवल अपने हिस्से का प्रबंधन करने वाला hierarchical delegation, DNS जैसी ही scaling principle है
  • TTL, ICMP, ping, traceroute

    • IP header का TTL समय नहीं, बल्कि बचे हुए hops की संख्या दिखाता है, और हर router पर 1 कम हो जाता है
    • 0 होने पर packet को discard कर दिया जाता है, ताकि गलत route के कारण packet अनंत चक्कर न लगाते रहें
    • TTL खत्म होने पर router source को ICMP Time Exceeded भेजता है
    • ping ICMP Echo Request और Echo Reply के round-trip time से किसी विशेष host तक की latency मापता है
    • traceroute TTL को 1, 2, 3... बढ़ाते हुए हर hop पर मिलने वाले Time Exceeded responses इकट्ठा करता है
    • मूल रूप से loop रोकने के लिए बनाए गए TTL से route diagnosis की क्षमता निकली
  • MTU और fragmentation

    • हर link की एक अधिकतम वहन क्षमता होती है, यानी MTU, और Ethernet में यह 1,500 bytes होती है
    • पारंपरिक IPv4 router अगले link से बड़ा packet मिलने पर उसे कई टुकड़ों में fragment करते थे और destination पर फिर से reassemble कराया जाता था
    • इससे router का काम बढ़ता है, और अगर एक fragment भी खो जाए तो पूरा original packet फिर से भेजना पड़ता है
    • आधुनिक तरीका don’t fragment सेट करना है, और जो router packet आगे नहीं भेज सकता वह ICMP से अनुमति-योग्य MTU बताता है; इसे Path MTU Discovery कहते हैं
    • आगे किसी और संकरे link के मिलने पर sender फिर size घटाता है, और अंततः वास्तविक path के न्यूनतम MTU पर पहुँचता है
    • IPv6 ने router fragmentation हटा दिया है और केवल sender-side PMTUD की अनुमति देता है
  • Unicast·broadcast·ARP·multicast

    • एक sender से एक receiver तक जाने वाला unicast ज़्यादातर internet traffic का हिस्सा है
    • Subnet ऐसे physical और numerical पड़ोस को कहते हैं जहाँ एक ही wire या wireless channel पर router के बिना MAC address से सीधे पहुँचा जा सकता है
    • Broadcast subnet के सभी hosts तक पहुँचता है और router की boundary पार नहीं करता
    • DHCP बिना address वाले डिवाइसों तक configuration पहुँचाता है
    • ARP “इस IP वाला डिवाइस कौन है?” पूछते हुए broadcast करता है, और मालिक ही unicast में जवाब देता है; इस तरह local IP address के लिए संबंधित MAC address पता चलता है
    • यह परिणाम कुछ मिनटों तक cache में रखा जाता है
    • बाहरी subnet के destination के लिए remote server का नहीं, बल्कि default gateway के MAC address का पता लगाया जाता है
    • Multicast एक packet को केवल subscribed group तक पहुँचाता है, और इसका उपयोग IPTV तथा internal routing protocols में होता है
    • IPv4 के लगभग 4.3 अरब addresses अब अपर्याप्त हो चुके हैं, और 128-bit addresses वाला IPv6 लगभग 20 वर्षों से parallel deployment में है और अब लगभग आधा traffic वहन कर रहा है

TCP द्वारा बनाई गई विश्वसनीयता

  • TCP वह विश्वसनीयता दो endpoints के बीच लागू करता है जो IP उपलब्ध नहीं कराता, और बीच के routers को TCP state की जानकारी नहीं होती
  • हर byte को एक नंबर दिया जाता है और receiver ACK के ज़रिए बताता है कि अगला कौन-सा byte अपेक्षित है
    • जिसकी पुष्टि नहीं हुई है, उस data को दोबारा भेजा जाता है
    • क्रम बिगड़े हुए data को नंबर के आधार पर फिर से व्यवस्थित करके application तक पहुँचाया जाता है
  • क्योंकि दोनों पक्ष बातचीत की state याद रखते हैं, TCP connection-oriented है और इसकी स्पष्ट शुरुआत और अंत होता है
  • हर layer की data unit क्रमशः Ethernet frame, IP packet, TCP segment, और UDP datagram होती है
  • 3-way handshake और checksum

    • TCP का 3-way handshake दोनों पक्षों के initial sequence number को sync करता है
      1. client SYN, seq=5000 भेजता है
      1. server SYN-ACK, seq=9000, ack=5001 से जवाब देता है
      1. client ACK, ack=9001 भेजता है
    • checksum में भेजे गए bytes से निकाला गया मान साथ भेजा जाता है, और receiver उसे फिर से गणना करके आकस्मिक bit corruption का पता लगाता है
    • mismatch वाले packet को discard कर दिया जाता है, और ACK न मिलने के कारण मौजूदा retransmission प्रक्रिया recovery कर लेती है
    • Ethernet CRC-आधारित frame check sequence का उपयोग करता है, जबकि IP·TCP·UDP 1 के पूरक जोड़ का उपयोग करते हैं
    • checksum को फिर से गणना कर सकने वाले हमलावर की जानबूझकर की गई छेड़छाड़ को यह नहीं रोक सकता; यह काम TLS करता है
  • flow control और congestion control

    • TCP sender unacknowledged data को सीमित करने वाली sliding window बनाए रखता है
    • हर ACK आने पर window आगे सरकती है ताकि तेज sender धीमे receiver पर हावी न हो जाए
    • loss को बीच के routers की queue overflow होने के संकेत के रूप में समझा जाता है, और sender window को छोटा कर देता है
    • अक्टूबर 1986 में Lawrence Berkeley Lab और UC Berkeley के बीच 400m link 32,000bps से 40bps तक गिर गया, क्योंकि senders ने loss के जवाब में और अधिक retransmission करना शुरू कर दिया था
    • Van Jacobson का congestion control loss होने पर transmission rate को गुणात्मक रूप से घटाता है और सफलता मिलने पर सावधानी से बढ़ाता है
    • अरबों connections बिना किसी केंद्रीय coordination के वही local rules लागू करके shared network में congestion collapse को रोकते हैं
    • अगर बीच का कोई packet छूट जाए, तो receiver अंतिम लगातार प्राप्त byte के लिए duplicate ACK भेजता है, और sender timeout से पहले ही loss पहचानकर retransmit कर सकता है
  • port·socket·UDP

    • अगर IP address device की पहचान करता है, तो port उस device के भीतर program की पहचान करता है
    • HTTPS server परंपरागत रूप से port 443 का उपयोग करता है
    • IP address, port, और protocol का संयोजन application के socket endpoint को दर्शाता है
    • client operating system connection की अवधि के लिए एक temporary port लेकर यह अलग करता है कि response कहाँ वापस आना चाहिए
    • UDP IP में सिर्फ ports जोड़ता है और connection setup, retransmission, या order recovery उपलब्ध नहीं कराता
    • web pages, mail, और files जैसे integrity-ज़्यादा-महत्वपूर्ण data के लिए TCP उपयुक्त है
    • video calls, multiplayer games, और DNS जैसे मामलों में, जहाँ देर से पहुँचा data loss से भी बुरा होता है, UDP उपयुक्त है
    • TCP/IP 1 जनवरी 1983 को ARPANET का आधिकारिक protocol बना, और IP packets ले जाने पर सहमत सभी networks मिलकर Internet बनाते हैं

routing information कैसे बनती है

  • संगठन के भीतर OSPF और RIP

    • एक संगठन के भीतर IGP link state और path information का आदान-प्रदान करता है
    • OSPF जैसे link-state protocols में हर router अपनी connectivity information पूरे नेटवर्क में flood करता है
    • सभी routers के पास वही topology map होता है और वे स्वतंत्र रूप से shortest path की गणना करते हैं
    • RIP जैसे distance-vector protocols पड़ोसियों को सिर्फ किसी destination तक hop count बताते हैं
    • exchange का आकार छोटा रहता है, लेकिन यह जाँचने के लिए कोई पूरा topology map नहीं होता कि पड़ोसी का बताया गया नंबर अब भी सही है या नहीं
    • failure के बाद tables के नई state को reflect करने की प्रक्रिया को convergence कहते हैं
    • OSPF वास्तविक topology changes पहुँचाकर तेज़ी से converge करता है
    • RIP ऐसा loop बना सकता है जिसमें दो पड़ोसी एक-दूसरे को ही route मानते रहें, और packets TTL खत्म होने तक आगे-पीछे चलते रहें
    • RIP 16 hops को unreachable मानता है, और कई mitigation के बावजूद OSPF की तुलना में धीरे converge करता है, इसलिए ज़्यादातर production networks में इसे बदल दिया गया
  • autonomous systems और BGP

    • NSFNET की शुरुआत 1985 में कई regional academic networks को जोड़ने वाले backbone के रूप में हुई
    • शुरुआती दौर में commercial traffic पर रोक थी, और 1991 में यह प्रतिबंध हटा दिया गया
    • 1995 में बंद होने के बाद backbone की भूमिका कई प्रतिस्पर्धी commercial carriers में बँट गई, जिससे Internet ऐसा ढाँचा बन गया जिसका कोई एक मालिक नहीं है
    • Internet में ISP, universities, telecom carriers, cloud कंपनियाँ आदि मिलाकर autonomous systems (AS) की संख्या दसियों हज़ार है
    • BGP हर AS को यह घोषित करने देता है कि कौन-से address blocks उसके लिए reachable हैं और वहाँ तक पहुँचने वाले AS path में कौन-कौन से AS आए हैं
    • वास्तविक route selection में speed से ज़्यादा business policy को प्राथमिकता दी जाती है
    • AS path length local preference और weight जैसे policy criteria के बाद लागू होने वाली decision condition है
    • छोटे व्यवसाय पूरे Internet तक पहुँच के लिए upstream providers से transit खरीदते हैं
    • समान स्तर के networks transit cost घटाने के लिए settlement-free peering करते हैं
    • Internet exchange points की साझा switching facilities में सैकड़ों networks आपस में जुड़ते हैं
    • DE-CIX और AMS-IX लगभग 1,000 networks के स्तर की interconnection उपलब्ध कराते हैं
    • BGP policy आम तौर पर पैसे देने वाले customer routes, मुफ्त peer routes, और पैसे देकर लिए जाने वाले provider routes को इसी क्रम में प्राथमिकता देती है
    • Lumen, Arelion, और NTT जैसे tier-1 backbones आपस में peering करते हैं और किसी upstream provider को भुगतान नहीं करते

समुद्र के भीतर optical cables, Anycast, CDN

  • लगभग 600 undersea optical cables व्यावहारिक रूप से लगभग सभी intercontinental traffic ढोते हैं
  • 1956 में TAT-1 ने coaxial copper lines पर 36 voice circuits उपलब्ध कराए और लगभग हर 70km पर amplifiers लगाए गए
    • analog amplification signal और noise दोनों को साथ बढ़ा देता है
  • 1988 में TAT-8 पहला transatlantic optical cable बना, जिसने दो glass fibers में दसियों हज़ार voice circuits के बराबर capacity दी
  • optical fiber उच्च refractive index वाले core और उसे घेरे हुए cladding की सीमा पर total internal reflection का उपयोग करता है
    • सामान्य mirror के विपरीत, boundary reflection loss न होने से प्रकाश को लगभग 100km तक guide करके फिर amplify किया जा सकता है
  • wavelength-division multiplexing हर laser के bit stream को अलग-अलग wavelengths पर रखकर एक ही fiber में जोड़ता है
    • wavelengths linear medium में साथ-साथ चलती हैं और दूसरी ओर filters द्वारा अलग की जाती हैं
    • वास्तविक systems एक fiber में लगभग 100 wavelengths रखते हैं, और एक नई wavelength जोड़ने से मौजूदा undersea glass की throughput एक stream जितनी बढ़ जाती है
  • Anycast में कई महाद्वीपों के servers एक ही IP का उपयोग करते हैं और हर location से वही route BGP के जरिए advertise करते हैं
    • client बिना किसी configuration change के topology के हिसाब से निकटतम server तक पहुँच जाता है
  • CDN Anycast या location-aware DNS का उपयोग करके पास के server से content उपलब्ध कराते हैं
    • Cloudflare और Akamai videos, images, और websites की copies दुनिया भर में तैनात करते हैं
    • प्रकाश की गति से तय होने वाली latency की निचली सीमा घटाने का तरीका यह है कि request आने से पहले data को user के पास ले जाया जाए
  • BGP आम तौर पर पड़ोसियों की advertisements पर भरोसा करता है
    • 2008 में Pakistan Telecom ने देश के भीतर YouTube block करने के लिए अधिक specific route advertise किया, और यह जानकारी दुनिया भर में फैल गई, जिससे बहुत-सा traffic Pakistan की ओर मुड़कर गायब हो गया
    • RPKI signed registry के माध्यम से यह सत्यापित करता है कि किसी address block का route advertise करने का अधिकार किसके पास है

घरेलू private networks और NAT

  • एक home router में Ethernet switch, Wi-Fi radio, DHCP, default gateway, और DNS settings distribute करने की क्षमता एक साथ जुड़ी होती है
  • Internet पर route न होने वाले private IPv4 blocks को बार-बार reuse किया जा सकता है
    • 10.0.0.0/8 में 16,777,216 addresses
    • 172.16.0.0/12 में 1,048,576 addresses
    • 192.168.0.0/16 में 65,536 addresses
  • NAT private internal addresses और ports को router के public address और ports में बदलता है, और responses को मूल internal conversation में वापस भेजने के लिए एक table बनाए रखता है
    • अलग-अलग घरों के 192.168.1.5 आपस में टकराते नहीं, क्योंकि packets अपने-अपने private network से बाहर उस रूप में नहीं निकलते
  • NAT सिर्फ अंदर से शुरू हुई बातचीत को रिकॉर्ड करता है, इसलिए unsolicited external connections को drop कर देता है
    • घर में server चलाने के लिए port forwarding चाहिए, जो किसी खास external port को किसी internal device से जोड़ता है
    • अगर ISP public address बदल दे, तो उसे अलग से track करना पड़ता है
    • P2P video calls के लिए NAT traversal techniques चाहिए, जैसे दोनों पक्षों का एक ही समय पर packets भेजना
    • addresses की कमी के अस्थायी समाधान ने Internet को ऐसे servers और ऐसे devices में बाँट दिया जो सिर्फ requests शुरू करते हैं
  • 127.0.0.0/8 loopback addresses हैं, जो network card तक जाए बिना operating system द्वारा उसी computer पर वापस मोड़ दिए जाते हैं
    • 127.0.0.1 परंपरागत रूप से localhost है
    • development server का 127.0.0.1:3000 सिर्फ उसी computer से access किया जा सकता है
  • devices के पास local hardware को दर्शाने वाला MAC address और network पर दिया गया IP address, दोनों होते हैं

DNS: संख्याओं की जगह नामों का उपयोग

  • ARPANET के शुरुआती दौर में Stanford Research Institute की Elizabeth Feinler टीम एक ही HOSTS.TXT में सभी नाम और पते मैन्युअली मैनेज करती थी
    • हर कंप्यूटर इस फ़ाइल को नियमित रूप से डाउनलोड करता था, और जो डिवाइस रजिस्टर नहीं थे उन्हें व्यवहारिक रूप से ढूँढा नहीं जा सकता था
    • नेटवर्क के बढ़ने के साथ एक दफ़्तर की संपादन क्षमता और एकल डाउनलोड बिंदु, दोनों ही bottleneck बन गए
  • Paul Mockapetris ने 1983 में delegation-आधारित DNS डिज़ाइन किया
    • en.wikipedia.org दाएँ से बाएँ root, org, wikipedia.org, en hierarchy का पालन करता है
    • namespace को zone में बाँटा जाता है, जहाँ हर organization अपने authoritative server मैनेज करती है
  • डिवाइस lookup के लिए ISP या Cloudflare 1.1.1.1 जैसे recursive resolver पर निर्भर करते हैं
    1. root, .org nameserver की जानकारी देता है
    2. .org, wikipedia.org के authoritative server की जानकारी देता है
    3. Wikipedia का authoritative server 91.198.174.192 और 3,600 सेकंड TTL के साथ जवाब देता है
  • DNS का TTL, IP hop count से अलग, सेकंड में cache lifetime होता है
    • browser, operating system और recursive resolver जवाब को cache करते हैं, इसलिए लोकप्रिय नाम पास के सिस्टम से तुरंत resolve हो जाते हैं
    • cache ऊपरी DNS पर load कम करता है, लेकिन address बदलने के बाद पुरानी value TTL तक बनी रह सकती है, जिससे एक तरह की स्थिरता बनती है
  • डोमेन खरीदते समय registrar, .com जैसे registry के zone में authoritative nameserver बताने वाला NS record दर्ज करता है
    • डोमेन की zone file में IPv4 के लिए A record और IPv6 के लिए AAAA record आदि होते हैं
    • Cloudflare, Route 53, registrar, या स्वयं चलाया गया server authoritative DNS संभाल सकता है
    • location-aware DNS query की लोकेशन के आधार पर अलग-अलग data center address लौटा सकता है
  • DNS सुरक्षा और प्राइवेसी

    • शुरुआती DNS उस जवाब पर भरोसा करता था जो पहले पहुँचता था और query से मेल खाता था
    • Dan Kaminsky ने 2008 में 16-bit transaction ID की 65,536 संभावनाओं का फायदा उठाने वाले cache poisoning जोखिम को उजागर किया
    • अगर हमलावर असली जवाब से पहले सही ID वाला forged response और malicious nameserver जानकारी भेज दे, तो resolver हमलावर द्वारा तय TTL तक झूठी जानकारी cache कर सकता है
    • DNSSEC में हर zone अपने record पर cryptographic signature लगाता है और resolver, trusted root key तक chain को verify करता है
    • forged जवाब के signature verify नहीं होते, इसलिए उन्हें discard कर दिया जाता है
    • DNSSEC प्रामाणिकता और integrity सुनिश्चित करता है, लेकिन query को खुद encrypt नहीं करता
    • DoT और DoH DNS query को क्रमशः TLS या HTTPS के अंदर रखते हैं ताकि रास्ते में देखने वाले लोग queried domain को पढ़ न सकें

वेब ने जोड़ा user interface

  • 1980 के दशक के अंत तक IP, TCP, Ethernet और DNS तैयार हो चुके थे, लेकिन जानकारी तक पहुँचने के लिए target system और command-line tools जानना ज़रूरी था
  • Tim Berners-Lee ने 1989 में CERN में document sharing system का प्रस्ताव दिया और 1991 में World Wide Web चालू किया
  • वेब तीन सरल घटकों का उपयोग करता है
    1. HTML दस्तावेज़ के शब्दों या elements को इंटरनेट पर मौजूद दूसरे दस्तावेज़ों से जोड़ता है
    2. URL https, en.wikipedia.org, /wiki/Internet की तरह protocol, server और path को दिखाता है
      • HTTPS का default port 443 और HTTP का 80 होता है, इसलिए इन्हें छोड़ा जा सकता है
    3. HTTP, TCP के ऊपर GET /page जैसे request और response का आदान-प्रदान करता है
      • 200 OK सफलता, 404 Not Found दस्तावेज़ न होने, और 500 Internal Server Error server के अंदरूनी failure को दर्शाता है
  • URL, DNS पर; HTTP, TCP पर; और TCP, IP पर बना है, इसलिए नए वेब के लिए मौजूदा router बदलने की ज़रूरत नहीं पड़ी
  • IP, TCP, DNS और HTTP को RFC में परिभाषित किया गया है, जिन्हें कोई भी मुफ़्त में पढ़ और implement कर सकता है
    • RFC की शुरुआत 1969 में ARPANET developers द्वारा राय माँगने वाले memo से हुई थी
    • IETF ने 1986 से internet protocols का standardization शुरू किया
    • port 80 और 443 भी RFC द्वारा IANA में दर्ज conventions हैं
  • NCSA Mosaic ने 1993 में दस्तावेज़ के भीतर images दिखाईं, और उसी टीम का Netscape Navigator 1994 में वेब को घर-घर तक ले गया

खुले नेटवर्क पर गुप्त जानकारी का आदान-प्रदान करने वाला TLS

  • शुरुआती internet protocols plain text bytes भेजते थे, इसलिए router, ISP और बीच के नेटवर्क सामग्री को पढ़ या बदल सकते थे
  • Public key cryptography ऐसे operations से public key और private key की जोड़ी बनाता है जिन्हें करना आसान लेकिन उल्टा निकालना व्यवहारिक रूप से कठिन होता है
    • public key से encrypt किया गया data केवल private key से decrypt किया जा सकता है
    • private key से बनाए गए signature को public key से verify किया जा सकता है
    • वास्तविक signature पूरे message की जगह सभी bytes से निकाले गए hash पर लगाया जाता है, ताकि बदलाव हुआ है या नहीं यह भी जुड़ जाए
    • RSA के अलावा ECDSA और Ed25519 भी private-key signing और public-key verification का यही contract देते हैं
  • हमलावर के बैंक बनकर अपनी public key पेश करने की समस्या certificate से हल होती है
    • browser में पहले से शामिल certificate authority की public key, server identity और public key के binding की गारंटी देती है
    • server certificate से intermediate certificate authority होते हुए trusted root तक signature chain verify की जाती है
    • अगर chain root तक नहीं पहुँचती, तो browser full-screen security warning दिखाता है
  • Netscape ने 1994 में SSL बनाया, जिसे बाद में TLS के रूप में standardize किया गया
    • TLS, TCP और HTTP के बीच स्थित होता है
  • Diffie–Hellman और session key

    • TLS handshake में browser ClientHello, supported cipher suites और public key share भेजता है, और server चुनी हुई cipher suite, certificate और signed key share के साथ जवाब देता है
    • छोटे उदाहरण में public constants g=5, p=23 का उपयोग करें:
    • browser, secret value a=6 से A=5⁶ mod 23=8 की गणना करता है
    • server, secret value b=15 से B=5¹⁵ mod 23=19 की गणना करता है
    • browser 19⁶ mod 23=2 और server 8¹⁵ mod 23=2 की गणना करके एक ही session key प्राप्त करते हैं
    • सुनने वाला attacker g, p, A, B देखता है, लेकिन वास्तविक आकारों पर discrete logarithm समस्या हल करके secret value पाना कठिन होता है
    • आधुनिक browser elliptic-curve आधारित exchange का उपयोग करते हैं, जो छोटे अंकों में समान सुरक्षा देता है
    • public key operations सभी bytes पर लागू करने के लिए धीमे होते हैं, इसलिए इन्हें केवल key exchange में इस्तेमाल किया जाता है, और उसके बाद उसी key से encrypt/decrypt करने वाली तेज़ symmetric key का उपयोग होता है
    • HTTPS का ताले वाला चिन्ह यह दर्शाता है कि बीच के डिवाइस संचार के पक्ष, समय और data की मात्रा देख सकते हैं, लेकिन सामग्री नहीं पढ़ सकते

Encapsulation और VPN

  • हर layer ऊपर की layer के data को अपने header में लपेटती है
    • HTTP request, TLS record के अंदर, फिर TCP segment के अंदर, फिर IP packet के अंदर, और फिर Ethernet या Wi‑Fi frame के अंदर जाती है
    • switch और router केवल वही बाहरी header प्रोसेस करते हैं जिनकी उन्हें ज़रूरत होती है
  • VPN application stream नहीं, बल्कि पूरे IP packet को encrypt करता है और उसे VPN server address वाले नए packet के payload में रखता है
    • ISP केवल VPN server के साथ आने-जाने वाला encrypted traffic देखता है
    • visit की गई site को user address की जगह VPN server का address दिखता है
    • VPN operator उस लोकेशन को देख सकता है जिसे पहले ISP देखता था, इसलिए यह पूर्ण सुरक्षा जोड़ने से अधिक trust point को स्थानांतरित करता है
  • VPN का मूल उपयोग remote laptop को company private network से जोड़ना था ताकि वह ऐसे काम करे जैसे वह सीधे दफ़्तर में plug किया गया हो

लिंक पर क्लिक करने पर वास्तव में क्या होता है

  1. ब्राउज़र https://en.wikipedia.org से host name निकालता है और DNS से उसका पता ढूँढता है
  2. मिले हुए पते के पोर्ट 443 पर TCP connection खोलता है और 3-way handshake करता है
  3. TLS handshake में certificate chain को verify करता है और session key पर सहमति बनाता है
  4. encrypted GET /wiki/Internet request भेजता है
  5. दर्जनों IP packets में आए HTML को TCP फिर से क्रम में लगाता, दोबारा भेजता और जोड़ता है, TLS उसे decrypt करता है, और ब्राउज़र उसे interpret करके स्क्रीन पर दिखाता है
  • चरण-दर-चरण समस्या निदान

    • अगर कोई भी साइट नहीं खुलती, तो DNS से पहले वाले हिस्से जैसे Wi-Fi, router, ISP link की जाँच करें
    • 1.1.1.1 जैसे ज्ञात पते पर ping भेजकर यह देखा जा सकता है कि local network के बाहर पहुँचा जा रहा है या नहीं
    • अगर दूसरी साइटें खुलती हैं लेकिन किसी खास नाम का resolution नहीं होता, तो समस्या DNS cache या उस साइट के record में है
    • अगर DNS सफल है लेकिन TCP connection timeout हो जाता है, तो समस्या server या बीच के network में है, और traceroute से पहुँचे हुए hop देखे जा सकते हैं
    • पूरे स्क्रीन पर certificate warning दिखे, तो इसका मतलब TLS certificate chain verification fail हुई है
    • अगर सब communication सफल रहा और HTTP 500 मिला, तो request पूरी तरह server तक पहुँची थी और failure server के अंदर हुआ
    • DNS, TCP और TLS, content के पहले byte से पहले अलग-अलग round-trip delay माँगते हैं, इसलिए तेज़ connection पर भी initial response धीमा हो सकता है
  • packet header और layer के हिसाब से visibility

    • उदाहरण request में 20-byte IPv4 header और 20-byte TCP header होता है
    • IP header में total length, fragmentation flags, TTL, TCP को दर्शाने वाला protocol number 6, checksum, source और destination address होते हैं
    • TCP header में temporary source port 54211, destination port 443, sequence number, ACK number, flags, window size, checksum होते हैं
    • बीच के routers केवल IP header पढ़ते हैं और 20 byte के बाद की TCP जानकारी तथा encrypted payload को नहीं खोलते
    • TLS payload को encrypt करता है, लेकिन delivery के लिए ज़रूरी IP·TCP headers को encrypt नहीं करता, इसलिए किससे communication हो रहा है और data की मात्रा कितनी है, यह देखा जा सकता है

इंटरनेट की layered structure

  • link·physical layer के Ethernet, Wi-Fi, fiber एक ही local medium पर frames और bits को ले जाते हैं
  • network layer का IP स्वतंत्र networks के पार packets को hop-by-hop route करता है
  • transport layer के TCP और UDP program के हिसाब से delivery, reliability या कम overhead देते हैं
  • security layer का TLS connection को encrypt करता है और सामने वाले को authenticate करता है
  • application layer के HTTP और DNS document request और name lookup जैसे user-level अर्थ देते हैं
  • नीचे से ऊपर तक, हर layer अपने ठीक नीचे वाली layer की सीमाओं को छिपाती है
    • link layer shared cable और wireless medium की physical समस्याओं को छिपाती है
    • IP अलग-अलग मालिकों वाले networks की सीमाओं को छिपाता है
    • TCP loss, duplication और order बदलने की समस्या को छिपाता है
    • TLS snooping और tampering को रोकता है
    • HTTP पूरी प्रक्रिया को request और response में सरल बनाता है
  • 1984 के OSI model ने physical·data link को अलग किया और session·presentation·application को बाँटते हुए 7 layers परिभाषित कीं
    • वास्तविक इंटरनेट ने पहले से deploy हुई TCP/IP structure का उपयोग किया, लेकिन layer 2 switching, layer 3 routing, layer 7 application awareness जैसी OSI terminology आज भी industry में बनी हुई है

QUIC और लगातार विकसित होता इंटरनेट

  • layers केवल नीचे वाले interface पर निर्भर करती हैं, इसलिए copper wire को fiber या Wi-Fi से बदलने पर भी application बदलने की ज़रूरत नहीं होती
  • HTTP/3, TCP की जगह UDP के ऊपर QUIC का उपयोग करके reliability और encryption को साथ में implement करता है
  • TCP के एकल ordered byte stream में, multiplexed requests में से एक packet खो जाए तो उससे असंबंधित requests भी पीछे रुक जाती हैं
    • QUIC हर request के लिए स्वतंत्र रूप से ACK होने वाले streams देता है, इसलिए loss केवल उसी stream को रोकता है
  • TCP handshake के बाद TLS handshake क्रम से करने पर HTTP data से पहले दो round trips चाहिए होते हैं
    • QUIC transport setup और encryption को एक handshake में जोड़ देता है, और याद रखने वाले server पर दोबारा आने पर बिना अतिरिक्त round trip के शुरू हो सकता है
  • TCP connection IP·port combination से बँधा होता है, लेकिन QUIC में फ़ोन Wi-Fi से cellular पर जाए और address बदल जाए, तब भी connection बना रह सकता है
  • IP केवल payload को port तक पहुँचाता है, वह अंदर के protocol को सीमित नहीं करता
    • SSH remote shell के लिए, SMTP mail के लिए, MQTT सीमित IoT devices के publish·subscribe के लिए, WebRTC browsers के बीच direct voice·video के लिए, और game engines पुराने position updates को फेंक देने वाले custom UDP protocols का उपयोग करते हैं
    • Google ने QUIC को पहले Chrome और अपने servers के बीच proprietary रूप से deploy किया, बाद में IETF ने इसे HTTP/3 के रूप में standardize किया, और मौजूदा इंटरनेट infrastructure में किसी बदलाव की ज़रूरत नहीं पड़ी
  • IPv4 addresses खत्म होने के बाद भी IPv6 transition, underlying layer को बदलने की लागत के कारण जारी है, और real-time video, cloud gaming, remote collaboration लगातार latency limits पर दबाव डाल रहे हैं
  • low Earth orbit satellites round-trip latency में undersea cables से प्रतिस्पर्धा कर रहे हैं, और आगे आने वाले protocols भी तब नए trade-offs के साथ उभरेंगे जब मौजूदा applications, मौजूदा layers की सीमाओं से टकराएँगे

1 टिप्पणियां

 
GN⁺ 4 시간 전
Hacker News की टिप्पणियाँ
  • तुलना करें तो यह लेख भी बहुत अच्छी तरह संरचित था: https://explained-from-first-principles.com/internet/

  • दिशानिर्देशों के हिसाब से सिर्फ ऐसी तारीफ़ छोड़ना असभ्य माना जा सकता है, लेकिन यह सच में शानदार लेख था। इसने नेटवर्क कैसे अस्तित्व में आए और कैसे काम करते हैं इसे उपयोगी और सुव्यवस्थित ढंग से समझाया, और उसे एक दिलचस्प कहानी की तरह पिरोया
    कुछ लोगों ने कहा कि यह LLM से लिखा गया लगता है, लेकिन अगर ऐसा हो भी, तो मुझे फ़र्क नहीं पड़ता। अच्छा लेख, अच्छा लेख होता है

    • पहले animation में messaging platform को host करने वाला server भी शामिल होना चाहिए। नहीं तो उस उदाहरण को P2P application में बदल देना बेहतर होगा
    • सुबह उठते ही अचानक खयाल आया और मैंने खुद एक हाइकू-जैसी पंक्ति बना दी
      “पहले से Klingon और Elvish थे। अब LLM-भाषा भी है।”
  • हो सकता है कि मूल सामग्री पूरी तरह लेखक ने खुद लिखी हो, लेकिन मुख्य लेख और लेखक की टिप्पणियों की शैली की तुलना करें तो मुझे यक़ीन है कि इसे AI से काफ़ी हद तक संपादित किया गया है
    यह ज़रूरी नहीं कि बुरी बात हो, लेकिन इसे पहचानने वालों को सनकी कहकर खारिज करना भी ठीक नहीं है

  • Digital PDP-1 के लिए पहला बड़ा ऑर्डर ITT के punched tape messaging काम में लगाने के लिए मिला था: https://www.eejournal.com/article/gordon-bell-1934-2024-gran...

  • मैं नकारात्मक प्रतिक्रियाओं के संतुलन के लिए कुछ कहना चाहता हूँ। मैंने अभी सिर्फ शुरुआती कुछ sections पढ़े हैं, लेकिन इसने बहुत अच्छे ढंग से समझाया कि एक साधारण शुरुआती बिंदु से कई concepts कैसे विकसित हुए
    software engineer के रूप में काम करते हुए मैंने research और trial-and-error से जो असंख्य concepts सीखे, उन्हें इसने एक ही लेख में समेट दिया। अच्छा होगा अगर Faza ऐसे लेख बनाकर साझा करता रहे

    • जिन चीज़ों को हम स्वाभाविक मान लेते हैं, वे कैसे विकसित हुईं—यही इन लेखों का उद्देश्य था। इन्हें लिखते समय मैंने भी बहुत-सी नई बातें सीखीं और यह भी पाया कि कुछ हिस्सों में मेरी समझ अधूरी थी
      मुझे लगा कि मौजूदा सामग्री या तो सिर्फ तकनीकी बारीकियों पर केंद्रित रहती है, या फिर concepts को इतना सरल कर देती है कि वे बस हर किसी के लिए सतही रूप से आसान रह जाएँ। इसलिए मैंने विस्तृत लेकिन आसानी से समझ आने वाली व्याख्या देने की कोशिश की
      शुरुआत में मेरा इरादा सिर्फ लेख और diagrams इस्तेमाल करने का था, लेकिन बाद में समझ आया कि simulations का उपयोग करने से बात कहीं बेहतर तरह से समझाई जा सकती है
  • लेख की संरचना और अभिव्यक्ति शानदार है, और यह Bartosz Ciechanowski के काम की याद दिलाती है: https://ciechanow.ski
    यह जानने की जिज्ञासा है कि लेख के interactive elements में कौन-सा tech stack इस्तेमाल किया गया, और अगर इसे फिर से बनाया जाए तो क्या कुछ अलग चुना जाएगा

    • शुरुआत में interactive elements डालने की योजना नहीं थी; मैंने Astro आधारित static site बनाई थी और Markdown फ़ाइलों में सामग्री लिखी थी
      बाद में पता चला कि Astro, MDX को support करता है, जिससे custom JavaScript components डाले जा सकते हैं। शुरुआती animations शुद्ध JavaScript, SVG और CSS transitions से बनाए गए थे, लेकिन simulations जटिल होने लगे तो state management के लिए React इस्तेमाल करना शुरू किया
  • यहाँ की अपेक्षाकृत सामान्य दो टिप्पणियों को [dead] कर दिया गया है। अगर वे bot comments हैं, तो यह किस आधार पर पहचाना जा सकता है, यह जानना दिलचस्प होगा

    • मुझे लगता है कि HN की ज़्यादातर blog posts और काफ़ी टिप्पणियाँ मुख्यतः AI से लिखी हुई लगती हैं। हालाँकि, गुमनाम इंटरनेट पर ऐसा तत्व पहले से ही हमेशा मौजूद रहा है
  • पेज लोड होने के बाद अगर airplane mode चालू कर दें, तो वे animations जो पहले स्क्रीन पर नहीं आए थे, चलती ही नहीं हैं। यह अजीब व्यवहार है

    • मैं लेखक हूँ। पहले simulations को तभी डाउनलोड किया जाता था जब आप scroll करके उन्हें स्क्रीन पर लाते थे
      अब मैंने इसे बदलकर पेज लोड होते ही सभी simulations डाउनलोड होने और स्क्रीन पर आने पर चलने के लिए deploy कर दिया है
  • यहाँ प्रतिक्रिया ज़रूरत से ज़्यादा नकारात्मक है। मैंने कई हिस्से देखे; animations अच्छे थे, लेख पढ़ने में आसान था, और सामग्री भी घटिया generated output जैसी नहीं थी
    टेलीग्राफ की ऐतिहासिक पृष्ठभूमि दिलचस्प थी, और bandwidth तथा latency के फ़र्क को भी सावधानी से समझाया गया था। हाँ, लेख बहुत लंबा है, इसलिए जिसे इस विषय की जानकारी नहीं है, उसके अंत तक पढ़ने की संभावना कम लगती है

    • मुझे लगा कि मौजूदा सामग्री या तो बहुत textbook-जैसी है या बहुत अधिक ऊपरी स्तर की, इसलिए मैं लोगों को concepts को विस्तार से समझने में मदद करना चाहता था। इसी वजह से मैंने इसे थोड़ा अधिक दिलचस्प ढंग से समझाने की कोशिश की
    • दूसरों को खारिज कर देना अक्सर खुद को बेहतर महसूस कराने का आसान तरीका होता है। खासकर HN पर, क्योंकि किसी लंबे लेख को सच में पढ़कर उसका मूल्यांकन करने और रचनात्मक आलोचना देने में समय लगता है, इसलिए जितनी जल्दबाज़ प्रतिक्रिया होती है, उसके नकारात्मक या संदर्भ से बाहर होने की संभावना उतनी अधिक होती है