The Network Layer: Andrew S. Tanenbaum Computer Networks Fourth Edition PP. 343-396
The Network Layer: Andrew S. Tanenbaum Computer Networks Fourth Edition PP. 343-396
The Network Layer: Andrew S. Tanenbaum Computer Networks Fourth Edition PP. 343-396
(Week 9)
826501 CN&DC 1
Dr.Refik Samet
5.1. NETWORK LAYER DESIGN ISSUES
5.2. ROUTING ALGORITHMS
5.3. CONGESTION CONTROL
ALGORITHMS
5.4. QUALITY OF SERVICE
5.5. INTERNETWORKING
5.6. THE NETWORK LAYER IN THE
INTERNET
5.7. SUMMARY
826501 CN&DC 2
Dr.Refik Samet
PREVIOUS LAYERS
826501 CN&DC 7
Dr.Refik Samet
5.1. Network Layer Design Issues (2)
826501 CN&DC 8
Dr.Refik Samet
5.1. Network Layer Design Issues (3)
1. Store-and-Forward Packet Switching (1)
• Let us restate the context in which the
network layer protocols operate.
826501 CN&DC 9
Dr.Refik Samet
5.1. Network Layer Design Issues (4)
1.Store-and-Forward Packet Switching (2)
fig 5-1
826501 CN&DC 11
Dr.Refik Samet
5.1. Network Layer Design Issues (6)
1.Store-and-Forward Packet Switching (4)
• Then it is forwarded to the next router
along the path until it reaches the
destination host, where it is delivered.
• This mechanism is store-and-forward
packet switching, as we have seen in
previous chapters.
826501 CN&DC 12
Dr.Refik Samet
5.1. Network Layer Design Issues (7)
2.Services Provided to the Transport Layer (1)
• The network layer provides services to the
transport layer at the network
layer/transport layer interface.
• An important question is what kind of
services the network layer provides to the
transport layer.
• The network layer services have been
designed with the following goals in mind.
826501 CN&DC 13
Dr.Refik Samet
5.1. Network Layer Design Issues (8)
2.Services Provided to the Transport Layer (2)
a) The services should be independent of the
router technology.
b) The transport layer should be shielded from
the number, type, and topology of the
routers present.
c) The network addresses made available to
the transport layer should use a uniform
numbering plan, even across LANs and
WANs. 826501 CN&DC 14
Dr.Refik Samet
5.1. Network Layer Design Issues (9)
2.Services Provided to the Transport Layer (3)
•The discussion centers on whether the
network layer should provide connection-
oriented service or connectionless service.
•Internet community’s opinion: the routers’ job
is moving packets around and nothing else.
The subnet is inherently unreliable. Therefore,
the hosts should accept the fact that the
network is unreliable and do error control and
flow control themselves.
826501 CN&DC 15
Dr.Refik Samet
5.1. Network Layer Design Issues (10)
2.Services Provided to the Transport Layer (4)
•This viewpoint leads quickly to the
conclusion that the network service should be
connectionless, with primitives SEND
PACKET and RECEIVE PACKET.
•Furthermore, each packet must carry the full
destination address, because each packet sent
is carried independently of its predecessors, if
any.
826501 CN&DC 16
Dr.Refik Samet
5.1. Network Layer Design Issues (11)
2.Services Provided to the Transport Layer (5)
•Telephone companies’ opinion: the subnet
should provide a reliable, connection-
oriented service.
•In this view, quality of service is the
dominant factor, and without connections in
the subnet, quality of service is very difficult
to achieve, especially for real-time traffic
such as voice and video.
826501 CN&DC 17
Dr.Refik Samet
5.1. Network Layer Design Issues (12)
2.Services Provided to the Transport Layer (6)
•The Internet offers connectionless network-
layer service.
•ATM networks offer connection-oriented
network-layer service.
•However, it is interesting to note that as
quality-of-service guarantees are becoming
more and more important, the Internet is
evolving.
826501 CN&DC 18
Dr.Refik Samet
5.1. Network Layer Design Issues (13)
3. Implementation of Connectionless Service (1)
•If connectionless service is offered, packets
are injected into the subnet individually and
routed independently of each other.
•In this context, the packets are frequently
called datagrams and the subnet is called a
datagram subnet.
826501 CN&DC 19
Dr.Refik Samet
5.1. Network Layer Design Issues (14)
3.Implementation of Connectionless Service (2)
5-4
826501 CN&DC 28
Dr.Refik Samet
5.2 Routing Algorithms (1)
• The main function of NL (Network
Layer) is routing packets from the source
machine to the destination machine.
• The algorithms that choose the routes and
the data structures that they use are a
major area of network layer design.
• The routing algorithm is that part of the
NL software responsible for deciding
which output line an incoming packet
should be transmitted on.
826501 CN&DC 29
Dr.Refik Samet
5.2 Routing Algorithms (2)
• There are two processes inside router:
a) One of them handles each packet as it
arrives, looking up the outgoing line to
use for it in the routing table. This
process is forwarding.
b) The other process is responsible for
filling in and updating the routing tables.
That is where the routing algorithm
comes into play. This process is routing.
826501 CN&DC 30
Dr.Refik Samet
5.2 Routing Algorithms (3)
• Regardless of whether routes are chosen
independently for each packet or only
when new connections are established,
certain properties are desirable in a
routing algorithm:
• correctness, simplicity,
• robustness, stability,
• fairness, and optimality.
826501 CN&DC 31
Dr.Refik Samet
5.2 Routing Algorithms (4)
• Correctness and simplicity hardly require
coment.
• Robustness: the routing algorith should
be able to cope with changes in topology
and traffic without requiring all jobs in all
hosts to be aborted and the network to be
rebooted every time some router crashes.
826501 CN&DC 32
Dr.Refik Samet
5.2 Routing Algorithms (5)
• Stability is also an important goal for the
routing algorithm. A stable algorithm
reaches equilibrium and stays there.
• Fairness and optimality may sound
obvious – surely no reasonable person
would oppose them – but as it turn out,
they are often contradictory goals.
826501 CN&DC 33
Dr.Refik Samet
5.2 Routing Algorithms (6)
826501 CN&DC 41
Dr.Refik Samet
5.2 Routing Algorithms (14)
Shortest Path Routing (2)
5-8 top
5-8
bottom
826501 CN&DC 56
Dr.Refik Samet
5.2 Routing Algorithms (29)
Link State Routing (3)
Each router must do the following:
1. Discover its neighbors, learn their network
address.
2. Measure the delay or cost to each of its
neighbors.
3. Construct a packet telling all it has just
learned.
4. Send this packet to all other routers.
5. Compute the shortest path to every other
router. 826501 CN&DC 57
Dr.Refik Samet
5.2 Routing Algorithms (30)
Link State Routing (4)
Learning about the Neighbors
(a) A subnet. (b) The link state packets for this subnet.
826501 CN&DC 60
Dr.Refik Samet
5.2 Routing Algorithms (33)
Link State Routing (7)
Distributing the Link State Packets
826501 CN&DC 62
Dr.Refik Samet
5.2 Routing Algorithms (35)
Hierarchical Routing
Hierarchical routing.
826501 CN&DC 63
Dr.Refik Samet
5.2 Routing Algorithms (36)
Broadcast Routing
Reverse path forwarding. (a) A subnet. (b) a Sink tree. (c) The
tree built by reverse path forwarding.
826501 CN&DC 64
Dr.Refik Samet
5.2 Routing Algorithms (37)
Multicast Routing
826501 CN&DC 70
Dr.Refik Samet
5.2 Routing Algorithms (43)
Route Discovery (3)
826501 CN&DC 71
Dr.Refik Samet
5.2 Routing Algorithms (44)
Route Maintenance
826501 CN&DC 72
Dr.Refik Samet
5.2 Routing Algorithms (45)
Node Lookup in Peer-to-Peer Networks
826501 CN&DC 74
Dr.Refik Samet
5.3. Congestion Control Algorithms (2)
Congestion
826501 CN&DC 77
Dr.Refik Samet
5.3. Congestion Control Algorithms (5)
General Principles of Congestion Control
1. Monitor the system .
– detect when and where congestion occurs.
2. Pass information to where action can be taken.
3. Adjust system operation to correct the problem.
826501 CN&DC 78
Dr.Refik Samet
5.3. Congestion Control Algorithms (6)
Congestion Prevention Policies
5-26