WHAT IS A NETWORK
If we are talking about this in a layman’s language (common man’s language), a network is nothing more than a set of two or more computers connected to share information with each other. That network can be as simple as LAN (Local Area Network) or as complicated as the Internet or www. In terms of networking, it is common to recognize each device connected to that network as a node to make the description applied to a wider range of devices. There are many types of networks available to us like LAN (Local Area Network), MAN (Macro Area Network), or WAN (Wide Area Network). They are categorized on the basis of the area in which they are working. LAN works relatively on the lesser areas and in terms of the TCP/IP model it works on the LINK LAYER (we will learn that later).
Now to make device communicate over a network, you need to make device follow some procedures or protocols (more formally). And as long as the device is following the network suite it is good-to-connect. Some of the provisions are listed below:
1. Maintaining session state
Protocols typically implement mechanism to make new connections and terminate existing one.
2. Identifying nodes through addressing
The data transferred must be sent to correct node and to do that, some protocols implement an addressing mechanism to identify specific nodes or groups of nodes.
3. Controlling flow
The data transferred through a network is limited. Protocols can
implement ways of managing data flow to increase throughput and reduce latency.
4. Guaranteeing the data transferred
Many networks do not guarantee that the order in which the data is sent will match the order in which it’s received. A protocol can reorder the data to ensure it’s delivered in the correct order.
5. Detecting and correcting errors
Many networks are not 100 percent reliable data can become corrupted. It’s important to detect corruption and, ideally, correct it.
6. Formatting and encoding data
Data isn’t always in a format suitable for transmitting on the network. A protocol can specify ways of encoding data, such as encoding English text into binary values.
A node need not to follow all the protocols listed above, it can follow any, based on the network to which it is connected. Now, and most importantly, the data flowing through a network has to go through several layers as discussed above and those layers are called IPS or INTERNET PROTOCOL SUITE. Actually the layers are not physically present over the network. We just use them to ease our knowledge regarding network. There are two main widely used the so called protocol stack. They are the OSI MODEL (OPEN SOURCE INTERCONNECTION) and the TCP/IP MODEL (TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL MODEL)
Single click Solution to all your health problems.
INTERNET PROTOCOL SUITE
Not to be confused with the TCP/IP model or the IPS, it may look like a single protocol but it’s actually a combination of two: the TCP(TRANSMISSION CONTROL PROTOCOL) and IP(INTERNET PROTOCOL) and together they form the INTERNET PROTOCOL SUITE. This model is model is more commonly in use and is just a SHRINKED version of the OSI Model. And we will study that first.
The TCP/IP Model consists of four layers. Link layer, Internet layer, Transport layer and Application layer. These layers are described in breif below.
1. Link Layer
It is the first layer of TPC/IP model which is responsible for describing the physical mechanism used for transferring information over the network. Well know example of this layer are PPP(Point to Point Protocol) and ethernet(both wired and wireless).
2. Internet Layer
This layer provides the mechanisms for addressing network nodes. Unlike in layer 1, the nodes don’t have to be located on the local network. This level contains the IP; on modern networks, the actual protocol used could be either version 4 (IPv4) or version 6 (Ipv6).
3. Transport Layer
This layer is reponsible for connections between clients and servers. This layer also supports service multiplexing meaning providing different services to the client on a same network by assigning different numbers to protocols a.k.a. port number. Your TCP and UDP protocols work on this level.
4. Application Layer
This layer is responsible for types of protocols like HYPER TEXT TRANSFER PROTOCOL (HTTP) and SIMPLE MAIL TRANSFER PROTOCOL (SMTP). This layer also supports UI (USER INTERFACE). It means throughout the entire session the user is mostly in touch with this layer. The DNS or (DOMAIN NAME SYSTEM) protocol also works on this level which converts name to node on the network.
Each layer communicates directly to the layer above or below it. Also there must be some external interaction with the stack and thus you can see in the picture 1 that link layer interacts with the Physical Network which relates to information transfer in form of chunks of electricity or light. And the Application layer is in touch with client through user interface that could be anything like mails texts etc. TCP/IP Layer is not only that. It also contains deep subjects like headers, footers and packets but our target here is the OSI Model. I just wanted to give you a glimpse of how a network layer looks and now we are heading towards the OSI Model. Although I will also upload the detailed information regarding the TCP/IP Model.
THE OSI MODEL
I bet you, for any of those who have a keen interest in understanding the networking, THE OSI MODEL will always be the best place to kick start. No matter whether you are intersted in hacking, you’re want to become a network security expert or you are just studying it out of interest, my recommedation is you must know this model.
Well enough of that, the osi model consist of the seven layers unlike tcp/ip model.
This is the picture of the seven layers of the OSI Model. All of its layers and workings are described below.
1. Physical Layer
The physical layer describes the physical medium that data travels through. These include ethernet cables, NIC or (NETWORK INTERFACE CARD) and things like that. This layer is like a physical network in tcp/ip model isn’t it? The data travelling through it is in the form of electricity or light.
2. Datalink Layer
The datalink layer is second in number and is responsible for the translating data of 0s and 1s that are to be sent through physical layer. This is also a layer that uses the most basic addressing scheme, Media Access Control addresses. Think of a MAC address like a diver’s license number —it’s just a number that is unique from anyone else’s.
3. Network Layer
The network layer determines how data transmits between network devices. It also translates the logical address into the physical address (computer name into MAC address). It’s also responsible for defining the route, managing network problems, and addressing. Routers also work on the network layer.
The most important part of understanding this third layer is knowing that routers make decisions based on layer three’s information. Routers are machines that decide how to send information from one logical network to another. Routers understand the Internet Protocol (IP) and base routing decisions on that information.
4. Transport Layer
The transport layer accepts data from the session layer and breaks it into packets and delivers these packets to the network layer. It’s the responsibility of the transport layer to guarantee successful arrival of data at the destination device. Transport Layer Security also runs on this layer.
5. Session Layer
The session layer manages the setting up and taking down of the association between two communicating end points, called a connection. A connection is maintained while the two end points are communicating back and forth.
Another way to look at it—picture your computer. You’re browsing the web, downloading from an FTP server, streaming some music, and who knows what else, all at the same time. All that data is coming into your computer, but it would make little sense if the FTP data was being sent to your Pandora tab, wouldn’t it? It’s in this layer that ports are used and that data is properly directed.
6. Presentation Layer
The presentation layer resolves differences in data representation by translating from application to network format, and vice versa. It works to transform data into the form that the application layer can accept. Remember, each layer can only ‘talk’ to the layer above and below it.
This layer is mainly concerned with the syntax and semantics of the information transmitted. For outgoing messages, it converts data into a generic format for the transmission. For the incoming messages, it converts the data to a format understandable to the receiving application. This layer also formats and encrypts data to be sent across a network, providing freedom from compatibility problems and issues.
7. Application Layer
The application layer is the top layer of the model. It provides a set of interfaces for applications to obtain access to networked services. This layer also provides application access security checking and information validation. Common services that will seem familiar include streaming music, email, and online games. When you think of the application layer, think of just that—applications.
So, the above was the complete description of the OSI Layers. Remember as in the tcp/ip model, layers here are also in touch with layers above or below it and that they can’t directly communicate with any layer they want. It is the protocol on which they are created. Now I don’t know the reason for you being interested in networking but, all I can tell you is that you can use my article as a reference model for your networking journey.
Now when a data is transferred through a network, it is generally encapsulated with the target ip, mac address and application payload in it. Sometimes, in some protocols, the encapsulated data also contains a footer in it which contains values to determine correct transmission throughout the network. So in general a PDU protocol data unit or simply a packet contains one header, application payload and sometimes a footer. Below picture determines the difference between osi and tcp/ip model:
Here you can see that the link or the network interface in tcp/ip model corresponds to two layers on the osi model namely physical and data-link layer. Similarly internet layer to network layer, transport to transport and the the last one application layer corresponds to three layers: session layer, presentation layer and the application layer. What these two layers do are one and the same thing: both of them help us in understanding the nature of network and how data is transferred through it. Otherwise it is nearly impossible to understand it. Well that’s done, let’s come to our next and the final topic data transmission and network routing.
Click here enhance your coding skills for free.
DATA TRANSMISSION AND NETWORK ROUTING
1. DATA TRANSMISSION
Now you know that what a pdu is, what a protocol stack is and what is a network model. But you still need to understand how data is really transferred throughtout the network. Take a look at the picture below.
In this picture you can see that three nodes connected to the same server. Now lets say the user at the node one wants to send some data to the user at the node two using an IP protocol. So how he’s gonna do that? He will go through a bunch of processes listed below:
1. The operating system at the node 1 will encapsulates the application and transport and will build a packet with a source IP address and the destination IP address of node 2.
2. The operating system at this point can encapsulates the data as the ethernet frame although it might not know the MAC address of node 2. So the operating system at the node two will through an ARP request to all the nodes connected to the network. It is just like asking a crowd hey who’s address is this and someone will generally say yup that’s mine gimme what you’ve got.
3. Once the MAC and the IP address is confirmed, the operating system will build frames with the source and destination MAC address. All the frames will be passed through the switch at node 3 (remember node is just a fancy reference for a device connected over a network).
4. The switch has not much work to do other than allowing to frames to be transferred to the destination node and the the destination node will further recieve the frames and will check if the IP and MAC address matches to its own. And then the ip payload data will be extracted and passed up to be recieved by waiting application.
Well that was an example of data flowing through a local area network where an ip is not nearly necessary because ip does not work on link layer. But what if we want to send a packet to wider area let’s say you want to send a text message to your friend who is in US. So how would you do that. This is where network routing comes in handy.
2. NETWORK ROUTING
Transferring data over a lan is simple and the same procedures are applied on routing as well, but on a bigger area. Since you cannot connect all the devices on earth to a same network, you need some device which can connect to different mini networks and that device is called router. Take a look at the picture below:
Here you can see that two networks are connected through a router at 3. Now let’s you are sitting at node one: ethernet network 1 and you want to send a pic to your friend who is sitting at node two: ethernet network 2. Now your computer will go through a list of processes that are described below:
1. As usual, it (operating system) will encapsulates the packet with source ip address and destination ip address. After that it will through a usual ARP request to all the nodes connected over a network.
2. But at this time it will realize that the destination ip is not in the network. So it will consults its network stack routing table. In this example the routing table contains the destination ip address. The entry indicates that a router 3 on IP address 22.214.171.124 knows how to get to that destination address.
3. The operating system uses ARP to look up the router’s MAC address at 126.96.36.199, and the original IP packet is encapsulated within the Ethernet frame with that MAC address.
4. The router receives the Ethernet frame and unpacks the IP packet. When the router checks the destination IP address, it determines that the IP packet is not destined for the router but for a different node on another connected network. The router looks up the MAC address of 188.8.131.52, encapsulates the original IP packet into the new Ethernet frame, and sends it on to network 2.
5. The destination node recieves the ethernet frames, extracts the ip payload and processes its contents.
The routing process is generally repeated several times because it is not obvious if the two networks might be directly connected to each other. And in that case, it will consult its own routing table and will determine the next router it could send IP packets to. Click here to see our article on best-earning apps without money
So that was all for today. Thank you for reading the article. If you feel it was good or even, if it needs some improvements, please let me know through comments or you can email me. If you want me to put more articles like that up here please let me know. Wish you good luck for your network journey 🙂
Click here to see our article on best-earning apps without money