Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Logo of CS4People

The Taub Faculty of Computer Science Events and Talks

Haifux, Haifa Linux Club: Sockets in the Linux Kernel
event speaker icon
Rami Rosen
event date icon
Monday, 17.08.2009, 18:30
event location icon
Taub 6
We will focus in this lecture about Linux Kernel sockets. Specifically, we will deal with the implementation the following sockets in the Linux kernel:
UDP socket.
Raw sockets.
Unix Domain sockets.
Netlink sockets.

We will describe the mechanism of sending and receiveing packets with these types of kernel sockets, demonstrating it with short user space applications. We will also deal with Control Messages (aka "ancillary data") and demonstrate retrieving/setting data with Control Messages. We will also demonstrate and its usage with these sockets. We will discuss socket options and how to set and retrieve kernel socket options from user space, with examples. We will give a short example of UDP socket receiving data in asynchronous mode. We will discuss how raw sockets are used in the familiar "ping" and "traceroute" utils. We will discuss the usage of domain sockets as an IPC (Inter process communication) mechanism. We will discuss netlink sockets as a messaging subsystem between kernel and userspace, and demonstrate this mechanism.