International Journal of Computer Applications (0975 8887) Volume 57No.2, November 2012 34 Routing with Congestion Control in Computer Network using Neural Networks Abdulkareem Y. Abdalla Computer Science Dept. University of Basrah, Basrah, Iraq Turki Y. Abdalla Computer Engineering Dept. University of Basrah, Basrah, Iraq Khloud A. Nasar Computer Science Dept. University of Basrah, Basrah, Iraq ABSTRACT The neural networks are widely used to solve the routing problem and to manage the congestion in the computer networks. In this paper, two methods are proposed to solve this problem. In the first method a feed forward neural network is included in a central node to determine the complete path between any pair of nodes (source, destination). In the second method a routing approach consists of two feed forward neural networks is suggested to solve the routing problem with congestion control. The proposed methods are applied for typical examples of computer networks. Results of the testing show good performance. Keywords: Routing, congestion control, computer network, neural network. 1. INTRODUCTION In a communication network information is transferred from one node to another as data packets. Packet routing is a process of sending a packet from its source node (s) to its destination node (d). On its way, the packet spends some time waiting in the queues of intermediate nodes while they are busy processing the packets that came earlier. Thus the delivery time of the packet, defined as the time it takes for the packet to reach its destination, depends mainly on the total time it has to spend in the queues of the intermediate nodes. Normally, there are multiple routes that packet could take, which means that the choice of the route is crucial to the delivery time of the packet for any (source, destination) pair [1]. Routing algorithms are methods for finding the best way from a node s to another node d. This may be via a large number of other nodes or it may be in the next sub network. On a small, simple network the problem is almost trivial, statically allocating routes and defining them by hand, but when dealing with a huge internetwork such as the Internet this is not possible. Calculating the best route through such a complex system is computationally difficult and impossible to do by hand [2 , 3, 4]. If part of network becomes over_ filled with packets it can become impossible for packets to move. The queues into which they would be accepted are always full. This is called congestion. Routing algorithms strongly related to congestion [2, 5]. 2. ROUTING USING NEURAL NETWORKS The routing problem defined by determining the optimal route for a packet from source node to destination node. The routing decision must be made under the network current conditions such that traffic load, congestion and node or link failures. Using the conventional algorithms and particular mathematical programming methods to solve this problem is not recommended for practical purposes. Because, their calculations may take long time, which may leads to slowly response of the networks. The parallel, distributed processing structure of the neural networks and their ability to learn are justified to use it as a structure for solving the routing problem. As a result, neural networks are considered to solve such kind of optimization problem. Optimal route is obtained by routing decision which is based on observed delay function. Also, for local decision routing, neural network at each node of computer network use just local information to decide to which neighbor node should be send the packet in order to reach its destination quickly [4, 6, 7]. 3. CONGESTION CONTROL USING NEURAL NETWORKS One of the major problems for most communications networks lies in defining an efficient packet routing policy. Routing policy should be able to take into account the congestion. It sends the packet through route that may be long in terms of hops but results in shorter delivery time [1, 4]. The aim of the good routing algorithm is to minimize the effect of network congestion. But, the main problem of conventional routing algorithms that if costs are assigned in a dynamic way, based on statistical measures of the link congestion state, a strong feedback effect is introduced between the routing policies and the traffic patterns. This can lead to undesirable oscillations [5]. The neural networks have available structure of implementing a learning mechanism for data communication networks. for that, a neural network can achieve great accuracy in predicting one particular network problem, namely congestion [8]. Considerable research has been devoted toward solving the routing problem and to manage the congestion in the computer networks. J.Bivens, B.Szymanski and M.Embrechts [8] propose using learning techniques to predict congestion problems in computer network. They suggest a simple feedforward neural network to predict congestion in a network. In the work of I.Glauche, W.krause, R.Sollacher and M.Greiner [9] a routing & congestion control scheme is proposed for wireless multihop ad hoc network. S. Dimitrov, M. Epelman and D. Sharama [10] propose a formulation of the problem that takes into account typical demand fluctuations in designing a robust routing policy. M. Proebster, M. Schart and S. Hauger [11] evaluate the performance of XCP and RCP and compares them with the existing TCP congestion control. A. Bidgoli, A. Bahri and