Co-author of the book here. Thanks for the comment. I agree, it does seem surprising to miss NAT. I opened an issue (which we will address at some point): https://github.com/SystemsApproach/book/issues/75
Traditional textbooks on networking are so verbose and tedious... often very focused on theory and less helpful for every-day networking.
I would love to see courses based on tools like shadow [1], encouraging a more hands-on learning experience. Network simulators seem pretty cool, but it is hard to benefit from them using the docs alone. With shadow it seems I would be able to run actual software on a simulated network.
My group used to teach Computer Networks at a university ([1] gives a fair overview of the scope if you know Croatian or use a bit of Google Translate). We used CORE and PHP built-in web server [2] for the basic course. IMHO, stuff like Shadow is too overwhelming for the introductory course, but we planned to use it together with ns-3 and SimGrid for the advanced course (which in the end we never got a chance to develop for unrelated reasons).
For something that's supposed to propose a "novel" approach, this sure does stick to the arbitrary definition that network protocols are restricted to time sensitive protocols.
The application layer shouldn't be an after though or a miscellaneous category to which we give almost no attention. The application layer, along with the user, should drive the network.