# ネットワークについて

TWELITE NETでは無線パケットの配送について、2つの方式を用意しています。

## 単純ネット

単純ネットでは、アプリケーションIDとアドレスのみでの通信を行います。電波範囲内の通信は自由です。親機と子機という概念も存在せず、アプリケーションが役割を決定します。

例えば、ショートアドレスを 0 を親局とし、子局は1〜100の最大101台のネットワークです。子局は常にアドレス 0 に送信すれば親局への通信となります。

単純ネットでは以下の通信を行います。

* [ショートアドレス](broken://pages/-LB0B9HP7r0M_p1j7fql#shtoadoresu)を指定した通信
* [ロングアドレス](broken://pages/-LB0B9HP7r0M_p1j7fql#ronguadoresu)を指定した通信
* 電波到達範囲全てに行う同報通信

また、通信の成功を知る方法も用意されています。

* 送信先から確認パケットを受け取る [MAC ACK 通信](broken://pages/-LB1q9jHCya5M6h0xVA-#mac-ackackackki)

{% hint style="info" %}
MAC ACK は、相手先への到着確認が出来る（例外的に正しく確認ができない場合があります。）という点で便利ですが、相手先のアドレスが事前にわかっていなければなりません。

MAC ACK を使用する場合は、一定回数の再送が自動的に行われますが、電波状況が良い場合は再送がありませんが、悪い場合は最大回数再送を行う振る舞いをします。対して使用しない場合は、常に2回または3回同じパケットを送信します。どちらが良いかはケースバイケースです。

MAC ACK を使用する場合の難点の一つが、中継を行う場合です。子局が親局へ中継機を通じて通信したい場合、子局は送信前に親局へ直接送信するか、中継機に送信するかを決めなければ MAC ACK は利用できません。事前に設置時に送り先が決まっていれば問題ありませんが、多くのアプリケーションでは動的に近い局に送信するような設置をする要求がありますが、最も近在にあり通信可能性が高い局を決定するには、少なくとも１往復の通信が必要になります。この通信は失敗する場合もありますし不確実な中継先を選ぶ可能性もあります。また電池消耗の原因にもなります。安定した通信が見込める中継機が確定し、その状態が維持される限り効率的な通信が可能ですがそうでない場合は、通信途絶など不安定なネットワークになります。

[App\_Twelite](https://mono-wireless.com/jp/products/TWE-APPS/App_Twelite/) など、単純ネットを用いるアプリケーションでは、MAC ACK を敢えて使用せず、同報通信により中継を行っています。パケットが一定回数中継したらそれ以上中継しない、同じパケットは再度中継しないという２つの単純なルールにより中継を行います。中継段数が多くない場合はそれほど効率は悪化しませんし、なによりも、子局がパケットを送りさえすれば、周りに中継機が居る限り常に親局へ届く可能性が高いという点で安定的です。
{% endhint %}

## 中継ネット

中継ネットは、ネットワークの構成などに一定の条件を定め、その範囲で中継ネットワークの構築と配送を自動化します。


---

# Agent Instructions: 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:

```
GET https://sdk.twelite.info/twelite-net-api-expl/nettowkunitsuite.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
