Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/networking/protocols/layer-7/ftp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ sidebar_position: 6

# FTP

:::tip[Status]

This note is complete, reviewed, and considered stable.

:::

**File Transfer Protocol (FTP)** is a standard network protocol used to transfer files between a client and a server over a TCP/IP-based network, like the internet or an intranet. It operates on the client-server model, where the client initiates a connection to the server and requests files to be uploaded or downloaded.

## Key Features of FTP
Expand Down
6 changes: 6 additions & 0 deletions docs/networking/protocols/layer-7/mqtt-amqp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ sidebar_position: 7

# MQTT and AMQP

:::tip[Status]

This note is complete, reviewed, and considered stable.

:::

MQTT (Message Queuing Telemetry Transport) and AMQP (Advanced Message Queuing Protocol) are two widely used messaging protocols in distributed systems. Both facilitate communication between devices, applications, and systems, but they are designed with different use cases and requirements in mind.

## MQTT (Message Queuing Telemetry Transport)
Expand Down
37 changes: 35 additions & 2 deletions docs/networking/protocols/layer-7/rpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ sidebar_position: 5

# RPC and gRPC

:::tip[Status]

This note is complete, reviewed, and considered stable.

:::

**RPC (Remote Procedure Call)** is a protocol that allows a program to execute functions on a remote server as if they were local. It abstracts the complexity of network communication, enabling developers to build distributed systems with ease. Traditional RPC frameworks may run over TCP, UDP, or other transport protocols, depending on the implementation.

## How RPC Works
Expand Down Expand Up @@ -120,6 +126,35 @@ sidebar_position: 5

</div>

## Mutual TLS (mTLS)

Mutual TLS (mTLS) is an extension of TLS where both the client and server authenticate each other using X.509 certificates. In standard TLS, only the server presents a certificate and proves its identity to the client. With mTLS, the client also presents a certificate, allowing the server to verify the client's identity.

### How mTLS Works

1. Client initiates a connection to the server.
2. Server presents its certificate.
3. Client validates the server certificate against a trusted Certificate Authority (CA).
4. Client presents its own certificate.
5. Server validates the client certificate against a trusted Certificate Authority (CA).
6. A secure encrypted channel is established.
7. gRPC requests and responses are exchanged over the authenticated connection.

### Benefits of mTLS

* Encrypts all communication between client and server.
* Authenticates both parties before any application data is exchanged.
* Eliminates the need to transmit credentials such as API keys between trusted services.
* Commonly used for service-to-service communication in microservice architectures.
* Provides strong identity verification in zero-trust environments.

### Common Use Cases

* Communication between microservices.
* Internal APIs within Kubernetes clusters.
* Service mesh implementations such as Istio and Linkerd.
* Highly regulated environments requiring strong authentication and encryption.

## Key Comparisons Between RPC and gRPC

| Feature | Traditional RPC | gRPC |
Expand All @@ -135,5 +170,3 @@ sidebar_position: 5

- **RPC**: Suitable for small-scale, simpler applications requiring basic remote execution capabilities.
- **gRPC**: Ideal for microservices architectures, streaming, and scenarios demanding high performance and strong security.

Let me know if you'd like examples or deeper dives into any specific topic!
Loading
Loading