But in short, you can make friends with your friend's friends or you can be friends with an indexer, which will list a bunch of people you may or may not know that you can request to be friends with as well.
When you send a request through a friend, your connection is done securely through that already established relationship. Then that friend passes the request to the friend you want to be friends with that they are already friends with. Once that request reaches that friend and they accept, they will have the public / private key pair you originally generated. They will also have your IP address information and begin making secure connections directly to you without the need for the friend or indexer which you sent the request through.