Quantum information processing opens up completely new possibilities in communication and computation, that would be impossible in the realms of classical physics. While the benefits of quantum information processing are well understood in theory, it remains a formidable challenge to experimentally implement even simple quantum information processing tasks. Numerous physical architectures have been proposed for preparing and coherently manipulating quantum information. Amongst these, quantum optics has been identified as a particularly promising candidate. In particular this arises from the long decoherence times of single photon states, which can be used to encode logical qubits in a variety of ways. Nonetheless, there remain formidable challenges to implementing large scale quantum information processing using optical qubits. Most notably these include: the preparation of pure indistinguishable photons; efficient number-resolving photo-detection; mode-matching; photon loss; and the non-determinism of entangling gates. Any future large scale implementation of optical quantum information processing protocols will require significant advances on most, if not all these fronts. In this thesis we aim to present a comprehensive overview of the major requirements for optical quantum information processing, understand the effects they have, and how they can be modeled. From this we aim to understand what the realistic technological requirements are to achieve scalable optical quantum information processing, and, where possible, suggest means by which to help achieve these goals.