第 4 章 ネットワークとエンドホストの連携による遅延の増大への対応 47
4.2 FR-TCP の提案
4.2.2 FR の通知機構
送信側ホストにおいてFRを意識した制御を行うためには,契約帯域量と集約コネク ション数より計算可能なFRを送信側ホストへ通知する必要がある.FR-TCPではこれを 実現するため,エッジルータにて各TCPコネクションのパケットヘッダにFRを記述す ることによって通知する方法を提案する.
ここで,FRの算出およびエッジルータへの通知方法は,3章で提案した方法と同じ方 法を使用する(3.2.3節).
4.2.2.1 FR フィールド
パケットヘッダにFRを記述するために,TCPヘッダ,IPヘッダ(IPv4) のオプション フィールドにそれぞれTCP FRオプションフィールドとIP FRオプションフィールドを 定義する.図4.1,図4.2にそれぞれのヘッダ形式を示す.
TCP FRオプションの構成は以下の通りである.
Kind : 8 bits : オプションの種類を記述
Length = 4 : 8 bits : オプションの全体長 (4オクテット)を記述 FR (Fair Rate) : 16 bits : FRの値を記述 (単位はbit/s)
IP (IPv4) FRオプションの構成は以下の通りである.
Type : 8 bits : オプションの種類を記述
Length = 4 : 8 bits : オプションの全体長 (4オクテット)を記述 FR (Fair Rate) : 16 bits : FRの値を記述 (単位はbit/s)
TCP Header + Data (variable) Fair Rate
16 bits Length
8 bits Type
8 bits
IPv4 header (20 bytes)
TCP Header + Data (variable) Fair Rate
16 bits Length
8 bits Type
8 bits
IPv4 header (20 bytes)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 19 0 1 2 3 4 5 2 7 8 9 0 1 2 3 35 6 7 8 9 0 1
図 4.2: IP (IPv4) FRオプションヘッダ形式
各FRオプションの内,FRを記述するフィールドは2オクテット長とし,FRは二進浮 動少数形式で表される.これは,ATM ABR転送方式[45, 46]を参考にしており,RMセ ル中のACRを記述するフィールドと同様の記述方法を採用した.
またIPv6を利用する場合,IP FRオプションはホップバイホップオプションヘッダを 利用する.図4.3にヘッダ形式を示す.
IP (IPv6) FRオプションの構成は以下の通りである∗. Next Header : 8 bits : 次のヘッダの種類を記述
Extention Length : 8 bits : ホップバイホップオプションの全体長を記述 Type : 8 bits : オプションタイプの識別子を記述
Length = 4 : 8 bits : オプションデータフィールド長(4 octets) を記述 FR (Fair Rate) : 16 bits : FRの値を記述 (単位はbit/s)
Padding : 16 bits : パディングオプション
このようにパケットのヘッダにFRオプションを定義してFR を記述することで,デー タとは独立してFRを伝達する場合と比べて伝達の際のオーバヘッドが抑えることができ ると考えられる.
4.2.2.2 FRの通知手順
ポリシーサーバは,契約帯域を管理しており,契約ホストはTCPコネクションの開始,
終了をポリシーサーバに通知する.ポリシーサーバは,契約ホストから通知されるFRに
∗TLV符号化オプションを利用
Length 8 bits Type
8 bits Extention Len
8 bits Next Header
8 bits
TCP Header + Data (variable) Padding
16 bits Fair Rate
16 bits
IPv6 header (40 bytes)
Length 8 bits Type
8 bits Extention Len
8 bits Next Header
8 bits
TCP Header + Data (variable) Padding
16 bits Fair Rate
16 bits
IPv6 header (40 bytes)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 19 0 1 2 3 4 5 2 7 8 9 0 1 2 3 35 6 7 8 9 0 1
図 4.3: IP (IPv6) FRオプションヘッダ形式
変更があった場合は,そのFRをエッジルータに通知する.FR-TCPでは,全てのパケッ トに前節で定義したFRオプションフィールドを設け,以下の手順で送信側ホストへFR を通知する.
(手順 1) : 各TCPコネクションは,パケットのTCPヘッダー,IPヘッダーにFRフィー ルドオプションを適用し,データ転送を継続する.
(手順 2) : 各Diffservドメインの入口のエッジルータにてルータはIP FRフィールドを 参照し,記入値が0の場合は計算したFRを記述する.また0以外の値が記入され ていた場合,計算値と記入値を比較して最小値をFRとして記述する.
(手順 3) : IP FRフィールドに値が記述されたパケットが受信側へ到着した場合,受信
側ホストは通知されたFRをACKパケットのTCP FRフィールドにコピーして送 信側ホストへ送信する.
(手順 4) : ACKパケットのTCP FRフィールドを参照することで,FRを送信側に伝え ることが可能になる.
図4.4にFR通知機構を示す.図では集約内の1つのTCPコネクションに注目し,コネ クションが集約内コネクション数の異なる2つのドメインを通過する場合について描かれ ている.この場合,FRは最初に通過するドメインの方が小さくなるため,送信側へは最 初のドメインの入口エッジルータにて計算,記述されたFRが通知される.
TCP, IP両方のヘッダにFRオプションを定義したのは,FR通知機構内でレイヤ・バイ
オレーション†を避けるためである.上で説明してきたようにFRは送信側ホストが利用
†階層型プロトコル内で階層構造を破り,他層の情報を識別,判断材料とすること
ER ER ER ER Destination Source
ネットワークA ネットワークB
契約レート:10Mbit/s 集約内フロー数:10
FR:1 Mbit/s
契約レート:10Mbit/s 集約内フロー数:5
FR:2 Mbit/s
④FR=1Mbit/s
が通知される ①FR=1Mbit/s
を記述 ②FRの変更を
行わず ③通知された
FRをコピー
図 4.4: FRの通知機構
するので,トランスポート層の情報として送信側ホストへ通知される必要がある.しかし ネットワークノードであるルータが参照できるのは基本的にネットワーク層までであり,
トランスポート層の情報は参照しない.そのため,TCP, IPどちらか一方のみにしかFR オプションを定義しない場合,FRを伝達するためにはルータ,もしくは送信側ホストの どちらかにおいてレイヤ・バイオレーションを引き起こしてしまう.
そこで提案方式では,TCPのECN機構[12]において送信側ホストへ輻輳発生信号(ECN) を通知する際の手順を参考に,TCP, IP両方にFRオプションを定義する.ネットワーク 中のルータではFRをIP FRフィールドに記述し,受信側ホストにおいて到着パケットか らFRの値を取り出してACKパケットのTCP FRフィールドへコピーすることで,レイ ヤ・バイオレーションを起こすことなくFRをトランスポート層の情報として送信側ホス トへ伝達する.
ただし,ECNとFRの通知機構を比較した場合,前者はビットをセットするのに対し 後者はフィールドに値を記入するものであるため,FR通知機構の方がその処理により大 きなコストがかかると考えられる.