Computer Networking Fundamentals Course

freeCodeCamp.org · Beginner ·⚡ Algorithms & Data Structures ·5mo ago

Key Takeaways

This video covers the fundamental concepts, protocols, and architectures of computer networking, including physical media access control, application layer protocols like HTTP and DNS, TCP congestion control, and routing algorithms, with a focus on IP addressing, classful and classless addressing, and network topology.

Full Transcript

This course covers the fundamental concepts, protocols, and architectures of computer networking. You'll journey through the entire networking stack, exploring how data travels from physical media access control up to complex application layer protocols like HTTP and DNS. You'll learn about technical mechanisms including error detection through CRC flow control strategies and advanced IPv4 addressing techniques like cider and VLSM. By mastering topics such as TCP congestion control and routing algorithms, you'll gain the deep theoretical foundation and practical problem solving skills necessary to navigate modern internet communications. >> Okay. So, this will be an orientation class. I'll be discussing the curriculum and the methodology we which we are going to follow and what I expect from you what are the prerequisite you require to attend the course. So I'll be discussing all these things in this orientation class and I'll also give you the basic idea what is computer network and how the course is going to proceed. what things which you are going to study in this course. I'll give you that basic idea. For the first 10 minutes, I'll be just overviewing the syllabus. Okay. So, let's move forward. This is me. You all know me from the operating system course which we uh which you all people attended last semester. So, I'll be your sailor for the journey through the network fundamentals. I'm Shatter Sharma and we will going to discuss all the major concept included in the computer network course from physical media access to the application layer protocol and I also added a bonus module of security. So we'll explore how data travels across network. We'll examine the protocols involved, how error is handled, routing mechanisms and the security consideration that make more internet communication possible. And one more thing before I move forward that I'll be sharing these lectures online too recorded lectures the polished and edited ones obviously and I'll be removing the message which you all share. So the people online on YouTube or Udemy or Udemy won't be able to see that. So won't be able to see that. So you can you can ask your doubts without any ask your doubts without any hesitation. hesitation. NowNow for whom this course is meant for firstfor whom this course is meant for first of all this is absolutely enough forof all this is absolutely enough for GATE. If you are a GATE aspirant thenGATE. If you are a GATE aspirant then you can blindly follow this course. Iyou can blindly follow this course. I have completed each and everything whichhave completed each and everything which is included in the GATE service in thisis included in the GATE service in this course. So the people online on YouTubecourse. If you are a university university university student who have computer science major you can attend this course or if you are preparing for any job interview courses like computer networks DBMS operating system these are very very critical. Now for people who don't know how I teach or what is my methodology then let's discuss that first I'll be discussing you theory but I don't like slides and all so I'll be teaching you raw pen and paper style and I'll also give you the reading material notes slides DBP reading material you will uh you'll be provided so firstly we will discuss the theory and then we will practice I will solve some problems in front of And then you have to solve the problem which is given in DPP. Now you will not attend the class without solving the DPP. You have to solve the DPP first. Ask the doubt in the class itself and then we will move forward. And before moving to the next topic, we are going to revise it with the help of a short notes. So this is the method which we are going to follow theory practice DVP and revision. Okay. Now in this class I'll be teaching you the basics of computer networks and so that you will get an idea what you are going to study in that course and in the next lecture we will begin with the core computer network which is IP4 addressing architecture. We will be learning the foundational concept the IP addressing fundamental structure what is classful addressing classless addressing what is uniccast multiccast broadcast communication how subnet marks mask work how networks are segmented we'll learn about classless interd domain routing a variable length subnet masking supernetting and efficient IP address allocation strategies this will be a big module okay the next module which is a bit shorter than the first is error detection and correction. We'll begin with a simple concept like a simp simple parity. Then we'll move toward more advanced concept like 2D parity check some CRC and Hamming code. Okay. The third module will include flow control mechanisms. Okay. So that a synchronicity is uh maintained between sender and receiver that sender do not increase the speed that receiver cannot handle. or these kind of things which we are going to study in the flow control mechanism. We'll study the three three important protocols stop and wait, go back end and selective repeat or selective reject. Then the biggest module of computer network transport layer protocols we are going to study TCP and UDP. Then the next module of media control protocol media access we'll be discussing three type of media access control protocols. MAC protocols, random access, controlled access and generalization. In random access we are going to study Aloha, CSMS CD, CSMS CA, controlled access, reservation, pooling, token passing and in generalization, FDMA, TDMA and CDMMA. I'll be telling you the important concept which you have to focus more then the routing and switching fundamentals. Okay. Now regarding that prerequisite I was talking about the prerequisite is data structures and algorithm course is there anyone in the class who have not attended the DSA course from the previous semester okay so most of the people have attended the course so I'll be discussing some of the algorithms like belman Ford Dra algorithm and all these things you should know what is a Q what is stack and all these things. Then we'll move toward the switching techniques, circuit switching, packet switching, what are virtual circuits and datagramgrams. We'll be discussing these things in this module. The next module is of application and support protocols. We'll be discussing protocols like DNS, SMTP, FTP, HTTP, ARP and DHCP and then ICMP. Okay. So this was the complete module which we are going to discuss in the computer network course. So this was what is in your curriculum. Now the bonus module will also include the cyber security part. How security is maintained among them among the networks. We will be discussing all these things also. So first we will learn about the IP4 addressing. The next module contains error detection and correction. The third is flow control mechanism. Fourth one is transport layer protocol. Fifth one is media access protocol and the sixth one is routing and switching fundamentals circuit switching packet switching. These are important application and support protocols and then in the end we will discuss the security part as a bonus module. Now the resources or the references I have taken for making this course is the primary textbook will be foren. This is the bible. You should have a copy of frozen with you if you want a more better understanding. For the people who have time and are planning to build a career in this, they can also read tenbomb in that in-depth theoretical foundation is there. And for people who are like absolutely crazy and want to read all these three books, you can also read the alternative perspective book top down approach. Okay. So this was all the curriculum which we are going to follow and know if you have any doubt regarding the curriculum or you want to ask anything you can ask now. Okay. So no doubt we are going to move toward the actual learning. Here is our pen and paper setup. So we will learn computer network basics in this lecture. This will be a lecture zero and from the next lecture we are beginning the IPv4 addressing. What is computer network? Yes. Yes. Okay. So, let me give you a bit of formal definition. We call it as a telecommunication framework. Telecommunication framework. Framework for what? Framework which allow digital devices which allow digital devices to interact. We call it as nodes also. Digital devices or nodes to interact. And the interaction can be either wired or it could be wireless also. Now interaction for what? Why do they interact? To share resources to share resources which could be either hardware or software. So this is a formal definition of computer network that it is a telecommunication framework which allow digital devices or nodes to interact which could be in a wired medium or can be in a wireless medium to share resources which could be hardware or software. Internet can be example of internet is a prominent example of computer network. Okay. Now in computer network we let these nodes interact and share data. So data communication is a very important part. Data communication. Now if I ask you the component of data communication what would you say? Let me give you a hint. First component can be the sender. What could be the second component? Tell me. Receiver obviously. The third can be content or we can also call it as message. Fourth the medium, the transmission medium. Tell me the fifth one. Think we have a sender, we have a receiver, there is a transmission medium, we have a message. Think what else is required that they can communicate with each other effectively. Correct. Michael said it. Rules. We call it as protocols. Protocols for what? For synchronization. What is synchronization? I told you the definition in OS course. Yes. To do something which is already agreed upon. So these are the five components of data communication. We need a sender, we need a receiver, there should be message that need to be communicated, medium and protocols for synchronization that governs the data communication. Now third thing effectiveness. When do we say that one network is more effective than the other? This is reliability. No reliability is not considered to be uh a metric for effectiveness. Why? For example, in transport layer in in transport layer, we are going to read about two protocols TCP and UDP. There you will learn that UDP is not reliable but still it is uh significantly used. So reliability is not a metric for effectiveness. Think something other. Yes. Delivery. Rebecca said it right. Delivery. What do you mean by delivery? That the data must be delivered to the correct destination. Correct destination. Okay. Second thing, integrity or you can also call it as accuracy. That data should not be modified in between because integrity is a word used for intentional modification done by some uh some person with mal intentions. Intentional modification while accuracy is a term used to prevent errors. So data must be delivered accurately. Delivered accurately without errors. Modification is not considered an error. That's why we don't use the term integrity which you have mentioned there. Third, what else can be the property? Time constraint or we can call it as timeliness. Data reached after the deadline may be useless. So data must be delivered in timely manner. Delivered in timely manner. Timely manner. Fourth point. Let me tell you the fourth point. It is jitter. What is jitter? You may have noticed that sometime there's a mismatch between audio and the video. when you are watching a movie there could be a mismatch between audio and video. So the uneven delay uneven delay is what jitter is. So uneven delay should not be there. Okay. So these are the four matrix for effectiveness. Now let's learn about transmission modes mode. Simplex, duplex and you can write it as half duplex and full duplex. What is simplex mode? Try to guess with the name. What is simplex mode? What is half duplex and what is full duplex? Okay, someone has written simplex is unidirectional. That's right. Then what is half duplex? They are writing birectional. Then what is full duplex? Again birectional. Then what is the difference between half duplex and full duplex? H they have written it correctly. Birection half duplex is birectional. But it is like a single lane that either you can talk like this is sender one, this is receiver or you can call it as person one or person two. They are talking over a walkie-talkie. So while you talk over a walkie-talkie, you cannot both talk simultaneously. That's why you use the word like over and out so that the other person may know that the first person is not going to speak in between. Are you getting the point? Unidirectional transmission means you are watching a TV. You're listening to a radio. Half duplex means you are talking over a walkie-talkie. Each station both can transmit but not at the same time. So when one device is sending the other can only receive and vice versa. While what is full duplex? The telephone that we use the telephone uh during talking over a telephone both the person can speak simultaneously. So this is what full duplex is. I hope you are getting the point. In simplex there's only one lane and only one directional movement is allowed. In half duplex there's only one lane and one direction movement is allowed at a time. While in full duplex it is like a two-lane system. Okay. So this was all about transmission mode. Now network criteria, network criteria. Here we discuss about the reliability factor. Reliability. What is reliability? Can you can someone give me a formal definition? We all know the meaning of being reliable and all but what is reliability according to a definition lesser failures we we call it as lesser frequency of failures failures and one more point should be added. Yeah, failure thing has been already mentioned. What should be another thing which reliability have in its definition? H resolution of failures. You have written correctly. Lesser time in resol resolving the failure. Time taken to resolve these failures should be less should be less. The second point is performance. Performance can be measured using there are different metrics you can use transit time, you can use uh response time, number of users, transmission medium, there are multiple metrics. The security okay what about security? Protecting the data from unauthorized access. You must have name, you must have heard the name of CIA triad. What is CIA in security? In context of security, what is CIA? Can someone give me the full form? Yes, correctly. Confidentiality, integrity and this is authorization or authentication. What is it? And what is the difference between both? Is it authorization or authentication? Author authorization or authentication? Because some people are mentioning authentication, some are mentioning authorization. What is it and what is the difference? This is your homework. So what is security? Includes protected protecting data from unauthorized access from damage and modification. Okay. Now there are different types of connections connections. It could be uh pointto-point. It could be point to multipoint. What is multipoint connection? What is multipoint connection? That one computer is sending data to different other computers. Is it necessary that all all of them should be in the same network? No, it's not necessary. One computer from one network can send to multiple computers in a different network. This is also included in multipoint. We are going to read more about it when the time will come. Okay. And what should more be taught in the basics thing? Well, you can learn about uh topology. You can learn about topology. What is topology? Have you heard of this name before? Yes. Perfect word layout. Layout or you can also write it as uh geometric representation. Geometric representation. What are the different type of topologies? There could be pointto-point topology. There could be a bus topology in such manner. There could be a ring topology. This is ring topology. There could be star topology. There could be a tree topology you know in a hierarchal fashion. Tree topology like in this manner. This is tree topology. What is mesh? Mesh topology. This one is mesh topology. And there could be hybrid a mix of all of them. So this is what uh topology is the physical layout or geometric representation. We can discuss more about it. Do you want me to discuss more about it or we can just move forward? Yeah. So there's a one question that has been uh asked that in an exam of a mass topology uh the number of link was asked. Okay. So let let's discuss let's discuss them one by one. So let's start with the mesh topology. What is mesh topology? Have you heard of the term connected graphs? Connected graph each vertex is connected to another vertex directly. Directly. So connected graph is like from one vertex you can reach to another vertex. So this is what connected graph is. But this graph is also connected. We don't want connected graph. We want completely connected graph or complete graph. What is complete graph? That each vertex is connected to another vertex. For example, if you take like this, then this vertex should be directly connected to other vertex present. So this link, this link, this link, this link. So if there are five vertex there are five vertex in this uh pentagon. So if there are five vertex each vertex can be connected to maximum of four vertice vertices. So if there are n vertex each vertex can be connected to n minus one. Okay. So if each vertex can be connected to n minus one vertices, then how many total links will be there? How many total links will be there? n c2 or you can write it as n into n - 1 by 2. So here in this case where we have n= to 4, how many total links will be there? 4 into 3id 2 that's 12x2 equals to 6. So six links will be there. In some very bas basic exams or easy exams these questions could be asked for fun marks. So in my topology total NC2 links will be there where n is the number of vertices. Okay. Now let's discuss what is the advantage? Why do we use different type of topology? Why can't just we remain to any arbitrary topology? Why we are using these specific ones? So because there are several advantages associated to each of them. For example, mesh topology. What is the advantage of my topology? Why are we using? Can anyone guess the advantages? Yes, correctly. So, we have one advantage mentioned traffic issues is less traffic issues not there. So, that's one advantage. What more advantage you can think of? Yes, Rebecca mentioned fault tolerance or robustness. Robustness anymore. Okay. You can also for example for extra point you can write fault identification is also easy. Is also easy. Okay. So what is the disadvantage you are looking? What is the disadvantage you can think of for me topology? Disadvantage. Yes. Expense. Wiring bulk or expense. Same point. It's been written. Wiring bulk. Think of some other point. Difficulty in installation. Yes, this could be a point. Difficulty in installation. Okay. So this was for mesh topology. Now this was mesh topology. Let me write mesh tree. This is star ring bus pointtooint. Let's move to next. Next star topology. In star topology we use a device named hub. So no device is connected directly to each other. For example, this device D1 want to send data to device D3. Then it won't send it directly. It will use hub. So D1 will send to hub and then hub will forward it to D3. Okay. So advantage could be it is easy to install, reconfigure. Fault identification is easy. You know it's it's it's robust also in a way if you look at that failure of one link will not going to affect the whole setup and it is less expensive than me topology. But the biggest disadvantage which you can directly look at is if hub is gone then the whole system collapses. Okay. Now next topology could be you you know bus topology. must include a central backbone. Central backbone. So again the direct disadvantage is if something happens to the backbone the whole system collapses. So so this is a long cable. This is a long cable which act which act as a backbone. And the from the point where these are connected is known as drop line or the this link is drop line. This point is step. This is drop line. Well, this is not so so important. You I'm just uh explaining these topologies because so that you can get an idea otherwise it's not very much important. Other could be a ring topology. Here it is ring topology. What is ring topology advantage? Simpler installation reconfiguration. A single point of failure can going to affect the whole system. So this could be a disadvantage. Okay. Okay. So in ring topology what happens? Each device each device is connected directly to the two adjacent devices forming a closed loop. And the one specific thing which is uh only associated with ring is data travel in one direction only. So data signal travel in one direction through each device until they reach their destination. Each device functions as repeater also. So if data reaches to this for example D1 send want to send data to D3. So what D2 will do? D2 will look at the data. This data is not meant for me. It is going to amplify the data. It will act as a repeater going to amplify data regenerate the signal before passing it to the next. So this was about ring topology. Okay. There are several topology you can look at it. You can search you'll understand it just by Google search you will notice. Okay. Now let's move to the biggest problem is that is for example I have a system in some different architecture. I want to communicate with a system of some different architecture. Can I communicate directly? No. This doesn't happen. You won't be able to communicate directly. So now what is the solution? We need a model. The OSI model proposed by ISO. OSI model open system interconnection proposed by ISO international standards organization that model is going to enable communication between different system irrespective of their underlying architecture. So it will be a conceptual framework conceptual framework a conceptual framework for creating a robust and interoperable network architecture. So this is not not some kind of protocol. This is not a protocol. This is a model. It's a like a framework. Okay. And it is a it work on a layered architecture. Layered architecture. So we will have a different different layers and we are going to study each layer in detail. Okay. So there are different layer. Each layer is going to communicate with the corresponding same layer of different system. For example, let me draw a diagram so that you can understand better. For example, this is device A. This is device A. This is device B. Both have different architecture. Okay. So, we will need uh let's say router one here, router two and they are connected like this. Now, what happens? Device A have this layered architecture. It have different type of layers like application layer, presentation layer, presentation layer, session layer, transport layer, then network layer. You have to remember all these names in sequence too. Network layer. You can create some pneummonic to learn data link layer and then in the end physical layer physical layer. Now what's going to happen? This device B also have the same set of layers. Now what happens? The application layer of device A is going to communicate with the application layer of device B. We call it as peer-to-peer connection or peer-to-peer protocol. peer-to-peer protocol. Same happens with the presentation layer. Same happens with the session layer. Same happens with the transport layer. And same happens with the this device and the intermediary node. For example, in router, we reach or we require the services till network layer only. We don't require the services of transport layer. So, let's make it a single router. R1 okay or R and then here the physical layer. So network layer is going to communicate with the network layer of router and same happens like there. Okay. So what happens is when teacher teaches you can in the beginning can understand the OSI model you can go like this you understand the physical layer first and then network data link layer network layer and then this okay so what approach we are going to follow is we'll first understand the services provided by these layers application presentation services a session layer. Okay. So what approach we are going to follow is we are going to first understand the services provided by these layers and then when we have clarity of what is flow control, what is error control, what is framing, what is segmentation. then you will better understand the functionalities of uh or the how these layer work as a whole to provide the OSI model how these layers coordinate with each other okay so we are going to first understand the functionalities of these layers and then we'll understand how they communicate with each other how they in share data with with each other and they become the OSI model as a whole is video clear and voice audible Okay then. So the last lecture was lecture zero. Today is the lecture one. Let's revise what we have learned yesterday and then we'll continue for IPv4 addressing. So what was computer network? It was a telecommunication framework. It was a telecommunication framework which allow digital devices to interact with each other. interaction could be wired or wireless to share resources which could be hardware or software. Regarding the components of data communication, we have sender, receiver, message, medium and protocols. Effectiveness, four metrics were there. Delivery, accuracy, timeliness and jitter. And for transmission modes, we had simplex, half duplex and full duplex. Simplex means unidirectional like TV or radio. Half duplex means birectional but only data can travel only in one directional at a time like a walkie-talkie and a full duplex means like a telephone. And for network criteria we learned about reliability, performance and security, type of connection, pointto-oint and multipoint. And then we learned about topology which was the layout. We learned about different topologies and then in the end we discussed the OSI model introduction the conceptual framework. It was a layered architecture. We learned about different names of the we learned about the names of the different layer. And today we are going to start with the functionality of network layer which is IPv4 addressing. But before starting let me ask you do you know about binary numbers? Yes most of the people know about binary numbers which include zero or one. Do you know about the representation 0000 means 0 and 001 means 1. Okay, I hope you all know that because the IPv4 addressing will be totally based upon the representation of binary numbers. If you do not know them, you can leave the class first understand how binary representation is done and then watch the recorded session. Okay. So 0 0 0 is 0 0 0 is 1 is 1 0 0 1 0 is 2 0 1 1 is 3 okay this is how it is representation let me also explain how it is done for this place 2^0 for this place 2^ 1 for this place 2^ 2 and for this place 2^ 3 so if I write 1 0 0 0 this mean 1 into 2^ 3 plus 0 into 2^2 2 + 0 into 2^ 1 + 0 into 2^0 this will be 8. Okay. For example, if I write like this 0 1 1 then this means 0 into 2^ 3 + 1 into 2^2 + 2^ 1 + 2^0 this is 4 this is 2 and this is 1. 4 into 6 + 1 7. Okay. So when I had three 1's from the right side then the value is 2^ 3 - 1. Let's say if I had four ones from the right side then I have value of 4^ 2 power 4 - 1 which is 15. Is it 15? Let's check. So instead of zero here it will become 1. Now 8 will be added to 7. This will become 15. So yeah. So let's say if I ask you what will be the value if I have continuous 8 ones what will be the value of this 2^ 8 - 1 what is 2^ 8 256 - 1 means 255 so the maximum value with 8 once I can reach is 255 so the range will become 0 to 255 I hope this point is Okay. Now I want you to remember these numbers and their binary representation. So if I write 0 0 0 0 0 what is this? 0. If I write 1 then it will become 1. If I write 1 1 then it will become three. If I write 1 1 then it will become 7 then it will become 15. Okay. So this point I hope it's clear. Now what about if I start the one from left hand side? This is very easy. You can just calculate like this 2^ n minus 1 where n represents number of one ones from right hand side. Okay. Now what about this? What about number of ones from the left hand side? We have seen from the right hand side the formula is 2^ n minus 1. What about the left hand side? So you can calculate directly like this. For example, I have this number. How am I going to calculate? Let's say we are talking in the octets. Octates with 8digit binary numbers. Now what is the value of this? You can calculate like this. 2^0 2^ 1 2 power 2 2^ 3 2^ 4 2^ 5 2^ 6 and 2^ 7 so I have to add these numbers and ignore these numbers why because here it is zero so 2^ 7 + 2^ 6 + 2^ 5 + 2^ 4 this will be the value of this you can calculate this way the another way is 1 1 1 1 0 0 0 and 0. The another way is the maximum value that this number can achieve is 255. Now I can calculate this by subtracting 25 by subtracting the value of this from 255. So what is the maximum value this can achieve? 1111. This could be 15. So the value of this will be 240. Now you can calculate from here also the value will be 240. Let me repeat the method again. For example, I have 1 1 1 and then 0 0 0 and 0. Now, what could be the decimal value of this? 255 minus how many ones? It could have 1 2 3 4 5. So, what is the maximum value? 2^ 2 power 5 - 1. This is the formula which we have witnessed just here. So 255 minus 255 - 2^ 5 this is 32 31 so this will be this will be 224 okay you can calculate like this or you can also calculate like this 128 64 32 and you can add all of them you will get 224 okay first of all I want to make sure that you know the table of is of the power of two. 2^0 is 1. 2^ 1 is 2. 2^ 2 is 4. 2^ 3 is 8. 2^ 5 is 32. Oh, sorry. 2^ 4 is 16. 2^ 5 is 32. 2^ 6 is 64. 2^ 7 is 128. And 2^ 8 is 256. That's all you will need. Okay. 3 4 5 6 7 8. What is the weight of each position? What is the weight of each position? The weight of this is 128 64 32 16 8 4 2 and then 1. This is nothing but 2^0 2^ 1 and all like this. So if I have the value 1 1 and rest all are 0 0 0. So I will pick up this 32. I'll pick up the eight. I'll pick up the two. This is what the decimal value of this number is 42. Okay. So I hope now you know the conversion. You know the table of the power of two. And then you know what does it signify to have the straight ones from the left hand side and the straight ones from the right hand side. Now what you have to remember is this 1 2 3 4 5 6 7 8. You have to remember this 1 one 1 5 1 and then 6 1's and then 7 1's and then 8 ones. Rest all will be zero. You can fill up all of this with zeros. Now just a single one from the beginning the value is 128. When there are two ones, the value will be 128 + 64. This will become 192. When you'll have three ones, then the value will be 128 + 64 + 32. The value will become 224 and then 240 and then 248 and then 252 and then 254 and then 255. If you remember this table especially in GATE exam it will be very beneficial for you. You won't have to think. There will be lesser chance of silly mistake and you will be quick. If you do not remember this there's no problem. You can simply calculate like this. Okay. And the more number of question you will solve you will get uh you will get better with these uh values. Now if I have just one bit with me for example let's say zero or one bit position then how many number of bits I can form how many different addresses I can form 0 and one that's it for example if I have two bits how many addresses I can form you can form 0 0 you can form 0 1 you can form 1 0 and you can form 1 one that's right so with two bit I can form four addresses four addresses Okay, what about three bits? With three bits, I can form eight addresses. How did I know? 2^ 1 = to 2. 2^2 = to 4. 2^ 3, which means 8. What are those eight addresses? 0 0 0 1 0 0 1 0 0 1 1 0 1 1 0 and 1 1. So these are the eight addresses I can form with three bits. What about n bits? with n bits I can form 2 raised to power n addresses. I hope this point is clear. Now what I'm doing is I'm fixing the first bit. I'm fixing the first bit. What do you mean? What do I mean by fixing the bit which means that bit cannot be changed. For example, if I for this case if I fixed this bit as zero, then how many address it can form? It can form either 0 0 or 0 1. That's it. Just two addresses. This was the case one. As you know I have fixed the bit. I have not specified I have to fix it with zero or one. So case two can be formed where I fix the bit with one. So the another set of addresses with case one will be 1 0 and 1 one again two addresses. So what I've done is when I fixed a single bit the whole set of addresses are divided into two sets two subsets two subsets of addresses. Okay, let's try here also. If I fix a single bit, the whole set of address will be again divided into two. Hey, did I missed something? Yeah, I missed 1 0 0 1 0 0. Okay, now what happens? I again fixed this bit. I fix this bit. Okay, so with fixing I mean I can either fix it to zero or fix it to one. Again two cases are formed. With 0 I can form 0 0 0 1 0 1 0 and 0 1 1. With one I can form 1 0 0 1 0 1 1 0 and 1 1. So I fix one bit I form two subsets. What about if I fix two bits what will happen? So if I fix two bits I can form like this. Case one will be 0 0. Case 2 will be Case 2 will be 0 1. Case 3 will be 1 0. case score will be 1 one because I have fixed two bits. So the number of cases will also increase. So with 0 0 I can form 0 0 0 or 0 0 1. These two are fixed. So with 0 1 I can form 0 1 0 or 0 1 1. With 1 0 I can form 1 0 0 or 1 0 1. With 1 1 I can form 1 0 or 1 1. Are you getting the idea? If I am fixing just one bit, the whole set of address is getting divided into two subsets. Like here, if I fixed two bits, the whole set of addresses are getting divided into four sets. Four subsets. What if I fixed three bits? If I fixed three bits, the whole set will be divided into eight part. Which means all of them are different. Now all of them will act as a case. I hope you are getting the idea where I'm reaching. So if I fixed from n bits from n bits if I fixed the initial k bits then total number of cases will be 2^ k and each address in the subset will be of the size 2^ n minus k. Are you getting the point? For example, look here. What is n? n is three. What is k? K is 2. So with n= to 3 and k= to 2, how many number of cases are we forming? 2^ 2 equals to four cases. And what is the size of each? This is one 2^ 1 equals to 2. The size of each each subset is to 1 2 1 2 1 2 and 1 2. So in the in the n bits if I fix the initial k bits 2^ k cases will be there and each subset have 2^ n minus k number of addresses. Okay. Now why I'm teaching you this you will understand in few minutes. Till now if anyone have any doubt you can ask. Is the concept clear? Okay. Now we are moving to IP addressing. What is IP addressing? So IP address is like a logical address. Logical address of size 32 bits. Of size 32 bits. Okay. Now 1 2 3 4 1 2 3 4. This is an octate. of eight bits. This is an octate. So we'll have four such octates in an IP address. Octate 1, octate 2, octate 3 and octate 4. And we differentiate with them with a dot. We differentiate them with a dot. So if I have an address of 32 bits total number of IP address will be if I have address of three bits the total if I have address of three bits total eight addresses could be found with the formula of 2^ 3. So if I have total 32 bits the total number the total number of IP address will be 2^ 32. This is a very big number. This is a very big number. It's like 4 billion. Okay. So initially it was a time of I think 1980s IP address were divided into two fixed part. The network ID the network ID and the host ID. The network ID and the host ID. Okay. Who who was deciding this? I NA internet assigned number authority. Okay. So out of 32 bits let's say I divided 32 into two parts of 8 bit and 24 bit. So this 8 bit let's say name it as network ID and 24 bit as host ID. So 8 bit will be acting as network ID and H ID will be acting as host ID. So how many networks could be formed? 2^ 8 which means 256 networks could be formed could be formed and I have 24 bit of host ID. So in a single network how many host could be there? 2^ 24 host can be there. Are you getting the point why I explained you that concept? So you can you can use the same analogy you can consider network as a case and post as a subset. So I have 256 cases and each case have 2^ 24 members in the subset. Okay. I have 256 network and each network have 2^ 24 hosts. I hope the point is clear. If anyone have doubt till now you can ask. Okay. So you can uh express it like this network one let's let's name it as network one it has 2^ 24 IP addresses each address is given to one host let's say IP address one is given to host one IP address 2 is given to host two so 2^ 24 host could be given distinct addresses so network one they have 2^ 24 IP address network two similar network three similar. So there will be like 256 networks. There are 256 networks. Each network have 2^ 24 IP address. How many total IP address will be there? This is 2^ 8. So this is 2^ 32 from where we started. Okay. So with a single IP with a with 32 bits with the 32 bits we can create 2^ 32 addresses and we are dividing that address by fixing the bits by fixing the bits. For example, if I fix the bit like this 0. Now they are eight 0 0 0 1. This means this is network one. And if I'm writing like this, okay, let me explain it again. We are talking in octates not in a single uh we are talking about the whole IP address not about a single octate. So let's say if I fixed this and I write like this 0 0 0 0 1 this means this is network 1. And if I write like this 0 0 0 0 0 0 and here 0 0 0 0 1 this means network one host one. I hope you got the point. How are we dividing it? Okay. Or I can explain more from that. 0 0 0 02. This means network one host two. I hope you're getting the point. Same thing we are doing here. Fixing the bits. Network. This was network one. This could be network two. So this means network to host one. Host two. So what is this? Tell me what is this. Which tell me the network number and host number for let's say this. What is the network number and host number? Yes, if I have assigned this network one, this could be network two, this could be network three and this could be network four and the host will be host two, host number two. So in this way we are assigning the networks and the host. Okay. So what happened? Let's say there are only 256 networks. There are only 256 networks and each network has 2^ 24 hosts. Are you getting the point? How much 2^ 24 is 2^ 20 is approximated to a million and 2^ 4 is 16. So it's still 16 million host in a single network. in a single network. Network one have 16 million hosts which means 16 million computers could be present in network one. So if there are only 256 network and even a small organization must buy 16 million host to purchase one network. So this is a problem to us and the number of networks are very less. The number of the number of networks are very less. So we have to come up with a solution. We call the solution as classful addressing. Classful addressing. I give you an analogy of classful addressing and then we will start the technical part of classful addressing in the next lecture. So what is classful addressing? We will understand with the help of telephone networks. Telephone networks. I'll take the case of India as I'm from India. In India, telephone network is 11digit number and this 11digit number has two parts STD and T. And each telephone number is unique. Each telephone number is unique. So what happens? We'll take the case of city, town and villages. In the case of city, in the case of city, the big cities, the number of cities are less, number of cities are less and the people living in each city is more, people are more. And about villages, the number of villages are more and the number of people are less. So if I fixed something like this, if I fixed something like this that I NA did in 1980 that out of the four octates, let's give the first octate for NID and the rest for HID. This will be a classic failure because the number of cities and the number of people same relation is not present with the number of villages and number of people in those villages. In city people are more but the big cities are less. So what I want is I want lesser number of bits to represent the cities. For example, say we give three bit to std. It's like an id to identify the network and eight bits for the tid to identify the phone number. For town what we do we give four bits to tid for std sorry and seven bits to tid. And for villages what we do five bits for std and six bits for T. Now what happens with the with three bits with three bits what we can do is we can represent 000000 to 9999 thousand cities thousand big cities and each city could have the number of people 1 2 3 4 9999 99999 these number of people each city can What about town? How many town can be present? 9999. These could be number of towns which have the number of people ranging to maximum this much. What about the village? The number of villages can be more. So 99999. This could be number of villages. And in each village the maximum population a village can have will be this or the maximum number of phone numbers and village can have will be this. Same telephoneonic concept will be applied into the area of computer networks for addressing IP addressing. So what are we going to do? like we divided the 11digit 11digit telephonic numbers into std n based on classes like cities, cities, towns and villages. Same way we are going to do with the IP address here IP address 32-bit IP address. We are going to divide these 32 bits into NID and HID based on the classes. Class A will have less number of networks and more number of host. Class C will have more number of networks and less number of hosts. Class will be like a town in between. So what happens? The sum is 32 bits and the total IP address is 32 bits. So out of 32 bits, 8 bits will be given to NID and 24 bits will be given to HID. So there will be 256 networks and each network will have 2^ 24 host. And this class A type networks are used for big organizations like NASA and ISRU. Class B it's like the middle one 16 bits for NID and 16 bits for HID two 16 networks and each network have to rest for 16 hosts. It's used for MNC's like TCS and VIPRO. Class C network more number of networks less number of host 2^ 24 bits of NID which means there will be 2^ 24 networks and each network will have 2^ 8 hosts it's used for small organizations like schools and colleges but you know the problem which I discussed before that let's say if someone buy someone wants to buy let's say thousand hosts someone wants to by a network for thousand hosts. Which class should he approach? Should he approach class A? No. Should he approach class B? Approach class B because in class C, class C, the number of networks are 2^ 8, which is 256. So he has to approach class B. Now the total number of host in a single network of class B, you know how many they are? 2^ 16 which means 2 to power which means 6 5 53 6 and after these I'm only going to use 1,000 so how many will be wasted or how many extra host I have to buy these many extra host I have to buy so the problem still remains let me give let's say you want to buy a cake you want to buy a cake for your friend okay and the friend said that I want a 3 kg cake and and the shopkeeper have pieces of cake of this 2 kg. Friend wants 3 kg of cake. So you won't going to you are not going to pick up the 2 kg piece. 3 kg means 3 kg. So you have to pick up this 10 kg part which means 10 - 3= to 7 kg will be wasted. Now what is the solution? The solution is you go to another shop which have not made the pieces of the cake already. it it cuts the cake based on the need based on the demand. So when you say you want a 3 kg cake a 3 kg piece will be picked up and given to you a very less or no wastage. No wastage. Here the wastage was 7 kg and here there's no wastage. So this is what classless addressing is. This is classless addressing and that was classful addressing. So which is better classful addressing or classless addressing? Obviously classless addressing is better because classful was a older concept. Okay. Class A has 8 bit of an ID and 24 bit of HID. 16 bit of NID for class B, 16 bit for HID and 24 bit ID of class C and 8 bit of HID. So this was the theoretical concept which we came up similar to the telephonic uh concept where we divided the std and tid hid and nid and j. So this was the theory. Now how we actually implemented this now we are going to understand bit IP address. What we did? We fixed the first bit 0 0 0 till the end and then 1 1 1 1. Okay. So when first bit is fixed this 2^ 32 address space will be divided into two address space of 2^ 31 and 2^ 31. So this address space is 2^ 31. This is 2^ 31. We call this as class A. And this is expanded here. Okay. So one was already fixed. We fixed another bit also. 0 0 0 0 0. And then here 1 1 1 1. We call it as class B. And this part is again expanded. We fix another bit here. 1 1 0 1 1 0 1 1 0 1 1 0. And here 11 one 1 11 one 11 one 11 one 11 one 11 one 11 one 11 one 11 one 11 one 11 one one one in this manner we call it as we call it as class C and then let's expand it down 1 1 1 1 0 class D and 1 1 1 1 as E we did like this. So class A has fixed bit of Class A has fixed bit of zero. Class B has fixed bit of 1 and 0. So class B has fixed bit of 1 0. Class C has fixed bit of here 1 1 0. So class B has Class C has fixed bit of 1 1 0. Class D 1 1 0 and class E as 1 1 1 1. Is the point clear? Now how we did? We initially began with a 32-bit IP address address space. We divided into two parts. The first one is class A and the remaining part is again divided into two parts and then the first part becomes the class B and the remaining part is again divided into two parts. The first part became the class C and the remaining part is again divided into two parts class D and class E. Is the point clear? Why we stopped here? Because we just wanted five classes. So for five classes what we did this was let's say 2^ 32 bit address space. So we divided into first two parts 2^ 31 and 2^ 31 we call it as class A. And then 2^ 31 is divided into two parts. Class B. So this has 2^ 30 and this part has 2^ 30. Now this is again divided into two parts. This becomes class C. So the class C has 2^ 29 and the remaining part is 2^ 29. Now this remaining part is again divided into class D and class E. So remaining part have 2^ 28 and 2^ 28 IP addresses. So this is how it's actually implemented. This is how we bifurcated the cake. We divided the IP address space into classes. So the number of IP address present in class A will be 2^ 31. In class B it will be 2^ 30. In class C it will be 2^ 29. In class D it will be 2^ 28. And in class E also 2^ 28. Okay. And the fixed bit of class this is fixed bit and this is class name. Okay. So you have to remember 0 1 0 1 1 0 1 1 0 and 1 1. So class A class A actually comprises of 20 50% of the total address space. Class B 25%. Class C 12.5%. Class D 6.25% and class E also 6.25%. Okay. Now let's understand the representation. of IP addresses. So we have three representation. The first one is binary. The second one is decimal and the third one is hexadimal. Hexad decimal. Binary you already know 32 bits of four octates. Octate means 8 bit each. So it could be like this. So the full binary representation of IP address is like this 1 1 0 0 1 0 0 1 1 1 1 1 0 0 or you can write anything like 0 0 1 1 1 1 How many are there? 1 2 3 4 and 1 2 3 let's remove one these are okay and the last could be 1 1 1 1 0 1 1 1 okay now what will be the decimal representation I have already taught you how to convert this is 2^0 this is 2^ 1 2 power 2 2^ 3 4 5 6 and 7 you ignore the zero zero part and you take the weight of one part and add them so this will become I think 200 this will be this will be 252. I taught you to uh remember these values 1 2 3 4 5 6. If six ones are from the left the value is 252. If 7 1's then 254 8 1's 255. If only single one 192 sorry 128 double ones 192 triple ones. Okay, let me just write just single one 128, double ones 192, triple ones 224, four ones 240, five ones 1 2 3 4 5 24 6 ones 252, 7 ones 1 2 3 4 5 6 74 and 8 ones 1 2 3 4 5 6 7 8 255. Okay. So this is 255 and then this is 1 2 3 4 5 6 ones from the right. What was six ones from the right? 2^ 6 - 1 which is 63. And then in the end see the full will be 255 and eighth position the value of uh this the weight of this bit is 8. So 255 minus 8 is 247. So this will be 247. You can do this smartly also. You do not have to always calculate by just adding the weight of all. You can also use the trick of subtraction. 255 minus and then 8. What will be the hexa decimal? C8. I have already calculated this C8 F C 3 F and F and it is seven. How did I did it? See what I have done is I have divided these into four four bits and I have just converted them into hexadimal format. So what is this? This is 12. So do you know how to convert from 0 to 9? It is same like binary and from 10 11 12 13 14 15 it's like a b c d e f. So this is 12. This is 12. That's why I've written C here. And 1 0 0 is 8. That's why 8 15. So 15 is F. So C and then again 12. Then C 3 F. This is

Original Description

This course covers the fundamental concepts, protocols, and architectures of computer networking. You will journey through the entire networking stack, exploring how data travels from physical media access control up to complex application layer protocols like HTTP and DNS. You will learn about technical mechanisms, including error detection through CRC, flow control strategies, and advanced IPv4 addressing techniques like CIDR and VLSM. By mastering topics such as TCP congestion control and routing algorithms, you will gain the deep theoretical foundation and practical problem-solving skills necessary to navigate modern internet communications. Course notes: https://drive.google.com/file/d/1H4HyyNb07e4u3wdV-vfUWJTn2ulullac/view?usp=sharing Course overview: https://drive.google.com/file/d/1d8cynMNNB0H5DoyBwAj1WTQrIe4X2PLX/view?usp=drive_link DPP practice questions: https://drive.google.com/file/d/1q3s7Yk_bVdxMosDVf-hkGYOLqgSeza4H/view?usp=sharing ✏️ Course created by Kshitij Sharma. Chapters *Course Intro & Basics* - 00:00 Networking Stack & Stack Concepts - 00:46 Orientation & Prerequisites - 01:31 Instructor Intro - 02:05 Target Audience - 03:01 Methodology: Pen & Paper Style - 08:42 Defining Computer Networks - 09:55 5 Components of Data Comm - 11:40 Effectiveness Metrics - 14:14 Simplex, Half & Full Duplex - 19:55 Network Topologies (Mesh, Star, Bus) - 28:36 OSI Model & Layered Architecture *IP Addressing & Subnetting* - 34:37 Binary & Octet Conversion - 48:09 IPv4 Logical Addressing - 55:17 Classful vs. Classless (CIDR) - 1:10:56 Class A-E Addressing Deep Dive - 1:18:43 Loopback & Troubleshooting - 1:35:53 IP Conversion Practice - 2:15:55 Subnetting & Borrowing Bits - 2:52:25 Subnet Mask Design - 3:05:24 VLSM Strategy - 3:31:04 Routing Tables & CIDR Blocks - 4:05:50 Supernetting Blocks *Error & Flow Control* - 4:19:56 Single Bit vs. Burst Errors - 4:39:26 Hamming Distance & Correction - 4:49:52 Simple & 2D Parity Methods - 5:14:32 CRC & Polynomial Notati
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60

← Previous Next →
1 React: Production Server Setup Part 2 - Live Coding with Jesse
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
2 cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
3 Browser history tutorial - Beau teaches JavaScript
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
4 Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
5 React: Parameterized Routing with Next.js - Live Coding with Jesse
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
6 React: Dealing with jQuery Issues - Live Coding with Jesse
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
7 setInterval and setTimeout: timing events - Beau teaches JavaScript
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
8 Browser and Device Testing - Live Coding with Jesse
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
9 Last Minute Updates - Live Coding with Jesse
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
10 Post Launch Updates - Live Coding with Jesse
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
11 React: Setting Up Google Analytics - Live Coding with Jesse
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
12 React: Masonry Layout - Live Coding with Jesse
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
13 Load Balancing Digital Ocean Droplets - Live Coding with Jesse
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
14 try, catch, finally, throw - error handling in JavaScript
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
15 Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
16 Graphs: breadth-first search - Beau teaches JavaScript
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
17 React: Masonry Layout Part 2 - Live Coding with Jesse
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
18 React: WordPress API Live Search - Live Coding with Jesse
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
19 Creating WordPress Custom Post Types - Live Coding With Jesse
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
20 Dates - Beau teaches JavaScript
Dates - Beau teaches JavaScript
freeCodeCamp.org
21 Miscellaneous Front End Updates - Live Coding with Jesse
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
22 Merging a Pull Request from GitHub - Live Coding with Jesse
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
23 React + Prettier + Standard JS - Live Coding with Jesse
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
24 React: Sortable Responsive Table - Live Coding with Jesse
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
25 Geolocation Sorting by Distance - Live Coding with Jesse
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
26 Tradeoff Matrix - Agile Software Development
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
27 The Definition of Ready - Agile Software Development
The Definition of Ready - Agile Software Development
freeCodeCamp.org
28 Getting first React job without experience - Ask Preethi
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
29 React: Google Analytics Click Tracking - Live Coding with Jesse
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
30 Submitting a PR to an Open Source Project - Live Coding with Jesse
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
31 Should I go back to school to get CS degree? - Ask Preethi
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
32 Hero Section CSS Changes - Live Coding with Jesse
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
33 Working Agreement - Agile Software Development
Working Agreement - Agile Software Development
freeCodeCamp.org
34 A day at Pennybox with Co-Founder Reji Eapen
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
35 React: Sorting and Filtering Data - Live Coding with Jesse
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
36 React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
37 React: Building a New UI - Live Coding with Jesse
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
38 Definition of Done - Agile Software Development
Definition of Done - Agile Software Development
freeCodeCamp.org
39 Getting started with jQuery (tutorial) - Beau teaches JavaScript
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
40 Making a React Blog with WordPress Content - Live Coding with Jesse
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
41 React, NextJS, CSS - Live Coding with Jesse
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
42 jQuery events - Beau teaches JavaScript
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
43 React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
44 React: Working with API Data - Live Coding with Jesse
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
45 React: Refactoring Components - Live Streaming with Jesse
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
46 jQuery effects - Beau teaches JavaScript
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
47 More React Refactoring - Live Coding with Jesse
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
48 animate in jQuery - Beau teaches JavaScript
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
49 "Finishing" My React Site - Live Coding with Jesse
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
50 Starting a New React Project (P2D1) - Live Coding with Jesse
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
51 React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
52 The Agile Manifesto - Agile Software Development
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
53 jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
54 React Project 2 Day 3 - Live Coding with Jesse
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
55 The INVEST approach to product backlog items
The INVEST approach to product backlog items
freeCodeCamp.org
56 React Project 2 Day 4 - Live Coding with Jesse
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
57 Chickens and Pigs - Agile Software Development
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
58 React Project 2 Day 5 - Live Coding with Jesse
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
59 jQuery: add and remove DOM elements - Beau teaches JavaScript
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
60 React Project 2 Day 6 - Live Coding with Jesse
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org

This video provides a comprehensive introduction to computer networking, covering key concepts, protocols, and architectures. Viewers will learn about IP addressing, network topology, and the OSI model, and gain practical skills in calculating decimal values of octets and understanding binary numbers.

Key Takeaways
  1. Calculate the decimal value of an octet using 2^0 to 2^7
  2. Calculate the number of addresses that can be formed with n bits using 2^n
  3. Fix the first bit to calculate the number of addresses that can be formed
  4. Fix a single bit to divide the set of addresses into two subsets
  5. Fix two bits to divide the set of addresses into four subsets
💡 The OSI model provides a layered architecture for creating a robust and interoperable network architecture, and understanding IP addressing and subnetting is crucial for designing and implementing computer networks.

Related Reads

📰
Day 29/100 Koko Eating Bananas (Binary Search)
Learn to implement binary search to solve the Koko Eating Bananas problem and improve your algorithmic skills
Medium · Programming
📰
O(N) Manacher's Algorithm with Mirror Boundary Optimization
Learn to optimize palindrome detection using Manacher's Algorithm with mirror boundary optimization, reducing time complexity to O(N)
Dev.to · Dipaditya Das
📰
Building a Power Grid Inside Minecraft with BFS Algorithms
Learn to build a power grid inside Minecraft using BFS algorithms and understand its relevance to cloud services
Dev.to · Carlos Cortez 🇵🇪 [AWS Hero]
📰
The Run-Length Encoding Trick: How Simple Strings Get Compressed
Learn how Run-Length Encoding (RLE) compresses simple strings, a fundamental technique in programming and data compression, and apply it to optimize storage and transmission of data
Medium · Programming
Up next
Stump Grinder Carbide Wheel Grinds Hardwood To Chips
Innoforge Studio
Watch →