The document provides an overview of the Border Gateway Protocol (BGP). It begins with general information about BGP, including that it is used for routing between autonomous systems and is classified as a path vector routing protocol. It then covers BGP theory in detail over several sections, explaining concepts like neighbors, messages, states, attributes and more. The document aims to provide thorough theoretical understanding needed to implement BGP in a lab.