1 karl 1.1 // ===================================================================
2 // Title: Network NAT
3 // $State: Preliminary $
4 // $Date: 2004/06/28 18:01:03 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Network_NAT.mof,v $
6 // $Revision: 1.3 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 karl 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 karl 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Network Model extends the management concepts to
47 // represent protocol interfaces and network/protocol
48 // services. This file defines classes to manage
49 // NAT (Network Address Translation).
50 //
51 // The object classes below are listed in an order that
52 // avoids forward references. Required objects, defined
53 // by other working groups, are omitted.
54 // ==================================================================
55 // Change Log for v2.9 Preliminary, initial release
56 // ===================================================================
57
58 #pragma Locale ("en_US")
59
60
61 // ==================================================================
62 // NATService
63 // ==================================================================
64 karl 1.1 [Experimental, Version ( "2.8.1000" ), Description (
65 "NATService describes that address translation is being "
66 "performed by the hosting system. NAT stands for Network "
67 "Address Translation and allows an organization's network to "
68 "appear from the outside to use a different address space than "
69 "what it really is using. The specific parameters of the "
70 "translation(s) are defined as NATSettingData, and associated "
71 "with this service using the ElementSettingData relationship.")]
72 class CIM_NATService : CIM_ForwardingService {
73 };
74
75 // ==================================================================
76 // NATSettingData
77 // ==================================================================
78 [Experimental, Abstract, Version ( "2.8.1000" ), Description (
79 "NATSettingData is an abstract class specifying the general "
80 "parameters of an address translation. This data is specific to "
81 "the system on which the NATService is running. The scoping "
82 "system is described using the inherited ScopedSetting "
83 "association.")]
84 class CIM_NATSettingData : CIM_ScopedSettingData {
85 karl 1.1
86 [Description (
87 "Indicates whether the translation is of internal addresses "
88 "for external visibility (TRUE) or external addresses for "
89 "internal use (FALSE).")]
90 boolean IsInside;
91
92 [Description (
93 "Indicates whether the addresses to be translated are based "
94 "on examining source addressing (2), destination addressing "
95 "(3) or both (4). The latter is referred to as 'Policy NAT'."),
96 ValueMap { "2", "3", "4" },
97 Values { "Source", "Destination",
98 "Both Source and Destination" }]
99 uint16 AddressExamined;
100 };
101
102
103 // ==================================================================
104 // NATListBasedSettings
105 // ==================================================================
106 karl 1.1 [Experimental, Version ( "2.8.1000" ), Description (
107 "NATListBasedSettings extends the general NATSettingData class "
108 "to describe that the address translation is dynamically chosen "
109 "from a list, and translated using a pool of possible "
110 "addresses. A parameter indicates whether the addresses "
111 "(translated to) can be reused (aka, overloaded). This is also "
112 "referred to as PAT - port address translation, since the "
113 "overloading relies on TCP and UDP port values to disambiguate "
114 "connections. \n"
115 "\n"
116 "Via a mandatory association to a FilterList, the addresses to "
117 "be translated are described. Via another mandatory "
118 "association, TranslationPoolForNAT, the information regarding "
119 "the resulting/translated addresses are defined.")]
120 class CIM_NATListBasedSettings : CIM_NATSettingData {
121
122 [Description (
123 "Indicates whether the address(es) that are translated to "
124 "(the global, external addresses), may be used by more than "
125 "one local address needing translation. The translation MUST "
126 "be defined as 'inside' (IsInside= TRUE) for this property "
127 karl 1.1 "to be valid."),
128 ModelCorrespondence { "CIM_NATSettingData.IsInside" }]
129 boolean OverloadingPermitted;
130 };
131
132
133 // ==================================================================
134 // NATStaticSettings
135 // ==================================================================
136 [Experimental, Version ( "2.8.1000" ), Description (
137 "NATStaticSettings describes a single static address "
138 "translation - both the local and global sides. It is a "
139 "specialization of NATSettingData.")]
140 class CIM_NATStaticSettings : CIM_NATSettingData {
141
142 [Description (
143 "Specifies the 'inside' address for translation. Whether the "
144 "address is translated 'to' or 'from' is dependent on the "
145 "value of the inherited property, IsInside. If IsInside is "
146 "TRUE, then LocalAddress represents the address of a system "
147 "on the 'inside' network, that is translated to the "
148 karl 1.1 "GlobalAddress for external access. On the other hand, if "
149 "IsInside is FALSE, then LocalAddress represents the address "
150 "of an 'outside' host as it appears to the 'inside' network. "
151 "In this case, the GlobalAddress is translated to the "
152 "LocalAddress for 'inside' network access."),
153 ModelCorrespondence { "CIM_NATSettingData.IsInside" }]
154 string InsideAddress;
155
156 [Description (
157 "Specifies the 'outside' address for translation. Whether "
158 "the address is translated 'to' or 'from' is dependent on "
159 "the value of the inherited property, IsInside. If IsInside "
160 "is TRUE, then GlobalAddress represents the address of an "
161 "'inside' host, as it appears to the outside world. In this "
162 "case, the LocalAddress is translated to the GlobalAddress "
163 "for external access. On the other hand, if IsInside is "
164 "FALSE, then GlobalAddress represents the address of an "
165 "'outside' host as assigned on the outside network, by its "
166 "owner. This address is translated to the LocalAddress for "
167 "access through the 'inside' network."),
168 ModelCorrespondence { "CIM_NATSettingData.IsInside" }]
169 karl 1.1 string OutsideAddress;
170 };
171
172
173 // ==================================================================
174 // TimeoutsForNATTranslation
175 // ==================================================================
176 [Experimental, Version ( "2.8.1000" ), Description (
177 "TimeoutsForNATTranslation describes general setting and "
178 "configuration data for the NAT translation service running on "
179 "a system. The scoping system is described using the inherited "
180 "ScopedSetting association.")]
181 class CIM_TimeoutsForNATTranslation : CIM_ScopedSettingData {
182
183 [Description (
184 "Specifies the idle timeout (as a datetime interval) for "
185 "dynamic translations (ones involving an address pool). The "
186 "default value is 86400 seconds.")]
187 datetime TranslationTimeout = "00000000000000.086400:000";
188
189 [Description (
190 karl 1.1 "Specifies the idle timeout (as a datetime interval) that "
191 "applies to port address translations over a UDP Port. The "
192 "default value is 300 seconds.")]
193 datetime UDPTimeout = "00000000000000.000300:000";
194
195 [Description (
196 "Specifies the idle timeout (as a datetime interval) that "
197 "applies to port address translations over a TCP Port. The "
198 "default value is 86400 seconds.")]
199 datetime TCPTimeout = "00000000000000.086400:000";
200 };
201
202
203 // ==================================================================
204 // AddressesToBeTranslated
205 // ==================================================================
206 [Association, Experimental, Version ( "2.8.1000" ), Description (
207 "AddressesToBeTranslated defines the specific addresses to be "
208 "translated for an instance of NATListBasedSettings. The "
209 "addresses are defined by a FilterList. Packets that satisfy "
210 "the FilterEntries aggregated into the FilterList are "
211 karl 1.1 "translated.")]
212 class CIM_AddressesToBeTranslated : CIM_Dependency {
213
214 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
215 "The list defining the addresses to be translated.")]
216 CIM_FilterList REF Antecedent;
217
218 [Override ( "Dependent" ), Description (
219 "The specific translation that uses the FilterList.")]
220 CIM_NATListBasedSettings REF Dependent;
221 };
222
223
224 // ==================================================================
225 // TranslationPoolForNAT
226 // ==================================================================
227 [Association, Experimental, Version ( "2.8.1000" ), Description (
228 "TranslationPoolForNAT associates a pool/range of addresses "
229 "available as the result of a translation, with the specific "
230 "translation that uses this pool.")]
231 class CIM_TranslationPoolForNAT : CIM_Dependency {
232 karl 1.1
233 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
234 "The pool/range of addresses available for translation.")]
235 CIM_RangeOfIPAddresses REF Antecedent;
236
237 [Override ( "Dependent" ), Description (
238 "The specific translation that uses the pool of addresses.")]
239 CIM_NATListBasedSettings REF Dependent;
240 };
241
242
243 // ==================================================================
244 // NATServiceRunningOnEndpoint
245 // ==================================================================
246 [Association, Experimental, Version ( "2.8.1000" ), Description (
247 "NATServiceRunningOnEndpoint indicates that a NAT service is "
248 "translating addresses for packets communicated through the "
249 "referenced protocol endpoint/ interface.")]
250 class CIM_NATServiceRunningOnEndpoint : CIM_ForwardsAmong {
251
252 [Override ( "Antecedent" ), Description (
253 karl 1.1 "The endpoint/interface whose traffic is translated.")]
254 CIM_ProtocolEndpoint REF Antecedent;
255
256 [Override ( "Dependent" ), Description (
257 "The NAT service that performs the translation.")]
258 CIM_NATService REF Dependent;
259
260 [Description (
261 "Indicates whether the endpoint is connected to the "
262 "'inside'/local network (2), is in the external world (3) or "
263 "is in neither. The latter applies to firewall NATing where "
264 "a DMZ exists - neither inside or outside, but bridging the "
265 "two."),
266 ValueMap { "2", "3", "4" },
267 Values { "Connected to Inside Network",
268 "Connected to Outside Network", "Connected to DMZ" }]
269 uint16 ConnectedNetwork;
270 };
271
272
273 // ===================================================================
274 karl 1.1 // end of file
275 // ===================================================================
276
|