How can arduino read a frequency higher than 16Mhz?
How can arduino read frequencies higher than 100Hz? How does it achieve that?


Interrupts (if you want to do it in software) or a magical piece of hardware called the Input Compare peripheral that is built into most MCUs.


  I Googled arduino's frequency and it shows to be 16MHz. That means arudino can read frequencies up to 16Mhz?


No, that is the speed the CPU operates at. The maximum frequency signal it can read is usually below that (for SPI it's half that, 8MHz, for example).


  Ethernet cables specifically CAT5 has a frequency of 100MHz. That means that it sends signals 100,000,000 in one second! How could Arduino send that many signals in one second if I where to buy a Ethernet shield such as this one?


It doesn't. The shield does. The Arduino just tells the shield what to do, and the chip on the shield does it.