Sunday 27 July 2014

Functions of the OSI MODEL - Network Layer

Network Layer
The basic purpose of the network layer is to provide an end-to-end communication capability in contrast to machine-to-machine communication provided by the data link layer. This end-to-end is performed using two basic approaches known as connection-oriented or connectionless network-layer services.
1.2.4.3.1 Four issues:
1. Interface between the host and the network (the network layer is typically the boundary between the host and subnet)
2. Routing
3. Congestion and deadlock
4. Internetworking (A path may traverse different network technologies (e.g., Ethernet, point-to-point links, etc.)
1.2.4.3.2 Network Layer Interface
There are two basic approaches used for sending packets, which is a group of bits that includes data plus source and destination addresses, from node to node called virtual circuit and datagram methods. These are also referred to as connection-oriented and connectionless network-layer services. In virtual circuit approach, a route, which consists of logical connection, is first established between two users. During this establishment phase, the two users not only agree to set up a connection between them but also decide upon the quality of service to be associated with the connection. The well-known virtual-circuit protocol is the ISO and CCITT X.25 specification. The datagram is a self-contained message unit, which contains sufficient information for routing from the source node to the destination node without dependence on previous message interchanges between them. In contrast to the virtual-circuit method, where a fixed path is explicitly set up before message transmission, sequentially transmitted messages can follow completely different paths. The datagram method is analogous to the postal system and the virtual-circuit method is analogous to the telephone system.
1.2.4.3.3 Overview of Other Network Layer Issues:
The network layer is responsible for routing packets from the source to destination. The routing algorithm is the piece of software that decides where a packet goes next (e.g., which output line, or which node on a broadcast channel).
For connectionless networks, the routing decision is made for each datagram. For connection-oriented networks, the decision is made once, at circuit setup time.

Routing Issues:
The routing algorithm must deal with the following issues:

Correctness and simplicity: networks are never taken down; individual parts (e.g., links, routers) may fail, but the whole network should not.

Stability: if a link or router fails, how much time elapses before the remaining routers recognize the topology change? (Some never do.)

Fairness and optimality: an inherently intractable problem. Definition of optimality usually doesn't consider fairness. Do we want to maximize channel usage? Minimize average delay?
When we look at routing in detail, we'll consider both adaptive--those that take current traffic and topology into consideration--and non-adaptive algorithms.
1.2.4.3.4 Congestion The network layer also must deal with congestion:

When more packets enter an area than can be processed, delays increase and performance decreases. If the situation continues, the subnet may have no alternative but to discard packets.

If the delay increases, the sender may (incorrectly) retransmit, making a bad situation even worse.

Overall, performance degrades because the network is using (wasting) resources processing packets that eventually get discarded.
1.2.4.3.5 Internetworking Finally, when we consider internetworking -- connecting different network technologies together -- one finds the same problems, only worse:

Packets may travel through many different networks

Each network may have a different frame format

Some networks may be connectionless, other connection oriented
1.2.4.3.6 Routing
Routing is concerned with the question: Which line should router J use when forwarding a packet to router K?
There are two types of algorithms:

Adaptive algorithms use such dynamic information as current topology, load, delay, etc. to select routes.

In non-adaptive algorithms, routes never change once initial routes have been selected. Also called static routing.
Obviously, adaptive algorithms are more interesting, as non-adaptive algorithms don't even make an attempt to handle failed links.

No comments:

Post a Comment