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 は成功する可能性がありますが, メンバーシップは持続します。