在传统模型中,应用层要获取消息数据,需要经过两个缓冲区和正常的TCP/IP协议栈。在内部,软件中断负责从接收队列的第一个接收消息,然后将它们复制到MSGBuff;应用层通过系统调用将消息数据读取到用户应用程序空间。
请看图中的插图。我是网络编程的新手:(据我所知,TCP/IP协议栈也有一个应用层。那么,引用(第1行)中提到的应用层与TCP/IP协议栈中的应用层之间有什么区别呢?

发布于 2016-03-01 06:53:52
根据我从您的问题中推断的内容:传输层缓冲区与应用程序层缓冲区不同。传输层(而不是UDP缓冲区)用于重传丢失的数据包,或用于拥塞控制机制。如果通过TCP将数据包提交给IP层,则除非接收到适当的ACK,否则不会从缓冲区中删除数据包;但应用层缓冲区假设传输层负责可靠地传输数据,而当数据通过App传递给TCP时,数据可以从应用程序缓冲区中删除。所以我们需要不同的缓冲。
发布于 2016-03-01 10:08:32
在计算机网络的世界里,当涉及到应用时,有两个非常不同的概念。
首先是您正在编写的应用程序(作为网络程序员)。这可能是一个web浏览器(或其他)
然后是应用层。这可能是http,ftp,ssl。
例如,当您使用Google时,您的应用程序是Chrome,而正在使用的应用程序层是http
作为另一个例子,假设您想要编写一个程序,让我们调用它: awesomeAPP。在此程序中,您希望使用ssl连接到客户端。在这个传感器中,awesomeAPP是应用程序,而在应用层,您正在使用ssl。
我只能想象,作者在第1行中的意思是应用程序,而不是应用层。
https://stackoverflow.com/questions/34289510
复制相似问题