Slightly off topic, but if I want to understand the concepts discussed in this article, what all topics should I learn? Is this a good starting place or enough to understand everything in this article - https://beej.us/guide/bgnet/
Because of the formulation of the question, I assume (please don't be irritated, if wrong) that you have very little knowledge of networking. In that case, it won't harm the Beej guide, but probably not the best point to start. The article discuses BGP protocol, which is totally absent in the linked guide. You may write literally millions of networking applications without need to know anything about BGP. Only if you are working in the backbone of the internet, you will encounter BGP, not even in big private networks. It will be a long way to really start from 0 up to BGP.
This is what helped me back in the day when I did that stuff. I didn't know my ass from a hole in the ground and Avi's guides got me up and running, fully multi-homed!
First learn the basics of IP networking, looking for CCNA certification materials or Comptia Network+ materials would give you a good base of knowledge.
BGP is just the way networks exchange routes (paths to a specific IP address) between each other. Once you know a little bit about how routing works it will make sense.
BGP itself is fairly simple to understand and entirely disconnected from day to day networking, you could start on it with very minimal understanding of anything else.