A semantic application typically is a heterogenous system of interconnected components, most notably a reasoner. OWLlink is an implementation-neutral protocol for communication between OWL 2 components. It specifies how to manage reasoning engines and their knowledge bases, how to assert axioms, and how to query inference results. A key feature of OWLlink is its extensibility, which allows the addition of required functionality to the protocol. We introduce the OWLlink structural specification and extension mechanism. Furthermore, we present two extensions, one for retrieving previously asserted axioms and one for retracting axioms from a reasoner. Finally, we describe a binding to HTTP/XML and give an overview of existing implementations.