0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OECUAdvent Calendar 2024

Day 6

TCP及びUDPの組み込み開発における役割

Last updated at Posted at 2024-12-05

基本情報技術者試験などのIPA試験を勉強したり、情報系の大学や高専に通っていたりすると通信プロトコルについての勉強をすると思うが…
"アルゴリズムや信頼性等はなんとなくわかるけど…実務においてはどんな感じで使い分けるのだろう?"などという疑問を持っている人は少なくないと思う。
本記事では1年程度実務経験のある筆者が通信プロトコルの代表的な物であるTCPUDPを組み込み開発にてどう使い分けるのか?について話していく
※なお、本記事ではTCPやUDPの細かい内部構造はブラックボックスとし、組み込み開発等での使用事例を述べていく形にする

TCPの活用事例

TCPはよくされる説明にもある様に、信頼性がかなり重要であるという考えの通信プロトコルである。
組み込み開発においては、IoT家電、スマートロックなど主にローカルネット上で運用する想定のシステムにてTCPを元にしたプロトコルが採用されたりする。(MQTTなど)

TCPEX.png

組み込み開発以外で言うと、インターネットやメールの送受信等々、日常生活にて直接触れる様なシステムの大半はこれで運用されているため、IPA試験や授業で学んだレベルだと、信頼性がある分こちらの方がUDPの上位互換に見えてしまうと思う。(少なくとも筆者は実務経験を積む前はそうであった。)
しかし、ハンドシェイクにてメモリをかなり食うなどの要因で組み込み開発においてはUDPの方が相応しい場合も結構ある。

UDPの活用事例

UDPはよくされる説明にもある様に、信頼性は捨てて何度でも送りつけなさいという考えの通信プロトコルである。
組み込み開発においては、バスの車載器など古いデータに価値が無いシステムやエレベータの制御システムなどリアルタイム性がないと人の命が関わる様な物にはUDPを元にしたプロトコルが採用されたりする。(QUICなど)
UDPEX.png
実際UDPをそのまま使用すると通信が垂れ流しになってしまうのでセキュリティ上良くない
したがって、大体UDPを少し改造した様な物が組み込みの現場では採用されることが多い

まとめ

組み込み開発においては最新のデータを取らなければいけないシステムが多いのでUDPをベースにした通信プロトコルを現場では使う場合が多い

TCP UDP
信頼性 高い 低い
リアルタイム性 低い 高い

追記
MQTPと誤字をしてましたが…正しくはMQTTです。失礼しました。

参考サイト

https://www.hulft.com/special-column/iot-architecture_01/iot-architecture_05
https://www.netattest.com/tcp-2023_mkt_tst

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?