# Web Science/Part1: Foundations of the web/Internet Architecture/Ethernet/Communication over a shared Medium/Script

Why Ethernet protocol was developed?

Let’s assume that we have one or more computers that want to communicate. The key is a shared medium. They want to exchange information. As we all know the smallest node of information is 1 bit. So what we can do is to put this 1 bit to the voltage cable in order to transfer.

But if you do this, some problems will arise:

- VOLTAGE TIME

How long do you have to put voltage on the cable?

If you just start putting the voltage on the cable, there will be electromagnetic waves starting to transfer proper data through the cable. The question is how long do you have to do this that others can measure this?

- SENDER

Who is actually a sender of the data?

Let’s imagine 3 computers: A, B and C. We assume that A sends a bit of data. At some point of time B and C receive the data. But the question is who send the data? You can’t figure this out.

- RECIPIENT

Who is the recipient of the data?

If A transfers data then B and C might not know if this data is actually for them.

- TRANSERING SIMULTANIOUSLY

Who is supposed to use medium?

A starts transferring some data then at some point of time B also starts transferring some data. What we have is that C receives corrupted data.

- IS DATA CORRUPT?

The data might get corrupted while being in the cable due to some external events. For example, if cell phone is close to the cable the electromagnetic waves might cause a change. Participants should figure this out.

In order to solve this problem the Ethernet protocol was developed.

So what Ethernet can do is:

• SYNCHRONIZE TIME INTERVALS

Let’s assume computer A sends data at 10 Mbits/s. And computer C has interface that allows 100 Mbits/s. Ethernet as the protocol will be able to synchronize the clocks between these 2 devices.

• SPECIFY RECIPIENT AND SENDER

If A wants to send data for C then B will know that this data is not for him (while C will know that it’s for him).

• DETECT CORRUPTED DATA

If data gets corrupted for some reason then computer C will first see that the data is corrupted.

• DETECT COLLISIONS If A and B starts to transfer data at the same point of time they know that something went wrong and C will receive corrupted data(because it’s overload by 2 packages).

(via a comment by) --Jane Kruch