I don't know anything about network programming but I want to try to modify my tic-tac-toe console program to be a multilayer game. Where do you recommend I start at for beginning network programming with c++? Thanks.
Most networking APIs are based on the BSD sockets API (afaik) which is built on top of a C API. I personally have never used BSD sockets directly, I usually use them through some library such as ASIO, ACE's library, or even SFML sockets (which are rather simple). You'll want to familiarize yourself with how communication works, concepts on methods of networking, and then learn how to apply those with an API of your choice.
My weapon of choice is almost always ASIO. Asyncronous networking becomes almost standard when you familiarize yourself with it.