1 06-NetworkControl


Previous: 05-Security.html

1.1 Audio-recording

1.2 Extra reading

V1-computer-networking
* https://www.computer-networking.info/1st/html/network/network.html#routing-in-ip-networks

V2-computer-networking
* https://www.computer-networking.info/2nd/html/protocols/routing.html
* https://www.computer-networking.info/2nd/html/protocols/bgp.html

Intronetworks
* http://intronetworks.cs.luc.edu/current2/uhtml/routing.html
* http://intronetworks.cs.luc.edu/current2/uhtml/bigrouting.html

1.3 Routing algorithms

Recall: forwarding versus routing
06-NetworkControl/kurose_ch4_01001.png

1.3.1 Overview

Abstract graph model of a computer network
06-NetworkControl/kurose_ch4_26.png
* Given any two nodes x and y, there are typically many paths between the two nodes, with each path having a cost.
* One or more of these paths is a least-cost path.

1.3.2 Routing protocols

1.3.3 Convergence

https://en.wikipedia.org/wiki/Convergence_(routing)

1.3.4 Scope

https://en.wikipedia.org/wiki/Routing_protocol
How do the various scales of sub-networks and inter-networks share routing tables?
06-NetworkControl/domains.png

Different protocols for inter-domain/AS versus intra-domain/AS routing:
06-NetworkControl/routing-protocols.jpg

1.3.5 Networks of networks

40.000-50,000 AS/domains in the internet today:
See http://bgp.potaroo.net/index-as.html for reports on the evolution of the number of Autonomous Systems over time.

1.3.5.1 Autonomous system (AS)

https://en.wikipedia.org/wiki/Autonomous_system_(Internet)
An autonomous system (AS) is a collection of connected Internet Protocol (IP) routing prefixes under the control of one or more network operators on behalf of a single administrative entity or domain that presents a common, clearly defined routing policy to the internet.

1.3.5.2 Routing domain

https://en.wikipedia.org/wiki/Routing_domain

++++++++++++ Cahoot-6-1

1.4 Algorithm types

Central, distributed, hybrid, and hierarchical:
06-NetworkControl/overview.jpg

06-NetworkControl/Dynamic-Routing-Protocol.png
06-NetworkControl/dynamic-routing-protocols.png

Although there are many types of routing protocols, three major classes are in widespread use on IP networks:

  1. Interior gateway protocols type 1, link-state routing protocols, such as OSPF and IS-IS

  2. Interior gateway protocols type 2, distance-vector routing protocols, such as Routing Information Protocol, RIPv2, IGRP.

  3. Exterior gateway protocols are routing protocols used on the Internet for exchanging routing information between Autonomous Systems, such as Border Gateway Protocol (BGP), Path Vector Routing Protocol.

1.4.1 Distance vector

https://en.wikipedia.org/wiki/Distance-vector_routing_protocol

a distributed routing table building algorithm
06-NetworkControl/dv.jpg

Distance-vector (DV) algorithm
06-NetworkControl/kurose_ch4_28.png

https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm
A very interesting algorithm used for shortest path calculation here.

https://en.wikipedia.org/wiki/Link-state_routing_protocol

a central routing table building algorithm
06-NetworkControl/ls.jpg

Least cost path and forwarding table for nodule u
06-NetworkControl/kurose_ch4_27.png

1.4.3 Hierarchical

A good discussion of why CIDR and hierarchical routing exist at the highest scale of Internet routing:
https://intronetworks.cs.luc.edu/current2/uhtml/bigrouting.html#hierarchical-routing

Hierarchical routing: paths between interconnected autonomous systems (AS)
06-NetworkControl/kurose_ch4_29.png

Autonomous systems (AS) consist of a group of routers typically under the same administrative control

Obtaining reachability information from neighboring ASs and propagating the reachability information to all routers internal to the AS, are handled by the inter-AS routing protocol.

1.4.4 Centralized control (software defined networking)

Classic model: Fascinating and robust distributed algorithm runs on each router:
06-NetworkControl/per-router-control.png

Meh… SDN: Just centralize the computation:
06-NetworkControl/sdn.png

1.5 Internet routing at the global scale

Actual internet algorithms
06-NetworkControl/routing-protocols.jpg

06-NetworkControl/dynamic-routing-protocols.png

++++++++++++ Cahoot-6-2

1.5.1 Interior gateway

https://en.wikipedia.org/wiki/Interior_gateway_protocol

1.5.1.1 Intra-AS RIP

https://en.wikipedia.org/wiki/Routing_Information_Protocol

Distributed: Routing Information Protocol (RIP)

Distributed: Routing Information Protocol (RIP)
06-NetworkControl/kurose_ch4_30.png

The best thing about RIP jokes is that they’re funny 15 more times…

1.5.1.2 Intra-AS OSPF

https://en.wikipedia.org/wiki/Open_Shortest_Path_First

Central algorithm (computed on all routers): Open Shortest Path First (OSPF)

06-NetworkControl/ospf.png

My new OSPF neighbor told me all his jokes, after we said hello to each other.
Then he tells me the whole database of jokes every 30 minutes.

1.5.1.3 Intra-AS IS-IS

https://en.wikipedia.org/wiki/IS-IS

Central algorithm (computed on all routers): Intermediate System to Intermediate System (IS-IS, also written ISIS)

1.5.1.4 Intra-AS EIGRP

https://en.wikipedia.org/wiki/Enhanced_Interior_Gateway_Routing_Protocol

Hybrid/advanced-distributed: Enhanced Interior Gateway Routing Protocol (EIGRP)

1.5.2 Exterior gateway

https://en.wikipedia.org/wiki/Exterior_gateway_protocol

06-NetworkControl/routing-protocols.jpg
06-NetworkControl/dynamic-routing-protocols.png

1.5.2.1 Inter-AS EGP

Here for historical purposes (obsolete)
https://en.wikipedia.org/wiki/Exterior_Gateway_Protocol

1.5.2.2 Inter-AS BGP

https://en.wikipedia.org/wiki/Border_Gateway_Protocol

The strange thing about BGP jokes is that they’re borderline funny but everybody repeats them anyway.

Border Gateway Protocol version 4 (BGP4)
06-NetworkControl/kurose_ch4_31.png

I would tell a BGP joke, but everyone probably already knows it.

BGP provides each A.S. a means to:

  1. Obtain sub-net reachability information from neighboring ASs.
  2. Propagate the reachability information to all routers internal to the AS.
  3. Determine “good” routes to sub-nets based on the reachability information and on AS policy.

Border Gateway Protocol version 4 (BGP4)
06-NetworkControl/kurose_ch4_31.png

1.5.2.3 Politics and money!

06-NetworkControl/inter-as.png
Why is this a sub-heading under Exterior gateway protocols??

1.5.2.3.1 Types of domain
06-NetworkControl/stub-transit-domains.png
1.5.2.3.2 Non-technical routing decisions
1.5.2.3.3 Types of relationship

There are different types of economic relationships that can exist between domains.
Inter-domain routing converts these relationships into peering relationships between domains that are connected via peering links.

  1. customer->provider
  2. shared-cost peering
  3. sibling
  1. the import filter that specifies, for each peering relationship, the routes that can be accepted from the neighboring domain (the non-acceptable routes are ignored and the domain never uses them to forward packets)

  2. the export filter that specifies, for each peering relationship, the routes that can be advertised to the neighboring domain

  3. the ranking algorithm that is used to select the best route among all the routes that the domain has received towards the same destination prefix
    06-NetworkControl/customer2.png

1.6 Which layer does routing use?

Routing protocols, according to the OSI routing framework, are layer management protocols for the network layer, regardless of their transport mechanism:

1.7 Broadcast, multicast, anycast

1.7.1 Broadcast

How to broadcast?
06-NetworkControl/kurose_ch4_32.png

Several possible mechanisms, with pros and cons:

1.7.2 Multicast

1.7.3 Anycast

Next: 07-DataLink.html