| Both sides previous revision Previous revision | |
| docs:guide-developer:networking:start [2018/12/12 11:30] – [Netfilter] link updated tmomas | docs:guide-developer:networking:start [2021/08/10 18:03] (current) – update links, formatting vgaetera |
|---|
| ====== Networking ====== | ====== Networking ====== |
| |
| ===== Theory ===== | ===== Theory ===== |
| |
| ==== Networking... is packet based ==== | ==== Networking... is packet based ==== |
| | Information (data) is broken into packets prior to being transported to its destination(s). |
| Information (data) is broken into packets prior to being transported to its destination(s). [[docs:guide-developer:networking:theory|read more...]] | [[docs:guide-developer:networking:theory|read more...]] |
| |
| ===== Praxis ===== | ===== Praxis ===== |
| | ==== Networking in the Linux kernel === |
| | Above we read merely about the theory of networking, about the basic ideas, about communication protocols and standards. |
| | [[docs:guide-developer:networking:praxis|read more...]] |
| |
| ==== Networking in the Linux Kernel === | ===== Network interfaces ===== |
| | |
| Above we read merely about the theory of networking, about the basic ideas, about communication protocols and standards. [[docs:guide-developer:networking:praxis|read more...]] | |
| | |
| ===== Network Interfaces ===== | |
| ==== Types of network interfaces ==== | ==== Types of network interfaces ==== |
| | GNU/Linux universally distinguishes two types of network interfaces: |
| GNU/Linux universally distinguishes two types of network interfaces: [[docs:guide-developer:networking:network.interfaces|read more...]] | [[docs:guide-developer:networking:network.interfaces|read more...]] |
| |
| ===== Applications ===== | ===== Applications ===== |
| ==== Routing ==== | ==== Routing ==== |
| | Routing is the process of selecting paths in a network along which to send network traffic. |
| Routing is the process of selecting paths in a network along which to send network traffic. [[docs:guide-user:network:routing|read more...]] | [[docs:guide-user:network:routing:start|read more...]] |
| |
| ==== Netfilter ==== | ==== Netfilter ==== |
| | Well, let's consider what you already know, that data communication, that is, the exchange and transfer of information, or data, takes place in chunks and not as a continuous flow. |
| Well, let's consider what you already know, that data communication, that is, the exchange and transfer of information, or data, takes place in chunks and not as a continuous flow. [[docs:guide-user:firewall:netfilter_iptables:netfilter_openwrt|read more...]] | [[docs:guide-user:firewall:netfilter_iptables:netfilter_openwrt|read more...]] |
| |
| You find the sources for this functionality ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/netfilter|/net/netfilter]]'' | You find the sources for this functionality ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/netfilter|/net/netfilter]]'' |
| |
| ==== Traffic Control ==== | ==== Traffic control ==== |
| Traffic Control is the umbrella term for packet prioritizing, traffic shaping, bandwidth limiting, AQM (Active Queue Management), etc. [[docs:guide-user:network:traffic-shaping:packet.scheduler|read more...]] | Traffic control is the umbrella term for packet prioritizing, traffic shaping, bandwidth limiting, AQM (Active Queue Management), etc. |
| | [[docs:guide-user:network:traffic-shaping:packet.scheduler|read more...]] |
| |
| You find the sources for this functionality ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/sched|/net/sched/]]'' | You find the sources for this functionality ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/sched|/net/sched/]]'' |
| |
| * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/netlink|/net/netlink]]'' | * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/netlink|/net/netlink]]'' |
| * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/atm|/net/atm]]'' | * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/atm|/net/atm]]'' |
| * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/wimax|/net/wimax]]'' | * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/wimax|/net/wimax]]'' |
| * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/phonet|/net/phonet]]'' | * ''[[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/phonet|/net/phonet]]'' |
| | |