Physical Layer:  

Ethernet supports a branching bus topology and uses a CSMA-CD (Carrier Sense, Multiple Access with Collision Detection) at the hardware level.

A branching technology means there is no loops; only one way for a packet to travel.

CSMA-CD is like a polite dinner party; no one interrupts each other.
If two computers start talking at the same time, they both stop, wait a bit and then one of them starts talking.

The delay is somewhat random;

If collision
        if attempt is between 0 an 10
                delay 51.2 micro-seconds times a random number between 0 and (2^n - 1)
        if attempt is between 11 and 15
                delay 51.2 micro-seconds times a random number between 0 and 1023
        if attempt is above 15, give up
        (Note: 51.2 microseconds is time required to transmit 512 bits).

 

Hardware:

Network cable (terminated at each end)
a connection to that cable for each host on the net

Each connection requires a tap, a transceiver, a drop cable, and an Ethernet board

Tap -- makes connection to cable
Transceiver -- relays signals on cable to Ethernet board through drop cable.

Details:
 Network cable:
            .5" co-axel cable.
                    Often called 10base5 ("thick")
            .25" co-axel cable with BNC connectors.
                    Often called 10base2 ("thin")
            twisted pair
                    called 10baseT

10base5 cable:

The term 10base5 means "10 megabits/sec, base band cable, 500 meters max length".
So, 10base2 means 10 megabit/sec, base band cable, 200 meters max length"
10baseT indicates twisted pair cable
10baseF is fiber

10base2 cable:

Terminators, connectors, and adapters:

Transceivers and Taps:

Transceiver:     connects a drop cable to network cable,
                        no external power needed
                        takes power from interface board

Tap:     connects transceiver to network cable

Repeaters:

 

              []==[   ]=============================================[]
      terminator    | ^--transceiver    ^--wire                terminator
                    |
                    R <- repeater
                    |
                    |
        ==========[   ]==[] 
                          terminator 
 

10base-T

10base-T systems use concentrators (or "hubs") to make up the network.

Concentrator:
----------------------------------------------
|                                            |
| RJ-45    RJ-45    RJ-45    RJ-45    RJ-45  |
| jack      jack    jack     jack     jack   |
|                                            |
----------------------------------------------

Note: Repeaters can be used to combine 10-base5, 10base2, and 10base-T segments together!
 
 
The Ethernet Protocol 802.3

The 802.3 packets:

Bytes:   7         1       6           6         2     0-1500 0-46    4
      ______________________________________________________________________
     | preamble | sof | dest addr | src addr | length | data | pad | cksum |
      ----------------------------------------------------------------------

Preamble: 7 bytes, each byte containing 10101010

Start of Frame: 1 byte containing 10101011

Destination address: the Ethernet address of the recipient

Source address: the Ethernet address of the sender

Length: indicates the number of bytes in the data field, from 0 to 1500.

BUT, IEEE 802.3 states frames must be at least 64 bytes long, from destination to checksum!
        ......that makes it easier to distinguish good frames from bad ones.

So, the dest addr is 6 bytes, the source addr is 6 bytes, the length is 2 bytes, and the checksum is 4 bytes: total 18 bytes.

So, if data is less than 46 bytes, the "pad" is used to fill out the packet to 64 bytes. - The “pad” can 0's, 1's, or both.
        .......the pad is ignored by the higher layers

The checksum is a 32-bit has code on the entire frame.
        .........more on checksums later.

Because Ethernet 802.3 needs to figure out which software it should pass the packet to (i.e., the TCP/IP software, the OSI software, etc.), it uses the first 8 bytes of the data field.

So, the data field looks as follows:
 
bytes   1           1             1         3         2      38-1492
---------------------------------------------------------------------------
| Destination  | Source      | Control | Org Code | Type | Rest of Data   |
| Service      | Service     |         |          |      |                |
| Access Point |Access Point |         |          |      |                |
---------------------------------------------------------------------------

 Note: the old Ethernet frame is slightly different!

Old Ethernet frame:

Bytes:     7       1        6           6        2    0-1500    4
      _______________________________________________________________
      | preamble | sof | dest addr | src addr | type | data | cksum |
      ---------------------------------------------------------------

If using TCP/IP at higher layers, type can be 0800 for IP, 0806 for ARP, or 0835 for RARP.

Luckily, 0800, 0806, and 0835 are not valid lengths; so newer Ethernet cards can recognize both protocols.

To get the length of the packet, old Ethernet looks at the data to get the length out of the IP header.