Ethernet is the name of a popular packet-switching LAN technology. Ethernet was invented at Xerox PARC in early 1970s. Ethernet was standardized in 1978. It is an extremely popular LAN technology used by several thousand local area networks around the world.
Ethernet uses a single coaxial cable as the transport medium. All hosts in the Ethernet LAN connect to this cable. A sample Ethernet using the bus architecture is shown.
A device called transceiver (abbreviation for transmitter and receiver) is used to establish the connection between a computer and the Ethernet. Physically, a small hole is made in the outer layer of the coaxial cable, so that a transceiver can attach to the medium actually carrying the signals.
The transceiver is responsible for sensing voltages on the cable and interpreting the signals. The transceiver contains analog circuits for interfacing with the cable, and digital circuits for interfacing with the host. Based on the signals on the cable, the transceiver is able to determine when another host is using the cable, i.e. whether the cable is busy. Each host’s Network Interface Card (NIC) controls the operation of its transceiver using the network software inside the host.
At any point of time, the Ethernet bus can be in any of the three states:
The bus is idle, i.e. no host is sending or receiving any message.
The bus carries a legitimate signal, i.e. it is busy.
The bus carries an erratic signal generated by a collision.
The logical organization of the NIC is as shown below:
The following steps are carried out while transmitting a file/message by a host to another host on the bus:
The message is broken into different frames by a higher-level protocol. Each frame has a header and the actual data. The header contains the source address of the computer sending the message, the destination address (i.e the physical address of the NIC) of the computer receiving the message, and a few other fields like CRC, etc.
The frame is sent to the NIC of the source host for transmission to the destination host. This frame is stored in the memory of the NIC.
The NIC now checks the status of the bus with the help of the transceiver and waits endlessly until it finds that the status of the bus is idle, i.e. nobody is sending/receiving any message.
The NIC sends the data bit by bit when it finds that the bus is idle. The hardware of the NIC computes and inserts the CRC in the header of the frame while transmitting the frame.
Let us imagine that two hosts want to use the bus to send the data to their respective destinations. If these two hosts check the status of the bus simultaneously, find it idle and send their respective frames at the same time, there will be a collision. There is a specific way that the Ethernet protocol handles this and recovers from it. We will look at that later.
If there is no collision, the frame along with the header starts travelling to all the nodes. After a very short, finite time, the signal will be all over the bus, as the signal speed is very high. At this juncture, the bus will be busy and any other host checking the status of the bus will be told that the bus is busy. Therefore, all the other hosts will have to wait, thus avoiding collision.
The transceiver of every host receives the signal values from the bus and converts them into bits and sends them bit-by-bit to the NIC of each host.
The bits are stored in the memory of the NIC of the host to form a frame.
The NIC of the host compares the destination address in the frame with its own hardware address. it accepts the frame if the two match. Otherwise, the frame is discarded.
If the frame is meant for itself (i.e. the addresses match), the NIC of the destination host computes the CRC on the bits received again, and compares it with the one received from the header of the frame. A mismatch indicates an error. The NIC discards such a frame. There is no provision for either a positive or negative acknowledgement in Ethernet. The higher layers have to take care of the missing/erroneous frames.
The error-free frames are passed by the NIC to the host at the destination, where they are assembled into a complete message and passed onto the higher layers for further processing.
From this discussion, it should be clear that whereas the transceiver is a relatively simple device, the NIC is not. The NIC includes a complicated piece of software and hardware.
The Ethernet uses the bus topology and has a transmission speed of 10 Mbps. It has the following properties:
Broadcast network Ethernet is a broadcast network because the transceiver of every host receives every transmission from any host on the network. A transceiver does not have any intelligence built in. It simply accepts all the bits of a frame travelling across the Ethernet, and hands them over to its NIC one by one. It is the NIC, which decides if the frame is of any relevance to itself by matching the destination address field in the frame with its own address, and accordingly either accepts, or ignores the frame.
Best-effort delivery The underlying hardware does not provide any information to the source or the sending host if the frame sent by it has successfully reached the destination. For instance, suppose the destination host is down for some reason. Then the sender would not know that this is the case, and would assume that the transmission actually reached the destination. If the upper layers of the software running on the host put together all the frames thus received, the host will find some frames missing or wrongly received. It will then have to request the source to retransmit the messages. The point is: the Ethernet hardware or software do not take care of this. This will be detected only when the higher layers of network protocols at the destination node try to assemble the entire message.