What is SCTPfx?

[lang_en-us]SCTP (Stream Control Transmission Protocol) is a successor of TCP. One of the features of SCTP is support of multihoming. Figure 1 shows two hosts that have two interfaces. An association is established between the nodes and the association contains two paths. One of the paths is used as the primary for data communication and another is reserved as the secondary.[/lang_en-us][lang_jp]SCTP (Stream Control Transmission Protocol)は,TCPの後継である.SCTPの特徴のひとつは,マルチホーミングのサポートである.Figure 1はそれぞれが2つのインタフェースを持つ2つのホストを示している.いま1つのassociationが確立され,そのassociationは2つのpathを持っている.2つのpathのうち一方はデータ通信のためにprimaryとして使用され,他方はsecondaryとして予約される.[/lang_jp]

[lang_en-us]If the primary crashes, the secondary is engaged as the primary. This procedure is called failover. However, failover takes more than 30 seconds according to the specification because SCTP detects path failure by timeout.[/lang_en-us][lang_jp]primaryが壊れた場合,secondaryが新たなprimaryとして使用される.この手続きはfailoverと呼ばれる.しかし,SCTPはタイムアウトによってpath failureを検知するため,failoverには30秒以上もの時間を要する.[/lang_jp]

[lang_en-us]SCTPfx achieves fast failover in SCTP by employing collaboration among the link layer, the network layer, and the transport layer.[/lang_en-us][lang_jp]SCTPfxは,リンク層,ネットワーク層,トランスポート層を連携させることにより,SCTPにおける迅速なfailoverを達成する.[/lang_jp]

What is SCTPmx?

[lang_en-us]Mutihoming in SCTP can also support mobility. In Figure 2,[/lang_en-us][lang_jp]SCTPにおけるマルチホーミングはモビリティもサポートする.Figure 2は,以下の様子を示している.[/lang_jp]

  1. the mobile node (MN) in a wireless cell establishes an association to the correspondent node (CN) by using Addr-A. MN moves and enters the coverage area of another wireless cell.
  2. MN generates another address, Addr-B, and notifies CN of this new address. At this point, Addr-A is used as the primary and Addr-B is reserved as the secondary.
  3. As MN moves furthermore, MN switches the primary from Addr-A to Addr-B.
  4. When MN leaves the coverage area of the previous wireless cell, MN deletes Addr-A and notifies CN of this event. Thus, the association is preserved even if the primary address changes.


  1. ワイヤレスセルにあるMobile Node (MN)がAddr-Aを使用してCorrespondent Node (CN)とassociationを確立している.MNが移動し,他のワイヤレスセルの範囲に入った.
  2. MNは新たなアドレスAddr-Bを生成し,CNにこの新たなアドレスを知らせる.この時点では,Addr-Aはprimaryとして使用され,Addr-Bはsecondaryとして予約されている.
  3. MNがさらに移動すると,MNはprimaryをAddr-AからAddr-Bに切り替える.
  4. MNが元のワイヤレスセルの範囲から出たとき,MNはAddr-Aを削除し,このことをCNに知らせる.このように,primaryアドレスが変わってもassociationは維持される.

[lang_en-us]There are several researches for mobility support in SCTP. However, the handover time of mSCTP is more than 30 seconds and that of SmSCTP is more than 1 seconds. SCTPmx achieves fast handover by collaboration among the link layer, the network layer, and the transport layer. The handover time of SCTPmx is 0.1 second.[/lang_en-us][lang_jp]SCTPにおけるモビリティサポートの研究はいくつかある.しかしながら,mSCTPのハンドオーバにかかる時間は30秒以上,SmSCTPのハンドオーバにかかる時間は1秒以上である.SCTPmxは,リンク層,ネットワーク層,トランスポート層の連携によって迅速なハンドオーバを達成する.SCTPmxのハンドオーバにかかる時間は,0.1秒である.[/lang_jp]

L3 Primitives

[lang_en-us]For SCTPfx and SCTPmx, we defined nine L3 primitives as shown in Table 1 in addition to the nine L2 primitives.[/lang_en-us][lang_jp]SCTPfxとSCTPmxのため,我々は9つのL2 primitiveに加え,Table 1に示す9つのL3 primitiveを定義した.[/lang_jp]


Failover Procedure in SCTPfx



[lang_en-us]There are mainly three scenarios in failover as follows. In case (a), a failure occurs in the network layer while a failure occurs in the link in cases (b) and (c).[/lang_en-us][lang_jp]failoverには主に3つのシナリオがある.ネットワーク層でfailureが発生する(a)の場合と,リンク層でfailureが発生する(b), (c)の場合である.[/lang_jp]

(a) A failure occurs in the Internet core and an ICMP unreach message arrives at the network layer of Host-A (Fig.3-(1-a)).

(b) L2-1 is a wired network interface such as Ethernet and the cable is disconnected due to some physical error, e.g., the Ethernet cable is unplugged by accident (Fig. 3-(1-b)).

(c) L2-1 is a wireless interface such as WiFi and the signal strength is going down below the threshold, e.g., the Host-A is moving and leaving the coverage area of an access point (Fig. 3-(1-c)).


(a) インターネットのコアでfailureが発生し,ICMP unread messageがHost-Aに到達した場合 (Fig. 3-(1-a)).

(b) イーサネットのような有線接続で,例えばケーブルが外れるなどの物理的エラーが発生した場合 (Fig. 3-(1-b)).

(c) WiFiのような無線接続で,例えばHost-Aがアクセスポイントの有効範囲から離れるなどして,信号強度がスレッショルドを下回った場合 (Fig. 3-(1-c)).

[lang_en-us]The failover procedure of SCTPfx consists of three phases: the detection phase, the selection phase, and the switching phase. In the detection phase, SCTPfx detects primary path failure. In Figure 3, the detection phase in case (a) is composed of (3-a) while that in cases (b) and (c) is composed of (1-b) or (1-c) to (3-b) or (3-c). In all cases, the selection phase is composed of (4) to (6) and the switching phase is composed of (7).[/lang_en-us][lang_jp]SCTPfxのfailover手続きは,検知 (detection)フェーズ,選択 (selection)フェーズ,切替 (switching)フェーズの3つのフェーズに分けられる.検知フェーズではSCTPfxはprimary path failureを検知する.Figure 3では,(a)の場合の検知フェーズは(3-a),(b)の場合の検知フェーズは(1-b)から(3-b),(c)の場合の検知フェーズは(1-c)から(3-c)である.すべての場合において,選択フェーズは(4)から(6)であり,切替フェーズは(7)である.[/lang_jp]


Handover Procedure in SCTPmx




[lang_en-us]Figure 4 shows the handover procedure in mSCTP, existing proposal of mobility support in SCTP. As the figure shows, the handover time is more than 30 seconds because it relies on timeout to detect the link down.[/lang_en-us][lang_jp]mSCTPでのハンドオーバ手続きをFigure 4に示す.mSCTPはSCTPにおけるモビリティをサポートする.図に示すように,リンクダウンの検知がタイムアウトに依存しているため,ハンドオーバには30秒以上かかる.[/lang_jp]

[lang_en-us]Figure 5 shows the handover procedure in SCTPmx. During the data communication, L2 executes channel scan to find the access point for handover.[/lang_en-us][lang_jp]Figure 5はSCTPmxにおけるハンドオーバ手続きを表している.データ通信の間,ハンドオーバ先の新たなアクセスポイントを見つけるため,L2はチャンネルスキャンを行う.[/lang_jp]

  1. When the link quality is getting worse beyond the threshold, L2-LinkStatusChanged.ind is delivered to L3.
  2. L3 issues L2-PoAList.req and receives L-PoAList.conf to find the candidate access point for handover. L3 generates a new IPv6 address and execute the pre-DAD procedure.
  3. L3 delivers L3-AddrAdded.ind to L4 (SCTP). L4 of Host-A sends the ADD-IP control packet to L4 of Host-B.
  4. L4 returns L4-AddrAdded.res as the ack of L4-AddrAdded.ind.
  5. L3 issues L3-LinkConnect.req to L2 to make L2 start L2 handover.
  6. L2 delivers L2-LinkUp.ind to L3 when L2 handover finishes.
  7. L3 delivers L3-ReachabilityUp.ind to L4.


  1. リンク品質がスレッショルドを下回ったとき,L2-LinkStatusChanged.indがL3に送信される.
  2. ハンドオーバ先のアクセスポイントの候補を見つけるため,L3はL2-PoAList.reqを送信し,L2-PoAList.confを受信する.L3は新たなIPv6アドレスを生成し,pre-DAD (pre-Duplicate Address Detection)の手続きを行う.
  3. L3はL3-AddrAdded.indをL4 (SCTP)に送信する.Host-AのL4はADD-IP control packetをHost-BのL4に送信する.
  4. L4はL4-AddrAdded.resをL4-AddrAdded.indに対するACKとして送信する.
  5. L3はL3-LinkConnect.reqをL2に送信し,L2ハンドオーバを開始させる.
  6. L2ハンドオーバが完了するとL2はL2-LinkUp.indをL3に送信する.
  7. L3はL3-ReachabilityUp.indをL4に送信する.


Posted In: