💇‍♀️

IEEEとIETFについて(TCP/IP)

2022/07/20に公開

この記事ではIEEEとIETFについてまとめます。ネットワークに関連する技術にはたくさんのプロトコルがあります。それらのほとんどはIEEE、ETFという2つの団体によって標準化されています。IEEEは比較的ハード寄りの技術を中心に、IETFはソフトウェアの技術を中心にプロトコルを標準化しています。

IEEE(Institute of Electrical and Electronics Engineers)

電気電子技術学会の略です。比較的ハードウェア寄りのネットワーク技術の標準化を研究/議論しています。具体的にはネットワークインターフェースやケーブルなどがIEEE802委員会によって決められています。1980年2月に発足したことからIEEE802委員会という名前が付けられました。

https://www.ieee.org/

ワーキンググループ,タスクフォース

IEEE802委員会は2つの部によって構成されています。(1)ワーキンググループ(WG,作業部会)、(2)タスクフォース(プロジェクトチーム)の2つです。通信技術ごとにワーキンググループが設立されており、その中で実際の研究/標準化の議論をタスクフォースで行っています。

名称の付け方

ワーキンググループとタスクフォースの名称は次のように付けられます。ワーキンググループはIEEE802の後ろに.(ドット)と数字を付けて識別されます。タスクフォースはワーキンググループ名に更に1桁(または2桁)の英数字を付けて識別されています。

タスクフォースの名前がプロトコル名に

注目したいのがタスクフォースの名前がプロトコル名になる点です。例えばイーサネットの規格の1つIEEE802.3abは、IEEE802委員会の中で無線LANを扱うIEEE802.3ワーキンググループの中にある、IEEE802.3abタスクフォースで標準化されました。(物理層でイーサネットの規格を学ぶ際にはこれらIEEEの名がよく出てくると思います。)

IETF(Internet Engineering Task Force)

インターネットに関連する技術の標準化を推進する団体です。(IEEEがハード寄りだったのに対し)IETFは比較的ソフトウェア寄りの技術の研究/議論しています。HTTP,DNS,TCP/UDP,SSL/TLSなどが有名なモノとしてはあります。

https://www.ietf.org/

RFC(Request For Comments)

IETFで標準化されたルールはRFCという形で文章化され公開されます。RFCには通し番号が付与され、更新があったら新しい番号が付与されます。例えばHTTP/1.1はRFC7540で標準化されています。HTTP/1.1などのルールに準拠した形でブラウザは動作し、Webサーバーと通信を行うことになります。

RFC 名称 プロトコル
768 User Datagram Protocol UDP
791 INTERNET PROTOCOL IP(IPv4)
792 INTERNET CONTROL MESSAGE PROTOCOL ICMP
793 TRANSMISSION CONTROL PROTOCOL TCP
826 An Ethernet Address Resolution Protocol ARP
1034 DOMAIN NAMES - CONCEPTS AND FACILITIES DNS
1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION DNS
2131 Dynamic Host Configuration Protocol DHCP
2460 Internet Protocol, Version6(IPv6) Specification IPv6
2616 Hypertext Transfer Protocol -- HTTP/1.1 HTTP/1.1
4346 The Transport Layer Security(TLS) Protocol Version 1.1 TLS
5246 The Transport Layer Security(TLS) Protocol Version 1.2 TLS 1.2
7540 Hypertext Transfer Protocol 2 (HTTP/2) HTTP/2
8446 The Transport Layer Security(TLS) Protocol Version 1.3 TSL 1.3

STD,FYI

一度RFCになると内容を改定することは許されません。プロトコルへ機能を追加する場合には、新しいRFCの番号で拡張部分を定義する必要があります。プロトコルの仕様が更新されるたびに番号が変わるので不便だという意見も出てきました。

そのため主要なプロトコルや標準に対してはSTD(Standard)という番号も付けられています。STDはプロトコルと番号を1対1で紐付けた変化しない番号です。同じプロトコルなら内容が更新されてもSTDの番号は変化しません。

またユーザーや管理者に向けて有益な情報を提供するためにFYI(For Your Information)という番号もつけられています。これもSTDと同じように実際の中身はRFCですが、参照しやすいように内容が更新されても番号は変わらないようになっています。次節で学ぶTCP/IPもIETFでの研究や議論を通じて形となり、RFCという形で同じく公開されています。

TCP/IP

TCPとIPを中心とするインターネット通信に必要なプロトコルの集まりです。TCP/IPという単独のプロトコルではなく、インターネット通信に必要なプロトコルの集まりを指す点に注目して下さい。

TCP/IPという言葉を文字通りに捉えると、TCPとIPという2つのプロトコルを意味すると思うかもしれません。TCPは通信の信頼性を実現し、IPはネットワーク間でパケットを転送するプロトコルです。2つはインターネット通信で不可欠なプロトコルですが、この2つ併せてTCP/IPと呼ぶことは稀です。TCPとIPを中心にした通信プロトコル群をTCP/IPと呼びます。

具体的にはIP,ICMP,TCP/UDP,TELENET,FTP,HTTPなどインターネット通信に深く関係する多くのプロトコルが含まれます。TCP/IPをインターネットプロトコルスイートということもあります。これはインターネットを構築する上で必要なプロトコルのセットという意味です。また通常のプロトコルと区別して、ネットワークアーキテクチャと呼ぶこともあります。

TCP/IPのモデル

TCP/IPで登場する様々なプロトコルもOSI参照モデルに当てはめることができます。OSIの7層の仕事がまとめられて、TCP/IPの4層で実行されています。

TCP/IPは実際に現場で動かすことを重視して作られたモデルです。そのためOSI参照モデルに取って代わって世界中へ普及しました。

Discussion