IOT:通信プロトコル 色々

どーも こんちには ”Keita_Nakamori”(*’▽’)です。

コンピューターネットワークの通信規格、いわゆる通信プロトコルの種類についてざっくりまとめましょう。

Contents

表にしてみました

階層 名称 役割 通信プロトコル
第7層 アプリケーション層 アプリケーションへのアクセス HTTP, FTP ,SMTP,POP,IMAP
第6層 プレゼンテーション層 ファイル形式への対応
第5層 セッション層 接続開始と終了
第4層 トランスポート層 データの信頼性を確立 TCP , UDP
第3層 ネットワーク層 ネットワーク経路の決定 IP
第2層 データリンク層 フレーム,ビット列の変換 ARP
第1層 インターフェース層 ビット列,物理信号の変換 Ethernet,光ケーブル, 接続コネクタ

 

 

 

 

 

 

よく見るやつは高階層(アプリケーション層)

HTTP

-Hyper Text Transfer Protocol

Webブラウザで使われています。HTTPリクエストを処理します。

FTP

-File Transfer Protocol

自分のPCから遠くの場所にあるPCにファイルを送り込む仕組みです。

ホームページを持っていてサーバーとやり取りが多い人は使うそうですが、WordPressを使っている限りでは意識することはありません。今のところ。

SMTP

-Simple Mail Transfer Protocol

シンプルなメールの送信手順ということ。単純なメールの意味なのか、単純な転送手順の意味なのかは不明。

POP

-Post Office Protocol

郵便局、つまりメールサーバーにメールを取りに行く手順。

他者から送られたメールは手元まで自動的に届くわけではない。

実際には、こちらからPOPに従ってメールサーバーに取りに行っている。取ったメールはメールサーバーから消える。

IMAP

Internet Message Access Protocol

スマホでよく使われる。POPと同じくメールをメールサーバーまで取りに行く手順。POPと違ってメールを取ってもメールサーバーに残る。よって、コピーを持ってくる感じです

一般ユーザーには無縁の中層(トランスポート~ネットワーク層)

TCP(トランスポート層)

-Transmission Control Protocol

接続先やデータ到達確認、フロー制御、データの重複、データの欠落などの不備を検出します。

UDP(トランスポート層)

-User Datagram Protocol

UDPはTCPのように通信の信頼性を確保する機能を省いて転送スピードに重点を置いた設計になっています。リアルタイム性を重視したストリーミングなどのアプリケーションにぴったりのやりかたです。

IP(ネットワーク層)

-Internet Protocol

データをパケットに分割して通信相手に高速転送します。

よくTCPとIPは一緒に使われるのでTCP/IPとかプロトコルスイートとか言われています。

みんな知ってる(インターフェース層)

Ethernet

イーサネット。いわゆる物理的なLANケーブルのこと。よく指す所の爪が割れるので改良を求めます。

その他の用語

Socket

プログラムからTCP/IPへアクセスするときに出入口が必要になります。

その出入口をSocket(ソケット)といいます。

Pythonでは socketモジュール からのsocketメソド、socket.socket()でソケットを作成することができます。これをサーバー側とクライアント側で作れば、TPC/IPを通じてSocket通信することができます。