This work primarily consists of two parts. The first part deals with a wireless body area network with battery operated nodes. Global routing protocols are considered. The Dijkstra`s algorithm was modified using a novel link cost function in order to perform energy balancing across the network. The proposed protocol makes optimal use of the network energy and increases the network lifetime. Hardware experiments involving multiple nodes and an access point are performed to gather wireless channel information. Performance of two different types of network architectures is evaluated viz. on-body access point and off-body access point architectures. Results show up to 40% increase in average network lifetime with modest average increase of 0.4 dB in energy per bit. Proposed protocol lessens the need to recharge batteries frequently and as all the nodes deplete their energy source at the same time due to energy balancing, recharging can be done for all the batteries at the same time instead of recharging them one at a time. Network connectivity is evaluated using outage as a metric. Results show the cut-off effect which signifies the minimum amount of transmission power required to achieve reliable communication. The advantages of an off-body access point are demonstrated. The second part presents a global routing protocol based on Dijkstra`s algorithm for wireless body area networks with energy harvesting constraints. The protocol dynamically modifies routing trees based on available energy accumulated through energy harvesting. Various harvesting methods are considered. The results show that low data-rate applications are achievable using existing energy harvesting techniques while high data-rate applications call for advancements in these methods