idnits 2.17.1 draft-ietf-tsvwg-sctp-udp-encaps-12.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 11, 2013) is 4061 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'IESG' is mentioned on line 383, but not defined ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) ** Obsolete normative reference: RFC 4960 (Obsoleted by RFC 9260) -- Obsolete informational reference (is this intentional?): RFC 5405 (Obsoleted by RFC 8085) == Outdated reference: A later version (-09) exists of draft-ietf-behave-sctpnat-08 == Outdated reference: A later version (-23) exists of draft-ietf-tsvwg-natsupp-05 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Tuexen 3 Internet-Draft Muenster Univ. of Appl. Sciences 4 Intended status: Standards Track R. R. Stewart 5 Expires: September 12, 2013 Adara Networks 6 March 11, 2013 8 UDP Encapsulation of SCTP Packets for End-Host to End-Host Communication 9 draft-ietf-tsvwg-sctp-udp-encaps-12.txt 11 Abstract 13 This document describes a simple method of encapsulating SCTP Packets 14 into UDP packets and its limitations. This allows the usage of SCTP 15 in networks with legacy NAT not supporting SCTP. It can also be used 16 to implement SCTP on hosts without directly accessing the IP-layer, 17 for example implementing it as part of the application without 18 requiring special privileges. 20 Please note that this document only describes the functionality 21 required within an SCTP stack to add on UDP encapsulation, providing 22 only those mechanisms for two end-hosts to communicate with each 23 other over UDP ports. In particular, it does not provide mechanisms 24 to determine whether UDP encapsulation is being used by the peer, nor 25 the mechanisms for determining which remote UDP port number can be 26 used. These functions are are out of scope for this document. 28 This document covers only end-hosts and not tunneling (egress or 29 ingress) end-points. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on September 12, 2013. 48 Copyright Notice 50 Copyright (c) 2013 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 67 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 68 3.1. Portable SCTP Implementations . . . . . . . . . . . . . . 3 69 3.2. Legacy NAT Traversal . . . . . . . . . . . . . . . . . . 4 70 4. Unilateral Self-Address Fixing (UNSAF) Considerations . . . . 4 71 5. SCTP over UDP . . . . . . . . . . . . . . . . . . . . . . . . 4 72 5.1. Architectural Considerations . . . . . . . . . . . . . . 4 73 5.2. Packet Format . . . . . . . . . . . . . . . . . . . . . . 5 74 5.3. Encapsulation Procedure . . . . . . . . . . . . . . . . . 6 75 5.4. Decapsulation Procedure . . . . . . . . . . . . . . . . . 6 76 5.5. ICMP Considerations . . . . . . . . . . . . . . . . . . . 7 77 5.6. Path MTU Considerations . . . . . . . . . . . . . . . . . 7 78 5.7. Handling of Embedded IP-addresses . . . . . . . . . . . . 7 79 5.8. ECN Considerations . . . . . . . . . . . . . . . . . . . 8 80 6. Socket API Considerations . . . . . . . . . . . . . . . . . . 8 81 6.1. Get or Set the Remote UDP Encapsulation Port Number 82 (SCTP_REMOTE_UDP_ENCAPS_PORT) . . . . . . . . . . . . . . 8 83 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 84 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 85 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9 86 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 87 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 88 10.2. Informative References . . . . . . . . . . . . . . . . . 10 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 91 1. Introduction 93 This document describes a simple method of encapsulating SCTP packets 94 into UDP packets. SCTP as defined in [RFC4960] runs directly over 95 IPv4 or IPv6. There are two main reasons for encapsulating SCTP 96 packets: 98 o Allow SCTP traffic to pass through legacy NATs, which do not 99 provide native SCTP support as specified in 100 [I-D.ietf-behave-sctpnat] and [I-D.ietf-tsvwg-natsupp]. 102 o Allow SCTP to be implemented on hosts which do not provide direct 103 access to the IP-layer. In particular, applications can use their 104 own SCTP implementation if the operating system does not provide 105 one. 107 SCTP provides the necessary congestion control and reliability 108 service that UDP does not perform. 110 2. Conventions 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 114 document are to be interpreted as described in [RFC2119]. 116 3. Use Cases 118 This section discusses two important use cases for encapsulating SCTP 119 into UDP. 121 3.1. Portable SCTP Implementations 123 Some operating systems support SCTP natively. For other operating 124 systems implementations are available, but require special privileges 125 to install and/or use them. In some cases no kernel implementation 126 might be available at all. When providing an SCTP implementation as 127 part of a user process, most operating systems require special 128 privileges to access the IP layer directly. 130 Using UDP encapsulation makes it possible to provide an SCTP 131 implementation as part of a user process which does not require any 132 special privileges. 134 A crucial point for implementing SCTP in user space is that the 135 source address of outgoing packets needs to be controlled. This is 136 not an issue if the SCTP stack can use all addresses configured at 137 the IP-layer as source addresses. However, it is an issue when also 138 using the address management required for NAT traversal, described in 139 Section 5.7. 141 3.2. Legacy NAT Traversal 143 Using UDP encapsulation allows SCTP communication when traversing 144 legacy NATs (i.e those NATs not supporting SCTP as described in 145 [I-D.ietf-behave-sctpnat] and [I-D.ietf-tsvwg-natsupp]). For single- 146 homed associations IP addresses MUST NOT be listed in the INIT and 147 INIT-ACK chunks. To use multiple addresses, the dynamic address 148 reconfiguration extension described in [RFC5061] MUST be used only 149 with wildcard addresses in the ASCONF chunks in combination with 150 [RFC4895]. 152 For multi-homed SCTP association the address management as described 153 in Section 5.7 MUST be performed. 155 SCTP sends periodic HEARTBEAT chunks on all idle paths. These can 156 keep the NAT state alive. 158 4. Unilateral Self-Address Fixing (UNSAF) Considerations 160 As [RFC3424] requires a limited scope, this document only covers SCTP 161 end-points dealing with legacy constraints as described in Section 3. 162 It doesn't cover generic tunneling end-points. 164 Obviously, the exit strategy is to use hosts supporting SCTP natively 165 and middleboxes supporting SCTP as specified in 166 [I-D.ietf-behave-sctpnat] and [I-D.ietf-tsvwg-natsupp]). 168 5. SCTP over UDP 170 5.1. Architectural Considerations 172 Each SCTP stack uses a single local UDP encapsulation port number as 173 the destination port for all its incoming SCTP packets. 175 If there is only a single SCTP implementation on a host (for example, 176 a kernel implementation being part of the operating system), using a 177 single local UDP encapsulation port number per host can be 178 advantageous (e.g., this reduces the number of mappings in firewalls 179 and NATs, among other things). Using a single local UDP 180 encapsulation port number per host is not possible if the SCTP stack 181 is implemented as part of each application, there are multiple 182 applications, and some of the applications want to use the same IP- 183 address. 185 An SCTP implementation supporting UDP encapsulation MUST store a 186 remote UDP encapsulation port number per destination address for each 187 SCTP association. 189 UDP encapsulated SCTP is communicated over the IANA-assigned UDP port 190 number 9899 (sctp-tunneling). However, implementations SHOULD allow 191 other port numbers to be specified as a local or remote UDP 192 encapsulation port number through APIs, as applications may have the 193 need to communicate over different port numbers. 195 5.2. Packet Format 197 To encapsulate an SCTP packet, a UDP header as defined in [RFC0768] 198 is inserted between the IP header as defined in [RFC0791] and the 199 SCTP common header as defined in [RFC4960]. 201 Figure 1 shows the packet format of an encapsulated SCTP packet when 202 IPv4 is used. 204 0 1 2 3 205 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 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 207 | IPv4 Header | 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | UDP Header | 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | SCTP Common Header | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 | SCTP Chunk #1 | 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | ... | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 | SCTP Chunk #n | 218 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 Figure 1: An SCTP/UDP/IPv4 packet 222 The packet format for an encapsulated SCTP packet when using IPv6 as 223 defined in [RFC2460] is shown in Figure 2. Please note the the 224 number m of IPv6 extension headers can be 0. 226 0 1 2 3 227 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 228 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 229 | IPv6 Base Header | 230 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 | IPv6 Extension Header #1 | 232 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 233 | ... | 234 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 235 | IPv6 Extension Header #m | 236 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 237 | UDP Header | 238 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 239 | SCTP Common Header | 240 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 241 | SCTP Chunk #1 | 242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 243 | ... | 244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 245 | SCTP Chunk #n | 246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 248 Figure 2: An SCTP/UDP/IPv6 packet 250 5.3. Encapsulation Procedure 252 Within the UDP header, the source port MUST be the local UDP 253 encapsulation port number of the SCTP stack, the destination port 254 MUST be the remote UDP encapsulation port number stored for the 255 association and the destination address to which the packet is sent 256 (see Section 5.1). 258 Because the SCTP packet is the UDP payload, the length of the UDP 259 packet MUST be the length of the SCTP packet plus the size of the UDP 260 header. 262 The SCTP checksum MUST be computed and the UDP checksum SHOULD be 263 computed (see [RFC5405] and [I-D.ietf-6man-udpzero] for UDP checksum 264 considerations). 266 5.4. Decapsulation Procedure 268 When an encapsulated packet is received, the UDP header is removed. 269 Then the generic lookup is performed, as done by an SCTP stack 270 whenever a packet is received, to find the association for the 271 received SCTP packet. After finding the SCTP association (which 272 includes checking the verification tag), the UDP source port MUST be 273 stored as the encapsulation port for the destination address the SCTP 274 packet is received from (see Section 5.1). 276 When a non-encapsulated SCTP packet is received by the SCTP stack, 277 the encapsulation of outgoing packets belonging to the same 278 association and the corresponding destination address MUST be 279 disabled. 281 5.5. ICMP Considerations 283 When receiving ICMP or ICMPv6 response packets, there might not be 284 enough bytes in the payload to identify the SCTP association which 285 the SCTP packet triggering the ICMP or ICMPv6 packet belongs to. If 286 a received ICMP or ICMPv6 packet can not be related to a specific 287 SCTP association or the verification tag can't be verified, it MUST 288 be discarded silently. This means in particular that the SCTP stack 289 MUST NOT rely on receiving ICMP or ICMPv6 messages. Implementation 290 constraints could prevent processing received ICMP or ICMPv6 291 messages. 293 If received ICMP or ICMPv6 messages are processed, the following 294 mapping SHOULD apply: 296 1. ICMP messages with type 'Destination Unreachable' and code 'Port 297 Unreachable' SHOULD be treated as ICMP messages with type 298 'Protocol Unreachable' and code 'Destination Port unreachable. 299 See [RFC0792] for more details. 301 2. ICMPv6 messages with type 'Destination Unreachable' and code 302 'Port unreachable' SHOULD be treated as ICMPv6 messages with type 303 'Parameter Problem' and code 'Unrecognized Next Header type 304 encountered'. See [RFC4443] for more details. 306 5.6. Path MTU Considerations 308 If an SCTP endpoint starts to encapsulate the packets of a path, it 309 MUST decrease the Path MTU of that path by the size of the UDP 310 header. If it stops encapsulating them, the Path MTU SHOULD be 311 increased by the size of the UDP header. 313 When performing Path MTU discovery as described in [RFC4820] and 314 [RFC4821] it MUST be taken into account that one cannot rely on the 315 feedback provided by ICMP or ICMPv6 due to the limitation laid out in 316 Section 5.5. 318 If the implementation does not allow control of the dont't fragment 319 (DF)-bit contained in the IPv4 header, then Path MTU discovery can't 320 be used. In this case, an implementation specific value should be 321 used instead. 323 5.7. Handling of Embedded IP-addresses 324 When using UDP encapsulation for legacy NAT traversal, IP addresses 325 that might require translation MUST NOT be put into any SCTP packet. 327 This means that a multi homed SCTP association is setup initially as 328 a singled homed one and the protocol extension [RFC5061] in 329 combination with [RFC4895] is used to add the other addresses. Only 330 wildcard addresses are put into the SCTP packet. 332 When addresses are changed during the lifetime of an association 333 [RFC5061] MUST be used with wildcard addresses only. If an SCTP end- 334 point receives an ABORT with the T-bit set, it MAY use this as an 335 indication that the addresses seen by the peer might have changed. 337 5.8. ECN Considerations 339 If the implementation supports the sending and receiving of the ECN 340 bits for the IP protocols being used by an SCTP association, the ECN 341 bits MUST NOT be changed during sending and receiving. 343 6. Socket API Considerations 345 This section describes how the socket API defined in [RFC6458] needs 346 to be extended to provide a way for the application to control the 347 UDP encapsulation. 349 Please note that this section is informational only. 351 A socket API implementation based on [RFC6458] is extended by 352 supporting one new read/write socket option. 354 6.1. Get or Set the Remote UDP Encapsulation Port Number 355 (SCTP_REMOTE_UDP_ENCAPS_PORT) 357 This socket option can be used to set and retrieve the UDP 358 encapsulation port number. This allows an endpoint to encapsulate 359 initial packets. 361 struct sctp_udpencaps { 362 sctp_assoc_t sue_assoc_id; 363 struct sockaddr_storage sue_address; 364 uint16_t sue_port; 365 }; 367 sue_assoc_id: This parameter is ignored for one-to-one style 368 sockets. For one-to-many style sockets the application may fill 369 in an association identifier or SCTP_FUTURE_ASSOC for this query. 370 It is an error to use SCTP_{CURRENT|ALL}_ASSOC in sue_assoc_id. 372 sue_address: This specifies which address is of interest. If a 373 wildcard address is provided it applies only to future paths. 375 sue_port: The UDP port number in network byte order used as the 376 destination port number for UDP encapsulation. Providing a value 377 of 0 disables UDP encapsulation. 379 7. IANA Considerations 381 This document refers to the already assigned UDP port 9899 (sctp- 382 tunneling). IANA is requested to update this assignment to refer to 383 this document. As per [RFC6335] the Assignee should be [IESG] and 384 the Contact should be [IETF_Chair]. 386 Please note that the TCP port 9899 (sctp-tunneling) assignment is not 387 needed anymore and IANA is asked to remove this TCP port number 388 assignment. 390 8. Security Considerations 392 Encapsulating SCTP into UDP does not add any additional security 393 considerations to the ones given in [RFC4960] and [RFC5061]. 395 Firewalls inspecting SCTP packets must also be aware of the 396 encapsulation and apply corresponding rules to the encapsulated 397 packets. 399 An attacker might send a malicious UDP packet towards an SCTP end- 400 point to change the encapsulation port for a single remote address of 401 a particular SCTP association. However, as specified in Section 5.4, 402 this requires the usage of one the two negotiated verification tags. 403 This protects against blind attackers the same way as described in 404 [RFC4960] for SCTP over IPv4 or IPv6. Non-blind attackers can affect 405 SCTP association using the UDP encapsulation described in this 406 document in the same way as SCTP associations not using the UDP 407 encapsulation of SCTP described here. 409 9. Acknowledgments 411 The authors wish to thank Stewart Bryant, Dave Crocker, Gorry 412 Fairhurst, Tero Kivinen, Barry Leiba, Pete Resnick, Martin 413 Stiemerling, Irene Ruengeler, and Dan Wing for their invaluable 414 comments. 416 10. References 418 10.1. Normative References 420 [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, 421 August 1980. 423 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 424 1981. 426 [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, 427 RFC 792, September 1981. 429 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 430 Requirement Levels", BCP 14, RFC 2119, March 1997. 432 [RFC2460] Deering, S.E. and R.M. Hinden, "Internet Protocol, Version 433 6 (IPv6) Specification", RFC 2460, December 1998. 435 [RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control 436 Message Protocol (ICMPv6) for the Internet Protocol 437 Version 6 (IPv6) Specification", RFC 4443, March 2006. 439 [RFC4820] Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and 440 Parameter for the Stream Control Transmission Protocol 441 (SCTP)", RFC 4820, March 2007. 443 [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU 444 Discovery", RFC 4821, March 2007. 446 [RFC4895] Tuexen, M., Stewart, R., Lei, P., and E. Rescorla, 447 "Authenticated Chunks for the Stream Control Transmission 448 Protocol (SCTP)", RFC 4895, August 2007. 450 [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 451 4960, September 2007. 453 [RFC5061] Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M. 454 Kozuka, "Stream Control Transmission Protocol (SCTP) 455 Dynamic Address Reconfiguration", RFC 5061, September 456 2007. 458 10.2. Informative References 460 [RFC3424] Daigle, L. IAB, "IAB Considerations for UNilateral Self- 461 Address Fixing (UNSAF) Across Network Address 462 Translation", RFC 3424, November 2002. 464 [RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines 465 for Application Designers", BCP 145, RFC 5405, November 466 2008. 468 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 469 Cheshire, "Internet Assigned Numbers Authority (IANA) 470 Procedures for the Management of the Service Name and 471 Transport Protocol Port Number Registry", BCP 165, RFC 472 6335, August 2011. 474 [RFC6458] Stewart, R., Tuexen, M., Poon, K., Lei, P., and V. 475 Yasevich, "Sockets API Extensions for the Stream Control 476 Transmission Protocol (SCTP)", RFC 6458, December 2011. 478 [I-D.ietf-6man-udpzero] 479 Fairhurst, G. and M. Westerlund, "Applicability Statement 480 for the use of IPv6 UDP Datagrams with Zero Checksums", 481 draft-ietf-6man-udpzero-12 (work in progress), February 482 2013. 484 [I-D.ietf-behave-sctpnat] 485 Stewart, R., Tuexen, M., and I. Ruengeler, "Stream Control 486 Transmission Protocol (SCTP) Network Address Translation", 487 draft-ietf-behave-sctpnat-08 (work in progress), February 488 2013. 490 [I-D.ietf-tsvwg-natsupp] 491 Stewart, R., Tuexen, M., and I. Ruengeler, "Stream Control 492 Transmission Protocol (SCTP) Network Address Translation 493 Support", draft-ietf-tsvwg-natsupp-05 (work in progress), 494 February 2013. 496 Authors' Addresses 498 Michael Tuexen 499 Muenster University of Applied Sciences 500 Stegerwaldstrasse 39 501 48565 Steinfurt 502 DE 504 Email: tuexen@fh-muenster.de 506 Randall R. Stewart 507 Adara Networks 508 Chapin, SC 29036 509 US 511 Email: randall@lakerest.net