Skip to content

Commit

Permalink
CUBIC first draft
Browse files Browse the repository at this point in the history
  • Loading branch information
obonaventure committed Apr 4, 2024
1 parent be29a78 commit 7a3b53a
Show file tree
Hide file tree
Showing 108 changed files with 193 additions and 102 deletions.
2 changes: 1 addition & 1 deletion exercises/ex-sharing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ In general, the links have a non-zero delay. This is illustrated in the figure b
Discussion questions
====================

.. spelling::
.. spelling:word-list::
slotTime

Expand Down
6 changes: 3 additions & 3 deletions exercises/ipv6.rst
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ What do you think about the proposed configuration?

Assign IP subnets to all links in this network so that you can reduce the number of entries in the forwarding tables of all routers. Assume that you have received a ``/56`` prefix that you can use as you want. Each subnet containing a host must be allocated a ``/64`` subnet.

.. spelling::
.. spelling:word-list::
namespace
namespaces
Expand Down Expand Up @@ -647,7 +647,7 @@ The same can be done for the three links between the different routers.
With these IP prefixes and the network topology, we can now use IPMininet_ to create the topology and assign the addresses.

.. spelling::
.. spelling:word-list::
addDaemon
StaticRoute
Expand Down Expand Up @@ -752,7 +752,7 @@ The ``links`` command lists the links that have been instantiated and shows that
r3-eth2<->b-eth0 (OK OK)
mininet>
.. spelling::
.. spelling:word-list::
inet
inet6
Expand Down
5 changes: 3 additions & 2 deletions exercises/lan.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.. Copyright |copy| 2013,2019 by Justin Vellemans, Florentin Rochet, David Lebrun, Juan Antonio Cordero, Olivier Bonaventure
.. Copyright |copy| 2013,2019 by Justin Vellemans, Florentin Rochet,
David Lebrun, Juan Antonio Cordero, Olivier Bonaventure
.. This file is licensed under a `creative commons licence <http://creativecommons.org/licenses/by/3.0/>`_
Local Area Networks: The Spanning Tree Protocol and Virtual LANs
Expand Down Expand Up @@ -69,7 +70,7 @@ Exercises

Fig. 3. Host `H0` performs a traceroute towards its peer `H1` through a network composed of switches and routers

.. spelling::
.. spelling:word-list::
versa

Expand Down
6 changes: 3 additions & 3 deletions exercises/routing-protocols.rst
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ Besides :manpage:`ping6(8)` and :manpage:`traceroute6(8)`, it is also useful to
Password:
.. spelling::
.. spelling:word-list::
Quagga

Expand Down Expand Up @@ -678,7 +678,7 @@ A useful command to start is `show bgp summary` which provides a summary of the
Total number of neighbors 2
.. spelling::
.. spelling:word-list::
Keepalive

Expand Down Expand Up @@ -803,7 +803,7 @@ This router (`as1`) has two BGP neighbors: ``2001:cafe:1:12::2`` and ``2001:cafe
Read thread: on Write thread: on
.. spelling::
.. spelling:word-list::
BGP
Loc
Expand Down
4 changes: 2 additions & 2 deletions exercises/tcp-2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -869,15 +869,15 @@ Unless otherwise noted, we assume for the questions in this section that the fol

.. rubric:: Footnotes

.. spelling::
.. spelling:word-list::
manpage

.. [#fsysctl] On Linux, most of the parameters to tune the TCP stack are accessible via :manpage:`sysctl`. These parameters are briefly described in https://github.com/torvalds/linux/blob/master/Documentation/networking/ip-sysctl.rst and in the :manpage:`tcp` manpage. Each script sets some of these configuration variables.
.. spelling::
.. spelling:word-list::
virtualbox

Expand Down
4 changes: 2 additions & 2 deletions exercises/trace.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ As an illustration, let us use tcpdump_ to analyze the packets exchanged while e
The ``-6`` parameter passed to curl_ forces the utilization of IPv6. curl_ returns an HTML page that indicates that https must be used instead of http to access this web site.

.. spelling::
.. spelling:word-list::
lookups

Expand Down Expand Up @@ -87,7 +87,7 @@ wireshark_ is more recent than tcpdump_. It evolved from the ethereal packet tra

Wireshark : default window

.. spelling::
.. spelling:word-list::
wireshark

Expand Down
Binary file modified pkt/80211-cts.pdf
Binary file not shown.
Binary file modified pkt/80211-cts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/80211-rts.pdf
Binary file not shown.
Binary file modified pkt/80211-rts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/80211.pdf
Binary file not shown.
Binary file modified pkt/80211.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/8021q.pdf
Binary file not shown.
Binary file modified pkt/8021q.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/8025.pdf
Binary file not shown.
Binary file modified pkt/8025.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/bnf.pdf
Binary file not shown.
Binary file modified pkt/bnf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/dns-bnf.pdf
Binary file not shown.
Binary file modified pkt/dns-bnf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/dns6-www-ietf-org.pdf
Binary file not shown.
Binary file modified pkt/dns6-www-ietf-org.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/dnsheader.pdf
Binary file not shown.
Binary file modified pkt/dnsheader.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/dnsrr.pdf
Binary file not shown.
Binary file modified pkt/dnsrr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ethernet-8023.pdf
Binary file not shown.
Binary file modified pkt/ethernet-8023.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ethernet-dix.pdf
Binary file not shown.
Binary file modified pkt/ethernet-dix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/http2-frame.pdf
Binary file not shown.
Binary file modified pkt/http2-frame.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/icmpv6.pdf
Binary file not shown.
Binary file modified pkt/icmpv6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ip-80211.pdf
Binary file not shown.
Binary file modified pkt/ip-80211.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6-fragment.pdf
Binary file not shown.
Binary file modified pkt/ipv6-fragment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6-hbh.pdf
Binary file not shown.
Binary file modified pkt/ipv6-hbh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6-routing-0.pdf
Binary file not shown.
Binary file modified pkt/ipv6-routing-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6-sctp.pdf
Binary file not shown.
Binary file modified pkt/ipv6-sctp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6-tcp.pdf
Binary file not shown.
Binary file modified pkt/ipv6-tcp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ipv6.pdf
Binary file not shown.
Binary file modified pkt/ipv6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/macaddr-eui64.pdf
Binary file not shown.
Binary file modified pkt/macaddr-eui64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/macaddr.pdf
Binary file not shown.
Binary file modified pkt/macaddr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/message.pdf
Binary file not shown.
Binary file modified pkt/message.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/ppp.pdf
Binary file not shown.
Binary file modified pkt/ppp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified pkt/rip-route-entry-v6.pdf
Binary file not shown.
Binary file modified pkt/rip-route-entry-v6.png
Binary file modified pkt/ripng.pdf
Binary file not shown.
Binary file modified pkt/ripng.png
Binary file modified pkt/router-adv.pdf
Binary file not shown.
Binary file modified pkt/router-adv.png
Binary file modified pkt/router-prefix.pdf
Binary file not shown.
Binary file modified pkt/router-prefix.png
Binary file modified pkt/smtp-bnf.pdf
Binary file not shown.
Binary file modified pkt/smtp-bnf.png
Binary file modified pkt/smtp-response.pdf
Binary file not shown.
Binary file modified pkt/smtp-response.png
Binary file modified pkt/tcp-enc.pdf
Binary file not shown.
Binary file modified pkt/tcp-enc.png
Binary file modified pkt/tcp.pdf
Binary file not shown.
Binary file modified pkt/tcp.png
Binary file modified pkt/token-ring.pdf
Binary file not shown.
Binary file modified pkt/token-ring.png
Binary file modified pkt/udp.pdf
Binary file not shown.
Binary file modified pkt/udp.png
Binary file modified pkt/xdr-array.pdf
Binary file not shown.
Binary file modified pkt/xdr-array.png
Binary file modified pkt/xdr-double.pdf
Binary file not shown.
Binary file modified pkt/xdr-double.png
Binary file modified pkt/xdr-integer-64.pdf
Binary file not shown.
Binary file modified pkt/xdr-integer-64.png
Binary file modified pkt/xdr-integer.pdf
Binary file not shown.
Binary file modified pkt/xdr-integer.png
Binary file modified pkt/xdr-string.pdf
Binary file not shown.
Binary file modified pkt/xdr-string.png
2 changes: 1 addition & 1 deletion principles/naming.rst
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ Names provide a lot of flexibility compared to addresses. For the network, they
.. [#frootv6] Until February 2008, the root DNS servers only had IPv4 addresses. IPv6 addresses were slowly added to the root DNS servers to avoid creating problems as discussed in http://www.icann.org/en/committees/security/sac018.pdf As of February 2021, there remain a few DNS root servers that are still not reachable using IPv6. The full list is available at http://www.root-servers.org/
.. spelling::
.. spelling:word-list::
subdomains

Expand Down
2 changes: 1 addition & 1 deletion principles/network.rst
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,7 @@ In this section, we discuss the main techniques that can be used to maintain the
.. include:: /principles/linkstate.rst


.. spelling::
.. spelling:word-list::
broadcasted
pre
Expand Down
6 changes: 3 additions & 3 deletions principles/reliability.rst
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ Some headers also include a `length` field, which indicates the total length of

The simplest error detection scheme is the checksum. A checksum is basically an arithmetic sum of all the bytes that a frame is composed of. There are different types of checksums. For example, an eight bit checksum can be computed as the arithmetic sum of all the bytes of (both the header and trailer of) the frame. The checksum is computed by the sender before sending the frame and the receiver verifies the checksum upon frame reception. The receiver discards frames received with an invalid checksum. Checksums can be easily implemented in software, but their error detection capabilities are limited. Cyclical Redundancy Checks (CRC) have better error detection capabilities [SGP98]_, but require more CPU when implemented in software.

.. spelling::
.. spelling:word-list::

png

Expand Down Expand Up @@ -835,7 +835,7 @@ In practice, as the frame header includes an `n` bits field to encode the sequen
:align: center
:scale: 60

Utilisation of the sliding window with modulo arithmetic
Utilization of the sliding window with modulo arithmetic

.. index:: go-back-n

Expand Down Expand Up @@ -1056,7 +1056,7 @@ Reliable protocols often need to send data in both directions. To reduce the ove

.. .. [#fmsl] As we will see in the next chapter, the Internet does not strictly enforce this MSL. However, it is reasonable to expect that most packets on the Internet will not remain in the network during more than 2 minutes. There are a few exceptions to this rule, such as :rfc:`1149` whose implementation is described in http://www.blug.linux.no/rfc1149/ but there are few real links supporting :rfc:`1149` in the Internet.

.. spelling::
.. spelling:word-list::

multi
Multi
Expand Down
16 changes: 8 additions & 8 deletions principles/security.rst
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ As will be described later, the best approach to prevent this type of attack
is to rely on cryptographic techniques to ensure that passwords are never
sent in clear.

.. spelling::
.. spelling:word-list::
Snowden

Expand Down Expand Up @@ -270,7 +270,7 @@ a French cryptographer who first documented it :
`A cryptographic algorithm should be secure even if the attacker knows
everything about the system, except one parameter known as the secret key.`

.. spelling::
.. spelling:word-list::
Auguste
Kerckhoff
Expand All @@ -280,7 +280,7 @@ This principle is important because it remains the basic assumption of all
cryptographers. Any system that relies on the secrecy of its algorithm
to be considered secure is doomed to fail and be broken one day.

.. spelling::
.. spelling:word-list::
Vernam

Expand Down Expand Up @@ -345,7 +345,7 @@ deployed. The most popular ones are :
the correct one.


.. spelling::
.. spelling:word-list::
Daemen
Rijmen
Expand Down Expand Up @@ -384,7 +384,7 @@ Alice (resp. Bob) uses the keys :math:`A_{priv}` and :math:`A_{pub}` (resp.
Bob computes :math:`CM=E_p(A_{pub},M)` and Alice can decrypt it by using
:math:`D_p(A_{priv},CM)=D_p(A_{priv},E_p(A_{pub},M))=M`.

.. spelling::
.. spelling:word-list::
Rivest
Shamir
Expand Down Expand Up @@ -426,7 +426,7 @@ suffer from the same problem.
.. wikipedia illustration is nice https://en.wikipedia.org/wiki/MD5
.. spelling::
.. spelling:word-list::
summarization

Expand Down Expand Up @@ -563,7 +563,7 @@ millions of passwords.

.. index:: hash chain

.. spelling::
.. spelling:word-list::
Lamport

Expand Down Expand Up @@ -912,7 +912,7 @@ will be used by the secret key encryption scheme.
Key exchange
^^^^^^^^^^^^

.. spelling::
.. spelling:word-list::
Diffie
Hellman
Expand Down
2 changes: 1 addition & 1 deletion principles/sharing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ Based on the feedback received from the network, the hosts can adjust their tran

Another way to share the network resources is to distribute the load across multiple links. Many techniques have been designed to spread the load over the network. As an illustration, let us briefly consider how the load can be shared when accessing some content. Consider a large and popular file such as the image of a Linux distribution or the upgrade of a commercial operating system that will be downloaded by many users. There are many ways to distribute this large file. A naive solution is to place one copy of the file on a server and allow all users to download this file from the server. If the file is popular and millions of users want to download it, the server will quickly become overloaded. There are two classes of solutions that can be used to serve a large number of users. A first approach is to store the file on servers whose name is known by the clients. Before retrieving the file, each client will query the name service to obtain the address of the server. If the file is available from many servers, the name service can provide different addresses to different clients. This will automatically spread the load since different clients will download the file from different servers. Most large content providers use such a solution to distribute large files or videos.

.. spelling::
.. spelling:word-list::
bittorrent
metadata
Expand Down
2 changes: 1 addition & 1 deletion principles/transport.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ An `application-level protocol` is similar to a structured conversation between
- Alice : `Thank you`
- Bob : `You're welcome`

.. spelling::
.. spelling:word-list::
Tchang

Expand Down
8 changes: 4 additions & 4 deletions protocols/bgp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Domains need to be interconnected to allow a host inside a domain to exchange IP

Interconnection of two domains via a private peering link

.. spelling::
.. spelling:word-list::
eXchange

Expand Down Expand Up @@ -151,7 +151,7 @@ From a conceptual point of view, a BGP router connected to `N` BGP peers, can be
Organization of a BGP router


.. spelling::
.. spelling:word-list::
dataplane

Expand Down Expand Up @@ -247,7 +247,7 @@ When a BGP message is received, the router first applies the peer's `import filt
return bgpMsg
.. spelling::
.. spelling:word-list::
bogon
bogons
Expand Down Expand Up @@ -453,7 +453,7 @@ Based on these studies and [ATLAS2009]_, the AS-level Internet topology can be s

The domains on the Internet can be divided in about four categories according to their role and their position in the AS-level topology.

.. spelling::
.. spelling:word-list::
Proximus

Expand Down
Loading

0 comments on commit 7a3b53a

Please sign in to comment.