The internet seems like the most simple thing we have right now. If you want to watch a video and send it to various people, you just have to click a few buttons. But web applications are more complicated than just having some buttons. The reason you can watch hundreds of videos while other users are also accessing content is because of load balancing. To understand what load balancing is, we first have to take a look at a network system.
The Open Systems Interconnection (OSI) Reference Model is a framework that divides data communication into seven layers of networking, which we will describe briefly:
- Layer One (L1) – This is the Physical layer, responsible for how data is transported over a physical medium.
- Layer Two(L2) – Data Link, is the second layer that manages the raw data obtained from the physical layer. It can also be subdivided into two other layers: Logical Link Control and the Media Access Control.
- Layer Three (L3) – The Network layer is responsible for organizing data and transmitting it across multiple other networks.
- Layer Four (L4) – Transport, this layer provides delivery of data packets, error control, flow control, and congestion control to ensure the packets are delivered safely.
- Layer Five (L5) – The Session layer, as the name implies, ensures a user’s session between servers is kept in sync. This includes the opening, closing, and re-establishing session activities, and authentication and authorization between servers.
- Layer Six (L6) – The sixth layer, Presentation, makes sure that data can be read between servers. Responsibilities include data conversion, character code translation, data compression, encryption, and decryption.
- Layer Seven (L7) – The Application layer interacts directly with end-users. Some of the application layer protocols include File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), and Domain Name System (DNS).
Load balancing can be found on layers L4 – L7, as it’s used for handling incoming network loads. This is crucial for web applications and helps to make sure that the application server is at top performance explained here.