TCP/IP、UDP、Http、Socket的区别

      1、网络七层模型
       20世纪70年代中,为了优化数据库系统设计,支持数据库系统的访问,美国的一个互联网研究小组提出了一个结构化的分布式通讯系统体系结构(共七层),他们内部称之为分布式系统体系结构(DSA),1977年英国标准化协会向国际标准化组织(ISO)提议,为了定义分布处理之间的通讯基础设施,须要一个标准的体系结构。后来,ISO就开放系统互联(OSI)问题成立了一个专委会(TC 97, Subcomittee 16),指定由美国国家标准协会(ANSI)开发一个标准草案。1978年3月,在ISO的OSI专委会在华盛顿召开的会议上,与会专家很快达成了共识,认为这个分层的体系结构可以知足开放式系统的大多数需求,并且具备可扩展的能力,可以知足新的需求。因而,1978年发布了这个临时版本,1979年稍做细化以后,成了最终的版本。
     七层模型内容以下,左侧列出的是简化后的四层模型。
 
 
 实体层:链接网络的硬件设备,就是将电脑链接起来的物理手段. 如光缆/电缆/无线电波
 数据链路层 (Link):创建逻辑链接、进行硬件地址寻址、差错校验等功能,如32位和64位计算机,他们的解码方式是不同的,数据链路层就规定个二进制数据的解读方式。
网络层 (Network):进行逻辑地址寻址,实现不一样网络之间的路径选择。网络层创建了主机之间的通讯,它在网络层引入了一套地址机制:网络地址.简称网址(Ip地址),咱们能够经过Ip地址,能够找到惟一的一台计算机,经过主机MAC地址来接收和发送信息.
传输层 (Transport):定义传输数据的协议端口号,以及流控和差错效验,定义了端口和端口之间的通讯,帮助咱们使不一样的应用程序可以接收到本身所须要的的数据。
会话层(Session Layer):包括创建、管理、终止会话,用来创建和管理应用程序之间的通讯,实现自动寻址,自动收发数据。
表示层(Presentation Layer):数据的表示、安全、压缩。好比咱们要用基于Unix系统的mac电脑给pc机发送数据,表示层为咱们解决了通讯间语法的问题。
应用层 (Application):网络服务与最终用户的一个接口。好比不一样的文件类型要用不一样的应用程序打开,应用层中就规定了不一样应用程序的数据格式.

      2、IP,TCP,UDP,HTTP,TCP/IP,Socket数据库

     IP协议,为计算机网络相互链接进行通讯而设计的协议。安全

     TCP/UDP协议,基于二进制流的控制间传输协议。 TCP是面向连接的,虽说网络的不安全不稳定特性决定了多少次握手都不能保证链接的可靠性,但TCP的三次握手在最低限度上(实际上也很大程度上保证了)保证了链接的可靠性;而UDP不是面向链接的,UDP传送数据前并不与对方创建链接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,固然也不用重发,因此说UDP是无链接的、不可靠的一种数据传输协议。服务器

     HTTP协议,超文本传送协议(Hypertext Transfer Protocol ),HTTP协议是创建在TCP协议之上的一种应用。网络

     IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。注意TPC/IP位于传输层,它主要用来解决数据如何在网络中传输,与IP协议要区分开。socket

     IP协议规定网络之间互连的协议;TPC/IP协议是传输层协议,主要解决数据如何在网络中传输;HTTP是应用层协议,主要用于包装数据。分布式

      Socket至关于调用接口(API),用来调取TCP/IP协议。优化

      3、使用Socket创建网络spa

       网络上两个程序经过双向通讯实现数据交换,socket又叫套接字,每一个应用程序开启后,都会在传输层端口上绑定一个socket,不一样应用程序之间经过寻找端口找到socket实现数据通讯。计算机网络

        Socket链接过程分为三个步骤:服务器监听,客户端请求,链接确认。线程

一、服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待链接的状态,实时监控网络状态,等待客户端的链接请求。

二、客户端请求:指客户端的套接字提出链接请求,要链接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要链接的服务器的套接字,指出服务器端套接字的地址和端口号,而后就向服务器端套接字提出链接请求。

三、链接确认:当服务器端套接字监听到或者说接收到客户端套接字的链接请求时,就响应客户端套接字的请求,创建一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式创建链接。

相关文章
相关标签/搜索