我对TCP/IP网络和学习套接字/端口很陌生。我有一些混乱。我提到我的理解。计算机网络中的套接字,端口和进程之间的关系
节点N1有多个进程在运行。说一个进程P1有一些它希望发送到其他节点N2的字符串。 N1将要求OS创建一个基本上类似于网络I/O流式传输通道的套接字。这样的通道将被创建,并与套接字描述符一起交给进程。所以,我们可以说socket可以被节点识别出来,即节点+进程请求socket的IP。因此,套接字地址的概念基本上是节点+端口地址的IP(用于识别进程)。所以,我的疑惑是:
从何处来了端口的想法。套接字可以被识别为节点+进程ID的IP。为什么要求端口识别一个过程。为什么过程描述符不能自给自足。为什么端口地址。例子?
为什么我们需要将套接字与套接字地址绑定,如果节点必须传递数据并且什么都不需要接收。套接字地址的绑定实质上意味着“开始识别除了描述符外具有节点+端口地址的IP地址的套接字”,如果其他节点希望将一些数据发送到节点N1,则对其它节点有用。但我认为,对于希望通过网络进行通信的节点中的任何进程,应该有一个“全局”套接字,它不会被绑定。所有进程都将使用它来发送数据。如果任何节点希望接收数据,它们可以有一个单独的套接字,它将被绑定,以便网络中的其他节点可以识别该特定的套接字。
TCP/UDP究竟在哪里适合图片?我可以拥有两个类似TCP端口3000和UDP端口3000的端口,即具有不同传输协议但端口号相同的独立端口。这也可以用套接字吗?