As far as I know, there are 4 main types of network interfaces in Linux: tun, tap, bridge and physical.
When I'm doing sys admin on machines running KVM, I usually come across tap, bridge and physical interfaces on the same machine, without being able to tell them apart. I can't see any significant differences in
ifconfig results, as in
How can I know if an interface is a tun, tap, bridge, or physical?
note: I don't claim that there are no other types of network interfaces in Linux, but I know only these 4.