Networks

This section covers core networking concepts, protocols, service communication, and practical deployment topics.

Articles

Network Interfaces and IP Address Fundamentals

A Network Interface is the connection point between a computer and a network. It is the operating system's abstraction of a network adapter, allowing applications to send and receive network traffi…

Training

HTTP Protocol (HyperText Transfer Protocol)

Defines how clients (e.g., browsers) and servers communicate using a stateless request–response model. HTTP is an application-layer protocol that runs on top of TCP. HTTP follows a simple cycle: A …

Training

Transport Layer Security (TLS)

TLS is a cryptographic protocol used to secure communication over a network. It is most commonly used in HTTPS, where it encrypts data between a client (browser) and a server. TLS ensures that data…

Training

Secure Shell Protocol (SSH)

SSH is a cryptographic network protocol used to securely access and manage remote computers over an unsecured network. It is commonly used for remote server administration, file transfer, and secur…

Training

Service Communication

Modern web applications are rarely a single program. Instead, they are composed of multiple services, where each service is responsible for a specific task and communicates with other services thro…

Training

Common Application Services

Modern applications are usually composed of multiple services (in addition to frontend, backend and database), where each service focuses on a specific responsibility. A simple web application may …

Training

Network Address Translation (NAT)

After building an application, the next challenge is making it accessible to other users. During development, services usually run locally: However, localhost (loopback interface) is only accessibl…

Training

Proxy and Reverse Proxy

NAT focuses on network-level address translation, allowing packets to reach a destination through IP and port mapping. However, modern applications often require more flexible routing based on appl…

Training

DNS (Domain Name System)

Every device connected to the Internet is identified by an IP address. However, IP addresses are difficult for humans to remember and may change over time. DNS (Domain Name System) provides a human…

Training

Tunneling

Normally, network packets are sent directly between two devices. However, there are situations where the original packet cannot be transmitted directly, for example: The server is behind a firewall…

Training