Thumbnail for What is Internet Protocol (IP)? (System Design for Beginners – Epsiode 2) by Akhil Sharma

What is Internet Protocol (IP)? (System Design for Beginners – Epsiode 2)

Akhil Sharma

4m 29s852 words~5 min read
Auto-Generated

[0:00]Now, all of the modern systems that we will design for scale in this playlist, will need internet to be functional. For example, social media platforms, video streaming platforms, B2B SaaS, e-commerce, are all examples of softwares that work at scale, but need the internet to be functional.

[0:20]And this is why we need to first understand the internet, and then build up our concepts to more advanced system design concepts.

[0:27]Now, if there are two machines that need to send information to each other over the internet, they can't just do that directly.

[0:34]They need to send that information to routers, and the routers connect to each other and then the information reaches the destination.

[0:42]The information is also divided into small parts called packets. So these packets are what actually get sent around and then reach the destination.

[0:52]The packets also have the information of the destination and the source, right? And they also need a set of rules to decide the connection and how the messages and the data will be transferred.

[1:06]The set of rules is called as the Internet Protocol or IP. And the information or the address information for for the source and the destination is called the IP address, that's also embedded in each of these packets.

[1:21]So these packets have the IP information and that's how they're sent between the routers and to the destination machine.

[1:26]Now, mostly, our use case involves connecting the servers to the destination machines, right?

[1:33]So, if you're a user of Netflix or of a social media platform, you will actually make a request to the server of the social media company, and the server is the one that sends you back the information.

[1:46]So the information is sent back as packets, the packets are rearranged, and that's what the user views on his screen.

[1:52]So I quickly want to share something very important with you. If you've used Code CLI or cloud code recently,

[1:59]you know that humans won't be writing a lot of code in the near future. So what will humans be doing? And the answer is, they will be architecting systems and understanding how software scales from a 10,000 ft perspective.

[2:11]So all the planning and architecting will be the human's job, and AI will be mostly responsible for the implementation.

[2:16]And you'll begin to see this in the next three years. There is no course on the market right now that prepares you for this, and this is why I've built a three-month intensive advanced system design cohort.

[2:29]It's meant for people who have some industry experience and who want to move on to leadership positions like directors, VP Engineering, or CTO positions.

[2:35]If you think you're the right fit, there's a form in the description and in the comments of this video. We'll check to see if you're a good fit, and then we'll set up a call with you.

[2:43]Now let's get back to the video. There are four different levels or layers. The first is the application layer.

[2:50]And we'll discuss each of these layers and we'll break down each of these layers. So you've heard about HTTP, DNS, SMTP, SSH. If you haven't heard about these, not a problem, we'll be discussing that in this playlist.

[3:00]Then we have the transport layer which formed the foundation for the application layer. So there we have TCP and UDP. It's not a problem if you don't know about these, we'll also check them out in this playlist.

[3:10]Then we have the internet layer, IPv4 and IPv6. Then we have the network layer, Ethernet and Wi-Fi.

[3:16]Now, this is something that we won't be looking at because this goes into networking fundamentals.

[3:22]While we are going to be mostly discussing the other three layers.

[3:26]All right? So let's take a look at the slide.

[3:30]What you need to know is the Internet Protocol is connectionless. Each of the packets is independent and no session or dedicated path is set up in advance.

[3:40]Now packets can take different routes. They don't have to hit the exact order of the routers on their way.

[3:47]They can also arrive out of order and some of the packets can also get dropped. And the internet protocol does not guarantee delivery, ordering, or duplicate suppression.

[3:56]Reliability is left to the other layers like TCP, for example. And this, which is the IPv4 and IPv6, is what we'll be discussing in the next video.

[4:05]These are the internet addresses and they are hierarchical in nature, which help us to scale the routing.

[4:11]They also have stateless forwarding, so routers examine each packets header and consult a routing table. We don't need to remember the preflow state.

[4:18]So now that we understand about Internet Protocol, which is basically a set of rules for routing and addressing packets of data, right? In the next video, we can take a look at IPv4 and IPv6 addresses.

[4:29]Now, I know some of these concepts are very basic, but we'll be building up very quickly into more advanced system design concepts. So stay tuned.

Need another transcript?

Paste any YouTube URL to get a clean transcript in seconds.

Get a Transcript