Computer Networks
Computer networks exist to enable communication and resource sharing between computers. Therefore, it is the technology behind the whole internet.
You can imagine computer communication as a regular communication between humans. While talking, we are simply generating a series of sound waves by using our mouth and these generated sound waves propagates over the space and the person that are listening to us feels these vibrations generated by your sound waves with his or her ear and the brain of the second person interprets it and converts the complex incoming signal into a meaningful sentence. Here, there are two sides: the talking person which we will call transmitter or transmitting part and the listening person which we call receiver or receiving part. Communication between the transmitter and receiver happens with the help of sound waves and these sound waves propagates through the air. In other words, we need a physical material to transfer our messages or sound waves. We will call these physical environments as mediums.
Also, as you can imagine that there are different kinds of communications. For instance;
- a monolog is a type of communication that only one person talks and the other one listens.
- a dialog is a type of communication that both participants talks with each other.
- a polylog is a type of communication involving more than two participants.
Interestingly, each term that we have discussed has a an equivalent or similar term in computer communication. If the direction of communication is only one-way we call these unidirectional communication channels and we call these type of physical mediums simplex. On the other hand, if it is possible transmit and receive from a single channel then we call them bidirectional communication channels and we call these type of physical mediums duplex. There are two types of duplex communication:
- Half-duplex communication is a duplex communication where two parties can not transmit at the same time.
- Full-duplex communication is a duplex communication where two parties can transmit at the same time without any collision.
Lets look at some examples;
USB is an half-duplex communication channel, because it uses only 4 pins to communicate with a device and two of them are used for powering the device and two of them is used for data transfer (We call them D+ and D- differential pairs). How these differential pairs works like a single line for this reason, it is impossible to transmit data by both parties at the same time.
On the other hand, Ethernet is a full-duplex communication channel and it has 4 pins also (for 100Mbit version). However, there is no power line in Ethernet, and there are two differential lines for communication which we call TX and RX. We can use TX line to transmit and RX line to receive at the same time, for this reason it is possible to transmit a message at the sime time for two parties.