Skip to content

Commit

Permalink
added pointers to third edition beta
Browse files Browse the repository at this point in the history
  • Loading branch information
obonaventure committed Oct 26, 2019
1 parent e5c1f0b commit 0df70d2
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 32 deletions.
4 changes: 2 additions & 2 deletions book-2nd/bibliography.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Bibliography

Whenever possible, the bibliography includes stable hypertext links to the references cited.

.. [IEEE802.11] LAN/MAN Standards Committee of the IEEE Computer Society. `IEEE Standard for Information Technology - Telecommunications and information exchange between systems - local and metropolitan area networks - specific requirements - Part 11 : Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications <http://standards.ieee.org/getieee802/802.11.html>`_. IEEE, 1999.
.. [IEEE802.11] LAN/MAN Standards Committee of the IEEE Computer Society. `IEEE Standard for Information Technology - Telecommunications and information exchang between systems - local and metropolitan area networks - specific requirements - Part 11 : Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications <http://standards.ieee.org/getieee802/802.11.html>`_. IEEE, 1999.
.. [IEEE802.1d] LAN/MAN Standards Committee of the IEEE Computer Society, `IEEE Standard for Local and metropolitan area networks Media Access Control (MAC) Bridges <http://standards.ieee.org/getieee802/download/802.1D-2004.pdf>`_ , IEEE Std 802.1DTM-2004, 2004,
.. [IEEE802.1q] LAN/MAN Standards Committee of the IEEE Computer Society, `IEEE Standard for Local and metropolitan area networks— Virtual Bridged Local Area Networks <http://standards.ieee.org/getieee802/download/802.1Q-2005.pdf>`_, 2005,
.. [IEEE802.2] IEEE 802.2-1998 (ISO/IEC 8802-2:1998), IEEE Standard for Information technology--Telecommunications and information exchange between systems--Local and metropolitan area networks--Specific requirements--Part 2: Logical Link Control. Available from http://standards.ieee.org/getieee802/802.2.html
Expand All @@ -19,7 +19,7 @@ Whenever possible, the bibliography includes stable hypertext links to the refer
.. [AW05] Arlitt, M. and Williamson, C. 2005. `An analysis of TCP reset behaviour on the internet <http://doi.acm.org/10.1145/1052812.1052823>`_. SIGCOMM Comput. Commun. Rev. 35, 1 (Jan. 2005), 37-44.
.. [Abramson1970] Abramson, N., `THE ALOHA SYSTEM: another alternative for computer communications <http://doi.acm.org/10.1145/1478462.1478502>`_. In Proceedings of the November 17-19, 1970, Fall Joint Computer Conference (Houston, Texas, November 17 - 19, 1970). AFIPS '70 (Fall). ACM, New York, NY, 281-285.
.. [B1989] Berners-Lee, T., `Information Management: A Proposal <http://www.w3.org/History/1989/proposal.html>`_, March 1989
.. [Baran] Baran, P., `On distributed communications series`, http://www.rand.org/about/history/baran.list.html,
.. [Baran] Baran, P., `On distributed communications series`, http://www.rand.org/about/history/baran.list.html
.. [BE2007] Biondi, P. and A. Ebalard, `IPv6 Routing Header Security <http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf>`_, CanSecWest Security Conference 2007, April 2007.
.. [BF1995] Bonomi, F. and Fendick, K.W., `The rate-based flow control framework for the available bit rate ATM service <http://dx.doi.org/10.1109/65.372653>`_, IEEE Network, Mar/Apr 1995, Volume: 9, Issue: 2, pages : 25-39
.. [BG1992] Bertsekas, D., Gallager, G., `Data networks <http://books.google.com/books?id=FfpSAAAAMAAJ>`_, second edition, Prentice Hall, 1992
Expand Down
2 changes: 1 addition & 1 deletion book-2nd/exercises/ex-sharing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ To understand congestion control algorithms, it can also be useful to represent
\tikzset{host/.style = {circle, draw, text centered, minimum height=2em}, }
\tikzset{ftable/.style={rectangle, dashed, draw} }
\node[host] (A) {A};
\node[host, right=3 cm of A] (R) {R};
\node[router, right=3 cm of A] (R) {R};
\node[host, right=3 cm of R] (B) {B};
\draw[-] (A) -- node [midway, above] { 3 Mbps} (R);
\draw[-] (R) -- node [midway, above] { 1 Mbps} (B);
Expand Down
44 changes: 36 additions & 8 deletions book-2nd/exercises/network.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. Copyright |copy| 2013 by Olivier Bonaventure
.. Copyright |copy| 2013, 2019 by Olivier Bonaventure
.. This file is licensed under a `creative commons licence <http://creativecommons.org/licenses/by/3.0/>`_
Expand Down Expand Up @@ -66,10 +66,22 @@ Network : Open questions

4. Routing protocols used in data networks only use positive link weights. What would happen with a distance vector routing protocol in the network below that contains a negative link weight ?

.. figure:: ../../book/network/svg/ex-simple.png
:scale: 50

A simple network
.. tikz::
:libs: positioning, matrix, arrows

\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzset{router/.style = {rectangle, draw, text centered, minimum height=2em}, }
\tikzset{host/.style = {circle, draw, text centered, minimum height=2em}, }
\tikzset{ftable/.style={rectangle, dashed, draw} }
\node[router] (R1) { R1 };
\node[router,right=of R1] (R2) {R2};
\node[router,below=of R1] (R3) {R3};
\draw[black] (R1) -- (R2) node [midway, below] {\small{1}};
\draw[black] (R2) -- (R3) node [midway, below] {\small{-3}};
\draw[black] (R1) -- (R3) node [midway, below] {\small{-1}};



5. When a network specialist designs a network, one of the problems that he needs to solve is to set the metrics the links in his network. In the USA, the Abilene network interconnects most of the research labs and universities. The figure below shows the topology of this network in 2009.

Expand All @@ -92,11 +104,27 @@ Network : Open questions

6. In the five nodes network shown below, can you configure the link metrics so that the packets sent by router `E` to router `A` use link `B->A` while the packets sent by router `B` use links `B->D` and `D->A`?

.. figure:: ../../book/network/svg/ex-five-routers.png
:align: center
:scale: 50
.. tikz::
:libs: positioning, matrix, arrows

Simple five nodes network
\tikzstyle{arrow} = [thick,->,>=stealth]
\tikzset{router/.style = {rectangle, draw, text centered, minimum height=2em}, }
\tikzset{host/.style = {circle, draw, text centered, minimum height=2em}, }
\tikzset{ftable/.style={rectangle, dashed, draw} }
\node[router] (R1) { R1 };
\node[router,below right=of R1] (R2) {R2};
\node[router,below left=of R1] (R3) {R3};
\node[router,below=of R2] (R4) {R4};
\node[router,below=of R3] (R5) {R5};
\node[router,below right=of R1] (R2) {R2};
\draw[black] (R1) -- (R2);
\draw[black] (R2) -- (R3);
\draw[black] (R1) -- (R3);
\draw[black] (R2) -- (R4);
\draw[black] (R3) -- (R5);
\draw[black] (R4) -- (R5);



7. In the five nodes network shown above, can you configure the link weights so that the packets sent by router `E` (resp. `F`) follow the `E->B->A` path (resp. `F->D->B->A`) ?

Expand Down
42 changes: 21 additions & 21 deletions book-2nd/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,32 +73,32 @@ Part 1: Principles
.. _part2:

#################
Part 2: Protocols
#################
.. #################
.. Part 2: Protocols
.. #################
.. toctree::
:maxdepth: 4


protocols/transport-service
protocols/dns
protocols/email
protocols/ssh
protocols/http
protocols/rpc
protocols/tls
protocols/dnssec
protocols/transport
protocols/udp
protocols/tcp
protocols/sctp
protocols/congestion
protocols/ipv6
protocols/ipv6b
protocols/routing
protocols/bgp
protocols/lan
.. protocols/transport-service
.. protocols/dns
.. protocols/email
.. protocols/ssh
.. protocols/http
.. protocols/rpc
.. protocols/tls
.. protocols/dnssec
.. protocols/transport
.. protocols/udp
.. protocols/tcp
.. protocols/sctp
.. protocols/congestion
.. protocols/ipv6
.. protocols/ipv6b
.. protocols/routing
.. protocols/bgp
.. protocols/lan
.. application/app-protocols
Expand Down
12 changes: 12 additions & 0 deletions website/mail.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

Mailing Lists
=============

You can subscribe to the following mailing lists to discuss on or be informed about the evolution this project.

- `CNP3 <https://sympa-2.sipr.ucl.ac.be/sympa/info/cnp3>`_: general mailing list about the ebook (open)
- `CNP3-adopters <https://sympa-2.sipr.ucl.ac.be/sympa/info/cnp3-adopters>`_: mailing list for professors who have adopted the ebook for their course (moderated and private)
- `CNP3-blog <https://sympa-2.sipr.ucl.ac.be/sympa/info/cnp3-blog>`_: mailing list where `networking notes <http://blog.computer-networking.info>`_ will be posted on a regular basis (moderated)



20 changes: 20 additions & 0 deletions website/oer.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

Open Educational Resources
==========================


In parallel with the development of the :ref:`Computer Networking : Principles, Protocols and Practice ebook <2nded:toc>` ebook, we have also developed a series of Open Educational Resources which could be useful for professors who teach networking courses. These resources are available from `https://github.com/CNP3 <https://github.com/CNP3>`_ and are briefly described in the paper `Scaling Networking Education with Open Educational Resources <https://arxiv.org>`_ that summarises our experience in developing and using them.

- `https://github.com/cnp3/project-transport-protocol <https://github.com/cnp3/project-transport-protocol>`_ is a student project (written in French, but we hope someone will help to translate it in English) during which students learn to write their own transport protocol. It uses `https://github.com/cnp3/Linksimulator <https://github.com/cnp3/Linksimulator>`_ to simulate losses, errors and reordering on links.
- `https://github.com/cnp3/ipmininet <https://github.com/cnp3/ipmininet>`_ are a set of extensions to Mininet that aid the configuration of IPv6 and routing protocols. Examples are provided in `https://github.com/cnp3/RoutingExamples <https://github.com/cnp3/RoutingExamples>`_
- `https://github.com/cnp3/MCQ <https://github.com/cnp3/MCQ>`_ contains dozens of multiple choice questions
- `https://github.com/cnp3/CampusNetwork <https://github.com/cnp3/CampusNetwork>`_ contains all the information about a six-weeks long project during which the students prepare the next version of our campus network.

We are currently preparing the third edition of the ebook. This new edition will be more interactive and include various types of online exercises hosted on the `INGINious code grading platform <https://www.inginious.org>`_.

- `https://github.com/cnp3/INGInious-problems-network-trace <https://github.com/cnp3/INGInious-problems-network-trace>`_ is an extension to the `INGINious code grading platform <https://www.inginious.org>`_ that enables students to interact with packets by reordering them or filling missing fields. Sample exercises are available from `https://inginious.org/course/cnp3 <https://inginious.org/course/cnp3>`_ . Their source code is available from `https://github.com/cnp3/INGInious-packets <https://github.com/cnp3/INGInious-packets>`_.
- `https://github.com/cnp3/INGInious-C <https://github.com/cnp3/INGInious-C>`_ contains the source code for exercises related to the utilisation of the socket API in C. These exercises can be tested from `https://inginious.org/course/cnp3 <https://inginious.org/course/cnp3>`_
- `https://github.com/cnp3/INGInious-open <https://github.com/cnp3/INGInious-open>`_ contains the source code for exercises that illustrate how open-questions can be written on the `INGINious code grading platform <https://www.inginious.org>`_ . These exercises can be tested from `https://inginious.org/course/cnp3 <https://inginious.org/course/cnp3>`_



0 comments on commit 0df70d2

Please sign in to comment.