Database Reference
In-Depth Information
Receive
buffers
Application
layer
Send buffers
Socket buffers
Socket
Socket buffers
TCP
UDP
TCP
UDP
Protocol layer
MTU Compliance
Receive queue
IP layer
MTU enforcement
Demuxer
Demultiplexer
Send
queue
Receive queue
Device Driver
Switch
Wire / switch
Figure 9-2. Network layer kernel functions
At the receiving node, network interface receives the frames, copies the packets into a buffer, and raises a softirq 2
to the CPU. After raising a softirq, the network interface will proceed without blocking and continue processing
incoming frames. A kernel thread is scheduled in CPU to process the interrupt request and calls an IP layer function
to process the packets. Then the kernel thread calls next layer functions such as tcp_recv, udp_recv, etc. After
receiving all IP packets of a UDP or TCP segment, the packets are reassembled to create a TCP or UDP segment, and
reassembled packets are available in socket buffers. If there is a process listening on the port specified in UDP or TCP
segment, then that process is scheduled on the CPU to read from the socket buffers. 3
IP layer functions negotiate MTU decisions too. MTU-specific processing is discussed in the Jumbo Frames section.
Nomenclature is important when you talk about networks. Network layer transmission is measured in terms
of frames , ip layer transmission is measured in terms of packets , and in the tCp/UDp layer transmission is measured
in terms of segments . the application sends a data stream or datagram depending upon whether tCp or UDp is used.
Use of the correct word when referring to a network transmission will greatly improve clarity to network engineers.
also, network speed is measured in terms of bits, whereas DBas typically specify everything in bytes.
Note
In a RAC cluster, many kernel parameters for tuning the network must be set optimally. These tunables can
increase transmission efficiency in various network layers.
2 Softirq is an interrupt request to a CPU and it is a software-initiated interrupt request. Hardware irq is initiated by hardware. In layman's
terms, softirq is equivalent to adding a request to a CPU queue. After the end of current timeslice, a softirq is serviced by the CPU.
3 This discussion is provided to understand basics about network function calls and should not interpreted as an actual algorithm.
For that matter, every kernel behaves differently.
 
 
Search WWH ::




Custom Search