JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... のマニュアルページは Linux ネットワークのソケット層に対する ユーザーインターフェースを記述するものである。 BSD 互換ソケットは、ユーザープロセスとカーネル内部の ネットワークプ ... を提供するものである。 プロトコルモジュールは プロトコルファミリー (protocol familiy) (例: AF_INET , AF_IPX , AF_PACKET ) と ソケットタイプ (socket types) (例: SOCK_STREAM , SOCK_DGRAM ) に分類できる。 これらに関するより詳しい情報は socket (2) を参照のこと。 ... ソケット層の関数群 これらの関数はユーザープロセスがパケットを送受信したり、その他のソケット操作を 行ったりするために用いられる。詳細 ... ... 表示される情報のタイプは、最初の引き数で以下のように制御される。 (引き数なし) デフォルトでは、 netstat はオープンされているソケットの一覧を表示する。 アドレスファミリーが指定されていなければ、 設定されている全てのアドレスファミリーに関して、 アクティブなソ ... , --ax25 , --netrom , --ddp オプションを使った場合と同じ効果がある。 アドレスファミリー inet には raw, udp, tcp プロトコルソケットが含まれる。 -c, --continuous 指定された情報を 1 秒ごとに表示し続ける。 -e, --extend さらに詳しい情報を表示する。 このオプシ ... を 2 個指定すれば最も詳しい表示が得られる。 -o, --timers ネットワーキングタイマーに関する情報が追加される。 -p, --program 各ソケットが属しているプログラムの PID と名前が表示される。 -l, --listening 接続待ち (listen) 状態にあるソケットのみを表示する (このオ ... ... ストの実装が含まれている。 またパケットフィルタ機能を含む IP ルーターも実装されている。 プログラミングインターフェースは BSD ソケットと互換である。 ソケットに関するより詳細な情報は socket (7) を参照のこと。 An IP socket is created using socket (2): socket(A ... ケットを受信したり 接続要求を受けたりしたい場合には、 そのプロセスはローカルなインターフェースアドレスに、 bind (2) を用いてソケットをバインドしなければならない。 この場合、 ローカルの「アドレスとポート」のペアに対してバインドできる IP ソケットは一つだけで ... ある。 bind (2) の呼び出しで INADDR_ANY が指定されていた場合は、 ソケットは すべて のローカルインターフェースにバインドされる。 listen (2) がバインドされていないソケットに対してコールされると、 その ... ... ソケットを使うと、新しい IPv4 プロトコルをユーザー空間で 実装できるようになる。 raw ソケットは、リンクレベルヘッダーを 含まない raw ... データグラムの送受信ができる。 IPv4 レイヤは、扱っているソケットで IP_HDRINCL ソケットオプションが有効になっていなければ、 パケットを送信するときに IP ヘッダーを生成する。 IP_HDRINCL オプシ ... 渡されたヘッダーで指定された、あらゆる IP プロトコルを送信できる。 IPPROTO_RAW 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。 IP ヘッダーフィールド。 IP_HDRINCL によって送信時に変更される。 IP チェックサム 常に変更される ソースア ... ... トコル */ packet_socket = socket(AF_PACKET, int socket_type , int protocol ); 説明 packet ソケットは、デバイスドライバ (OSI レイヤ 2) レベルで 生のパケット (raw packet) を送受信するために用いられる。 packet ソケットを使うと ... る。 外部から来たパケットのうち指定したプロトコルのものは、 カーネルに実装されているプロトコルに渡される前の段階で、 packet ソケットに渡される。 In order to create a packet socket, a process must have the CAP_NET_RAW capability in the user namespace that g ... OCK_DGRAM はやや高位のレベルで動作する。物理ヘッダーは、パケットがユーザーに 渡される前に削除される。 SOCK_DGRAM の packet ソケットを通して送られるパケットは、 sockaddr_ll の行き先アドレスの情報に基づき、適切な物理層のヘッダーが付加されてから、 キューに送 ... ... pair(AF_UNIX, type, 0, int * sv ); 説明 AF_UNIX ( AF_LOCAL とも言われる) ソケットファミリーは、同じマシン上で プロセス同士が 効率的に通信するために用いられる。伝統的に、UNIX ドメイン ソケットは、名前なしに ... もできるし、 (ソケット型であると印のついた) ファイル システムのパス名に 結び付けることもできる。さらに Linux では、ファイル システムに依存しない抽 ... is connection-oriented, preserves message boundaries, and delivers messages in the order that they were sent. UNIX ドメインソケットでは、補助データを使って ファイルディスクリプターや プロセスの信任状 (credential) を 送受信することもできる。 アドレスのフォ ... ... RFC 2001 で定義されている TCP プロトコルを NewReno 拡張と SACK 拡張を含めて実装したものである。 TCP は、 ip (7) 上の二つのソケット間に、信頼性の高い、ストリーム指向の全二重 (full-duplex) 通信を提供する。 v4 と v6 の両方のバージョンの ip (7) に対応している ... 成、検査することで、転送エラーを検知する。 TCP はレコード境界 (record boundary) を保存しない。 新しく生成されたばかりの TCP ソケットは、 リモートアドレスかローカルアドレスがなく、 したがって詳細が完全に指定された状態ではない。 外部への TCP 接続を生成するに ... は、 connect (2) を用いてもう一方の TCP ソケットへの接続を確立する。 外部からの新たな接続を受けるには、まず bind (2) でソケットをローカルなアドレスとポートに結びつけ、次に ... ... msg(int sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッセージを転送するのに使用される。 send () は、ソケットが 接続された (connected) 状態にある場合にのみ使用できる (つまり、 ... L, 0); 引数 sockfd は、データを送信するパケットのファイルディスクリプターである。 sendto () は、接続型 (connection-mode) のソケット ( SOCK_STREAM , SOCK_SEQPACKET ) で 使用された場合、引数 dest_addr と addrlen は無視される (各々の引数が NULL と 0 でない場 ... 合は EISCONN エラーも返される)。 また、ソケットが実際には接続されていなかった時には ENOTCONN エラーが返される。 接続型のソケット以外で使用された場合は、接続先のアドレスは ... ... msg(int sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッセージを転送するのに使用される。 send () は、ソケットが 接続された (connected) 状態にある場合にのみ使用できる (つまり、 ... L, 0); 引数 sockfd は、データを送信するパケットのファイルディスクリプターである。 sendto () は、接続型 (connection-mode) のソケット ( SOCK_STREAM , SOCK_SEQPACKET ) で 使用された場合、引数 dest_addr と addrlen は無視される (各々の引数が NULL と 0 でない場 ... 合は EISCONN エラーも返される)。 また、ソケットが実際には接続されていなかった時には ENOTCONN エラーが返される。 接続型のソケット以外で使用された場合は、接続先のアドレスは ... ... msg(int sockfd , const struct msghdr * msg , int flags ); 説明 システムコール send (), sendto (), sendmsg () は、もう一方のソケットへメッセージを転送するのに使用される。 send () は、ソケットが 接続された (connected) 状態にある場合にのみ使用できる (つまり、 ... L, 0); 引数 sockfd は、データを送信するパケットのファイルディスクリプターである。 sendto () は、接続型 (connection-mode) のソケット ( SOCK_STREAM , SOCK_SEQPACKET ) で 使用された場合、引数 dest_addr と addrlen は無視される (各々の引数が NULL と 0 でない場 ... 合は EISCONN エラーも返される)。 また、ソケットが実際には接続されていなかった時には ENOTCONN エラーが返される。 接続型のソケット以外で使用された場合は、接続先のアドレスは ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。