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进行数据的发送与接收的。

posted @ 2016-11-15 11:02  孙大叔  阅读(67)  评论(0)    收藏  举报