Please use this identifier to cite or link to this item: https://scholarbank.nus.edu.sg/handle/10635/166258
Title: OSI SOFTWARE DEVELOPMENT FOR INTERCONNECTED HETEROGENEOUS LOCAL AREA NETWORKS
Authors: ANG CHOON KEE WILSON
Issue Date: 1989
Citation: ANG CHOON KEE WILSON (1989). OSI SOFTWARE DEVELOPMENT FOR INTERCONNECTED HETEROGENEOUS LOCAL AREA NETWORKS. ScholarBank@NUS Repository.
Abstract: The Reference Model of Open Systems Interconnection (OSI) provides the framework for defining uniform protocol standards to link heterogeneous computers. It is a structured model divided into seven layers where each layer performs a specific task. Protocols from all seven layers together enable data transfer across a multivendor network. The objective of this project is to design and develop an efficient OSI software for heterogeneous local area networks. It encompasses the design and development of a software architecture that will optimise resource utilization such as protocol data unit passed from one layer to another. In this project, the complex ISO Transport Class 4 and Internet protocols are selected for implementation of the software architecture. The Transport and Internet subsystems are implemented in IBM PC-AT under an uni-tasking PC-DOS operating system. The local area networks used in the project conform to IEEE 802.5 and IEEE 802.3 standards and their corresponding network interfaces used are IBM Token Ring Network and 3Com 3C505 Etherlink Plus adapters. Two type of drivers are specially designed to interface the subsystems to each of these adapters. The two types of LANs are interconnected via a gateway that consists of two protocol 'stacks' below a common Network layer. One of the stacks is for communication with the IEEE 802.5 subnetwork whilst the other stack is for communication with IEEE 802.3 subnetwork. Currently, a set of standards is associated with each protocol layer, each of which offers different level of functionality. The choice of a suitable protocol suite is largely dependent on the interconnection strategy; namely connection-oriented and connectionless. A review and analysis of these strategies are presented in Chapter 2 and a proposal of connectionless Network and Data Link protocols, and connection-oriented Transport through Application layer protocols is recommended for t" is project to achieve the stated objectives. The OSI software is logically made up of a succession of OSI layers where each layer protocol is treated as an autonomous entity. The software architecture forms a framework to efficiently interface the programming codes of individual layer protocol. In designing the OSI software to support the various layer protocol mechanisms, there are other local operating factors to be considered as they have impact on the overall protocol performance. These factors include message copying, address directory searching, timing, checking for access right, interrupt handling and limitations of commercially available network interfaces. In this project, they have been carefully studied, designed and implemented. In particular, copying of messages within the communication subsystem is studied in detail in Chapter 3 because of its high impact to the subsystem performance. The software architecture considers two buffer management schemes to compare and contrast their performance. The first scheme involves copying of messages to and from buffers between protocol layers and was found to be one of the main sources of overhead, especially for large packet size and when handled by a programmed loop. This performance penalty is addressed by eliminating buffer copying and sharing buffer usage within the communication subsystem. Control Vector is used in each layer to store pointers of user buffer, protocol header buffer and adjacent layer Control Vector buffers. It is this Control Vector that is passed between layers instead of the actual message and protocol headers. A careful study and design are also made in the identification of a protocol entity and its resolution into an address to identify its physical location because of their impact on the software design. The Transport subsystem is designed to be a liberal receiver but a conservative sender. It provides a set of functions such as connection establishment and termination, addressing, transmission error recovery, segmentation, duplicate detection, sequencing, multiplexing and flow control. The mechanisms and implementations of these features are described in detail in Chapter 4. As the Transport subsystem is event driven status of a Transport connection is made known to the relevant routines through Control Block and used by the routines to manage flow of TPDUs for the respective Transport connections. A buffer management routine exclusively used by the Transport subsystem is designed to control and keep track of TPDU buffer usage within the Transport layer. The Internet subsystem is designed to provide message routing and relaying between cooperating end systems on the same subnetwork or on interconnected subnetworks. A choice of three routing algorithms is provided; namely source, static and dynamic Conic routing. The Conic routing algorithm is selected to address the absence of a complete standardized dynamic routing mechanisms. The Internet subsystem supports segmentation of IPDU for passage through subnetworks with smaller DLC frame size and to be reassembled at the destination. Error and lifetime control are also supported by the subsystem. A more detail descriptions of the Internet subsystem is given in Chapter 5. A structured design approach is employed in the design of the Transport and Internet subsystems to keep the software structure close to the protocol specifications as this has the advantage of precisely defining the action. The routines in these subsystems are organized in a hierarchical structure such that the interface routines and interrupt handlers are at the top of the hierarchy. The driver program is written in assembler whilst the subsystems are implemented in C-language. C-defined structure is heavily adopted in the design to represent a consolidated piece of information. Pointer to the C-structure is then used to pass several related information between routines instead of copying individual long string of routine arguments. The transition tour technique is adopted to test conformance of both the Transport and Internet protocol implementation. Each test is based on the operation of the protocol as derived from the published specification. Finally, a comparative performance evaluation was made. The results show that when the use of Control Vectors in the buffer management scheme is extended to the Application layer, the performance improvement would be about 22%. The initial communication subsystem processing overhead, excluding the adapter, is mainly due to protocol header processing, buffer allocation and deallocation, Control Vectors chaining, binary tree traversing and address directory searching. As the TPDU size increases, the longer data copying operation gradually becomes the main contributing factor to the processing time. The time increases linearly with TPDU size until segmentation or reassembly of data occurs. Thereafter the processing time increases by a large margin. Likewise, the one way Transport delay increases linearly with TPDU size until segmentation takes place. Chapter 7 provides a comprehensive comparative analysis of the performance characteristics of the two buffer management schemes and explored in depth on the recommended scheme.
URI: https://scholarbank.nus.edu.sg/handle/10635/166258
Appears in Collections:Master's Theses (Restricted)

Show full item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
b16814174.PDF10.02 MBAdobe PDF

RESTRICTED

NoneLog In

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.