Internet DRAFT - draft-pvashisht-isode-x25-migration-issues
draft-pvashisht-isode-x25-migration-issues
Network Working Group Prashant Vashisht
Internet-Draft Flextronics Software Systems
Expires: November 17, 2006 May 16, 2006
Issues in Migrating ISODE to X.25
draft-pvashisht-isode-x25-migration-issues-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 17, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
ISODE (International Standard Organization Development Environment)
is one of the most mature implementation of the ISO (International
Standard Organization) protocol stack. The majority of the ISODE
implementation work over TCP. This draft presents some of the
possible issues that MAY arise while porting the ISODE protocol
stack over X.25.
pvashisht Expires November 17, 2006 [Page 1]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
1. Introduction
ISODE is an implementation of ISO protocol stacks. It implements the
various ISO layer protocols, namely, Transport layer, Session layer,
Presentation Layer and Application layer. The transport layer could
run on various network layers but the most commonly used ones are
TCP/IP (refer RFC 1006) and X.25. ISODE has primarily a very good
support to run the protocol stack over TCP/IP. This has been
facilitated by the fact that TCP/IP has a very wide acceptance and
over the last few decades, it has become the de-facto standard.
Though ISODE does provide the framework to support the X.25 as the
underlying network layer but still it may require some level of
effort to migrate to X.25 seamlessly.
This draft addresses the issues that may arise when a vendor
attempts to port the ISODE stack over X.25.
2. Motivation
The figure below presents a brief overview of the ISODE protocol
stack.
+-+-+-+-+-+-+-+-+-+-+-+-+
| Application Layer |
+-+-+-+-+-+-+-+-+-+-+-+-+
| Presentation Layer |
+-+-+-+-+-+-+-+-+-+-+-+-+
| Session Layer |
+-+-+-+-+-+-+-+-+-+-+-+-+
| Transport Layer |
+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+ +-+-+-+-+-+
| TCP/IP | | X.25 |
+-+-+-+-+-+ +-+-+-+-+-+
Though TCP/IP based ISODE implementation are quite common but it
may happen that a vendor might be required to provide a X.25
based ISODE implementation depending upon the requirement of
the customer (who may be supporting a legacy X.25 network).
Such a requirement would necessitate the need for porting the
ISODE protocol stack over the X.25.
pvashisht Expires November 21, 2006 [Page 2]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
The ISODE designers were generous enough to provide a framework for
facilitating the migration of ISODE over X.25 but still there
could be issues in the porting, which are triggered by the
implementation of the X.25 layer and the interface it exposes
to the ISO transport layer. In this draft, we address several
such issues and possible mechanism to resolve them.
3. Applicability
The issues mentioned in this draft shall apply to more or less all
the implementations of ISODE (version 8 or later), which need to be
migrated from TCP/IP to X.25
The issues mentioned in successive sections shall be applicable to
any network service provider or service implementer, who wants to
provide support for X.25 layer under ISODE.
4. Migration Issues
This section presents the various issues that may need to be
addressed when porting ISODE from TCP/IP to ISODE.
4.1 Support from X.25 card driver
TCP/IP is presently used in all kinds of networks and the support
for the same is already present in majority of the operating
systems. For X.25 the major source of support is from the X.25
driver for the X.25 card hardware. The way the X.25 card is
programmed has a lot to do with the overall porting complexity.
The kind of buffering mechanism used in the driver, the performance
of the overall ISODE implementation could also be impacted.
Similarly, the interface with the driver (polled or interrupt
based) could also impact the overall functionality. The best way
should be to benchmark the functionality based on individual
requirements, taking into account the CPU load utilization,
buffering constraints, and interrupt latency.
pvashisht Expires November 17, 2006 [Page 3]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
4.2 Socket abstraction layer
The existing ISODE implementation relies heavily on the sockets.
The socket descriptors are also used as session (or association)
descriptors across various upper layers. Therefore, it makes
sense to continue to exploit the existing mechanism to the
maximum extent possible.
This shall require implementation of an interface layer between
the ISO transport layer and the X.25 network layer. This layer
shall provide the socket abstraction to the ISO transport layer.
Though some of the operating systems do provide the support for
X.25 based sockets but the actual needs to be verified with
respect to the support for the X.25 card that a vendor may be
using.
In either case, a socket based abstraction layer could solve a
lot of overheard in the porting exercise.
This shall provide additional benefit of the continual use of the
"select" call, which works mainly with socket descriptors. Many
of the ISODE based applications rely on the "select" call to
multiplex among the various simultaneous connections ( also
referred to as associations).
Though the implementers are free to implement any other interface
scheme but it may complicate the overall integration of the ISODE
protocol stack with the underlying X.25 layers.
4.3 ISO Transport layer requirements
There are various kinds of ISO transport layers available (ranging
from TP0 to TP4), which differ in the number of transport layer
facilities provided by them. The simplest one is TP0, which provides
the basic transport layer functionality and segmentation and
reassembly.
For TCP/IP based ISODE implementation, it was quite easy to
multiplex multiple ISO transport over a single TCP connection.
But in case of X.25 based implementation, this shall require some
tweaking at the ISO transport layer and also at the socket
abstraction layer (section 4.2).
pvashisht Expires November 17, 2006 [Page 4]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
This is largely dictated by the requirement of the upper layer
(e.g. an upper layer may want to establish multiple transport
connections over a single X.25 virtual circuit for cost saving).
Such a requirement would require modifications to the ISODE
transport layer to provide support for the mapping of multiple
transport layer connections to a single network connection
(as required to support TP2).
Similarly, other modifications may be required to the ISODE
transport layer to support other features (e.g. Error recovery).
4.4 Implementation specific issues
There could be some other issues (as outlined below), which have
more to do with the specifics of the implementation rather than
the protocol.
Depending upon whether the ISODE protocol stack is used in a
thread-safe environment or not, the implementer may be required
to provide additional mechanism to ensure the thread safety of
the ISODE protocol stack.
The X.25 layer may be seamlessly integrated with ISODE (which is
running in the user space) OR it may be possible that the X.25
card driver is a part of the operating system kernel. In the
latter scenario, the implementer may have to implement mechanism
for communication between the ISODE transport layer and the X.25
network layer.
Unlike TCP, where the user could get the information about the
disconnection of underlying network connection easily, it might
be a bit challenging task to get such an information from the
X.25 network layer asynchronously. Though, there may be
implementations which could provide such a support but more often
than not, such a mechanism might be required to be built upon the
underlying X.25 layer.
4.5 Performance Issue
The TCP/IP is mostly implemented in the operating system kernel
and is known to operate on all kinds of media. Most common
implementation seen these days start from 10/100 Base-T. Whereas,
the X.25 is mostly used for slower networks and is present today
mostly because of the legacy reasons.
pvashisht Expires November 17, 2006 [Page 5]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
Therefore, it shall not be wise to compare the performance of ISODE
implementations over TCP/IP with that of ISODE implementation over
X.25. Still, it is imperative to optimize the performance of a X.25
based ISODE implementation by taking support from the underlying
hardware (e.g. increasing the number of buffers in the X.25 driver,
tweaking the polling interval, maximizing the queue sizes etc.)
5.3. Security Considerations
This memo raises no security issues. It is believed that any
security mechanisms shall be implemented at the appropriate
layer (as required). The transport layer as discussed in this
memo doesn't provide any security mechanisms.
6. References
[1] ISODE documentation manual.
pvashisht Expires November 17, 2006 [Page 6]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
Author's Address
Prashant Vashisht
Flextronics Software Systems
Plot 31 Sector 18 Electronic City,
Gurgaon, Haryana 122015
India.
Phone: +91 124 234 6666
Email: prashant.vashisht@flextronicssoftware.com
pvashisht Expires November 17, 2006 [Page 7]
Internet-Draft Issues in Migrating ISODE to X.25 May 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
pvashisht Expires November 17, 2006 [Page 8]