All Projects → cnp3 → ebook

cnp3 / ebook

Licence: other
Third edition of the Computer Networking: Principles, Protocols and Practice ebook

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ebook

Cnp3
Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
Stars: ✭ 471 (+635.94%)
Mutual labels:  tcp, ipv6, bgp, udp, ip, smtp
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+237.5%)
Mutual labels:  tcp, bgp, udp, ip
EdgeAdmin
CDN & WAF集群管理系统。
Stars: ✭ 199 (+210.94%)
Mutual labels:  dns, tcp, ipv6, udp
captcp
A open source program for TCP analysis of PCAP files
Stars: ✭ 110 (+71.88%)
Mutual labels:  tcp, ipv6, udp, ip
Libnet
A portable framework for low-level network packet construction
Stars: ✭ 640 (+900%)
Mutual labels:  dns, tcp, bgp, udp
Pytcp
PyTCP is an attempt to create fully functional TCP/IP stack in Python. It supports TCP stream based transport with reliable packet delivery based on sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as user space program attached to Linux TAP interface. As of today stack is able to send and receive traffic over Internet using IPv4 and IPv6 default gateways for routing. Since goal of this project is purely educational (at least at this point) the clarity of code is preferred over its efficiency. For the same reason security features are not being implemented just yet unless they are integral part of TCP/IP suite protocols specification.
Stars: ✭ 65 (+1.56%)
Mutual labels:  tcp, udp, ip
Packetsender
Network utility for sending / receiving TCP, UDP, SSL
Stars: ✭ 1,349 (+2007.81%)
Mutual labels:  tcp, ipv6, udp
Netlink
Socket and Networking Library using msgpack.org[C++11]
Stars: ✭ 197 (+207.81%)
Mutual labels:  tcp, ipv6, udp
http-connection-lifecycle
Complete and detailed explanation of HTTP connection lifecycle
Stars: ✭ 43 (-32.81%)
Mutual labels:  dns, tcp, udp
Nps
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
Stars: ✭ 19,537 (+30426.56%)
Mutual labels:  dns, tcp, udp
Hev Socks5 Server
A simple, lightweight socks5 server for Unix (Linux/BSD/macOS)
Stars: ✭ 33 (-48.44%)
Mutual labels:  dns, tcp, ipv6
Dnsguide
A guide to writing a DNS Server from scratch in Rust
Stars: ✭ 2,226 (+3378.13%)
Mutual labels:  dns, tcp, udp
Yasio
A multi-platform support c++11 library with focus on asio (asynchronous socket I/O) for any client application.
Stars: ✭ 483 (+654.69%)
Mutual labels:  tcp, ipv6, udp
Fi6s
IPv6 network scanner designed to be fast
Stars: ✭ 116 (+81.25%)
Mutual labels:  tcp, ipv6, udp
China Operator Ip
中国运营商IPv4/IPv6地址库-每日更新
Stars: ✭ 1,255 (+1860.94%)
Mutual labels:  ipv6, bgp, ip
masscanned
Let's be scanned. A low-interaction honeypot focused on network scanners and bots. It integrates very well with IVRE to build a self-hosted alternative to GreyNoise.
Stars: ✭ 50 (-21.87%)
Mutual labels:  tcp, ipv6, udp
dperf
dperf is a DPDK based 100Gbps network performance and load testing software.
Stars: ✭ 1,320 (+1962.5%)
Mutual labels:  tcp, ipv6, udp
net-protocol
golang模拟内核协议栈 实现链路层、网络层、传输层、应用层 用户态协议栈 ,基于虚拟网卡TUN/TAP
Stars: ✭ 129 (+101.56%)
Mutual labels:  tcp, ipv6, udp
Aggregator
A stand-alone class implementation of the IPv4+IPv6 IP+CIDR aggregator from CIDRAM.
Stars: ✭ 19 (-70.31%)
Mutual labels:  ipv6, ip
ip
Immutable value object for IPv4 and IPv6 addresses, including helper methods and Doctrine support.
Stars: ✭ 212 (+231.25%)
Mutual labels:  ipv6, ip

Computer Networking : Principles, Protocols and Practice, 3rd Edition

Build Status Translation Status

This is the current version of the third edition of the Computer Networking : Principles, Protocols and Practice open-source ebook.

(c) Olivier Bonaventure, UCLouvain, Belgium https://perso.uclouvain.be/olivier.bonaventure

All the files in this subversion repository are licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

You can find the source files for the two previous editions and their history on https://github.com/obonaventure/cnp3

You can access a build of the interactive e-book through http://beta.computer-networking.info

See BUILD.md if you want to build the e-book yourself.

How to contribute

Contributions to the e-book are more than welcome. We welcome contributions with new or improved text, new or improved figures, new open exercises, new multiple choice questions, ... Here are a few guidelines to help you prepare your contributions to the e-book.

Updating existing sections

This is the simplest way to contribute. If you spot a small error, a typo or would like to clarify a few sentences, feel free to update the text directly on github and create a pull request. When doing so, remember that there are a few guidelines that we try to follow:

  • We use American English spelling. There are automated travis tests that will automatically verify that your pull-request passes the spell check. If not, update your pull request. If you introduce a new word that is not recognized by the standard directory, you can either add it as a spelling directive in the file where is appears (see e.g. the bottom of the bibliography.rst file) or include it in the wordlist.dict file which contains the new words that are used in different files.
  • When citing references, please update the file bibliography.rst. Please use the same style as the one used in the file and add an hyperlink to the paper title that points to a stable URL, e.g. a DOI
  • Make sure that your update builds correctly using sphinx. There are now github actions that check the spelling and then build the pdf, epub and HTML versions of the ebook automatically.

Proposing new sections

If you would like to add several sections or chapters to recover some topics that are important and are missing from the e-book, please start a discussion on the cnp3 mailing list. The e-book evolves over time and we sometime remove sections/chapters as the networking technology evolves. We do not attempt at covering all possible networking technologies.

Updating figures

There is unfortunately some diversity among the figures of the e-book. Some have been drawn using powerpoint, other were drawn using inkscape. If you plan to draw new figures, please try to use tikz or mscgen if possible. Thanks to sphinxcontrib-tikz and sphinxcontrib-mscgen, these figures are written directly in the text, which makes it easier to update them than using graphical drawing tools.

Proposing new translations

If you would like to make the e-book available in a language you are fluent in, please first introduce you by starting a discussion on the cnp3 mailing list. Then, register on Weblate to start translating. The translations are made paragraph per paragraph and can be done collaboratively. They are periodically pushed into the repository via a pull-request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].