How does Bitcoin currently mitigate Sybil and Eclipse attacks? What countermeasures does Bitcoin currently have in place to limit Sybil attacks (ie of full nodes [not miners]) and eclipse attacks? 

In particular, it seems like an important countermeasure would be to attempt to give your connections only about as much resources (bandwidth/processing/etc) as they're giving back to you, so as to ensure that a sybil attacker must cost approximately the same amount as an honest node. But I get the feeling this doesn't exist. Does it? 

Are there other countermeasures in place currently?
A sybil attack is prevented by using proof of work. Overwhelming the network with nodes cannot substitute for the hash power required to create the proof of work that must be presented in order to get the network to accept a new block.

An eclipse attack is more difficult to prevent:


  Bitcoin Core only makes an outbound connection to one IP address per
  /16 (x.y.0.0). Incoming connections are unlimited and unregulated, but
  this is generally only a problem in the anonymity case where you're
  probably already unable to accept incoming connections. See
  https://en.bitcoin.it/wiki/Weaknesses#Sybil_attack.


As far as I'm aware there is no such logic implemented to equalize the network resources between nodes.