Linux Kernel Networking: Implementation and Theory
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won’t burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you’re searching for; you’ll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter.
Linux Kernel Networking is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.
Software developers and architects, project managers, CTOs, network admins and architects, network security professionals, computer science researchers, and Linux kernel hackers. A basic knowledge of C and networking is required; basic knowledge of the Linux kernel is helpful but not mandatory.
Table of contents
- Title Page
- Dedication
- Contents at a Glance
- Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- Preface
- CHAPTER 1: Introduction
- The Linux Network Stack
- The Network Device
- The Linux Kernel Networking Development Model
- Summary
- The Netlink Family
- Generic Netlink Protocol
- Summary
- ICMPv4
- ICMPv6
- ICMP Sockets (“Ping sockets”)
- Summary
- Quick Reference
- IPv4 Header
- IPv4 Initialization
- Receiving IPv4 Packets
- Receiving IPv4 Multicast Packets
- IP Options
- Sending IPv4 Packets
- Fragmentation
- Defragmentation
- Forwarding
- Summary
- Quick Reference
- Forwarding and the FIB
- Performing a Lookup in the Routing Subsystem
- FIB Tables
- ICMPv4 Redirect Message
- Summary
- Quick Reference
- Multicast Routing
- Policy Routing
- Multipath Routing
- Summary
- Quick Reference
- The Neighbouring Subsystem Core
- The ARP protocol (IPv4)
- The NDISC Protocol (IPv6)
- Summary
- Quick Reference
- IPv6 – Short Introduction
- IPv6 Addresses
- IPv6 Header
- Extension Headers
- IPv6 Initialization
- Autoconfiguration
- Receiving IPv6 Packets
- Receiving IPv6 Multicast Packets
- Multicast Listener Discovery (MLD)
- Sending IPv6 Packets
- IPv6 Routing
- Summary
- Quick Reference
- Netfilter Frameworks
- Netfilter Hooks
- Connection Tracking
- Summary
- Quick Reference
- General
- IKE (Internet Key Exchange)
- IPsec and Cryptography
- The XFRM Framework
- ESP Implementation (IPv4)
- Receiving an IPsec Packet (Transport Mode)
- Sending an IPsec Packet (Transport Mode)
- XFRM Lookup
- NAT Traversal in IPsec
- Summary
- Quick Reference
- Sockets
- Creating Sockets
- UDP (User Datagram Protocol)
- TCP (Transmission Control Protocol)
- SCTP (Stream Control Transmission Protocol)
- DCCP: The Datagram Congestion Control Protocol
- Summary
- Quick Reference
- Mac80211 Subsystem
- The 802.11 MAC Header
- The Other 802.11 MAC Header Members
- Network Topologies
- Power Save Mode
- The Management Layer (MLME)
- Mac80211 Implementation
- High Throughput (ieee802.11n)
- Mesh Networking (802.11s)
- Linux Wireless Development Process
- Summary
- Quick Reference
- RDMA and InfiniBand—General
- RDMA Resources
- Summary
- Quick Reference
- Network Namespaces
- Cgroups
- Busy Poll Sockets
- The Linux Bluetooth Subsystem
- IEEE 802.15.4 and 6LoWPAN
- Near Field Communication (NFC)
- Notifications Chains
- The PCI Subsystem
- Teaming Network Device
- The PPPoE Protocol
- PPPoE Header
- Android
- Summary
- Quick Reference
- The sk_buff Structure
- The net_device structure
- RDMA (Remote DMA)
- RDMA Device
- Protection Domain (PD)
- eXtended Reliable Connected (XRC)
- Shared Receive Queue (SRQ)
- Address Handle (AH)
- Multicast Groups
- Completion Queue (CQ)
- Queue Pair (QP)
- Memory Windows (MW)
- Memory Region (MR)
- arp
- arping
- arptables
- arpwatch
- ApacheBench (ab)
- brctl
- conntrack-tools
- crtools
- ebtables
- ether-wake
- ethtool
- git
- hciconfig
- hcidump
- hcitool
- ifconifg
- ifenslave
- iperf
- iproute2
- iptables and iptables6
- ipvsadm
- iw
- iwconfig
- libreswan Project
- l2ping
- lowpan-tools
- lshw
- lscpu
- lspci
- mrouted
- nc
- ngrep
- netperf
- netsniff-ng
- netstat
- nmap (Network Mapper)
- openswan
- OpenVPN
- packeth
- ping
- pimd
- poptop
- ppp
- pktgen
- radvd
- route
- RP-PPPoE
- sar
- smcroute
- snort
- suricata
- strongSwan
- sysctl
- taskset
- tcpdump
- top
- tracepath
- traceroute
- tshark
- tunctl
- udevadm
- unshare
- vconfig
- wpa_supplicant
- wireshark
- XORP
Product information
- Title: Linux Kernel Networking: Implementation and Theory
- Author(s): Rami Rosen
- Release date: December 2013
- Publisher(s): Apress
- ISBN: 9781430261964
Linux Kernel Networking: Implementation and Theory
Linux Kernel Networking: Implementation and Theory takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won’t burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you’re searching for; you’ll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter.
Linux Kernel Networking: Implementation and Theory is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.
What youll learn
- Kernel networking basics, including socket buffers
- How key protocols like ARP, Neighbour Discovery and ICMP are implemented
- In-depth looks at both IPv4 and IPv6
- Everything you need to know about Linux routing
- How netfilter and IPsec are implemented
- Linux wireless networking
- Additional topics like Network Namespaces, NFC, IEEE 802.15.4, Bluetooth, InfiniBand and more
Who this book is for
Software developers and architects, project managers, CTOs, network admins and architects, network security professionals, computer science researchers, and Linux kernel hackers. A basic knowledge of C and networking is required; basic knowledge of the Linux kernel is helpful but not mandatory.
Table of Contents
Chapter 1. Introduction
Chapter 2. Netlink Sockets
Chapter 3. ICMP: Internet Control Message Protocol
Chapter 4. IPv4
Chapter 5. The IPv4 Routing Subsystem
Chapter 6. Advanced Routing
Chapter 7. Linux Neighboring Subsystem
Chapter 8. IPv6
Chapter 9. Netfilter
Chapter 10. IPsec
Chapter 11. Layer 4 Protocols
Chapter 12. Wireless in Linux
Chapter 13. InfiniBand
Chapter 14. Advanced Topics
Appendix A: Linux API
Appendix B: Network Administration
Appendix C: GlossaryLinux Kernel Networking: Implementation and Theory
Description
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won’t burden you with topics not directly related to networking. This book will also not overload you with cumbersome line-by-line code walkthroughs not directly related to what you’re searching for; you’ll find just what you need, with in-depth explanations in each chapter and a quick reference at the end of each chapter.Linux Kernel Networking is the only up-to-date reference guide to understanding how networking is implemented, and it will be indispensable in years to come since so many devices now use Linux or operating systems based on Linux, like Android, and since Linux is so prevalent in the data center arena, including Linux-based virtualization technologies like Xen and KVM.
Related Torrents
Location
Trackers
Tracker name udp://tracker.coppersurfer.tk:80/announce udp://tracker.pirateparty.gr:6969/announce udp://tracker.internetwarriors.net:1337/announce udp://tracker.opentrackr.org:1337/announce udp://9.rarbg.to:2730/announce udp://9.rarbg.to:2740/announce udp://9.rarbg.to:2720/announce udp://9.rarbg.to:2710/announce udp://9.rarbg.me:2740/announce udp://9.rarbg.me:2770/announce udp://9.rarbg.me:2710/announce udp://tracker.leechers-paradise.org:6969/announce udp://tracker.torrent.eu.org:451 udp://IPv6.open-internet.nl:6969/announce udp://p4p.arenabg.ch:1337/announce udp://denis.stalker.upeer.me:1337/announce udp://shadowshq.yi.org:6969/announce udp://eddie4.nl:6969/announce udp://tracker.mg64.net:6969/announce udp://inferno.demonoid.pw:3418/announce udp://tracker.cyberia.is:6969/announce udp://tracker.zer0day.to:1337/announce udp://asnet.pw:2710/announce udp://ipv6.tracker.harry.lu:80/announce udp://glotorrents.pw:6969/announce udp://tracker.torrent.eu.org:451/announce udp://tracker.port443.xyz:6969/announce udp://open.demonii.si:1337/announce udp://tracker.qt.is:6969/announce udp://9.rarbg.to:2770/announce udp://9.rarbg.me:2730/announce udp://tracker.ds.is:6969/announce udp://exodus.desync.com:6969/announce udp://tracker.tiny-vps.com:6969/announce udp://tracker.justseed.it:1337/announce udp://tracker.coppersurfer.tk:6969/announce udp://thetracker.org:80/announce udp://tracker.vanitycore.co:6969/announce udp://tracker.cypherpunks.ru:6969/announce udp://ipv4.tracker.harry.lu:80/announce udp://tracker.open-internet.nl:6969/announce udp://public.popcorn-tracker.org:6969/announce udp://tracker.0o.is:6969/announce udp://tracker.trackerfix.com:80/announce udp://bt.xxx-tracker.com:2710/announce udp://open.stealth.si:80/announce http://share.camoe.cn:8080/announce https://open.acgnxtracker.com:443/announce http://tracker.tfile.co:80/announce http://retracker.spb.ru:80/announce http://open.acgnxtracker.com/announce http://bt.acg.gg:1578/announce http://tracker3.itzmx.com:8080/announce udp://tracker.acg.gg:2710/announce