Socket-套接字
| 应用层 → socket在应用程序中创建,应用程序把自己插入到这个“插座” |
| 传输层 |
| 网络层 → IP+ TCP/UDP + PORT与socket绑定,通过网络驱动器,发往对端 |
| 数据链路层 |
(对端网络收到口,再通过网络驱动器交给自己的socket,应用程序可以从该socket中提取接收到的数据)
在网络中,如何标示一个主机?使用IP地址
如何标示一个主机上的特定进程?使用IP+PORT
一般情况下,每个进行网络通信的应用程序都要占用主机上的一个端口。比如,两端主机进行通信,需要建立连接,A、B之间的连接如何标示?使用五元组即:A的IP,A所占用的端口,B的IP,B所占用的端口,协议(TCP/UDP)。
为了区分不同应用程序进程间的通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。把IP+TCP/UDP+PORT结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
Socket是连接应用程序和网络驱动程序的桥梁,Socket在应用程序中创建,Socket通过绑定与网络驱动建立关系。此后,应用程序送给Socket的数据,由Socket交给网络驱动程序向网络上发送出去。对端计算机从网络上收到与该Socket绑定的IP地址和端口号相关的数据后,由网络驱动程序交给Socket,应用程序便可从该Socket中提取接收到的数据,网络应用程序就是这样通过Socket进行数据的发送与接收的。

浙公网安备 33010602011771号