Ans :
When protocols are implemented for computer communication, we encounter some
challenges due to the infrastructure and machines used in computer network may not be
compatible and aligned with one another. The concept of Internetworking though, highly
desirable, is not easily achievable. Let us see one simple example to understand the
compatibility problem, any two networks, cannot directly communicate by connecting a
wire between the networks. For example, one network could represent a binary 0 by-5
volts, another by +5 volts. Similarly, one could use a packet size of 128 bytes, whereas
other could use 256 byte packets. The method of acknowledgement or error detection
could be different. There could be many such differences. The incompatibility issues
are handled at two levels:
i) Hardware Issues
At the hardware level, an additional component called router is used to connect
physically distinct networks. A router connects to the network in the same way as any
other computer. Any computer connected to the network has a Network Interface Card
(NIC), which has the address (network id+ host id), hard coded into it. A router is a
device with more than one NICs. Router can connect incompatible networks as it has the
necessary hardware (NIC) and protocols.
ii) Software Issues
The routers must agree about the way information would be transmitted to the
destination computer on a different network, since the information is likely to travel
through different routers, there must be a predefined standard to which routers must
confirm. Packet formats and addressing mechanism used by the networks may differ.
One approach could be to perform conversion and reconversion corresponding to
different networks. But this approach is difficult and cumbersome. Therefore, the
Internet communication follows one protocol suite, the TCP/IP. The basic idea is that it
defines a packet size, routing algorithms, error control, flow control methods
universally.
It would be unwise to club all these features in a single piece of software ─ it would
make it very bulky. Therefore, all these features are logically sub-grouped and then the
sub-groups are further grouped into groups called layers. Each layer has an interface
with the adjacent layers, and performs specific functions.