来自“写入”的tcp数据的数据路径(行进)系统调用深入到 I/O 寄存器编程

发布于 2024-08-29 18:26:35 字数 201 浏览 8 评论 0原文

Linux 中的 tcp 数据路径是否有一个很好的概述(2.6,如果路径实际上不同,则不是 2.4)? tcp/ip 堆栈处理的不同阶段的数据包位于何处?

数据包如何打包到tcp段,然后是ip数据包。它是如何传输到网卡的? (具有一系列 I/O 寄存器 write 和 DMA?)它是在“write”系统调用处理程序(具有一些深层调用堆栈)中传输到网卡还是在其他时刻传输?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

装纯掩盖桑 2024-09-05 18:26:35

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

我想这就是你想要的。它显示了从 sendmsg() 到 dev_hard_start_xmit() 的整个过程,这是网络堆栈将数据包传递到 NIC 驱动程序的地方。

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.

怪我太投入 2024-09-05 18:26:35

试试这个: Linux TCP /IP 堆栈:嵌入式系统网络

Linux TCP/IP 堆栈:网络
嵌入式系统 /作者:Thomas Herbert
(作者).Linux TCP/IP 堆栈:
嵌入式系统网络
提供了深入的指南
实施和使用Linux
嵌入式系统中的 TCP/IP 堆栈
项目。它从一般性开始
TCP/IP 网络概述,其中
适用的背景信息
网络标准。从那里开始,
详细介绍了 TCP/IP 的实现
Linux 2.6通过下面的一个包
数据流经堆栈时
从发送系统,从电线

并通过输入侧返回
堆叠在接收机中。这
独特的方法为程序员提供了
“内”看整个过程。
贯穿全文的主题
工程师特别感兴趣
实现嵌入式系统是
讨论过,例如套接字、网络
接口、应用层
协议和实用
考虑因素。这是一个伟大的
嵌入式系统资源
程序员和工程师,以及
感兴趣的网络专业人士
了解有关实施的更多信息
2.6 内核中的 Linux TCP/IP。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文