我对UDP和TCP是否一起工作,或者它们是完全独立的协议感到困惑。
因此,UDP被用来允许在同一台机器上多路复用不同的服务。因此,从本质上讲,例如,当我向YouTube.com发出请求时(从Chrome应用程序,假设在端口10上运行)。首先,我的数据包将使用IP地址(和不同的报头)创建,并与YouTube服务器建立一个TCP连接。
然后,当服务器返回响应时,它将将数据发送到端口(10)处的源计算机(发出请求的计算机)。这是使用UDP协议的时候吗?因此,如果我的计算机上有另一个应用程序,比如Netflix流(运行在端口11上),那么UDP就知道端口10和端口11上有流,它会将来自Internet的数据复用到运行在我的计算机上的应用程序的特定端口?
我很难理解UDP是否在每个TCP/IP连接中使用,因为每个应用程序本质上都运行在计算机上的端口上。那么,UDP协议会知道在特定机器上的哪个端口运行的所有这些应用程序,以及这个端口上的多路数据吗?
发布于 2016-11-13 00:31:34
UDP和TCP是完全独立的传输层( OSI模型中的第4层)协议。还有其他的4层协议,但TCP和UDP是最常用的.UDP是第一位的,它是一种无连接、不可靠、即插即用的协议.后来添加了TCP,以向第4层提供连接和可靠性。
第四层协议有自己的地址,称为端口。UDP端口10与TCP端口10不一样。应用程序向TCP或UDP注册以使用它们的端口。在任何给定时间,只有一个应用程序可以使用每个协议端口,但是如果您有两个不同的应用程序,一个应用程序可以同时使用UDP端口10,而另一个应用程序可以使用TCP端口10。
UDP只用于想要使用UDP的应用程序,而TCP仅用于想要使用TCP的应用程序。有些应用程序将使用这两种协议,而有些应用程序则不使用这两种协议。IPv4或IPv6都不需要任何协议。
https://networkengineering.stackexchange.com/questions/36504
复制相似问题