
SNMPによるATMスイッチのコントロール及びモニタリングの実例として, ForeのATMスイッチのためのコントロールライブラリswctlと,それを用いた モニタSWviewを紹介し,可能性と問題点を述べる.
目次
1. ATM スイッチに対する要求
2. Fore ATM スイッチの制御インタフェース
→インタフェースが固定されていて動作も遅く、 大量のPVC設立や解放には向かない。
→キャラクタベースでモニタリングにも使いづらい。
MIB 構造 ( 一部抜粋 )
( )...Object ID
[ ]...rw = readable/writable, ro = read only
enterprise(.1.3.6.1.4.1)
|
+fore(326)
|
+systems(2)
|
+atmSwitch(2)
|
+software(2)
|
+asxd(1)
| |
| +switchGroup(1)
| +portGroup(2)
| +pathGroup(3)
| +channelGroup(4)*
| +topologyGroup(5)
| +signalingGroup(6)
| +swBoardGroup(7)
| +swBoardTopologyGroup(8)
| +nsapGroup(9)
| +upcContractGroup(10)**
|
+snmp(2)
|
+trapConfGroup(1)
+snmpConfGroup(2)
+snmpAgentAddressGroup(5)
VCCテーブル関連のMIBオブジェクト
*channelGroup(.1.3.6.1.4.1.326.2.2.2.1.4)
|
+channelTable(1)[na]
| |
| +channelEntry(1)[na]
| |
| +chanPort(1)[ro]
| +chanVPI(2)[ro]
| +chanVCI(3)[ro]
| +chanStatus(4)[rw]
| +chanNumOutputs(5)[ro]
| +chanAllocBandwidth(6)[rw]
| +chanUsedBandwidth(7)[ro]
| +chanCells(8)[ro]
| +chanUptime(9)[ro]
| +chanSigProtocol(10)[ro]
| +chanRejectedCells(11)[ro]
| +chanCDV(12)[rw]
| +chanPolicingAction(13)[rw]
| +chanUpcContract(14)[rw]
|
+channelRouteTable(2)[na]
|
+channelRouteEntry(1)[na]
|
+chanrInputPort(1)[ro]
+chanrInputVPI(2)[ro]
+chanrInputVCI(3)[ro]
+chanrOutputPort(4)[ro]
+chanrOutputVPI(5)[ro]
+chanrOutputVCI(6)[ro]
+chanrStatus(7)[rw]
+chanrSigProtocol(8)[rw]
UPCテーブル関連のMIBオブジェクト
**upcContractGroup(.1.3.6.1.4.1.326.2.2.2.1.10)
|
+upcContractTable(1)
|
+upcContractEntry(1)
|
+upcContractKey(1)[ro]
+upcContractEntryStatus(2)[rw]
+upcContractPCR01(3)[rw]
+upcContractSCR01(4)[rw]
+upcContractMBS01(5)[rw]
+upcContractPCR0(6)[rw]
+upcContractSCR0(7)[rw]
+upcContractMBS0(8)[rw]
+upcContractCDVT(9)[rw]
+upcContractTagReq(10)[rw]
+upcContractAal5Epd(11)[rw]
+upcContractName(12)[rw]
Object ID:chanrStatus
.1.3.6.1.4.1.326.2.2.2.1.4.2.1.7.x.y.z.l.m.n
x: in port
y: in VPI
z: in VCI
l: out port
m: out VPI
n: out VCI
Port: A1=0 A2=1 A3=2 A4=3
B1=8 B2=9 B3=10 B4=11
C1=16 C2=17 C3=18 C4=19
D1=24 D2=25 D3=26 D4=27
CTL=56
Object ID:chanUpcContract .1.3.6.1.4.1.326.2.2.2.1.4.1.1.14.x.y.z x: in port y: in VPI z: in VCI
Object ID:upcContractEntryStatus .1.3.6.1.4.1.326.2.2.2.1.10.1.1.2.x x:upc index
→1つのPVCの設立に複数のObjectに対して値を設定する必要
3. ATM スイッチコントロールライブラリ swctl について
swctl_open()
swctl_close()
swctl_add()- 新たにPVCを設立する
swctl_delete()- 既存のPVCを解放する
swctl_modify()- 既存のPVCのUPCを変更する
swctl_redirect()- 既存のPVCのoutputを変更する(delete&add)
swctl_stat()- 現在ATM Switchに設立されているPVC及びUPCの情報を得る
swctl_mon()- あるPVCのトラフィック統計情報(今までに転送されたcell数)を得る
4. SWview について


<ボタン>
[PVC設定ウィンドウ]

<ボタン>
swctl ライブラリで指定したトラップホスト上で動作させていれば、
他のプログラムからswctlライブラリの関数を呼び出したときに、
swctl_add(), swctl_delete(), swctl_modify(), swctl_redirect()
などを呼び出したときに、自動的に情報更新が行われる
5. 今後の課題
現在はライブラリmake時に埋め込み → swctl_open()で指定する
...どのレベルのセキュリティが求められるのか?
ライブラリ独自のtrap message(UDPパケット) → SNMPのtrap messageを拾う
1回の関数呼び出しで1つのVC操作 → 1回の関数呼び出しで複数のVC操作
現在 UPC なしで設立が30ms/VC (UPCなし),39ms/VC (UPCあり),解放が
19ms/VC程度