My Windows 10 PC has an onboard Ethernet port as it should, but also an Ethernet card attached. A friend more knowledgeable about computers built it, not I. I have been using the card instead of the onboard for no particular reason, but is there a difference? I think the card is TP-Link (I will find out soon), and I have an MSI board.
Is there any difference in the onboard Ethernet port vs. the Ethernet card?
2 Answers
stueja's answer provides several ideas, and is worth reading. To all that, I have one more to add.
(Terminology: I use "NIC" to mean "Network Interface Circuitry". Technically NIC means "Network Interface Card", which is a term people used for add-on cards that included a network connector. However, people widely use the term to also refer to network connections, including network ports built onto motherboards, and Wi-Fi connections. So, basically, when I say "NIC" then I'm just referring to whatever component is enabling the network connection.)
First, let me break this down very simply:
- Unless you know otherwise, in general, favor the onboard NIC.
Here's why:
First, I will note that some of this answer is a bit outdated. It's talking about PCI and mentions gigabit as if that is a new thing. At the time of this writing, newer computers use PCI Express slots and many, many newer systems use gigabit (and the industry is dabbling with higher speeds). Still, a lot of the principles mentioned (like onboard being able to use a different bus) seem sensible in theory, so I speculate that such considerations are likely to repeat with newer generations of technology. The reason I use numbers related to PCI and gigabit is because those were the relevant numbers when I first learned about some of these principles.
I've once read of motherboards providing NICs that could communicate at higher speeds than the add-on card. There were a couple of reasons for this:
- A NIC is a special-purpose port with a clear intent/design. It can be implemented more efficiently than a general-purpose "expansion card" slot. For instance, it can be implemented without requiring the full overheard of a hardware protocol like Peripheral Component Interconnect ("PCI").
- The NIC was located closer to the CPU. A NIC doesn't take up as much circuitry as an "expansion card" slot (like a "PCI Express"). As it is smaller, it can be crammed in more closely to the CPU.
Both of these reasons permit the onboard NIC to be able to communicate with the CPU at higher speeds, and with lower requirements, than a NIC that communicates to the CPU by going through one of the standardized "expansion card" slots.
The only key reason to favor a NIC in an expansion slot, instead of an onboard NIC, is if the NIC in the expansion slot is using newer technology that enables it to operate at higher speeds. That may be possible in some cases, for some motherboards. However, in general, that shouldn't be the case, for some of the reasons mentioned above. Basically, if the motherboard's NIC circuitry can't support a certain speed (e.g., an older motherboard that supports 100mbps Ethernet instead of gigabit Ethernet), then chances are quite good that the speed is also too fast for the bus that communicates to the expansion card slots. I will quote TC10284's forum post:
As for PCI slots, 33MHz PCI slots have a transfer rate of 133MB/sec. 100mbps network cards will use 12.5MB/sec maximum of that (100mbps/8 = 12.5MB/sec). Gigabit network cards 1000mbps at full speed will nearly saturate a PCI bus (1000mbps/8 = 125MB/sec).
Okay, that was a lot of numbers, so let me highlight the most important ones to notice. 125MB/sec is a huge percentage of 133MB/sec. The 133MB/sec is the PCI bus's bandwidth, which is commonly shared by all PCI devices in the entire system. So some simple math with these numbers reveal that a single gigabit port can use up more than 93.98% of the entire system's PCI BUS's bandwidth.
TC10284's forum post also mentioned this possibility:
the onboard gigabit network card is wired directly into a PCI bus, PCI-E bus, or into a special transport similar to what Intel developed for their onboard gigabit NICs.
If a single gigabit card can nearly saturate the PCI bus, then that leaves little room for other devices, including another NIC operating at the same speed. (Still, Gigabit may be better than 100mbps. For instance, OpenBSD PF (firewall) FAQ: performance discusses “Efficiency of your network card.” ... “For maximum performance, consider using gigabit or ten gigabit ethernet cards, as they have much more advanced buffering.” So even if you didn't get the full gigabit speed, the better design of gigabit may provide superior results than older standards. That's why a rare 4-port PCI card can actually have some amount of usefulness, even if full gigabit speeds, simultaneously on all ports, were unattainable.)
So, if you've actually read this far, let me complicate the earlier suggestion (always use onboard) with this more complicated series of decisions:
- Of course, if there is a known problem with the onboard NIC (like a physically damaged connector), then favor the add-on card which works. (If an onboard NIC stops working, sometimes using an add-on card is a workaround that is cheaper/easier than replacing a whole motherboard.)
- If everything is functioning, if the network card is known to support a more advanced technology design (such as supporting a faster standardized speed) than the onboard NIC (which I would guess is rather unlikely), then consider favoring that card.
- Otherwise, favor the onboard NIC.
However, the idea that the network card will be faster is probably going to be rather unlikely, because if the onboard NIC isn't using the fastest speed possible, there is a chance that the expansion card slots won't be able to handle higher speeds well either. There may be some cases where the NIC in the expansion slot is using faster technology, so go ahead and use that if you know that to be the case. In the general case, if you're not sure, then you're probably best off using the design that was crafted by the people who made your motherboard.
Well, a few answers come to my mind.
Ask your friend
Maybe he or she had a special reason to do so. Ask him or her.
But, you asked us. :) So maybe one of the reasons is
Network setup
Maybe your friend had a specific network setup, maybe to different networks, like 192.168.1.0/24 and 192.168.2.0/24, or different VLANs. Two cards allowed him or her to cable the laptop to both networks without a router.
Network speed
Pairing
You can use multiple network interfaces to pair them to gain more speed. However, in normal, 'household' setups this is normally not of any use. You want to use network interface pairing on a server which serves a couple hundred PCs, or maybe on a load balancer with multiple web or database servers behind.
Speed of the single cards
Maybe the onboard NIC is 'only' 100MBit/s fast, and the additional one is 1000MBit/s fast. You can see that
- on a switch, if the switch uses differently coloured lights for 100 and 1000MBit/s
- in the driver's properties in Windows' control panel / hardware
- on the manufacturer's website
Function
You didn't say whether you used the on-board NIC. Maybe it is broken and your friend built the other one in as replacement.
0