-1

我知道关于 tcp 和 udp 的所有细节,以及它们如何为应用程序提供传输级支持,但我感兴趣的是 tcp/udp 是如何在主机系统中实际实现的。它是通过许多系统/函数调用还是一个守护进程运行,它在写入设备驱动程序缓冲区之前不断地从其缓冲区获取数据并进行封装?

4

2 回答 2

1

这是一个相当广泛的问题,它将取决于您使用的系统以及应用程序使用的工具。

但一般情况下,unix/windows 使用套接字通过 tcp 进行通信。您通过执行系统调用(有几个不同的)使用套接字发送/接收数据。所以它是在内核中实现的,而不是通过这些系统上的用户空间守护进程。

于 2013-06-02T01:26:54.610 回答
0

它是作为网络协议栈的一部分在内核空间中运行的模块。应用程序通过系统调用与它通信,例如 Socket()、connect()、accept()、recv()、send()。

于 2013-06-02T04:02:53.380 回答