Transcript for:
कंप्यूटर नेटवर्क और प्रोटोकॉल की जानकारी

एक computer network is a collection of various computing devices. The purpose of computer network is so that the devices can share the data. Means we have to connect the various devices, various heterogeneous, homogeneous kind of devices. The purpose of computer network is they can share something. The main part of the computer network is to share the data. Now in the computer network we are having One sender and one receiver. The sender is what? It is trying to send some data to the receiver. So sender and receiver, it can be a machine, means it can be a user. So how user will be sending the data? Through a machine. So we can say sender is writing a program. to send some data to the receiver now how it will send the data it needs some kind of connection it needs some kind of connection connection can be like we have wired connection वह वायरलेस कनेक्शन हैं तो इसका भी ज़िन्न ज़िन्न ज़िन्न ज़ Now the term over there is connection. Next is like sender has sent some data, let's say there is a message m and sender is sending this message m to receiver. Receiver get the data, means the message m. Now the next part is, sender sends the data, receiver receives the data. But the next part is, whatever message received by R, whether R is able to send the data or not, डाटा को रिड करना चाहिए या नहीं है अगर आर डाटा को रखना चाहिए या नहीं है तो विधि देखते हैं कि डाटा जो प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉल के लिए प्रोटोकॉ What is the advantage of this protocol? Protocol is what a kind of set of instructions. Means sender will send the data but it will follow some kind of instructions. So that whatever data it is sending the receiver must be able to understand it. Let's say that if I make a call कॉल किया मैंने Let's say मेरे को पंजाबी आती है तो मैंने कॉल किया एक तेलगू परसन को तो whatever I am speaking that person पर इसको सुन रहा है, वो वो वो वो सुन रहा है, वो वो लेकिन अगर हम इस डाटा को अधिकता है या नहीं है, तो उसके बारे में एक विशेष प्रोटोकॉल जो प्रोटोकॉल पर देखना चाहिए जाना चाहिए। यह प्रोपर विशेष प्रोटोकॉल जाना चाहिए। यह प्रोपर विशेष प्रोटोकॉल जाना चाहिए। वह यह सेंडर और रिसीवर और इन तरफ विशेष नेटवर्क टर्म्स विज द लाइट एंड सर्वर ऑल्सवर्ड निजरिए समक्राइड ऑफ क्लाइंड एंड एंड एं sender and receiver or we can say client and server are both present in the same machine let's say there is a machine machine machine can be your like your laptop let's say your laptop इन योर लैपटॉप आप रोसेस लेट जनेटिड बाय आप लाइन और जनेटिड बाय एसेंडर इस सेंडिंग सम बैसेस टू द रिसीवर लेट से इफ आई प्रेस अ बटन फ्रॉम द कीबोर्ड मैंने कुछ भी एक बटन प्रेस किया कीबोर्ड से वेनेवर एड प्रेस अ बटन द सेम वटेवर आई एंटर्ड देट विल बी प्रिंटेड और देट विल बी वीजिवल ऑन द बॉजिट monitor, तो वहाँ पे क्या है, मतलब मैंने एक process, there is some kind of process generated by the sender or generated by a person and that message is given to the receiver, receiver के पास भी एक process जा रहा है, सेंडर क्या प्रोसेस जनरेट कर रहा है? सेंडर एक प्रोसेस जनरेट कर रहा है, प्रेसिंग बटन, वटेवर बटन इट है, और रिसीवर, रिसीवर कौन है यहाँ पे? मॉनिटर, सेंडर कौन है? कीबोर्ड, बट बन्दा एक ही है, यूजर तो वही है न, परसे? नहीं सेम, but the point is कि एक user process है sending a some kind of message and that message is printed on the monitor लेकिन यहाँ पे the concept is what? within the same machine, मतलब हम एकी machine के अंदर बात बात करें, अब एक ही machine के अंदर जब एक process दूसरे process के साथ communicate करता है that is called the inter-process communication but that inter-process communication is dealing with the computer network मतलब computer network deal करता है that part no, computer network is not dealing that part, this part is deal by the Operating System, operating system में जो हमारा kernel है वो इस part को deal करता है कि कैसे एक process दूसरे process को जैसे कि एक keyboard दूसरे like monitor को कैसे instruction pass कर रहा है, कैसे वो एक message pass कर रहा है that is done by the operating system इसको हम inter process communication बोलते हैं वहाँ पे भी obviously there is some wires अगर आप अपने CPU को check करो अपने keyboard को check करो या अपने laptop को check करो वहाँ पे wires होंगी back end पे जहां से data travel होता है concept वही है लेकिन यहाँ पे computer network का funda नहीं आता computer network का funda कहाँ पे आ रहा है when the client is some other machine and server is some अधर मशीन मीज देखन भी फीजिकली सेपरेटिड मतलब वह अलग-अलग बंदें वह अलग-अलग मशीन जर द वियर द लाइन एंड सर्वर इस प्रेजेंट ऑन डिफरेंट मशीन लेट से इसी मशीन वन लेट से इसी मशीन टू हेयर विकेंट से द कंसेप्ट ऑफ कंप्यूटर नेटवर्क कम नौ आ जैसे हम machine में, अगर मैं अपनी machine की, मतलब अपने laptop की बात करूँ, वहाँ पे मैं easily कोई button प्रेस करता हूँ या mouse को click करता हूँ, तो easily monitor पे वो चीज message आ रहा है, तो यानि कितना smoothly वहाँ पे connection बना हुआ है, तो वही smoothly connection में, आपके लिए कहां बनाना है इस क्लाइंट और सर्वर के बीच में और एक क्लाइंट हो सकता है इंडिया में हो सर्वर कैन बी इन यूएस से यूएस सम अदर लोकेशन और मैं डिस्टेंस की बात नहीं कर रहा डिस्टेंस कैन बी वन किलोमीटर डिस्टेंस कैन बी वन also distance can be 10,000 km also distance doesn't matter, यहाँ पे distance की बात नहीं कर रहे हैं हम बोल रहे हैं कि client is present on some other machine, server is present on some other machine उस case में क्या मैं वैसी smoothly connection बना सकता हूँ क्या मैं वैसी smoothly communicate कर सकता हूँ for making that smoothness we use the concept of computer networks मतलब मेरे को लाइट और सर्वर लेट से इस माय मशीन प्रेजेंट इन इंडिया इसी पर एंड इस सम अदर मशीन इट इस प्रेजेंट इन यूएसे नाओ माय क्लाइंट मशीन इस सेंडिंग सम डेटा टू द सर्वर लेट से फर एक्जंपल आयम ओपनिंग माय फेसबुक अकाउंट तो अगर मैंने फेसबुक अकाउंट अपने खाउंड ओपन किया सिंपल से अभी मैं कंप्यूटर नेटवर्क की बहुत डिटेल में नहीं जा रहा बिल्कुल बिल्कुल बेसिक लेवल से स्टार्ट कर रहा हूं जो जर्नली हम यूज करते हैं डेली हम यूज करते हैं डेली हम गूगल को ओपन करते हैं फ तो गूगल इतना famous है कि अगर हमें यह भी check करना हो कि हमारा internet चल रहा है या नहीं तो उसके लिए हम Google को इसे open करते हैं यह है Google का हुआ तो Google में हम basically क्या check कर रहे हैं यहाँ पे या Facebook में हम क्या कर रहे हैं हम एक अपनी machine से एक यहाँ पे message send कर रहे है to the Facebook तो Facebook का कोई server है which is present in USA तो मेरा message वहाँ पे जा रहा है लेकिन यहाँ पे जो मैं हूँ user इस machine और इस machine को we have to give an environment मतलब एक ऐसा environment प्रोवाइड करना है कि उनको feeling आए कि वो दो अलग-अलग machine है और generally हमें होता है मैं अपने machine से जब facebook में login करता हूँ या whatsapp use करता हूँ या google use करता हूँ हमें लगता है कि यार data कितनी जल्दी आ गया है, यानि data ऐसे लगता है कि बिल्कुल हमारे laptop में ही पड़ा है, इतनी fast data access होता है, मतलब जैसे हम hard disk में, अपने C drive, D drive में, like D drive में movies पड़ी है, मैं D drive में access करता हूँ, movie पे play की है, VLC से movie run हो गई, hardly कितना time लगता है, 1 second, 2 second, 3 second, और इतना ही time लगता है Facebook से data को access करने में या Google से data को access करने में तो what is this? We are trying to make something वहाँ पे हम बात नहीं कर रहे हैं कि हम USA से data को call कर रहे हैं या UK से data को क्वाल करें क्योंकि यह चीज हमें पता ही नहीं है दिस एडिट ऑफ एप्सट्रेक्शन फॉर थोड़ा तो हमारे लिए कंप्यूटर नेटवर्क क्या कर रहा है कंप्यूटर नेटवर्क वहां पर ऐसा फील करवा रहा है मेरे प्रोसेस को और सर्वर के प्रोसेस को same machine but actually they are not present, तो यहनी computer network की functionality क्या है the functionality is कि client and server which are physically separated they should feel that कि they are present in the same machine दोनो processes को लगे कि हाँ हम एक ही machine के अंदर है but they are actually not, तो इस functionality को computer network जो है वो provide करता है, that is the main function now यह जो data हम send कर रहे हैं server के पास, यह server से data को call कर रहे हैं, server can also reply, obviously जो मैंने request की है, कि I need some data from the Google or from my Facebook account, तो obviously server भी मुझे respond करेगा with the data. तो यह जो two-way communication हो रहा है, इसमें बहुत सारे functionalities को हम use करते हैं, बहुत सारे functionalities use होती हैं. Generally, what kind of functionalities are used? Let's say, There are basically two kinds of functionalities, one is a mandatory and some are optional. Mandatory, mandatory means कि whenever my client machine is sending some data or sending some request to the server, what are the mandatory functions? कि उन functions को हम neglect नहीं कर सकते हैं, example of that functions can be, let's say the one and very important is error control. error control means जो message मैं send कर रहा हूँ अब receiver को जो message मैं send कर रहा हूँ अब किसी और machine में क्या same message वहाँ पे send हो रहा है या कुछ और message वहाँ पे send हो रहा है क्योंकि आज के time पे lot इंटरनेट जो हम use कर रहे हैं, that is open system, तो वहाँ पे बीच में हो सकता है message में कोई problem आ गई due to some noise or due to some hacking, whatever the factor, तो मेरा जो message यहाँ पे, मेरा message जा रहा है, whatever message that is M, which is जो मैं अपने प्रति देख रहा हूं, रिसीवर में M रिसीव हो रहा है या M1 रिसीव हो रहा है? अगर मैं M रिसीव हो रहा हूं, तो रिसीवर भी M रिसीव हो रहा है, लेकिन वापस और एक अगले फैक्टर के लिए यह चेंज कर सकता है। मेरा mechanism, in my mechanism there should be lot of functionalities which should tell me that there is some kind of error, मलब at least मेरे को error पता लग जाए कि हाँ there is some kind of error और अगर error पता लग गया तो मैं उसको बाद में correct भी कर सकता हूँ या मैं data को दुबारा resend कर सकता हूँ तो that is some other thing, so one kind of functionality is error control, another kind of functionality is flow control Flow Control Means Amount of Data में Sender में एसे कुछ डाटा सेंड कर रहा हूँ रिसीवर पे और मैंने पूरा नेटवर्क बर दिया डाटा से No, There is some kind of Flow Control जब ऐसा नहों कि पूरा का पूरा मैंने buffer ही full कर दिया पूरी की पूरी memory उसकी बढ़ दी there is some kind of constraint over there अगर वो constraint हम use कर रहे हैं तब ही मेरा network properly flow करेगा otherwise वहाँ पे congestion होने की chances हो सकते हैं, मतलब मेरा जो system है मेरे system पे जो protocols run कर रहे हैं, वो protocols ये functionalities मेरे को provide करेंगे, ये mandatory functionalities मेरे को provide करेंगे another can be, let's say one more let's say multiplexing and demultiplexing multiplexing, demultiplexing means let's say, कि in my machine lot of programs are running, lot of processes are going on, मतलब मैं कुछ web browse पे कर रहा हूँ काम, मैं अलग-अलग web browsing पे कुछ download कर रहा हूँ, कुछ uploading कर रहा हूँ, whatever I am doing, lot of different different processes are going on. अब उन सारे processes में से कौन सा process data send कर रहा है? Like in my machine, lot of processes are going on. उन में से whichever? process is sending the data वो चीज मेरे को वहाँ पे multiplexing, demultiplexing help करती है ये basically transport layer का funda है जो हम आगे detail में discuss करेंगे और ऐसे ही अगर मेरी machine पे कोई message आ रहा है मेरे laptop पे कोई message आ रहा है like email आई है तो वो किस particular process के पास जानी चाहिए that is also the main point, तो उस kind की functionality को भी हमें यहाँ पे mandatory में रखा हुए, ऐसे ही, let's say lot of functionalities are there in the mandatory, let's say now optional, optional में major functionality आती है encryption, encryption, decryption, जिसको हम cryptography भी बोलते हैं, cryptography मतलब हम data को as it is send नहीं कर रहे हैं, उसको हम किसी other form में try कर रहे हैं send करने की, ताकि जो बीच में कोई भी intruder है वो उस data को ना समझ पाए, but not all the application required है, encryption, decryption, nowadays बहुत सारी application हैं, जैसे banking applications है, जहाँ पे भी मैं money transfer की बात करूँ, वहाँ पे definitely we need some kind of encryption method, ताकि कोई intruder बीच में data को ना hack कर पाए, लेकिन obviously इससे system की complexity increase होती है क्योंकि normal algorithms वो चल रहे हैं ये सारे क्या है एक algorithms है इन सारों की coding already present होती है हमारे kernel में हमारे operating system में already इनकी coding present होती है वो provide करता है ये सारे mandatory function इसके सासद अगर मैं optional functions की भी coding बीच में कर देता हूँ तो obviously system की complexity बढ़ जाएगी तो वहाँ पे time भी मेरा increase हो जाएगा to send the data ये बहुत ही main point है but हाँ, जहाँ पे मेरे को जूर्थ पड़ेगी, मतलब normal HTTP पे send करते हैं, data not required, but HTTPS, वो data को encrypt करके send करता है, तो वहाँ पे मेरे को definitely, encryption की जूर्थ पड़ेगी, तो अगर normally data send कर रहे हैं, simple जहाँ पे मुझे कोई security की जूर्थ नहीं है, कोई cryptography की जूर्थ नहीं है, तो मैं data को simply send कर सकता हूँ, ऐसे let's say, checkpoint, चेक पॉइंट means कि जब हम data को like download कर रहे हैं तो वहाँ पे मेरे को कुछ-कुछ time बाद check point जैसे मैं अगर data like मेरे पास कोई 500 MB की file है मैं उस data को download कर रहा हूँ let's say कि 300 जब वो file 301 MB download हो गई, चल रही है downloading, 301 MB पे वो downloading fail हो गई, तो next time जब दुबारा से downloading करूँगा, तो it should not start from 0, वो दुबारा से डाउनलोडिंग करेंगे, दुबारा 301 से ही start होनी चाहिए या कुछ lower value let's say कि मैं हर एक 100 MB के बाद एक checkpoint लगा देता हूँ after every 100 MB मैं एक checkpoint लगा देता हूँ तो जैसे ही मेरा यहाँ पे मैं fail होगा downloading तो दुबारा वो 300 से start हो जाएगी लेकिन क्या यह सारे applications के required है? no जहाँ पे data ही हम बिल्कुल small amount of data call कर रहे हैं जैसे हम whatsapp पे message send कर रहे हैं WhatsApp जो message send कर रहे हैं वो bytes में send कर रहे हैं, वहाँ पे मेरे को checkpoint की जरूरती नहीं है, तो वहाँ पे मैं extra functionalities ना लगाओं तो ज़्यादा better है, क्योंकि system को और ज़्यादा complex बन जाएगा, तो basically यहाँ पे funda हम क्यों discuss कर रहे हैं, क्योंकि हम next OSI level पे जा रहे हैं, OSI model पे, तो यह सारे बहुत सारे functionalities हैं, optional में, mandatory में, they are near about more than 70, more than 70 functionalities are there, तो उन्होंने इस सारे functionalities को basically क्या किया एक standard model बना दिया मतलब यहाँ पे हम generally discuss करते हैं networks में starting में ही आता है OSI model TCP IP model भी आता है OSI model आता है और आपको इसकी बहुत सारी videos भी available होगी बहुत सारा आपको material भी available होगा कि why there is a need of OSI model क्योंकि वो theoretical model है लेकिन उस model की need need क्या है, वो model क्यों implement कर रहे हैं, वो model क्यों बनाया है, the reason behind that model is this, कि ये सारी functionalities जो हम provide कर रहे हैं, उन सारी functionalities को एक model में decide कर दिया, कि हाँ, मेरे laptop में जब भी data send होगा, इस model के through, इस model, एक model, ये standardized model है, मतलब मैं एक standard को follow करूँगा, मैं एक protocols को follow करूँगा, उन protocols को follow करने के मेरा message मेरी machine से बाहर जाएगा और ऐसी जो receiver की machine है receiver की machine में जब वो message enter कर रहा है तो user तक पहुँचने से पहले वो उनी protocols को follow करेगा तो इसके लिए हम यहाँ अब एक model बनाते हैं, that is called, जो बहुती standard model है, that is OSI, Open System Interconnect, that is the model, OSI model. अब ये OSI model में हमने क्या किया, इन सारी functionalities को layers में convert कर दिया, layers में. कैसे? OSI model की standard layers है, seven layers are there, one is a physical layer, physical layer से उपर है data link layer, then network layer, transport layer, session layer, presentation and application. So these 7 layers are the heart of the OSI model तो यहाँ जो भी मेरे पास functionalities थी 70 के round optional या mandatory functionalities है They simply divide in each of the layer तो यहाँ पे अब मेरा message जब भी send होगा, मेरी machine से, जब भी वो message send करेंगे, whenever I send the message, it will pass through all the layers, यह concept है, this is the concept of the OSI model, तो यहाँ पे जो वो भी functionalities है वो सारी की सारी OSI model वहाँ पे fulfill कर रहा है so इसके अलावा और भी बहुत model आए हैं जैसे TCP IP model which is also very important IEEE model is also very important but हमारे gate के point of view से या normal हमारे जो academia में basically हम ये दो layers को sorry ये दो जो हमारे protocols है इनको ही हम follow करते हैं तो in the next videos we will take each layer one by one कि उनकी क्या functionalities है और क्या उनका purpose है हमारी system में और कैसे वो help करती है message को send करने में so thank you guys if you like the video please share with your friends and colleagues and please subscribe my channel thank you so much