Skip to content

Commit 490c203

Browse files
committed
routing TODOs
Signed-off-by: Larry Peterson <llp@cs.princeton.edu>
1 parent b23c560 commit 490c203

3 files changed

Lines changed: 28 additions & 26 deletions

File tree

policy/routingbgp.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
.. index:: IGP: Interior Gateway Protocol
22
.. index:: EGP: Exterior Gateway Protocol
33

4+
.. TODO -- We need to include a sidebar on using BGP for
5+
datacenter fabrics to satisfy a forward reference from Ch 4.
6+
47
|BGP|.2 Sharing Routes and Routing Policy
58
------------------------------------------
69

routing/design.rst

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,20 @@ forwarding tables are built. Routing often depends on a complex
1212
distributed algorithm, and is considered part of the network's
1313
*control plane*.
1414

15-
.. TODO -- Consider whether any of this discussion needs to be
16-
tweaked in light of the Switch vs Router blog post. (Probably not.)
17-
1815
Recall also that there isn't a lot of difference between switches and
19-
routers (no matter how much the vendors of these devices might argue
20-
otherwise). They have a data plane and a control plane, and the
21-
control plane is in charge of putting entries in the forwarding table
22-
so it can be used by the data plane. Historically, switches had a
23-
simpler control plane (based on the spanning tree protocol) and they
24-
only forwarded based on the Ethernet header, but today
25-
there are Ethernet switches that combine traditional switching functions with
26-
those of a router, so it's harder to make a strong distinction.
16+
routers. They both have a data plane and a control plane, with the
17+
control plane in charge of putting entries in the forwarding table so
18+
the data plane can do its job forwarding packets. Historically,
19+
switches and routers were completely distinct: switches forwarded
20+
Ethernet packets based on the destination Ethernet address, routers
21+
forwarded IP packets based on the destination IP address, and each ran
22+
the corresponding control plane algorithm. Today, however, there are
23+
Ethernet switches that combine traditional switching functions with
24+
those of a router, so it's harder to make a strong distinction; it's a
25+
matter of exactly what combination of features the network operator
26+
enables. For the purposes of this chapter, we consider the range of
27+
control plane algorithms used by both switches (spanning tree) and
28+
routers (link-state and distance-vector).
2729

2830
One question we need to ask anytime we try to build a mechanism for
2931
the Internet is how well it scales. The answer for the algorithms and

routing/fabric.rst

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ standard interface between the data and control planes, but it also
4343
advanced the idea of using a centralized control plane to push
4444
forwarding rules to many devices implementing the data plane. A
4545
conceptual picture of an SDN system is shown in :numref:`Figure %s
46-
<fig-sdn>`.
46+
<fig-sdn>`. Note that while the main component depicted in the figure
47+
is often called a *Network Operating System (NOS)* since it serves as
48+
a platform for a set of applications, it is more accurate to view it
49+
as a collection of shared libraries. (It is typically not a true
50+
multi-tenant OS.)
4751

4852
.. _fig-sdn:
4953
.. figure:: routing/figures/sdn.png
@@ -54,10 +58,6 @@ conceptual picture of an SDN system is shown in :numref:`Figure %s
5458
applications and providing a logically centralized point of
5559
control for an underlying network data plane.
5660

57-
.. TODO -- We may want to drop the NOS angle, and just focus
58-
on a single "Control Program". Or at least equate NOS with
59-
"library" and note that it's not multi-tenant.
60-
6161
Centralized control opens up the possibility of rethinking how routing
6262
works in a network. Rather than a fully distributed algorithm of the
6363
sort described in the preceding sections, we now have the option of
@@ -84,7 +84,8 @@ traffic. This problem of mapping a traffic matrix onto a set of links
8484
is hard to solve efficiently in a fully distributed manner;
8585
centralizing it makes the problem much easier. Thus, one of the early
8686
successes of SDN was to solve these *traffic engineering* problems in
87-
the large backbones interconnecting hyperscale datacenters.
87+
the large backbones interconnecting hyperscale datacenters. We
88+
cover this idea more thoroughly in Section |Capacity|.5.
8889

8990
In this section we look at a related example—how to route *within* a
9091
single datacenter—and the specific method we describe is called *segment
@@ -161,10 +162,6 @@ ports in each group without additional control plane involvement.
161162
|Routing|.5.3 Segment Routing
162163
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
163164

164-
.. TODO -- We need to mention other possibilities, including BGP.
165-
This would require a forward reference to the interdomain
166-
routing chapter. (A sidebar in that chapter might make sense.)
167-
168165
Independent of link aggregation, we still need to discover routes
169166
between all the servers. One approach is a routing algorithm called
170167
*Segment Routing (SR)*. The term comes from the idea that the
@@ -239,7 +236,11 @@ implement its forwarding decision.
239236
240237
For a useful overview of one hyperscale data center design that
241238
leverages SDN, we recommend the paper on Google's Jupiter
242-
architecture.
239+
architecture. One thing to note about Jupiter is that it does not use
240+
Segment Routing, but instead adapts BGP to the problem. It does this
241+
not because a datacenter fabric spans multiple autonomous systems, but
242+
because BGP's ability to aggregate routes maps nicely onto the
243+
hierarchical fabric topology. We'll revisit this idea in Chapter |BGP|.
243244

244245
.. admonition:: Further Reading
245246

@@ -248,7 +249,3 @@ architecture.
248249
Software-Defined Networking
249250
<https://doi.org/10.1145/3544216.3544265>`__. ACM SIGCOMM '22 Symposium,
250251
August 2022.
251-
252-
.. TODO -- Could use Jupiter citation as an excuse to mention some
253-
of the more advanced ideas in datacenter backbones; e.g., the use of
254-
passive optical switches.

0 commit comments

Comments
 (0)