Ethernet is a computer networking protocol. In this protocol, all networked computers are connected together by a common wire or channel. When one computer wants to send some information, it follows the following algorithm:
- if the wire is idle, start transmitting, else goto 4
- [transmitting information] if detecting a collision, continue transmitting until the minimum packet time is reached (to ensure that all other transmitters and receivers detect the collision) then go to step 4.
- [end of successful transmission] report success to higher network layers, exit transmit mode.
- [wire is busy ] wait until wire becomes idle
- [wire has just become idle] wait a random time, then goto step 1, unless maximum number of transmission attempts has been exceeded
- [maximum number of transmission attempt exceeded] report failure to higher network layers, exit transmit mode
In practice, this works something like a dinner party, where all the guests use a common medium to speak with one another (the air) and politely wait for each other to finish speaking before speaking themselves. If two guests start speaking at the same time, each stops speaking and waits for a short, random period of time. The hope is that by each choosing a random period of time, both people will not choose the same time to try and speak again, thus avoiding another collision. Exponential back-off is used when there is more than one failed attempt to transmit.
Since all communications happen on the same wire, any information sent by one computer is received by all, even if that information was intended for just one destination. Most Ethernet-connected computers therefore must continually filter out information that is not intended for them. This "one speaks, all listen" property is a security weakness of Ethernet, since a misbehaving node on an Ethernet network can eavesdrop on all traffic on the wire if it so chooses.
Ethernet as a shared medium works well when the level of traffic is low. Since the chance of collision is proportional to the number of transmitters and the data to be sent, the network gets extremely congested above 50% capacity. To resolve this, Ethernet switches have been developed to maximize available bandwidth.
Originally developed in the 1960's for the Alohanet in Hawaii using radio, the scheme was quickly converted to wire systems, as the electronic control system is relatively simple compared to token ring or master controlled networks.
Ethernet uses a system of globally unque addresses called MAC addresses to ensure that all systems in an Ethernet have distinct addresses.
Some common varieties of Ethernet:
- 10base2 (also called ThinNet) -- 50-ohm coaxial cable connects machines together, each machine using a T-adaptor to connect to its NIC. Requires terminators at each end. 10Mbps.
- 10base5 -- the original standard uses a single coaxial cable into which you literally tapped a connection by drilling into the cable to connect to the core and screen
- 10baseT -- runs over 4 wires (two pairs) on a cat-3 or cat-5 cable. A hub or switch sits in the middle and has a port for each node. This is also the configuration used for 100baseT and Gigabit ethernet. 10Mbps
- 100baseTX -- also uses two pair, but requires cat-5 cable. Similar star-shaped configuration to 10baseT. 100Mbps.
- 100baseT -- Another standard for 100Mbps Ethernet. It was not widely adopted, and is no longer in popular use.
- 1000baseT -- 1Gbps over cat-5 copper cabling.
- 1000baseSX -- 1Gbps over fiber.
Mbps = Megabits per second Gbps = Gigabits per second
There is now (2001) work in progress on the standardization of 10-Gigabit Ethernet.
- 10 Gigabit Ethernet Alliance website