どーも こんちには ”Keita_Nakamori”(*’▽’)です。
コンピューターネットワークの通信規格、いわゆる通信プロトコルの種類についてざっくりまとめましょう。
表にしてみました
階層 | 名称 | 役割 | 通信プロトコル |
第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通信することができます。