INET(4F) — NEWS-OS Programmer’s Manual
名称
inet − インターネットプロトコルファミリー
形式
#include <sys/types.h>
#include <netinet/in.h>
解説
インターネットプロトコルファミリーは、 インターネットプロトコル(IP)トランスポートレイヤの上の レイヤのプロトコルの集まりであり、 インターネットアドレスを用いています。 インターネットファミリーは、 SOCK_STREAM、SOCK_DGRAM、SOCK_RAW といったソケットタイプの プロトコルをサポートします。 SOCK_RAW インターフェースは、IPプロトコルへアクセスします。
アドレス指定
インターネットアドレスは、 4 バイトのネットワーク標準形式で格納されています。 インクルードファイル <netinet/in.h> は、共用体としてこのアドレスを定義しています。
インターネットプロトコルファミリーに結合されるソケットは、 次のアドレス指定用の構造体を用います。
structsockaddr_in {
shortsin_family;
u_shortsin_port;
structin_addr sin_addr;
charsin_zero[8];
};
ソケットは、ローカルアドレス INADDR_ANY で生成することに より、入力メッセージにマッチする “ワイルドカード” に できます。“自分自身” を表すために connect(2) または sendto(2) のアドレスとして INADDR_ANY を用いることができます。 最初のネットワークがブロードキャストをサポートするよう構成されている場合には、 特別なアドレス INADDR_BROADCAST を、一次ネットワーク上の ブロードキャストアドレスの省略形として用いることができます。
プロトコル
インターネットプロトコルファミリーは、 IP 転送プロトコル、インターネット制御メッセージプロトコル(ICMP)、 転送制御プロトコル(TCP)、そして ユーザデータグラムプロトコル(UDP)からなります。 TCP は、SOCK_STREAM をサポートするために使用され、 UDP は SOCK_DGRAM をサポートするために使用されます。 IP への raw インターフェースは、SOCK_RAW 型の インターネットソケットを作ることによって利用できます。 ICMP メッセージプロトコルは、raw ソケットでアクセスできます。
32 ビットのインターネットアドレスは、 ネットワーク部と、ホスト部の両方からなります。 このアドレスは絶えずエンコードされます。 最上位ビットは、クラス A ではクリアされ、 上位 8 ビットがネットワーク番号となります。 クラス B では、上位 16 ビットをネットワーク番号として使用します。 クラス C のアドレスは、24 ビットのネットワーク番号を持っています。 ローカルネットワークのクラスタを持ち、DARPA インターネット へ接続されたサイトは、クラスタに対するシングルネットワーク番号を選択 して使用することができます。 これは、サブネットアドレス指定を使って行います。 アドレスのローカル(ホスト)部分はサブネット部とホスト部に分けられます。 サブネットの中で、各サブネットが独立したネットワークのように見え、 外部からは、全クラスタが 1 つのルーティングエントリだけの 均一な 1つのネットワークであるように見えます。 サブネットアドレスの指定や取り出し (インターネットドメインのデータグラム型のソケットに対する)は、 次の ioctl(2) コマンドによって行います。これは、SIOCIFADDR と同じ形式です (intro(4N) 参照)。
SIOCSIFNETMASK インターフェースのネットワークマスクを設定します。 ネットワークマスクは、アドレスのネットワーク部分を定義します。 アドレスタイプが示すよりも多くのアドレスを含むならば、 サブネットが使用されています。
SIOCGIFNETMASK インターフェースのネットワークマスクを得ます。
関連事項
ioctl(2), socket(2), intro(4N), tcp(4P), udp(4P), ip(4P), icmp(4P)
An Introductory 4.3BSD Interprocess Communication Tutorial(PS1:7)
An Advanced 4.3BSD Interprocess Communication Tutorial(PS1:8)
警告
インターネットプロトコルサポートは、 インターネットプロトコルの発展にともなって変更される場合があります。 ユーザは、現在のインプリメンテーションの細かい点だけを見るのではなく、 むしろ、提供されるサービスを信頼してください。
NEWS-OSRelease 4.1C