套接字是用网络节点的IP地址和端口号来标识的。
如果一个网络节点希望向网络发送TCP数据,它首先创建一个套接字,将该套接字连接到远程节点上的一个套接字,然后将数据发送到该套接字。如果一个网络节点想要接收TCP数据,首先要创建一个套接字,然后监听套接字上的传入连接。当接收到连接时,它可以(可选地)创建一个新的套接字来处理连接,然后接收新套接字上的数据——这样可以让原来的套接字继续侦听额外的传入连接。
由此可以看出,任何一个网络节点都可以同时参与多个网络会话( network conversations)——每个唯一会话的每一端都使用一个套接字。
套接字作为应用程序进程和运输层协议之间的接口。在发送端的应用程序将报文推进该套接字。在该套接字的另一侧,运输层协议负责使该 报文进入接受进程的套接字。
相关文章: