Glossary
Explore the glossary of terms and concepts used in the rstream documentation.
This glossary provides definitions for key terms, concepts, technologies, protocols, and tools used in the rstream solution.
Concepts
Key concepts and terminologies in networking and cloud computing.
Tunnel
A tunnel is a secure method for connecting network resources without needing a publicly routable IP address. It uses outbound-only connections to an edge network, enhancing security and minimizing exposure to external threats. Tunnels transmit encrypted data securely, prevent DDoS attacks, conceal IP addresses, and integrate legacy protocols. They provide access to services that would otherwise be inaccessible, expanding operational capabilities across various sectors. A lightweight client typically initiates the tunnel, allowing secure connections for services such as HTTP web servers, databases, and custom applications without direct internet exposure.
Serverless Computing
Serverless computing is a model where developers run applications without managing servers. The cloud provider automatically scales and secures the infrastructure, allowing developers to focus on application logic. This model adjusts resources based on application demand, improving performance and simplifying operations. Billing is based on resource consumption, offering cost-effective infrastructure management. Serverless architecture is event-driven, responding dynamically to operational demands, thus accelerating deployment and reducing time to market.
Edge Computing
Edge computing brings computation and data storage closer to data sources, optimizing processing times for applications like IoT and real-time analytics. It integrates edge devices with central systems, facilitating real-time data processing and decision-making at the network edge. This integration reduces latency, cuts costs, and improves efficiency. Security measures and user authentication enhance the safety and reliability of edge computing deployments.
Hybrid Cloud
Hybrid cloud combines public cloud, private cloud, and on-premises resources to optimize flexibility, scalability, and cost efficiency. This model enables seamless data and application mobility between environments, allowing organizations to balance operational control with the expansive capabilities of public clouds. This approach is particularly effective for managing diverse or fluctuating business needs, providing tailored solutions that enhance performance without compromising security or compliance.
Identity and Access Management
Identity and Access Management (IAM) is a framework of policies and technologies that ensures the right individuals access the appropriate resources within an organization. IAM systems manage user identities and regulate user access to protect sensitive data and resources. This approach includes various processes like authentication, authorization, and auditing, enhancing security by ensuring that only authorized users have access to specific resources. It is crucial for maintaining data integrity and regulatory compliance across diverse technological environments.
Multi-Factor Authentication
Multi-Factor Authentication (MFA) is a security process that requires users to provide two or more verification factors to gain access to a resource, such as an application or online account. MFA enhances security by combining two or more independent credentials: what the user knows (password) and what the user has (security token). This method significantly reduces the risk of unauthorized access.
Mutual TLS
Mutual TLS (mTLS) extends the standard TLS (Transport Layer Security) protocol by requiring both the client and the server to authenticate each other before a secure connection is established. This mutual authentication ensures enhanced security for data transmissions over the internet. mTLS protects against various cyber threats, including man-in-the-middle attacks, by verifying both ends of the communication channel.
End-to-End Encryption
End-to-End Encryption (E2EE) is a secure communication method that prevents third parties from accessing data while it's transferred from one end system to another. In E2EE, the data is encrypted on the sender's device and only decrypted by the recipient's device, ensuring that no intermediary, including service providers, can read the content. E2EE is crucial for maintaining the privacy of sensitive information across unsecured networks.
User-Controlled Encryption
User-Controlled Encryption is a security model where the encryption process is managed entirely by the end-user, rather than by a third-party service provider. Users generate and control their own encryption keys, decide what data to encrypt, and determine when and where it is encrypted. This approach ensures full control over the access and security of their data.
Zero Trust Architecture
Zero Trust Architecture is a security framework that operates on the principle that no entity, inside or outside the network, should be trusted by default. Verification is required from everyone trying to access resources on the network, regardless of their location. This model eliminates the traditional security perimeter and enforces strict identity verification, least privilege access, and microsegmentation to protect sensitive data and systems.
Load Balancing
Load Balancing is a technique used to distribute incoming network traffic across multiple servers or resources to optimize resource use, maximize throughput, reduce response time, and ensure system reliability. By spreading the load evenly, load balancers prevent any single server from becoming a bottleneck, enhancing overall system performance.
DDoS Mitigation
DDoS Mitigation involves protecting a target network or server from a distributed denial-of-service (DDoS) attack, which aims to overload systems with excessive traffic from multiple sources. Effective mitigation strategies include deploying anti-DDoS technology that identifies, filters, and blocks malicious traffic.
GeoIP Routing
GeoIP Routing utilizes the geographic location data derived from a user's IP address to selectively redirect internet traffic to different servers. This technique optimizes network and application performance by routing users to the most appropriate server based on their location. GeoIP Routing enhances user experience, reduces latency, and manages traffic loads effectively.
Proxy Server
A proxy server is an intermediary that handles internet traffic between users and the websites they visit. It operates by forwarding user requests via itself, separating clients from the destinations they access. Proxy servers improve load times through caching, enhance privacy by hiding the user's real IP address, and enforce security protocols. They support different protocols, including HTTP and SOCKS.
Technologies
Technologies that power the rstream solution.
DNS
DNS (Domain Name System) translates human-readable domain names (like example.com) into machine-readable IP addresses (like 93.184.215.14). It functions as the internet's phone book, enabling users to access websites using familiar names instead of complex IP addresses. DNS is essential for internet functionality, offering a user-friendly method to connect to websites.
WebSocket
WebSocket is a communication protocol that establishes a full-duplex communication channel over a single HTTP connection. It allows for real-time data transfer between a client and a server, ideal for applications requiring constant data exchange such as live chats, online gaming, and collaborative platforms. WebSocket enhances web communications by maintaining persistent connections that reduce the need for repeated HTTP requests.
WebRTC
WebRTC (Web Real-Time Communication) is a protocol that enables real-time communication directly in web browsers and mobile applications. It supports the transfer of video, voice, and generic data between peers, facilitating the development of complex voice and video communication solutions without external plugins. WebRTC is widely used in video conferencing, live streaming, and peer-to-peer file sharing applications.
WebTransport
WebTransport is a protocol framework that is seen as a promising future standard for low-latency communications in client-server applications. It integrates features from both WebRTC and WebSocket, but operates over HTTP/3, providing secure, reliable, and efficient connections. WebTransport is designed to support applications requiring high-frequency message or data stream exchanges, such as in gaming, live streaming, and financial trading platforms.
WebTTY
WebTTY is a protocol developed by rstream that enables remote access to machines in a manner similar to SSH but is web-native, meaning it can initiate sessions directly from a web browser. Integrated natively with rstream's tunneling environment, WebTTY ensures secure sessions and allows access to devices that are not publicly accessible. This makes WebTTY a preferred protocol for remote system administration in IoT environments and similar settings, offering an easy and secure method to manage devices remotely without direct internet exposure.
Protocols
Key protocols used in networking and communication technologies.
IP
IP (Internet Protocol) is the principal communications protocol for relaying packets across network boundaries, enabling internetworking and the foundation of the Internet. IP addresses specify the format of packets and address the scheme for computers to communicate over a network.
TCP
TCP (Transmission Control Protocol) is a fundamental protocol in the Internet Protocol Suite, facilitating reliable, ordered, and error-checked delivery of a stream of bytes between applications on networked computers. TCP is used by major protocols such as HTTP/1.x and HTTP/2 for web communications, ensuring data integrity and transmission reliability.
UDP
UDP (User Datagram Protocol) is a simpler message-based protocol used for time-sensitive transmissions where speed is preferred over reliability, such as streaming audio and video. UDP serves as the foundation for more advanced protocols like QUIC, enhancing time-sensitive transmissions by reducing the need for a handshake for each connection.
TLS
TLS (Transport Layer Security) is a protocol that ensures privacy between communicating applications and their users on the Internet, with TLS 1.3 being the current standard. It secures web browsers and servers, encrypting data such as logins and payments. TLS also secures other protocols like HTTPS.
HTTP
HTTP (Hypertext Transfer Protocol) is the primary protocol used to distribute information on the World Wide Web. It defines how messages are formatted and transmitted, and how web servers and browsers should respond to various commands.
HTTP 1.X
HTTP/1.x, including versions 1.0 and 1.1, operates over TCP and involves opening a separate TCP connection for each HTTP request and response, a process that can introduce significant overhead. HTTP/1.1 tried to improve this by allowing persistent connections, but limitations remain.
HTTP 2
HTTP/2 is a significant revision of the HTTP protocol over TCP, focusing on performance improvements like header compression and allowing multiple concurrent exchanges on the same connection, reducing latency and speeding up page loads.
HTTP 3
HTTP/3 is the latest version of the Hypertext Transfer Protocol that utilizes QUIC instead of TCP to improve security and reduce latency. By integrating TLS and using UDP, HTTP/3 provides a more efficient and robust solution for transmitting web content.
SOCKS5
SOCKS5 is an Internet protocol that routes network packets between a client and server through a proxy server, offering benefits like enhanced authentication methods and improved performance. It supports both TCP and UDP protocols, making it versatile for various types of internet traffic.
STUN
STUN (Session Traversal Utilities for NAT) is a protocol that facilitates the discovery of public IP addresses and NAT traversal, often used in conjunction with other protocols like TURN and ICE to support real-time communications such as WebRTC in navigating complex network topologies.
TURN
TURN (Traversal Using Relays around NAT) complements STUN by relaying traffic through a server when direct (peer-to-peer) connections fail, typically used in WebRTC implementations to ensure connectivity between all parties.
ICE
ICE (Interactive Connectivity Establishment) is a comprehensive protocol used in WebRTC to optimize the connectivity by systematically attempting different methods (like STUN and TURN) to establish the most reliable and fastest network path between peers.
SCTP
SCTP (Stream Control Transmission Protocol) offers a reliable, message-oriented service similar to TCP and UDP. It supports multi-streaming and multi-homing, making it particularly useful in network failure scenarios and is often used with WebRTC for transporting media streams.
QUIC
QUIC (Quick UDP Internet Connections) is an advanced transport layer network protocol developed by Google, based on UDP. It significantly reduces connection and transport latency, integrates TLS 1.3 by default for security, and is used by HTTP/3 to optimize web page loading times by overcoming the limitations of TCP.
Networking
Networking terminologies and technologies.
NAT
Network Address Translation (NAT) is a networking method that enables multiple devices on a local network to access the internet using a single public IP address. Initially developed to address the shortage of IPv4 addresses, NAT extends IPv4 address availability by mapping numerous private IP addresses to one public IP. In this process, a router assigns a public IP to outbound traffic from private IPs within the network and routes this traffic to the internet. Responses are then redirected to the correct local device. NAT conserves IP addresses and enhances security by obscuring internal network structures from the external internet, aiding in the mitigation of cyber threats such as DDoS attacks. However, NAT can complicate inbound connections, posing challenges for services that require direct internet connectivity, particularly in commercial and mobile networks.
RTC
Real-Time Communication (RTC) refers to any live telecommunications that occur without transmission delays. RTC is critical for applications such as voice calls, video chats, and live streaming services, where immediate interaction is necessary. Technologies like WebRTC enable RTC on the web by allowing direct communication between browsers and devices.
Latency
Latency refers to the delay before a transfer of data begins following an instruction for its transfer. It is a critical performance metric in networking, indicating the time it takes for data to travel from the source to the destination. Low latency is essential for real-time applications such as video conferencing, where delays can affect the quality of service and user experience.
Bandwith
Bandwidth is the maximum rate of data transfer across a given path. It measures how much data can be sent over a network connection in a specified amount of time and is typically expressed in bits per second (bps). Higher bandwidth allows more data to be transferred within a shorter period, crucial for high data usage services like video streaming.
Flow Control
Flow Control is a technique used in network communications to manage the pace of data transmission between two endpoints to prevent overwhelming the receiver. It ensures reliable data transfer by controlling the amount of data sent before requiring an acknowledgment receipt from the receiver. This process helps avoid congestion and ensures smooth network operation.
Tools & Platforms
Tools and platforms that support modern networking and cloud computing.
Docker
Docker is a platform designed to simplify the process of creating, deploying, and running applications by using containers. Containers package an application along with all its dependencies into a single unit, ensuring that the application runs consistently on any Linux machine, regardless of specific configurations. This containerization provides an efficient solution for developers to manage and deploy applications across different environments.
Kubernetes
Kubernetes is an open-source platform that automates the deployment, scaling, and management of application containers. It enables the clustering of groups of hosts running Linux containers, facilitating the efficient management of those clusters. Kubernetes clusters can span hosts across public, private, or hybrid clouds, making it particularly suited for hosting cloud-native applications that need to scale quickly, such as real-time data processing applications.
Telemetry & Metrics
Telemetry and metrics involve the collection and analysis of data about the operation of system components to evaluate performance, identify issues, and inform improvements. Telemetry automates the process of transmitting data from remote or inaccessible points back to a central system for monitoring. Metrics provide quantifiable measures used to track and assess the status of specific processes. Tools like Prometheus are extensively used to gather telemetry data and metrics, enhancing the monitoring and optimization of performance and reliability in software and hardware systems, particularly in complex IT and cloud environments.