bg_image
header

User Datagram Protocol - UDP

UDP stands for "User Datagram Protocol." It is another fundamental protocol of the Internet Protocol suite (TCP/IP) that, unlike TCP, offers connectionless communication. UDP allows for the exchange of data between applications without requiring a prior connection. Compared to TCP, UDP provides fewer features for reliability and error handling, making it faster but less reliable.

Some key features of UDP include:

  1. Connectionlessness: UDP does not require a prior connection between sender and receiver. Datagram packets are simply sent without requiring acknowledgment or monitoring of reception.

  2. Low overhead: Compared to TCP, UDP has lower overhead because it provides fewer complex mechanisms for reliability and error handling.

  3. Faster transmission: Because UDP offers fewer features for data transmission, it can be faster than TCP in certain applications.

  4. Multicast and broadcast support: UDP supports multicast and broadcast communication, making it suitable for applications like audio and video streaming or online gaming.

UDP is commonly used in applications where fast data transmission is more important than reliability, such as real-time communication, streaming media, and online gaming.

 


Transmission Control Protocol - TCP

TCP stands for "Transmission Control Protocol." It is a fundamental protocol of the Internet Protocol suite (TCP/IP), responsible for the reliable transmission of data across networks. TCP provides connection-oriented communication, ensuring reliable and sequential transmission of data between a sender and receiver.

Some of the key features of TCP include:

  1. Reliability: TCP ensures that data packets arrive in the correct order and that no packets are lost. If a packet is not received properly, TCP requests a retransmission.

  2. Flow control: TCP regulates the flow of data between sender and receiver to prevent receiver overload and avoid data loss.

  3. Error detection and correction: TCP employs various mechanisms to detect and correct errors during data transmission.

  4. Full-duplex communication: TCP enables bidirectional communication, allowing both sender and receiver to send and receive data simultaneously.

TCP is used by a wide range of applications on the internet, including web browsers, email clients, file transfer protocols, and many others. It is one of the foundational protocols that enable the internet, essential for transmitting data across the internet.

 


Port

A port is a logical communication endpoint that allows various applications on a computer to send and receive data. In networking technology, a port refers to a number that is assigned to a specific application or service on a computer, used to control traffic to that application or service.

Ports are typically represented by a 16-bit number and can range in value from 0 to 65535. The first 1024 ports are known as well-known ports and are reserved for specific services. For example, port 80 is commonly reserved for HTTP (Hypertext Transfer Protocol) used for web traffic, while port 443 is typically reserved for HTTPS (HTTP Secure) used for encrypted web traffic.

Ports are often used in conjunction with the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP), both of which are protocols in the Internet Protocol suite (TCP/IP). TCP is a connection-oriented protocol suite, while UDP is a connectionless protocol suite. Both protocols use ports to facilitate data communication between different applications.

 


Secure Sockets Layer - SSL

SSL stands for "Secure Sockets Layer" and is a protocol for encrypting data transmissions over the internet. It is a security protocol designed to ensure the confidentiality and integrity of data exchanged between a web browser and a web server. SSL was later replaced by the improved TLS (Transport Layer Security), although the terms are often used interchangeably.

The primary goal of SSL/TLS is to protect sensitive information exchanged between a user and a website from unauthorized access. This involves encrypting the data during transmission to ensure it cannot be intercepted or manipulated by third parties.

SSL/TLS is used in various areas of the internet, particularly in secure online transactions such as online banking, shopping, and submitting confidential information through web forms. When a website uses SSL/TLS, it is often indicated by "https://" in the URL and a padlock symbol in the browser, signaling that the connection is secure.

 


Transport Layer Security - TLS

TLS stands for "Transport Layer Security" and is a protocol designed to secure communication over a computer network, particularly the internet. It serves as the successor to the older Secure Sockets Layer (SSL) protocol and is commonly used for encrypting data to ensure the confidentiality and integrity of transmitted information.

Key functions of TLS include:

  1. Encryption: TLS encrypts the data transmission between a client and a server, making it difficult for third parties to understand or manipulate the transmitted information.

  2. Authentication: TLS allows for the authentication of communication partners to ensure that the client is connected to the intended server. This is often achieved through the use of digital certificates.

  3. Integrity Protection: TLS ensures that transmitted data has not been altered unnoticed during transmission. The application of cryptographic hash functions guarantees the integrity of the data.

  4. Support for Various Protocol Versions: TLS exists in different versions (TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3), with newer versions often bringing improvements in terms of security and performance.

TLS is employed in various applications, including web browsers, email clients, instant messaging applications, and many others, to ensure secure communication over the internet. For instance, when establishing a secure connection to a website (identified by "https://" instead of "http://"), TLS is likely used to encrypt the connection.

 


Application Layer - OSI Layer 7

The Application Layer is the topmost layer in the OSI (Open Systems Interconnection) model, encompassing functions directly related to the interaction between the application and the end user. This layer provides services accessible to application software and end-users. The primary tasks of the Application Layer include offering network services, facilitating communication, and transferring data between applications.

Some typical services and protocols used in the Application Layer include:

  1. HTTP (Hypertext Transfer Protocol): Used for exchanging hypertext documents on the World Wide Web.

  2. SMTP (Simple Mail Transfer Protocol): Used for email transmission.

  3. FTP (File Transfer Protocol): Enables file transfer over a network.

  4. DNS (Domain Name System): Provides domain name to IP address translation.

  5. SNMP (Simple Network Management Protocol): Used for network management and monitoring.

The Application Layer serves as an interface between the application and the lower layers of the OSI model. It is responsible for ensuring that applications on different devices can communicate by providing services such as data transfer, error control, and security.

 


OSI-Model

The OSI (Open Systems Interconnection) model is a conceptual framework that describes the structure and functionality of communication systems in computer networks. Developed by the International Organization for Standardization (ISO), it is divided into seven layers, with each layer providing specific functions and services. The model serves as a reference architecture to promote interoperability among different network technologies.

The seven layers of the OSI model are:

  1. Physical Layer: Describes the physical characteristics of network connections, such as cable types, connectors, transmission rates, and electrical voltages.

  2. Data Link Layer: Responsible for error detection and correction at the bit level. It also manages the mapping of physical addresses (e.g., MAC addresses) to network devices.

  3. Network Layer: Handles the routing of data packets through the network. Network protocols like IP (Internet Protocol) are used here, and the layer is responsible for addressing and routing.

  4. Transport Layer: Ensures the reliability of communication between endpoints. Protocols like TCP (Transmission Control Protocol) are often used to ensure data is transmitted reliably and in the correct order.

  5. Session Layer: Enables the establishment, maintenance, and termination of sessions (communication connections) between applications.

  6. Presentation Layer: Responsible for the representation and conversion of data formats to ensure different systems can communicate with each other.

  7. Application Layer: The topmost layer provides services and interfaces for applications. Applications and communication processes run here, accessing network services.

The OSI model serves as a guide for the development of network protocols, with each protocol based on one or more of the OSI layers. It also aids in troubleshooting and understanding network concepts by breaking down the various aspects of communication into well-defined layers.

 


Secure WebSocket - wss

Secure WebSocket (wss) is a variant of the WebSocket protocol based on the HTTP Secure (HTTPS) protocol. WebSocket is a communication protocol that enables bidirectional communication between a client and a server over a single, persistent connection. Unlike traditional HTTP connections, which are based on request and response, WebSocket allows continuous real-time data transmission.

The security of WebSocket is ensured by using TLS/SSL (Transport Layer Security/Secure Sockets Layer) for encrypting and authenticating the data transmission. By using wss, the communication between the WebSocket client and server is encrypted, ensuring the confidentiality and integrity of the transmitted data.

The use of wss is particularly important when transmitting sensitive information, as encryption ensures that third parties cannot eavesdrop on or manipulate the data. This is especially relevant when WebSocket is employed in applications such as real-time chats, online games, financial transactions, or other scenarios where privacy and security are of high importance.

 


Websockets

Websockets are an advanced technology for bidirectional communication between a web browser (client) and a web server. Unlike traditional HTTP connections, which typically work in a unidirectional manner (from the client to the server), Websockets enable simultaneous communication in both directions.

Here are some key features of Websockets:

  1. Bidirectional Communication: Websockets allow real-time communication between the client and server, with both parties able to send messages in both directions.

  2. Low Latency: By establishing a persistent connection between the client and server, Websockets reduce latency compared to traditional HTTP requests, where a new connection has to be established for each request.

  3. Efficiency: Websockets reduce overhead compared to HTTP, requiring fewer header details and relying on a single connection instead of establishing a new one for each request.

  4. Support for Various Protocols: Websockets can use different protocols, including the WebSocket protocol itself, as well as Secure WebSocket (wss) for encrypted connections.

  5. Event-Driven Communication: Websockets are well-suited for event-driven applications where real-time updates are required, such as in chat applications, real-time games, or live streaming.

Websockets are widely used in modern web applications to implement real-time functionalities. Using Websockets can make applications faster and more responsive, especially when dealing with dynamic or frequently changing data.

 


Classic Load Balancer - CLB

A Classic Load Balancer (CLB) is an older load balancing solution from Amazon Web Services (AWS) that operates at the network level (Layer 4). Compared to the newer Application Load Balancers (ALB) and Network Load Balancers (NLB), the Classic Load Balancer provides basic traffic distribution for applications.

Here are some features and functions of a Classic Load Balancer:

  1. Layer-4 Load Balancing: The Classic Load Balancer distributes network traffic based on IP addresses and port numbers to the underlying EC2 instances.

  2. TCP and SSL/TLS Protocol Support: CLB supports load balancing traffic for the Transmission Control Protocol (TCP) and also provides SSL/TLS termination, allowing encrypted connections to be decrypted at the load balancer and then forwarded to the backend instances.

  3. Simple Health Checks: The Classic Load Balancer can perform basic health checks on the underlying EC2 instances to ensure that only healthy instances receive traffic.

  4. Automatic Scaling: CLBs support automatic scaling by dynamically responding to the number of healthy instances.

It's important to note that compared to the newer ALB and NLB, the Classic Load Balancer offers fewer advanced application-level features. With the introduction of ALB and NLB, AWS has provided more advanced load balancing solutions that can better meet the specific requirements of modern applications and architectures.

If you are implementing load balancing in AWS, it is recommended to consider using Application Load Balancers (ALB) or Network Load Balancers (NLB), unless you have specific reasons to stick with the Classic Load Balancer.