Analyse why networking software is divided into layers, and evaluate the advantages and disadvantages of such a division.

Authors Avatar

0100430

Assignment IC311A – TCP/IP and OSI Networking

In this essay I intend to analyse why networking software is divided into layers, and to evaluate the advantages and disadvantages of such a division. I will then go on to analyse what the main differences between the networking protocols known as OSI and TCP/IP are. I will also attempt to analyse what factors led to their successes and failures respectively in terms of their diffusion into the technology sector. However, before we can discuss this, we must first be sure that we are aware of the meanings of terms such as networks, network architecture, protocols, and distributed networks/systems so I will begin by defining these phrases.

Essentially, a network is the connection of two or more computers for the purpose of data communication and resource sharing. “…the formal definition of a network could be given as a number of interconnected devices capable of communicating and sharing each other’s resources” (Bandyo-padhyway, 2000:157) As can be seen from the above quote, networking offers organisations a wealth of benefits. “A network enables an organization to centralize its computer system and allows users to access the facilities of a large computer system via desktop computers.” (Bandyo-padhyway, 2000:157) It could be said that network architecture is, in theory, a model for the set-up of a network. “To help deal with this complexity, network designers have developed general blueprints – usually called a network architecture – that guide the design and implementation of networks.” (Peterson & Davie, 1996:29) Protocols, in the networking sense, could be considered as sets of rules or procedures that control how a message is sent from sender to receiver and all the factors involved in this process. “A protocol is a set of rules or conventions which govern the way a message is transmitted from the sender to the receiver passing through a number of steps and via a number of network elements.” (Bandyo-padhyway, 2000:178) Finally, a distributed network/system is where the tasks to be to be performed are distributed among a number of small PC’s that are coordinated by a larger central computer. (Bandyo-padhyway, 2000:173)

Having defined the aforementioned basic technological terms, I can now go on to my analysis of the reasons why networking software is divided into layers. The primary reason is that having separate distinctive layers reduces design complexity. By this, I mean having different layers means certain operations and tasks that must be carried out, can be carried out in a simple and organised order, rather than all at the same time. “First, it decomposes the problem of building a network into more manageable components.” (Peterson & Davie, 1996:30) Layering allows for changes to be made at a specific layer, as a result of new ideas/innovation, and will not disrupt the software at other levels. “Second, it provides a more modular design. If you decide that you want to add some new service, you may only need to modify the functionality at one layer, re-using the functions provided at all the other layers.” (Peterson & Davie, 1996:30) This means that “it accommodates incremental changes more readily.” () Another advantage of layering is that details of how the lower level services are implemented are shielded from the higher levels, allowing the higher levels to function more efficiently. This can be seen, from a more technological point of view, in the following quote. “Many times there are multiple abstractions provided at any given level of the system, each providing a different service to the higher layers but building on the same low-level abstractions.” (Peterson & Davie, 1996:30) A final advantage of layering is that as a result of the different types of layers, making it so different types of translations can take place; different types of hardware are enabled to communicate.

Join now!

Having looked at the advantages of layering, I will now spend some time discussing its disadvantages. “Some functions (like FDDI station management) really need to access and operate at multiple layers.” (courses.cs.vt.edu/~cs5516/spring03/ slides/introduction_6.pdf) As the above quote displays, one disadvantage is since the software is split up into layers, functions will operate at one level at a time, where as some functions have the necessity to operate at several layers. “Poorly conceived layers can lead to awkward and complex interfaces.” (courses.cs.vt.edu/~cs5516/spring03/ slides/introduction_6.pdf) This quote shows us that unless a large amount of thought and work goes into each individual layer, then ...

This is a preview of the whole essay