To communicate with other BGP routers, BGP unlike other routing protocols does not use hello packets or discover neighbours dynamically.
BGP was designed to not support neighbours changing frequently, and configuration to bring up sessions between routers to be co-ordinated by their network administrators.
To communicate with other routers, BGP uses TCP port 179 to communicate with other routers. TCP helps in connections where fragmentation could occur, as well as providing sequencing and reliability of transferred network packets. Modern implementations of BGP set the do not fragment flag on their packets, and utilise path mtu discovery to avoid fragmentation.
BGP can go beyond a single hop, different to other router protocols, with the use of TCP to cross network segments to reach other routers. This is not to say that BGP can not form relationships with directly connected routers, it can. Where directly connected BGP routers exist, the ARP table is used to reach the neighbour. For multi hop sessions it is essential that an underlying route is in place in the routing table for the remote router to be reachable, as the router uses the routing information base to reach remote devices.
A session in BGP is the established adjacency between two BGP routers.