メインコンテンツまでスキップ

7.1 Extensions to the IP Service Interface (IP サービスインターフェースの拡張)

7.1. Extensions to the IP Service Interface (IP サービスインターフェースの拡張)​

着信マルチキャスト IP データグラムは, 通常のユニキャストデータグラムと同じ "Receive IP" 操作を使用して上位層プロトコルモジュールによって受信されます。宛先上位層プロトコルの選択は, 宛先 IP アドレスに関係なく, IP ヘッダーのプロトコルフィールドに基づいて行われます。ただし, 特定のグループ宛のデータグラムを受信する前に, 上位層プロトコルは IP モジュールにそのグループへの参加を要求する必要があります。したがって, IP サービスインターフェースは2つの新しい操作を提供するように拡張する必要があります:

JoinHostGroup  ( group-address, interface )

LeaveHostGroup ( group-address, interface )

JoinHostGroup 操作は, このホストが指定されたネットワークインターフェース上で group-address によって識別されるホストグループのメンバーになることを要求します。LeaveHostGroup 操作は, このホストが指定されたネットワークインターフェース上で group-address によって識別されるホストグループのメンバーシップを放棄することを要求します。1つのインターフェースのみをサポートするホストでは interface 引数を省略できます。複数のネットワークに接続される可能性のあるホストの場合, 上位層プロトコルはインターフェースを未指定のままにすることを選択でき, その場合, 要求はマルチキャストデータグラムを送信するためのデフォルトインターフェースに適用されます (セクション 6.1 を参照)。

複数のインターフェースで同じグループに参加することは許可されており, その場合, 重複したマルチキャストデータグラムを受信する可能性があります。複数の上位層プロトコルが同じグループのメンバーシップを要求することも許可されています。

両方の操作はすぐに (つまり, 非ブロッキング操作で) 戻り, 成功または失敗を示すべきです。無効なグループアドレスまたはインターフェース識別子により, いずれかの操作が失敗する可能性があります。JoinHostGroup はローカルリソースの不足により失敗する可能性があります。LeaveHostGroup は, ホストが指定されたインターフェース上の指定されたグループに属していないために失敗する可能性があります。複数の上位層プロトコルが同じグループのメンバーシップを要求した場合, LeaveHostGroup は成功する可能性がありますが, メンバーシップは持続します。