Networking TCP如何在实际系统上工作

Networking TCP如何在实际系统上工作,networking,tcp,udp,ip,Networking,Tcp,Udp,Ip,我知道关于tcp和udp的所有细节,以及它们如何为应用程序提供传输级支持,但我感兴趣的是tcp/udp在主机系统中的实际实现方式。它是通过大量的系统/函数调用实现的,还是一个正在运行的守护进程,在写入设备驱动程序缓冲区之前不断地从缓冲区获取数据并进行封装?这是一个相当广泛的问题,它将取决于您使用的系统和应用程序使用的设备 但一般来说,unix/windows使用套接字使用tcp进行通信。通过执行系统调用(有几种不同的调用),可以使用套接字发送/接收数据。因此,它是在内核中实现的,而不是通过这些系

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

这是一个相当广泛的问题,它将取决于您使用的系统和应用程序使用的设备


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

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