socket、websocket、rpc、restful、tcp、udp、tcp/ip、osi七层协议
对于以上这些名词,你是否感到熟悉呢?他们都是干什么有的,有哪些异同呢?
需要弄清这些东西,要先从七层网络协议开始说起。
1.网络七层协议
osi是一个开放性的通信系统互连参考模型。
为使不同计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢,大大推动了网络通信的发展。
它们由低到高分别是物理层(PH)、数据链路层(DL)、网络层(N)、传输层(T)、会话层(S)、表示层§、应用层(A)。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。第四层到第七层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接。
- 物理层 建立、维护、断开物理连接。(由底层网络定义协议)
- 数据链路层 建立逻辑连接、进行硬件地址寻址、差错校验等功能。(由底层网络定义协议)
- 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择。
常见协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP - 传输层 定义传输数据的协议端口号,以及流控和差错校验。
常见协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 - 会话层 建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
对应主机进程,指本地主机与远程主机正在进行的会话。 - 表示层 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
常见格式有,JPEG、ASCll、DECOIC、加密格式等 - 应用层 网络服务与最终用户的一个接口。
常见协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
通过对七层网络协议的了解,IP协议对应网络层,TCP协议对应于传输层,而http协议对应于应用层,从本质上来说,三者是不同层面的东西,如果打个比方的话,IP就像高速公路,TCP就如同卡车,http就如同货物,货物要装载在卡车并通过高速公路才能从一个地点送到另一个地点。
弄清楚这些后,是不是对以上的名词有了