1

iPhone ベースの Audio over IP アプリがあり、現在、TOS レベルを設定して、これが 802.11 Qos Control フィールドにどのように反映されるかを確認しています。

これは単純に setsockopt 呼び出しを行っています。

    int tos = 0xB8; // VOICE
    status = setsockopt(socketFD, IPPROTO_IP, IP_TOS, &tos, sizeof(tos));

    if (status == -1)
    {
        if (errPtr)
            *errPtr = [self errnoErrorWithReason:@"Error setting TOS (setsockopt)"];
    }

理論的には、これにより WLAN リンクですべてのパケットが VOICE としてタグ付けされますが、TID は 5 になり、ビデオを示します (少なくとも Wireshark によると)。

これは iPhone からワイヤレス AP へのトラフィックであるため、WAP 内でマッピングを行うことはできません。

0xC8 の TOS を設定することができました。これにより VOICE 分類が行われますが、C8 の TOS 値が IP ヘッダーで終了すると、ネットワークの残りの部分が混乱するようです。

iPhone からのパケットで、802.11 経由で VOICE を取得するために使用する値を知っている人はいますか?

4

1 に答える 1

3

2 つの異なる値を見ています。1 つはレイヤー 1 の値で、もう 1 つはレイヤー 2 の値です。この 2 つの間に直接的な対応はありません。何らかのマッピングを提供する必要があります。

あなたの場合、このマッピングはアクセス ポイント (または軽量アクセス ポイントが使用されている場合はワイヤレス LAN コントローラー) および元のデバイスのネットワーク スタックによって実行される必要があるため、このマッピングを直接制御することはできません。

ネットワーク リンク層ではなく、IP 層で操作しているため、できることは適切な DSCP を (TOS 値を介して) 設定し、下位層が正しいことを行うことを信頼することだけです。

DSCP 46 (EF) (TOS 値 0xB8) は、音声トラフィックに最も適しています。iOS スタックはこれを 802.11e UP 5 に入れているようです。6 を好むかもしれませんが、これを制御することはできません。他の機器は物事を異なる方法でマッピングします。たとえば、Cisco AP は EF を UP 6 にマッピングします。

重要なことは、DSCP EF を指定することで、このトラフィックをどのように処理するかについて、すべてのネットワーク要素にエンドツーエンドで最適な指示を与えることです。

いずれにせよ、元のワイヤレス デバイスからの QoS は合理的に役に立ちません 。通常、デバイス内の WiFi は混雑しないため、QoS は必要なく、ネットワーク上で送信している他のデバイスを制御することはできません。WiFi は共有アクセス メディアです。

アクセス ポイントの QoS は、ワイヤレス リンク全体が輻輳している可能性があり、AP が QoS を使用して、入力キューから次に送信するパケットを決定できるため、利点があります。

于 2015-05-11T20:46:18.900 に答える