[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

アドレスファミリ (address family)

pointこの用語のポイント

point通信プロトコルの詰め合わせだよ

pointその通信をするのに必要なお約束事を全部まとめたものだよ

point通信の種類を示す情報だと思っても良いよ

スポンサーリンク

簡単に書くよ

アドレスファミリ (address family)とは

「プロトコルファミリ」と同じようなもの。
つまり

通信するときに必要なお約束事のセットメニュー(マク○ナルドのバ○ューセットみたいなもの)
であり

目的の通信をするために必要な通信プロトコル(通信する上でのお約束事)をひとまとめにしたもの
です。
イメージしづらければ、単純に

通信の種類を示す情報
と捉えても構いません。

image piyo

詳しく書くよ

プロトコルファミリは「目的の通信をするために必要な通信プロトコル(通信する上でのお約束事)をひとまとめにしたもの」ね。

何らかの通信をするときには、一種類の通信に対して複数のお約束事が登場します。

例えば、インターネットをするときには「TCP」「IP」「HTTP」など、複数のお約束事に従った通信を行うことで、はじめてインターネットが使えます。
どれか一つだけを守ってもインターネットは使えません。
すべてのお約束事を守って、はじめてインターネットが使えます。

守るべきお約束事一つ一つが通信プロトコルです。
そして、これらのお約束事の集合体、その通信を行うために必要な通信プロトコルをひとまとめにしたものが、プロトコルファミリです。

よく分からなければ、ハンバーガーのセットメニューみたいなものだとお考えください。

アドレスファミリ

チーズバーガーとポテトと飲み物の組み合わせでチーズバーガーセット、シェフの気まぐれバーガーとポテトと飲み物の組み合わせでぴよぴよバーガーセット、のように単品の商品の組み合わせで一つのセットメニューになりますよね。
単品の商品が通信プロトコル、セットメニューがプロトコルファミリのイメージです。

それを踏まえて、プロトコルファミリとほとんど同じ意味で使われる用語が「アドレスファミリ」です。
違いは、調べてみたのですが、分かりませんでした。
実際には微妙な違いがあるはずですが、同じ物と考えても差し支えはないと思います。

アドレスファミリは、通信する上で必要なお約束事のセットメニューです。
使用するアドレスファミリが変われば、それに伴い通信の種類も変わります。
アドレスファミリは「通信の種類を示す情報」とも言えるでしょう。

例えば、アドレスファミリを示す定数に「AF_INET」というのがあります。
この値を指定すると「IPv4という種類の通信をするために必要なお約束事たちを使ってやり取りしてくれたまえ」な指示になります。
あえて回りくどい書き方をしましたが、要するに「IPv4で通信しろ!」な指定です。

同じように「AF_INET6」という定数もあります。
この値を指定すると「IPv6という種類の通信をするために必要なお約束事たちを使ってやり取りしてくれたまえ」な指示になります。
要するに「IPv6で通信しろ!」な指定です。

これは「アドレスファミリがAF_INETだったらIPv4を使った通信、AF_INET6だったらIPv6を使った通信になる」と言い換えることができます。

如何でしょう。
アドレスファミリの値が、通信の種類を示していますよね。

本来の意味は「通信プロトコルのセットメニュー」ですが、プログラミング関連、特にsocket関連のプログラミングで出てきた場合は「通信の種類を示す情報」もしくは「通信の種類を指定するための情報」と捉えた方が、イメージしやすいと思います。

例えば

アドレスファミリはプロトコルによってサポートされていません

のようなエラーが出た場合は

ごめん、指定された種類の通信はできないんだわ

と言われていると解釈してください。

image piyo2

一言でまとめるよ

まぁ「アドレスファミリ」って単語が出てきたら「通信の種類を示す情報なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク