Networking Devices Explained
In this modern world , Internet plays most important role in our life. As a developer , it is very important to learn how this whole Internet works and what is the role of networking devices. Consider Internet as a large amount of data which have to travel from one place to another . There are many devices which is used for this . Today we will explore some of important networking devices.
Modem
The word ‘Modem’ stands for modulator-demodulator. It is a device that allows computers, smartphones, tablet and other devices to connect to internet. What it does is convert digital signals obtained from these devices into analog signals that can be transferred through network cables or wires. It can also convert received analog signal into digital signal so that they can be used to process by devices. In other terms , it can act as a translator also.
There are two types of modems : wired or wireless. Wired modems uses wires like Ethernet cables or fiber optic cables to connect computer with each other or directly to internet while wireless modems uses radio waves to transmit data packets from one point to another without having physical wires running between them.
Modem device become very important for modern communication because without this we could not able to send digital data over long distances. As modem allow us to communicate with other devices using existing infrastructure like telephone lines, cable TV networks, satellite networks etc.
Router
Router is an electronic device that transfer data packets from one computer to another computer devices on a local network. Or that means routing direct the data packets coming from internet out to multiple devices on the local network. Routers also provide additional features like Wi-Fi coverage , firewall protection, port forwarding, etc.
The main difference between modem and router is modem allows devices to connect to internet provided by ISP directly while router connect multiple devices on a single network. Without a router, only one computer can access internet through modem at any given point of time but with the help of router, multiple devices can access Internet. Modem is like a gateway between you and your ISP provider while router act as gateway between your devices and other computer devices which connect to it via Wi-Fi or Ethernet cable. Router also provide additional security measures using firewalls or VPNs which protect your data from malicious attacks while downloading some files or browsing on the internet. Router also provide parental controls to block some wrong content from being accessed by children.
Hub Vs Switch
Hub is a networking devices that transmit signals to all the connected devices while Switch is more advanced networking device that sends data to particular device using MAC address of that particular device. Hub is operated on the Physical layer of OSI model while switch is operated on the Data link layer of OSI model. Packet filtering is available on the switch only.
Hub is favorable for transmitting data in small network as increasing number of devices leading to network congestion or data collision. Hub is a half duplex transmission mode means it can only send data while switch is a full duplex transmission mode means it can send and receive data both.
Switch is very intelligent at connecting and sending data to a particular devices and handling congestion. It also allow to disconnect any time and again reconnect as per the requirement. It is favorable for broadcasting data in medium to large network especially where network efficiency and performance matters.
Hubs are easy to implement and inexpensive for small scale Networks, they are ineffective because of broadcasting. On the other hand, switches are more efficient and scalable than hubs and better for imparting large networks that bear a higher traffic rate.

Firewall
A firewall is a network security system — available as hardware or software — that monitor and controls incoming and outgoing traffic based on the predefined rules. A firewall will act as a security barrier between internal systems and external network.
A firewall is positioned between a network or a computer and a different network like the Internet. Without firewall, any kind of data packets can enter to or exit from your computer.
Firewall examines all data packets in real time against predefined rules set by the organization to determine if there are any threat. It any thing is suspicious, it will block that content. Firewall protects your network from unauthorized access by hackers such as viruses , DDoS attacks , spam, etc. You can also restrict users from visiting non-authorized websites or inappropriate websites.
Firewall is needed to find the signatures of harmful users and dangerous applications to mitigate risky activities. When you need to block some specific content or application in application-layer attacks , use your firewall.
Firewall can also manage network resources so you can control how much network bandwidth is available for specific datatypes. We need firewall to access Virtual Private Network (VPN) services that use data encryption to secure communications across the public internet.
Load Balancer
A load balancer is a device which is used to distribute the traffic to different servers equally. Modern application must provide response to million of users in a fast and reliable manner. It sits between user and a network of servers and act as a manager ensuring that all resource servers are used equally. A load balancer may be a device or virtualized instance running on specialized hardware or software devices. Load balancer improves an application availability, reliability, performance and security.
Benefits of load balancers are —
Prevents traffic bottlenecks at any one servers.
Predicts application traffic so that we can add or remove server based on the requirement.
Redirects client requests to geographically closest servers to improve application performance.
Automatically redirect attack traffic to multiple backend servers to minimize impact.
Actively monitoring the status of server, no client request is sent at downtime of any server. This ensures high availability.

Conclusion
As a software developer, it is very important to understand these networking devices so that we can build scalable system efficiently with security measures. We should know how to take care of security using firewall and how to make our system more reliable , scalable and available using load balancers.