- Understanding Linux Network Internals
- Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?
- Comparative evaluation of the recent Linux and Solaris kernel architectures
- NXG03-6: Design and Implementation of Split TCP in the Linux Kernel
- Low-Latency Linux Drivers for Ethernet over High-Speed Networks
- Performance Analysis of Packet Receiving Process in Linux Kernel
- The internals of advanced interrupt handling techniques: Performance optimization of an embedded Linux network interface
- Scouting the Path to a Million-Client Server
- A study of networking software induced latency
- Benvenuti C. Understanding Linux Network Internals
- See also
- Kerrisk Michael. The Linux Programming Interface
- Love R. Linux Kernel Development (3rd Edition)
- Love R. Linux System Programming: Talking Directly to the Kernel and C Library
- Mauerer W. Professional Linux Kernel Architecture
- Stevens W.R. Advanced Programming in the UNIX Environment + source code
- Ward B. How Linux Works: What Every Superuser Should Know
- Understanding Linux
- Related Books:
- Understanding the Linux Kernel
- Understanding the Linux Kernel
- Understanding the LINUX Kernel
Understanding Linux Network Internals
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, and since Linux is so prevalent in the data center arena. Expand
Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?
This paper presents a case contrary to the belief that software routers based on commodity operating systems cannot deliver high-speed packet processing, and presents Kafe—a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. Expand
Comparative evaluation of the recent Linux and Solaris kernel architectures
The paper concludes that both the Linux and the OpenSolaris kernel can offer robust and powerful computing environments both at the server application areas and as well at the desktop and workstation ones. Expand
NXG03-6: Design and Implementation of Split TCP in the Linux Kernel
The main contributions of the work are the design and implementation of «Split TCP» using Netfilter Hooks in the Linux kernel, and the use of IP over IP for transport. Expand
Low-Latency Linux Drivers for Ethernet over High-Speed Networks
This article presents two drivers for Linux that fill the gap in compatibility with a wide range of interconnects by offering an Ethernet and with that an IP interface and shows that ETHOS and ETHOM with InfiniBand, SCI, or DX offer a twoto threefold increase in communication performance over Gigabit Ethernet. Expand
Performance Analysis of Packet Receiving Process in Linux Kernel
In this paper, the packet receiving process in Linux kernel is analyzed only including physical layer and data link layer and the receive packet steering and receive flow steering introduced in Linux Kernel 2.6.35 are studied. Expand
The internals of advanced interrupt handling techniques: Performance optimization of an embedded Linux network interface
Scouting the Path to a Million-Client Server
This work defines two broad categories of problems; namely, admitting more packets into the network stack than can be handled efficiently, and increasing per-packet overhead within the stack, and shows that these problems contribute to high CPU usage and network performance degradation in terms of aggregate throughput and RTT. Expand
A study of networking software induced latency
A simulation model in ns-3 for packet processing via the Linux network stack that helps understanding of its performance implications and validate the simulation model based on measurements with nanosecond accuracy and software profiling. Expand
Benvenuti C. Understanding Linux Network Internals
O’Reilly, 2006 — 1066 p.
If you’ve ever wondered how Linux carries out the complicated tasks assigned to it by the IP protocols — or if you just want to learn about modern networking through real-life examples — Understanding Linux Network Internals is for you.
Like the popular O’Reilly book, Understanding the Linux Kernel, this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn a great deal from this text about the protocols themselves and their uses. And if you already have a base knowledge of C, you can use the book’s code walkthroughs to figure out exactly what this sophisticated part of the Linux kernel is doing.
Part of the difficulty in understanding networks — and implementing them — is that the tasks are broken up and performed at many different times by different pieces of code. One of the strengths of this book is to integrate the pieces and reveal the relationships between far-flung functions and data structures. Understanding Linux Network Internals is both a big-picture discussion and a no-nonsense guide to the details of Linux networking. Topics include:
Key problems with networking
Network interface card (NIC) device drivers
System initialization
Layer 2 (link-layer) tasks and implementation
Layer 3 (IPv4) tasks and implementation
Neighbor infrastructure and protocols (ARP)
Bridging
Routing
ICMP
Author Christian Benvenuti, an operating system designer specializing in networking, explains much more than how Linux code works. He shows the purposes of major networking features and the trade-offs involved in choosing one solution over another. A large number of flowcharts and other diagrams enhance the book’s understandability.
See also
Kerrisk Michael. The Linux Programming Interface
No Starch Press, 2010. — 1548 p. — ISBN: 1593272200. The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface — the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library.
Love R. Linux Kernel Development (3rd Edition)
Paperback: 440 p. Publisher: Addison-Wesley Professional; 3 edition (July 2, 2010). Language: English. ISBN10: 0672329468. ISBN13: 978-0672329463. Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better.
Love R. Linux System Programming: Talking Directly to the Kernel and C Library
2nd ed. — O’Reilly Media, 2013. — 456 p. — ISBN: 1449339530, 9781449339531. Write software that draws directly on services offered by the Linux kernel and core system libraries. With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing.
Mauerer W. Professional Linux Kernel Architecture
Wrox, 2008. — 1368 p. — ISBN10: 0470343435; ISBN13: 978-0470343432. Find an introduction to the architecture, concepts and algorithms of the Linux kernel in Professional Linux Kernel Architecture, a guide to the kernel sources and large number of connections among subsystems. Find an introduction to the relevant structures and functions exported by the kernel to userland.
Stevens W.R. Advanced Programming in the UNIX Environment + source code
3rd edition: Addison-Wesley, 2013 — 1024 p. ISBN10: 0321637739 ISBN13: 978-0321637734 For more than twenty years, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens’ Advanced Programming in the UNIX Environment . Now, once again, Rich’s colleague Steve Rago has.
Ward B. How Linux Works: What Every Superuser Should Know
No Starch Press, 2014. — 338 p. — 2nd ed. — ISBN: 9781593275679 Unlike some operating systems, Linux doesn’t try to hide the important bits from you — it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does. In this completely revised second.
Understanding Linux
If you’ve ever wondered how Linux carries out the complicated tasks assigned to it by the IP protocols — or if you just want to learn about modern networking through real-life examples — Understanding Linux Network Internals is for you. Like the popular O’Reilly book, Understanding the Linux Kernel, this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn a great deal from this text about the protocols themselves and their uses. And if you already have a base knowledge of C, you can use the book’s code walkthroughs to figure out exactly what this sophisticated part of the Linux kernel is doing. Part of the difficulty in understanding networks — and implementing them — is that the tasks are broken up and performed at many different times by different pieces of code. One of the strengths of this book is to integrate the pieces and reveal the relationships between far-flung functions and data structures. Understanding Linux Network Internals is both a big-picture discussion and a no-nonsense guide to the details of Linux networking. Topics include:Key problems with networking Network interface card (NIC) device drivers System initialization Layer 2 (link-layer) tasks and implementation Layer 3 (IPv4) tasks and implementation Neighbor infrastructure and protocols (ARP) Bridging Routing ICMP Author Christian Benvenuti, an operating system designer specializing in networking, explains much more than how Linux code works. He shows the purposes of major networking features and the trade-offs involved in choosing one solution over another. A large number of flowcharts and other diagrams enhance the book’s understandability.
Related Books:
Understanding the Linux Kernel
To thoroughly understand what makes Linux tick and why it’s so efficient, you need to delve deep into the heart of the operating system—into the Linux kernel itself. The kernel is Linux—in the case of the Linux operating system, it’s the only bit of software to which the term «Linux» applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency.The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used .
Understanding the Linux Kernel
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn’t kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, alg.
Understanding the LINUX Kernel
From I/O Ports to Process Management
Why is Linux so efficient? Is it the right operating system for a particular application? What can be learned from looking at the kernel source code? These are the kinds of questions that Understanding the Linux Kernel takes in stride in this guided tour of the code that forms the core of all Linux operating systems.Linux is presented too often as a casual hacker experiment. It has increasingly become not only a mission-critical part of many organizations, but a sophisticated display of programming skill. It incorporates many advanced operating system concepts and has proven itself extremely robust and efficient for a wide range of uses.Understanding the Linux Kernel helps readers understand how Linux performs best and how it meets the challenge of d.