所以我开始学习tcp/ip协议栈。但是在所有的来源中,tcp协议被描述得太模糊了。我主要想知道tcp协议是如何编程实现的。应用协议如何与tcp协议通信。这个通讯的接口是什么。目前,我认为应用协议是直接在应用程序中实现的:假设浏览器实现HTTP协议,该协议与在操作系统中实现的tcp协议的集中实现进行通信。这是正确的,我没有来源,我可以从其中学习this.please,推荐给我一些东西阅读。
发布于 2013-09-14 20:01:44
注意:虽然你的问题倾向于宽泛,但我是在回答它,因为我认为这是一个很好的介绍性问题。
TCP是一层-4(或传输层)协议.网络应用程序位于其之上(以及其他层-4协议,如UDP)。应用程序可以通过套接字接口(http://linux.die.net/man/7/socket)与第四层协议进行接口.HTTP也是一个运行在TCP之上并将使用套接字接口的应用程序。除了HTTP之外,还有许多其他运行在TCP之上的著名应用程序,如Telnet、BGP等。
了解TCP和选项基础知识的最佳书籍之一是理查德·史蒂文斯( Richard )的"TCP/IP插图,第1卷:协议“。它讨论了TCP的工作方式和各种选项。下面是一个链接:http://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469
一旦阅读了这些内容,您可能应该阅读RFC本身:http://www.ietf.org/rfc/rfc793.txt。
有关实现的详细信息,您可以阅读其第二卷:"TCP/IP插图:实现,第2卷“。下面是一个链接:http://www.amazon.com/TCP-IP-Illustrated-Implementation-Vol/dp/020163354X。虽然这本书讨论的是BSD实现--它仍然可以帮助您理解TCP实现的基本机制。
https://stackoverflow.com/questions/18804730
复制相似问题