Chapter 5: The Network Layer
Network Layer: is concerned with getting packets from the source all the way to destination. The
network layer is the lowest layer that deals with end to end transmissions.
5.1: Network Layer Design Issues
5.1.1: Store and Forward Packet Switching
-The major components of the network are the ISPs equipment (routers connected by transmission
Store-and-Forward Packet Switching: a host with a packet to send transmits it to the nearest router,
either on its own LAN or over a point to point link to the ISP. The packet is stored there until it has fully
arrived and the link has finished its processing by verifying the checksum. Then it is forwarded to the
next router along the path until it reaches the destination host, where it is delivered.
5:1:2: Services Provided to the Transport Layer
-The network layer provides services to the transport layer at the network layer/transport layer
-The services should be independent of the router technology, the transport layer should be shielded
from the number, type, and topology of the routers present, and the network address made available to
the transport layer should use a uniform numbering plan, even across LANs and WANs.
5:1:3: Implementation of Connectionless Services (Internet)
-IF connectionless services are offered, packets are injected into the network individually and routed
independently of each other; no setup is needed. The packets are frequently called datagram’s and the
network is called a datagram network. If a connection-oriented service is used, a path from the source
router all the way to the destination router must be established before any data packets can be sent.
This connection is called a VC (virtual circuit) and the network is called a virtual circuit network.
-Every router has an internal table telling it where to send packets for each of the possible destinations.
Each table entry is a pair consisting of a destination and the outgoing line to use for that destination.
Only directly connected lines can be used. The algorithm that manages the tables and makes the routing
decisions is called the routing algorithm.
-IP (Internet Protocol) which is the basis of the entire Internet is the dominant example of a
connectionless network services. Each packet carries a destination IP address that routers use to
individually forward each packet. The addresses are 32 bits in IPv4 packets and 128 bits in IPv6 packets.
5.1.4: Implementation of Connection-Oriented Services (Telephone)
-For connection oriented services, we need a virtual circuit network. The idea behind virtual circuits is to
avoid having to choose a new route for every packet sent. Instead, when a connection is established, a
route from the sources machine to the destination is chosen as part of the connection setup and stored
in tables inside the routers. That route is used for all traffic flowing over the connection. When the
connection is released, the virtual circuit is also terminated. With connection-oriented services, each
packet carries an identifier telling which virtual circuit it belongs to.
Label Switching: Router A assigns a different connection identifier to the outgoing traffic for the second
connection. Avoiding conflicts of this kind is why routers need the ability to replace connection
identifiers in outgoing packets.
MultiProtocol Label Switching (MPLS): used within ISP networks in the Internet, with IP packets
wrapped in an MPLS header having a 20 bit connection identifier or label. MPLS is often hidden from
customers, with the ISP establishing long term connections for large amount of traffic, but it is
increasingly being used to help when quality of service is important but also with other ISP traffic
5.1.5: Comparison of Virtual Circuit and Datagram Networks
-Virtual circuits have some advantages in guaranteeing the quality of service and avoiding congestion
within the network because resources (buggers, bandwidth, and CPU cycles) can be reserved in advance.
But they also have a vulnerability problem; if a router crashes and loses its memory, even if it comes
back a second later, all the virtual circuits passing through it will have to be aborted. If a datagram
router goes down, only those users whose packets were queued in the router at the time needed to
5.2: Routing Algorithm
Routing Algorithm: is that part of the network layer software responsible for deciding which output line
an incoming packet should be transmitted on.
Session Routing: a route remains in force for an entire session (while logged in over a VPN)
Forwarding: handles each packet as it arrives, looking up the outgoing line to use for it in the routing
-Router also is responsible for filling in and updating the routing tables (algorithm comes into play)
Routing algorithms can be grouped into two major classes: nonadaptive and adaptive:
Nonadaptive Algorithms/Static Routing: do not base their routing decisions on any measurements or
estimates of the current topology and traffic. Instead, the choice of the route to use to get from I to J is
computed in advance, offline, and downloaded to the routers when the network is booted.
Adaptive Algorithms/Dynamic Routing: change their routing decisions to reflect changes in the
topology and sometimes traffic as well. They differ in where they get their information (locally from
adjacent routers or from all routers), when they change the routes, and what metric is used for
5.2.6: Hierarchical Routing
-As networks grow in size, the router routing tables grow proportionately. It may grow to a point where
it is no longer feasible for every router to have an entry for every other router, so the routing will have
to be done hierarchically. When hierarchical routing is used, the routers are divided into regions. Each
router knows all the details about how to route packets to destinations within its own region but
nothing about the internal structure of other regions. For huge networks, it may be okay to group the
regions into clusters, clusters into zones, etc.