07. Introduction to Routing

Network Layer Overview

Names of data units:

Responsibilities of layers:

Layering: each layer takes data from above, adds header information then passes the new data unit to the layer before.

Possible services of a general network layer:

The internet network layer, IPv4 guarantees none of these.

Routing Overview

Routing is a network-wide process that determines the end-to-end paths packets take from source to destination.

The network needs to work out the path from the sending to receiving router automatically in an dynamic environment.

A router uses its routing table to forward a packet to some output link.

The router’s switch fabric - the physical architecture of the router, varies. Some implementations put the network interfaces/line cards close to the CPU to decrease processing times. The cross bar architecture is used to more quickly forward packets to outgoing interfaces.

Hierarchical Overview

There are inter-AS and intra-AS routing algorithms, where AS stands for an autonomous system.

Each ISP is an AS, and some corporations and universities are also ASs.

Each AS is a set of routers and networks managed by a single organization. The routers exchange information via a common routing protocol - the intra routing protocol.

The only inter-AS routing protocol is that is used is BGP. The RIP and OSFP protocols are the two main intra-AS routing protocols. All three are load-insensitive.

There are three types of AS:

Forwarding vs Routing

Forwarding and routing are two independent processes.

Routing determines the path to take:

Forwarding transfers packets hop-by-hop:

The forwarding table:

Classification of Routing Algorithms

Routing algorithms solves a routing problem with ideal assumptions. Routing protocols embeds a routing algorithm in a real network environment; it operates in a distributed environment and can work around failure cases.

Classifications

Static/dynamic

Static algorithms change very slowly over time, mostly due to human intervention.

Dynamic algorithms re-compute routes in response to topology or traffic changes. The computation may occur periodically or in response to changes.

Global/Decentralized

Global algorithms assumes each node has global knowledge/state information on the network.

Decentralized algorithms assume no node has complete state information about the network and exchange information with their neighbors.

Load-sensitive/-insensitive

Load-sensitive algorithms assume link costs vary dynamically depending on the level of congestion in the link.

Internet routing protocols such as RIP, OSPF and BGP are load-insensitive and assign a static cost to each link.