$Id: memo-kame-ipsec-sadb.txt,v 1.1.1.1 1999/10/26 17:19:17 sakane Exp $ %Hd: KAME IPsec SADB SA のステータス SADB_SATYPE_LARVAL SPIが割り当てられた状態。 鍵やproxyアドレスはまだない。 SADB_SATYPE_MATURE SA として使える状態。 SADB_SATYPE_DYING soft 有効期限が過ぎた状態。 まだ使える。 SADB_ACQUIRE をあげる。 -> HARD 有効期限まであげ続ける? SADB_SATYPE_DEAD hard 有効期限が過ぎた状態。 しばらくすると消え去る。 検索のカテゴリ any alive valid x x SADB_SATYPE_LARVAL x x x SADB_SATYPE_MATURE x x x SADB_SATYPE_DYING x SADB_SATYPE_DEAD MATUREの条件 lifetime == 0 は無視 SADB_GETSPI 登録されるSAは常に INBOUND。 ※BI-DIRECTION はありえるか? -> debug で必要? -> spirange が無い時は system default 値を使う。 net.key.spi_{min,max}val SPI 割り当ての試行回数も system 値。 net.key.spi_trycnt sequence 無しで降ってきたら割り当てて返す。 SADB_UPDATE 常に INBOUND-SA が対象。 ※BI-DIRECTION はありえるか? -> SADB_DELETE src,dst,spi で alive な SADB を検索。 SADB_GET src,dst,spi で alive な SADB を検索。 SADB_ACQUIRE 対象のSAは常にOUTBOUND ※BI-DIRECTION はありえるか? -> する時は SA を予約するか? -> 現行KAMEでは SA を予約していたが、やめる。 -> SP にフラグ持たせる。 -> と思ったけど、カーネルはあげっぱなしにするか? SADB_EXPIRE SOFTから、新しいSAが出来るまたはHARDまで EXPIRE をあげ続けるか? 今は一発のみ。 SADB_ADD OUTBOUND の SA の SPI の重複チェックはどうする? -> とりあえずやんない。 -> INBOUND も DEAD なら重複チェック対象外とする。 登録される SAの識別子とSAの方向 - SAの方向を決定するのは Source/Destination/Proxyアドレスの3つ - アドレスが取り得る値は my address 自インターフェイスに付いている my subnet my address を除く。ただしSAを 割り当てる時は my address も含む NOTE: Proxy には設定されない。 other my address, my subnet 以外 none 無し 取り得る方向 outbound inbound bi-direction NOTE: 実は (src,dst)=(other,other) 以外は src と dst だけで方向が決まる。 sort by addresses. SA Source SA Destination Proxy Direction Comment ------ ----------- ----- --------- ------- my address my address bi-direction i.e. loopback my address my address my address bi-direction i.e. loopback my address my address other N/A my address my subnet bi-direction or outbound ? my address my subnet my address bi-direction or outbound ? my address my subnet other N/A 何かに使える? my address other outbound my address other my address N/A my address other other outbound my subnet my address inbound my subnet my address my address inbound or bi-direction my subnet my address other N/A my subnet my subnet bi-direction my subnet my subnet my address N/A bi-direciton ? my subnet my subnet other N/A 何かに使える? my subnet other outbound my subnet other my address N/A my subnet other other outbound other my address inbound other my address my address inbound other my address other N/A other my subnet inbound other my subnet my address inbound other my subnet other N/A 何かに使える? other other N/A SGW Trans. mode other other my address inbound other other other outbound sort by direction. SA Source SA Destination Proxy Direction Comment ------ ----------- ----- --------- ------- my subnet my address inbound other my address inbound other my subnet inbound my subnet my address my address inbound or bi-direction other my address my address inbound other my subnet my address inbound other other my address inbound my address other outbound my subnet other outbound my address other other outbound my subnet other other outbound other other other outbound my address my address bi-direction i.e. loopback my address my subnet bi-direction or outbound ? my subnet my subnet bi-direction my address my address my address bi-direction i.e. loopback my address my subnet my address bi-direction or outbound ? other other N/A ? SGW Trans. mode my subnet my subnet my address N/A bi-direciton ? my address other my address N/A my subnet other my address N/A my address my address other N/A my address my subnet other N/A 何かに使える? my subnet my address other N/A my subnet my subnet other N/A 何かに使える? other my address other N/A other my subnet other N/A 何かに使える? PF_KEY Do network byte order !! -> No! host byte order except SPI (RFC 2367) -> Oh! in_addr is network byte order. ATTENTION ! port is host byte order.