Daily Learning: Computer Networks – ARP & DHCP

ARP (Address Resolution Protocol)

How a computer gets another computer’s MAC address in a LAN?

If there is two computer in a LAN suppose Computer A and Computer B and A wants to sends some data to the computer B over the LAN then it needs computer B’s MAC address to send the data. Let’s see how it works –

  • Computer A sends ARP(Address Resolution Protocol) request to all the machines in a LAN with the IP address of computer B.
  • Computer B respond on the ARP and sends back the MAC address.

DHCP (Dynamic Host Control Protocol)

Ever imagined when you connect to any wifi and it gives you a unique IP address automatically, How?

It is the protocol which gives IP addresses to host that joins a network and also manage the given IP addresses to the hosts.

There are four part of any DHCP system

  1. DHCP Discover – When a new machine joins a LAN network it sends a broadcast message to to network to know the addresses of the DHCP server.
  2. DHCP offer – After it gets a DHCP discover request from a host it sends a DHCP offer to the host with one IP address from it’s pull.
  3. DHCP request – If the host accept the DHCP offer then it sends back a DHCP request back to the server.
  4. DHCP Acknowledgement – Once the DHCP server gets the DHCP request it gives back a acknowledgement to the host and store the information.

E.G. – A typical example is our home router.

DHCP Relay – So big techs wants a specific DHCP server rather than the router in that case the router works as a DHCP relay and forwards the DHCP requests to the DHCP server knowing the destination IP address.

Advertisement

Daily Learning: Computer Networks – TCP/IP Model

TCP/IP model stands for Transmission Control Protocol and Internet Protocol.

The TCP/IP model consists of five layers: the application layer, transport layer, network layer, data link layer and physical layer.

The first four layers provide physical standards, network interface, internetworking, and transport functions that correspond to the first four layers of the OSI model and these four layers are represented in TCP/IP model by a single layer called the application layer.

TCP/IP is a hierarchical protocol made up of interactive modules, and each of them provides specific functionality.

Below there is a table with all layers given with their individual task.

Layer 4ApplicationAllow access to network resources
Layer 3TransportProvides process to process message delivery and error handling
Layer 2InternetMove packets from source to destination
Layer 1Link/Network InterfaceResponsible for transmission of data between two devices in a same network.

Here below a visual difference between OSI and TCP/IP protocol.

Note : The higher you go up in the model the headers are stripped away until you have the main data left for your application.

Internet Layer

This layer is consist of different protocol like TCP or UDP. It has a thing called headers and the headers has certain properties as well –

  • Version – It describes the IP address type IPV4 or IPV6
  • Header Length – It specifies the size of the header. Usually it is 32 bit.
  • Differentiated Services Code Point (DSCP) – It contains data of bandwidth sensitive application like VOIP.
  • Time To Live (TTL) – Some time error happens and a Ip packets travels through the routers infinitely and to prevent we use this.
    • Protocol – It specifies the protocol type. E.G. – TCP or UDP.

Daily Learning: Computer Networks – OSI Model

OSI stands for Open System Interconnection is a reference model that describes how information from a software application in one computer moves through a physical medium to the software application in another computer.

OSI consists of seven layers, and each layer performs a particular network function.

OSI model divides the whole task into seven smaller and manageable tasks. Each layer is assigned a particular task.

Each layer is self-contained, so that task assigned to each layer can be performed independently.

Below there is a table with all layers given with their individual task.

Layer 7ApplicationNetwork services provided to end-user applications such as a web browser.
Layer 6PresentationThe presentation layer formats or translates data for the application layer based on the syntax or semantics that the application accepts.
Layer 5SessionThe session layer controls synchronization of communication between different computers.
Layer 4TransportBreaks the data in chunk and Transfer the data between systems and hosts.
Layer 3NetworkDelivering frames to their intended destinations among based on the addresses contained inside the frame.
Layer 2Data LinkDirectly connected nodes are used to perform node-to-node data transfer where data is packaged into frames. Also corrects Error.
Layer 1PhysicalTransmitting electrically or optically raw data from sender to receiver

Below I am going to give some idea about important terminologies regarding OSI model –

  • MAC Address (Media Access Control) – It is built into all the network devices.
    • It is a 48 bit address represented in hexadecimal form.
    • Each hex character contains 4 bit.
    • There are 12 hex characters
    • E.G. – 00–40–05–60–7D–49
    • The first six digit represents the NIC manufactures. Last six digit refers to the unique ID of each NIC.
  • Frames – The data transfer in network happens in frames.
    • Different network have different frame size.
    • All NIC in a same network must have same frame size.
    • Generally the frame size is 1500 bytes

Data Transmission in Hub – When a specific NIC sends the data to a specific host in a network it just sends the data to the hub and the hub sends the data to all the connected host and the host with the matching MAC address will receive and others will discard it.

Data Transmission in Switch – Later we use switch which filter the MAC address and sends the data to only the destination address.

FCS – It is 4 byte long.

  • Data Link Layer parts –
    • LLC(Logical Link Control) – NIC that talks to the system’s operating system (usually via device drivers). The LLC handles multiple network protocols and provides flow control.
    • MAC Address – which is discussed above.
  • Network Layer –

Here it gives a logical address called IP address. It is a 32 bit address and represented as dotted decimal. There is a device called router which sends data though IP address.

Daily Learning: Computer Networks – Network Topology

In real life there are many ways the hosts in a network is connected. Upon which the efficiency and other parameters depends and discussed topologies are been developed through the decades.

Bus & Ring Topology

  • A bus topology use a connection line that connects all computers.
  • Ring topology connects all the computer on a network with a ring of cable.
    In ring topology the data gets transferred in uni direction (clockwise or anti clockwise )

Problems – Both suffered from same problem with cable break down.

Star Topology

Here all machines are connected to a central node.

Pros – It is robust and if one connection goes down then entire network don’t get affected.

Cons – If the central node goes down then the entire network goes down.

Mesh Topology

In wireless network every machine is connected to every network then it is a mesh topology. There are mainly two type of topology is there-

  • Fully Mesh – All machines are connected to all other machines.
  • Total number of Links – n * (n – 1) / 2
  • Partial Mesh – At least two machines are not connected.

Hybrid Topology

Here in the central box all the machines are connected to a internal bus. It is often known as star-bus topology.

All the hosts are connected to a central node but inside the box every connection is actually bus topology.

Daily Learning: Computer Networks – Internet & Data Communication

Internet

It is a distributed vast network that connect all type of devices together.

Data Communication

There are total 5 fundamental parts of any data communication –

  • Message – For a data communication one of the most important thing is message or the data.
  • Sender – The second thing is sender there must be a person or application which is sending the data.
  • Receiver – The third part obviously is the receiver there also must be a receiver in order to receive the data.
  • Transmission Medium – It is the way by which the data is going to be transferred. It can be many types for example – Wire, wireless etc.
  • Protocol – It is similar to human conversation some device send some message/request to another machine and it sends back reply as another message/request. In general protocol is a set of rule upon which devices communicate with each other.

Connecting To Host In A Same Network(LAN) Via SSH

SSH(Secure Shell) is a cryptographic network protocol that allow you to operate network services securely over an unsecured network. There are multiple client in various OS to run ssh. For example, In Linux OpenSSH and in Windows PuTTY is there.
Now suppose you have a home router and there are multiple network connected to it and certainly you want to access a computer from another computer. Let’s take Comp1 wants to connect to Comp2. So, Now you have to create a SSH connection between the computers.

Setting up the SSH Server

So for connection you have to install and start a SSH server in the Comp2 . Let’s see the commands for installing SSH server.

$ sudo apt install openssh-server

Now you have to check SSH service is running or not if not you have to start it.

$ sudo systemctl status ssh

If the status is not showing active in your case the you have to execute the below command

$ sudo systemctl enable ssh

Get the IP of the Server

We connect to a server by $ ssh user@ip_address so you have figure out the ip address of the Comp2 . And for that you can type ifconfig . Your ip will be something like 192.168.x.y

Enabling SSH traffic on your firewall settings

If you are using UFW as a default firewall on your Ubuntu host, it is likely that you need to allow SSH connections on your host.

To enable SSH connections on your host, run the following command –

$ sudo ufw allow ssh

Then check for firewall has enabled or not –

$ sudo ufw status | grep 22

It should give something like this –

Note : SSH use port 22 by default.

Connecting via SSh

Now go to the Comp2 and type the ssh command followed by the user@ip_address. In my case bellow –

$ ssh aniruddha@192.168.1.5

Then it will prompt for the password and type the password for that user in the computer and here you go your Comp2 terminal will appear in the Comp1 terminal.