With the recent growth and development of the Internet and companies intranets it has become important to look for ways of improving network reliability and efficiency. Because of the large-scale growth in the number of users and networks connected to the Internet, there are a numerous variety of problems that have to be dealt with concerning scalability, reliability and availability. Today's solutions to scalability involve companies choosing to upgrade their servers to larger and faster machines to keep up with the increase in demands of service. To keep up with the number of users many companies are also increasing the bandwidth. These seem to be the obvious choices as short-term solutions but will not be efficient with meeting the requirements of long-term service growth. A better solution to solve these problems would be the use of load balancing. Load balancing is defined as the allocation of the work of a single application to processors at run-time so that the execution time of the application is minimized. The basic load-balancing concept consists of multiple servers acting as one server. So instead of all the clients' requests going to one server, they are divided up to one of the many servers. Load balancing algorithms are categorized into two types, Static and Dynamic load balancing. Aim of this research is to implement the load balancing techniques in a LAN environment. The first technique (i.e. type) sends the requests to the server in a Round Robin fashion, while the second one uses the system load to select the idle server that must perform the current request. Each of these types is implemented in two models, using proxy server that handles the request of the clients and without proxy server. The system load has three factors, the CPU load, the Memory Utilization and the Disk Input/Output. These three factors are computed to specify the system load of the server, so the request moves to the server that has the minimum system load.