source: me using FTP to copy a file over a 100Mbit connection, then extrapolating for other speeds.
therefore, the observed ~10% overhead is due to a combination of: ethernet, IP, and FTP.
crappy rule of thumb: "divide megabits-per-second by 10 to get megabytes-per-second"
meta: how would I figure this all out on my own?
like [imperative] programming, we can try to figure out what steps are needed to reach our goal and how each step works:
[for our own sake:] what's the simplest way you can connect to the Internet?
Wi-Fi: magic microwaves in the air. networks are only distinguished from each other by their name, encryption, and microwave frequency channel
wired: you plug one end of a cable into a network thing and the other end into your PC
let's use wired
you plug in a cable into a network thing, then plug the other end into your PC. what happens? your PC 'connects' to the wired network
how does the PC connect? the PC uses DHCP
what does DHCP do? it sets up your IP configuration
what is IP? a protocol for computers to talk to each other
what is an IP configuration? it's info that DHCP gives your PC
a unique address for your PC to use on this network
a subnet mask that allows your PC and other machines to figure out what addresses are part of this network and what addresses are part of other networks
a unique address for the gateway
an address for a DNS server
what is an address? it's a unique ID that a machine on this network has. think of it like your home address. it lets the network know what machine your PC is trying to communicate with
what is a gateway? it's a middleman between this network and other networks (usually the "other networks" is the Internet)
what is a DNS server? it's a machine that translates human-friendlier names like google.com to addresses
now that your PC is set up on this network, how can it talk to other machines on this network?
it sends out messages to another machine's address
how can it talk to other machines on other networks?
if the destination address doesn't match the subnet mask, the PC sends the message to the gateway's address. the gateway then forwards the messages on to the other networks