> For the complete documentation index, see [llms.txt](https://docs.monogoto.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monogoto.io/ntn-satellite-networks/udp-communication-for-ntn-applications.md).

# UDP communication for NTN applications

<div data-full-width="true"><figure><img src="/files/xdA0v6kSpFrGx2HbEVCM" alt=""><figcaption></figcaption></figure></div>

**UDP (User Datagram Protocol)** is a lightweight, connectionless protocol designed for sending small amounts of data efficiently over IP networks.

In **NTN (Non-Terrestrial Network)** deployments, devices typically use **NB-IoT**, which supports **UDP traffic only**. Unlike TCP, UDP does not require a connection setup or acknowledgements. Messages are sent in a *fire-and-forget* manner, making UDP well suited for satellite-based communication where **latency is high**, **bandwidth is limited**, and **connections may be intermittent**.

This guide explains how to send and receive UDP data in NTN scenarios, including:

* **Client mode** – sending UDP messages *from* the device to a server
* **Server mode** – receiving UDP messages *on* the device *from* the server

***

## Sending UDP payload

To receive data from your NTN device, you need a **UDP server** with a public IP address.

You can either:

* Use an existing platform that supports UDP ingestion, such as **Ubidots** (see the [Ubidots guide](https://docs.monogoto.io/developer/cloud-integrations/ubidots)) or,
* **Set up your own UDP server** for development and testing (see [Set up UDP server](/ntn-satellite-networks/udp-communication-for-ntn-applications/set-up-udp-server.md))\
  This guide focuses on creating a **simple UDP server** to receive payloads from an NTN device. This approach is ideal for early development, debugging, and validation before integrating with a production backend.

***

#### Why UDP?

UDP is preferred for NTN communication because it:

* Requires **no connection handshake** (unlike TCP)
* Has **low protocol overhead**, reducing airtime and power usage
* Works well with **high-latency satellite links**
* Is suitable for **small, infrequent payloads** such as GPS coordinates, temperature readings, or status messages

{% hint style="warning" %}
UDP does not guarantee delivery. Applications must handle retries, duplication, or loss.
{% endhint %}

#### Requirements

In order to send satellite data to and from a UDP server, you need:

* A server with a **public IP address**
* An **open UDP port** (e.g. <mark style="color:red;">`9000`</mark>)
* A **listener application** to receive and process incoming UDP packets

***

#### Next steps

* Set up your own UDP server — [visit guide](/ntn-satellite-networks/udp-communication-for-ntn-applications/set-up-udp-server.md)
* Send and receive UDP data with the Nordic nRF9151 SiP — [visit guide](/ntn-satellite-networks/udp-communication-for-ntn-applications/nordic-nrf9151-send-receive-udp-data.md)
* Send and receive UDP data with the Murata Type 1SC module — [visit guide](/ntn-satellite-networks/udp-communication-for-ntn-applications/murata-type-1sc-send-receive-udp-data.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.monogoto.io/ntn-satellite-networks/udp-communication-for-ntn-applications.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
