通信プロトコル

通信プロトコル（つうしんプロトコル、Communications protocol）、あるいはネットワーク・プロトコルは、ネットワーク上での通信に関する規約を定めたものである。「通信規約」や「通信手順」と訳す場合もある。 一つの通信でも、役割の異なる複数のプロトコルから成り立っていることも多く、それらをまとめたものは「プロトコルスタック」、「プロトコル・ファミリー」、「プロトコル・スイート」などと呼ぶ。これは、ネットワーク・プロトコルが階層的に定義されているのに対応して、それを実装するソフトウェアも階層的に構築されるためである。また、このことからプロトコルや、プロトコル・スタックは、しばしばそれらのソフトウェアでの実装を指すこともある。 最近のインターネットの通信に関するプロトコルは、コンピュータ上で動くソフトウェアに関する取り決めを中心に、伝送路などのハードウェアについての取り決めも含まれ、そのほとんどは、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 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のような航空宇宙用の通信規約がある。 ASN.1 Abstract Syntax Notation One ABNF Augmented BNF (Backus-Naur Form) ^ a b 高橋健太郎著 「プロトコルはなぜ必要か」 日経NETWORK 2007年7月号 p.59～p.75 プロトコル ルーティングプロトコル