In this thesis, research is described which leads to the proposal of a link-directionality-based dual channel MAC (Medium Access Control) protocol (DCP) for carrier sense wireless ad hoc networks. It attempts to double the capacities of such networks using an industrial standard (the single-channel IEEE 802.11 protocol) as a benchmark. Simulations show that the proposed scheme can increase the capacities to more than 1.7 times of the single-channel IEEE 802.11 protocol in large-scale random network topologies. The algorithm, however, requires extra radio spectrum resource which could be costly. In addition to DCP, a signal-to-interference ratio comparison algorithm (SCA) is proposed to further release the protocol constraints imposed by the virtual carrier-sensing mechanism. Interestingly, while the capacity of the pure DCP decreases when link lengths are short, the capacity of the pure SCA increases when link lengths are short. The two algorithms compensate for the downside of each other to bring about a more uniform capacity improvement. Simulations show that the integrated scheme can further increase the network throughputs to more than 2.13 times in random topologies. This thesis also clarifies inter-link interference in wireless ad-hoc networks by using link-directional interference graphs (l-graph). By colouring the l-graphs, independent data streams obtained by Multi-Carrier Code Division Multiple Access (MC-CDMA) are assigned for transmitting up-link and down-link traffic separately in order to eliminate the hidden-node and exposed-node problems in wireless local area networks (WLAN). Finally, a generic approach for capacity analysis is proposed to show that the concept of link-directionality can also be adopted with other network models, protocols and parameter settings. However, in certain scenarios where links are densely packed together, the advantage of using link-directionality could be diminished. Therefore, the proposed generic approach for capacity analysis allows one to determine whether channel allocations according to link-directionalities should be applied to a given network.