通信プロトコル

通信プロトコル（つうしんプロトコル、Communication protocol）は、通信に関する規格のことである。「通信規約」や「通信手順」ともいう。 通信を行うためには、通信に参加するもの同士の間で、あらかじめ通信に関する規格を定めなければならない。 たとえば、江戸時代においては、旗振り通信により、米相場を各地に伝達していたが、旗を振る向きや回数の意味について、事前に打ち合わせて決めておかなければ意味を成さない（上げ相場は左横上で二振、下げ相場は右横下で二振、など）。 プロトコルを定め、それに従うことは、通信を成立させるための基本原理と言える。プロトコルが異なる機器同士で通信を行いたい場合は、プロトコルコンバータ（英語: Protocol converter）のような機器を使用する。 一つの通信でも、役割の異なる複数のプロトコルから成り立っていることも多く、それらをまとめたものは「プロトコルスタック」、「プロトコル・ファミリー」、「プロトコル・スイート」などと呼ぶ。これは、ネットワーク・プロトコルが階層的に定義されているのに対応して、それを実装するソフトウェアも階層的に構築されるためである。また、このことからプロトコルや、プロトコル・スタックは、しばしばそれらのソフトウェアでの実装を指すこともある。 現在広く普及しているプロトコル・スイートとしては、インターネット・プロトコル・スイート（TCP/IP）が挙げられる。インターネットの通信に関するプロトコルは、コンピュータ上で動くソフトウェアに関する取り決めを中心に、伝送路などのハードウェアについての取り決めも含まれ、そのほとんどは、IETFによって定められ、その他のものについてはIEEEやISOなどの組織によって定められている。ITU-Tは電気通信に関するプロトコルの策定を行う。 通信プロトコルは、伝送路の物理条件、伝達、相手の特定、情報表現の4つの基本要素より成り立っている。 伝送路の物理条件 有線通信の場合は、ケーブルとコネクタの形状と電気特性や光学波長、変調方式を規定する。無線通信の場合は、周波数帯や変調方式を規定する。例えば、IEEE 802.11, Bluetooth, ZigBeeなどがある。 伝達 伝達に関する要素として、通信プロトコルの中核をなす多くの決まりごとが規定されている。この中には信号にどのように「1」と「0」を割り当てるのかといった「符号化コード」から始まって、「同期」、「アクセス制御」、「誤り制御」、「フロー制御」などの各方式の規定が含まれている。 相手の特定 1対1の通信路に関するプロトコルでは例外的に規定の必要がないが、複数の端末が接続されるネットワーク上では送信先を特定する必要がある場合が多い。個別の「アドレス」によって特定できるが、1つの端末には、MACアドレスやIPアドレスのように用途によって複数種類のアドレスが割り振られることが多く、それらの間での変換ルールに関しての複雑な取り決めが規定されている。 情報表現 ビットの羅列を有効な情報として通信するために、情報の表現ルールを相互に取り決める必要がある。ビットの区切り単位として古くは6ビットや7ビットで1つの文字を表現していたが、今では多くが8ビットで区切られたASCIIコードを文字コードとして使っていることが多く、日本ではシフトJIS等も使用される。また、いくつかの文字の組み合わせでコマンドとする取り決めや、送信する内容、つまりデータそのものの表現方法も取り決めておかなくてはならない。こういった情報の配置と構成に関する表現ルールがパケット・フォーマットやフレーム・フォーマットといった形で、詳細な取り決めが規定される。 以下は各種の通信プロトコルについて、OSI参照モデルの7層のうち最も近い層に分類したものになっている。 ISDN Integrated Services Digital Network RCR STD-28 (PHS) 10Base-T、100BASE-TX、1000BASE-T（イーサネットで使用される物理層の仕様） PDH Plesiochronous Digital Hierarchy、SDH統一前の地域別同期網 T-carrier （T1, T3 など）、ISDNの多重化 RS-232C、EIA-574、シリアル・インタフェースで、当初はモデムやコンピュータ端末の接続のために開発された SDH Synchronous Digital Hierarchy、PDH後続の国際統一同期網 SONET Synchronous Optical NETworking、SDHへと標準化前の規格 ARP Address Resolution Protocol イーサネット FDDI Fiber Distributed Data Interface LAP (Link Access Procedure) 、X.25用 HDLC High Level Data Link Control LAPB (Link Access Procedure, Balanced) 、LAPのHDLC互換版 LAPD (Link Access Procedure on the D-channel) 、LAPBのISDN Dチャネル版 LAPDC (Link Access Procedure for Digital Cordress) 、RCR STD-28 (PHS) 用 LAPM (Link Access Procedure for Modem) 、アナログモデム用 LAPF (Link Access procedure for Frame-Relay) 、フレームリレー用 PPP Point-to-point protocol トークンリング X.25 フレームリレー X.25を単純化したもの ATM Asynchronous Transfer Mode MPLS Multi-protocol label switching ICMP Internet Control Message Protocol IP Internet Protocol そのもの IPv4 Internet Protocol version 4、現在の標準 IPv6 Internet Protocol version 6、現在広がりつつある IPX Internetwork Packet Exchange ルーティング・プロトコル: 自律システム（AS）間のルーティング EGP Exterior gateway protocol （現在使われていない） BGP Border gateway protocol 独立の自律システム（AS）内におけるルーティング EIGRP Enhanced interior gateway routing protocol IGRP Interior gateway routing protocol RIP Routing information protocol OSPF Open shortest path first X.25PLP (Packet Level Protocol) 、X.25用 XNS Xerox network services SPX Sequenced Packet Exchange TCP Transmission Control Protocol UDP User Datagram Protocol SSL Secure Sockets Layer TLS Transport Layer Security IPSec IP Security Protocol SCTP Stream Control Transmission Protocol DCCP Datagram Congestion Control Protocol QUIC SIP Session Initiation Protocol H.323 Packet-based multimedia communications systems HTTP HyperText Transfer Protocol、 World Wide Webで利用されている SMTP Simple Mail Transfer Protocol FTP File Transfer Protocol POP3 Post Office Protocol Version 3 Telnet 遠隔端末アクセスプロトコル IMAP Internet Message Access Protocol HTTP over TLS（HTTPSなどで使われる）やSMTP over SSL、STARTTLSなど、上記のプロトコルにおけるセキュリティ上の欠点を補ったものもある。 SDP Session Description Protocol HTML XML AFP Apple Filing Protocol PIDF NFS Network File System SNMP Simple Network Management Protocol Gnutella ピア・ツー・ピアのファイル交換プロトコル DNS Domain Name System SSH Secure SHell NTP Network Time Protocol Gopher World wideな文書共有システム Finger 登録ユーザのプロファイル情報の取得 NNTP News Network Transfer Protocol LDAP Lightweight Directory Access Protocol DHCP Dynamic Host Configuration Protocol IRC Internet Relay Chat WebDAV Web Distributed Authoring and Versioning DICT Dictionary protocol 通信に関して最初にProtocol（プロトコル）という用語が使われたのは、1968年に稼動を開始したARPANET（アーパネット）である。ARPANETは世界最初のコンピュータ・ネットワークとして、また、現在のインターネットの母体となったネットワークとして知られている。 その後、ARPANETを手本にさらに良いネットワークを構築するために生み出されたX.25という通信手順の登場で、プロトコルという用語が広まり定着した。 CAN(Controller Area Network),LIN(Local Interconnect Network（英語版）), FlexRayのような車載機器の通信規格がある。 Echonet, ECHONET Liteのような家電用通信規格がある。 ARCNET(Attached Resource Computer NETwork)のような機器間の通信規約がある。 SpaceWireのような航空宇宙用の通信規約がある。 暗号通貨は多種多様に現存していて、トークンの特異性かつ暗号通貨間のチャネリング（交信）を指すことがある。 メーカー独自の通信プロトコル（ベンダーロックイン）が多いが、スマートファクトリー・インダストリー4.0といった取り組みより、異なる製造元の装置が通信できる規格もある。OLE for Process Controlのような通信規格がある。 BACnet, LonTalk, X10, ZigBeeのような通信規格がある。 ASN.1 Abstract Syntax Notation One ABNF Augmented BNF (Backus-Naur Form)