开发者

data path (travel) of tcp data from "write" syscall downto I/O registers programming

Is there a good overview of tcp data path in Linux (2.6, not 2.4 if the path actually differ)? Where is a packet on different stages of tcp/ip stack handling?

How packet is packed to tcp segment, then ip packet. How it is transmitted to network开发者_运维百科 card? (with series of I/O regs write and DMA?) Is it transmitted to network card in the "write" syscall handler (with some deep callstack) or is it transmitted at some other moment?


http://www.linuxfoundation.org/collaborate/workgroups/networking/kernel_flow

I think this is what you want. It shows the process all the way from sendmsg() to dev_hard_start_xmit(), which is where the net stack passes the packet off to the NIC driver.


Try this: The Linux TCP/IP Stack: Networking for Embedded Systems

The Linux TCP/IP Stack: Networking for Embedded Systems /by Thomas Herbert (Author) .The Linux TCP/IP Stack: Networking for Embedded Systems provides an in-depth guide to implementing and using the Linux TCP/IP stack in embedded systems projects. It begins with a general overview of TCP/IP networking, with background information on applicable networking standards. From there, it details the TCP/IP implementation in Linux 2.6 by following a packet of data as it flows through the stack from the sending system, out the wire, and back through the input side of the stack in the receiving machine. This unique approach gives programmers an "inside" look at the entire process. Throughout the text, topics of particular interest to engineers implementing embedded systems are discussed, such as sockets, network interfaces, application layer protocols, and practical considerations. This is a great resource for embedded systems programmers and engineers, as well as networking professionals interested in learning more about the implementation of Linux TCP/IP in the 2.6 kernel.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜