How does a bitcoin node protects against connecting to a node with a forged block chain? How does it say: "Ok, I just got this block chain and it is a valid/legit one" ?
Any chain that's not valid according to the agreed rules of Bitcoin is outright rejected. So any chain that created Bitcoins out of nowhere, spent the same Bitcoins twice, or anything like that is rejected just by testing the chain against those rules.
So the next question is among the many possible valid chains, how do you pick the one to consider authoritative. And the answer is two-fold:
You consider valid the chain that would require the most computational work to create.
You don't rely on the results of blocks that are too close to the end of the chain.
So that means that an attacker who wants to convince you that the wrong chain is valid has to do more computational work than all the Bitcoin miners put together, and must continue to do so until the blocks he's trying to convince you to accept are deep in the chain.
So say you require six confirmations to accept a transaction. An attacker has to produce a chain with six blocks after the block including that transaction that's longer than the chain that doesn't include that transaction. To do so, he'd have to give up the opportunity to mine six blocks (around $35,000) and he'd have to outpace all the Bitcoin miners in the world put together for about an hour.