Sunday, May 13, 2018

तुमच्या माझ्या डेटाची चोरी (भाग २)

_________

दूर असलेल्या दोन माणसांना, जागांना जोडण्यासाठी आपण जे उभारतो त्याला मराठीत जाळं आणि इंग्रजीत नेटवर्क म्हणतात. आपली कामे करण्यासाठी माणसाने विविध नेटवर्क्स उभारली आणि त्यांचा वापर करण्यासाठी विविध साधने बनवली. पण ही साधने त्या त्या नेटवर्कपुरती मर्यादित होती. म्हणजे एका नेटवर्कवरचे साधन दुसऱ्या नेटवर्कवर उपयोगी नव्हते.

नेटवर्क आणि साधनांची उदाहरणं घ्यायची झाली तर; एकाचवेळी अनेक लोकांच्या जलदगती आणि सुरक्षित प्रवासासाठी रेल्वे ट्रॅकचं नेटवर्क आणि ते वापरण्यासाठी ट्रेन्स आणि स्टेशन्स ही साधनं, पाणीपुरवठ्यासाठी पाईपलाईन्सचं नेटवर्क आणि ते वापरण्यासाठी पाण्याच्या टाक्या, पाणी वर चढवण्याचे पंप, वेगवेगळ्या प्रकारचे नळ, शॉवर्स आणि फ्लश ही साधनं, वीजपुरवठ्यासाठी इलेक्ट्रिक वायर्सचं नेटवर्क आणि ते वापरण्यासाठी पंखे, लाईट्स, फ्रिज, एअर कूलर - कंडिशनर ही साधनं, ध्वनीसंदेश पोहोचवण्यासाठी टेलिफोन लाइन्सचं नेटवर्क आणि ते वापरण्यासाठी वेगवेगळ्या प्रकारचे टेलिफोन्स ही साधनं आहेत. यात नेटवर्क आधी की साधनं आधी हा प्रश्न म्हणजे कोंबडी आधी की अंडं? सारखाच क्लिष्ट आहे. त्यामुळे त्याला बाजूला ठेवून आपण इंटरनेटकडे वळूया. आधी एक व्हिडीओ दाखवतो मग पुढले मुद्दे मांडतो.



म्हणजे एकोणीसशे चाळीसच्या दशकात कॉम्प्युटरचा शोध लागलेला होता. आणि एकाच किंवा एकापेक्षा जास्त इमारतीत असलेल्या विविध टर्मिनल्सना डेटा केबल्सने सीपीयूशी जोडून काम करण्याची पद्धत रुळली होती. म्हणजे अमेरिकन आणि वसाहतवादी देशांच्या लष्कराचे जगभरात पसरलेले वेगवेगळे तळ, काही बड्या कंपन्या आणि काही बड्या युनिव्हर्सिटीमध्ये कॉम्प्युटरची मर्यादित नेटवर्क्स (लोकल एरिया नेटवर्क्स) तयार झाली होती. त्यात रस्त्यांचं, रेल्वे ट्रॅकचं, पाईपलाईन्सचं काम डेटा केबल्स करत होत्या. ट्रेन, नळ, पंखे आणि टेलिफोनचं काम कॉम्प्युटर टर्मिनल्स आणि सीपीयू करत होते. कॉम्प्युटरच्या त्या लोकल एरिया नेटवर्कच्या केबल्समधून माहिती धावत होती. शीतयुद्धामुळे अमेरिकेला आणि वसाहतवादी देशांची इच्छा होती की जगभर पसरलेली लष्करी तळांची ही लोकल एरिया नेटवर्क्स जोडून घ्यायची. अनेक नेटवर्क्सना जोडणारं एक नेटवर्क तयार करावं. इंटरसिटी बससेवा किंवा ट्रेनसेवेसारखं याचं नाव आपोआप पडलं इंटरनेटवर्क किंवा इंटरनेट.

फक्त आधीपासून तयार असलेली लोकल एरिया नेटवर्क जोडण्यासाठी नवीन वायर्सचं वेगळं नेटवर्क न उभारता आधीपासून उपलब्ध असलेलं टेलिफोनच्या वायर्सचं नेटवर्क वापरायचं ठरलं. फक्त दोन महत्वाच्या अपेक्षा अश्या होत्या की,
  1. एका ठिकाणाहून दुसऱ्या ठिकाणी माहिती पाठवली जात असताना मध्येच जर टेलिफोनची वायर कुणी कापली तरी माहिती शेवटपर्यंत पोहोचावी. सोप्या शब्दात सांगायचं तर एक टेलिफोन लाईन डेड झाली तरी आपला कॉल कट न होता पूर्ण झाला पाहिजे. आणि 
  2. माहिती पाठवताना, 'इस रूट की सभी लाईने व्यस्त है, कृपया थोडी देर बाद डायल करें।', चा त्रास इंटरनेटला कधी होऊ नये.
पहिल्या भागात उल्लेख केलेल्या पॅकेट स्विचिंग या कल्पनेचा उगम याच दोन अपेक्षांमधून झाला.

कुणाला पत्र पाठवायचं असलं किंवा पार्सल पाठवायचं असलं की आपण पाकिटात पत्र टाकतो किंवा खोक्यात वस्तू भरतो आणि मग त्या पाकिटावर किंवा खोक्यावर पाठवणाऱ्याचा आणि ज्याला पाठवतोय त्याचा पत्ता लिहितो. तसंच काहीसं इथे होणार आहे. फक्त एका पत्राचे किंवा वस्तूचे असंख्य छोटे छोटे तुकडे करून त्या प्रत्येक तुकड्याला वेगवेगळ्या पाकिटात भरून प्रत्येक छोट्या पाकिटावर पाठवणाऱ्याचा आणि ज्याला पाठवतोय त्याचा पत्ता लिहायचा. त्याशिवाय प्रत्येक पाकिटावर खुणेचे क्रमांक टाकायचे. मग सगळी छोटी छोटी पाकिटे वेगवेगळ्या रस्त्यावरून पाठवायची. मिळाल्यावर सगळी पाकिटे उघडून त्यावरील क्रमांक वापरून आतले छोटे तुकडे जोडून पत्र किंवा वस्तू पुन्हा तयार करायची. जर कुठल्याही क्रमांकाचं पाकीट मिळालं नसेल तर पुन्हा पाठवायला सांगायचं. अशी सगळी योजना आहे.

यासाठी एक मशीन कायमचे सर्वर आणि इतर मशिन्स क्लायंट (Client Server Architecture) ही एक रचना तर प्रत्येक मशीन क्लायंट असताना त्याचवेळी इतरांसाठी सर्वर (Peer to Peer Architecture) अशी दुसरी एक रचना अस्तित्वात आली. यातील Peer to Peer अजूनही वापरात असली तरी व्यापक प्रमाणावर वापरण्यासाठी Client-Server सोयीचे असल्याने ती रचना इंटरनेटवर लोकप्रिय झाली.

पण या दोन्ही रचनांसाठी काम करण्याची सुसूत्र अश्या नियमावलीची (Protocol) गरज होती. १९५० ते १९७०च्या दशकात कुठलीही मार्गदर्शक तत्वे नसताना वेगवेगळ्या नियमावली अस्तित्वात आल्या. त्यात सगळ्यात जास्त वापरली गेलेली नियमावली होती नेटवर्क कंट्रोल प्रोटोकॉल. पण जसजसे इंटरनेटवर अनेक लोकल एरिया नेटवर्क जोडले जाऊ लागले आणि टेलिफोन लाईन्स बरोबर सॅटेलाईटचा वापर करण्याचा विचार होऊ लागला तसतश्या नेटवर्क कंट्रोल प्रोटोकॉलमधील त्रुटी जाणवू लागल्या. मग १९७०च्या दशकात रॉबर्ट कान्ह आणि व्हिन्टन सर्फ यांनी एक नवीन प्रोटोकॉल तयार केला ज्याचं नाव होतं ट्रान्समिशन कंट्रोल प्रोटोकॉल इंटरनेट प्रोटोकॉल (TCP / IP).

या प्रोटोकॉलने इंटरनेटवर काम करणं सोपं झालं. आता नेटवर्कमध्ये दिसायला जरी वायर्स आणि कॉम्प्युटर्स दिसत असले तरी त्यात लेयर्स आहेत अशी रचना करून त्याबद्दल नियमावली करण्यात आली. या लेयर्सची कल्पना समजून घेण्यासाठी आपण मुंबई ते गोवा वोल्वो बसच्या प्रवासाचं उदाहरण घेऊया.

तुम्ही बस कुठल्या रस्त्यावर पळवताय याच्याशी वोल्वो कंपनीला काही घेणं देणं नसतं. तुम्ही ती मुंबई ते गोवा चालवा किंवा मग मुंबई मंगलोर चालवा. वोल्वो कंपनी आपल्या स्टँडर्ड्स प्रमाणे बस तयार करून देणार. तुम्ही बस कंपनी असाल तर तुम्ही फक्त ड्रायव्हर, क्लिनर, पेट्रोल पंप, रस्त्यातील हॉटेल्स आणि तिकीट बुकिंग करून देणारे ट्रॅव्हल एजंट यांच्याबद्दल विचार करायचा. बसच्या गुणवत्तेची जबाबदारी वोल्वोची. तुम्ही ट्रॅव्हल एजंट किंवा रेड बससारखी वेबसाईट असाल तर तुम्ही फक्त तिकीट काढून द्यायचं. बसच्या गुणवत्तेची आणि ड्रायव्हर क्लिनर यांच्या कार्यक्षमतेची जबाबदारी बस कंपनीची. तुम्ही जर चिक्की किंवा चॉकलेट विकणारे असाल तर बाकीच्या सगळ्या काळज्या विसरा आणि तुम्ही फक्त ठरलेल्या ठिकाणी बसमध्ये चढून ठरलेल्या ठिकाणी उतरा. तुमचा हिशोब नीट ठेवा. आणि तुम्ही जर केसरी टूर्स किंवा अजून कुठली ट्रॅव्हल कंपनी असाल तर बाकीच्या ट्रीपच्या आयोजनाकडे लक्ष द्या अमूक एका बस कंपनीचं तिकीट काढलं की तुमची चिंता संपली.

TCP/IP मुळे टेलिफोन वायर्स किंवा फायबर ऑप्टिक किंवा इतर प्रकारच्या वायर्स, कनेक्टर्स, कॉम्प्युटर्स किंवा रूटर्स तयार करणाऱ्या कंपन्यांनी केवळ कोणत्या गोष्टींची चिंता करावी? आणि कोणत्या गोष्टी स्वतःवर ओढवून घेऊ नयेत? सॉफ्टवेअर तयार करणाऱ्या कंपन्यांनी कोणत्या गोष्टी गृहीत धराव्यात आणि कोणत्या गोष्टींची जबाबदारी घ्यावी यात सुसूत्रता आली. आणि सर्वांची कामे सोपी होत गेली.

आता सॉफ्टवेअर तयार करणाऱ्या कंपन्यांची कामे सोपी होण्यासाठी मग केवळ सॉफ्टवेअरशी संबंधित प्रोटोकॉल तयार केले गेले. ईमेल साठी पोस्ट ऑफिस प्रोटोकॉल (POP) मोठ्या फाईल्स ट्रान्सफर करण्यासाठी फाईल ट्रान्सफर प्रोटोकॉल (FTP) यासारखे अनेक प्रोटोकॉल तयार झाले. फक्त या प्रोटोकॉल्सना वापरून तयार केल्या जाणाऱ्या सॉफ्टवेअर्समध्ये एक अट होती की तुम्हाला त्या सॉफ्टवेअरचा क्लायंट पार्ट वापरणे आवश्यक होते. म्हणजे तुम्हाला ईमेल वापरायचे असेल तर तुमच्या कॉम्प्युटरवर आऊटलूक किंवा थंडरबर्डसारखे ईमेल क्लायंट सॉफ्टवेअर असायला हवे आणि तुमच्या कंपनीच्या सर्वर कॉम्प्युटरवर ईमेल सर्वरचे सॉफ्टवेअर असायला हवे. तुम्हाला मोठ्या फाईल्स डाउनलोड करायच्या आहेत तर मग तुमच्या कॉम्प्युटरवर फाईलझिला किंवा क्युटएफटीपी सारखे क्लायंट सॉफ्टवेअर असायला हवे आणि तुम्हाला हव्या त्या फाईल्स ज्या कॉम्प्युटरवर आहेत त्यावर एफटीपी सर्व्हर असायला हवा.

आणि मग १९८०च्या दशकात सध्या जिथे हिग्स बोसॉन कणांवर संशोधन चालू आहे त्या सर्न (CERN) या ठिकाणी टिम बार्नेर्स ली या ब्रिटिश इंजिनियरने हायपर टेक्स्ट ट्रान्समिशन प्रोटोकॉल (http) या प्रोटोकॉलची मांडणी केली. आणि त्यावर आधारित वर्ल्ड वाईड वेब (www) कसे काम करेल त्याची पायाभरणी केली. या नव्या व्यवस्थेतही क्लायंट सर्वर हीच रचना होती. या नव्या व्यवस्थेत सर्व्हरला म्हणणार 'वेब सर्वर' आणि क्लायंटला म्हणणार 'वेब क्लायंट' उर्फ 'वेब ब्राऊजर' . पहिला वेब ब्राऊजर होता नेटस्केप नॅव्हिगेटवर. नंतर मग इंटरनेट एक्सप्लोरर, सफारी, ऑपेरा, गूगल क्रोम, मोझिला फायरफॉक्स असे अनेक वेब ब्राऊजर बाजारात आले.

यातल्या नेटस्केप नेव्हिगेटर या पहिल्या वेब ब्राऊजरची किंमत होती ४९ डॉलर्स. पण नेटस्केपच्या ब्राऊजरला टक्कर देण्यासाठी पुढे सरसावली सॉफ्टवेअर क्षेत्रातील दादा कंपनी. तिचं नाव होतं मायक्रोसॉफ्ट. आपला इंटरनेट एक्सप्लोरर हा वेब ब्राऊजर मायक्रोसॉफ्टने एमएस ऑफिसबरोबर फुकट द्यायला सुरवात केली. आणि, 'इंटरनेट म्हणजे मोफत' हा समज पक्का होण्यास सुरवात झाली.

No comments:

Post a Comment