我知道有关tcp和udp的所有细节以及它们如何为应用程序提供传输级支持,但我感兴趣的是如何在主机系统中实际实现tcp / udp。它是通过多个系统/函数调用还是运行的守护进程在写入设备驱动程序缓冲区之前不断从缓冲区获取数据并进行封装?
答案 0 :(得分:1)
这是一个非常广泛的问题,它将取决于您正在使用的系统以及应用程序正在使用的设施。
但一般来说,unix / windows使用套接字来使用tcp进行通信。您通过执行系统调用使用套接字发送/接收数据(有几个不同的)。所以它在内核中实现,而不是通过这些系统上的用户空间守护进程实现。
答案 1 :(得分:0)
它是一个在内核空间中运行的模块,作为网络协议栈的一部分。应用程序通过系统调用与它通信,例如Socket(),connect(),accept(),recv(),send()。