socket通信协议javaweb收藏

TCP、UDP、Socket、HTTP你不知道的故事

2018-08-06  本文已影响588人  FutureEye

什么是 TCP / UDP

TCP / UDP / HTTP 是 TCP / IP 协议族中众多的子协议中的一员。

TCP / UDP : 是TCP / IP  四层模型中传输层中的一种协议。

HTTP: 是 TCP / IP 四层模型中应用层一种的协议。

Socket:是 TCP / IP 四层模型应用层和传输层的一种抽象层。

TCP: 传输控制协议(英语:Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。( 维基百科 )

TCP  深入了解一下

UDP:用户数据报协议(英语:User Datagram Protocol,缩写为UDP),又称使用者资料包协定,是一个简单的面向数据报的传输层协议,正式规范为RFC 768。( 维基百科 )

UDP 深入了解一下

HTTP: 超文本传输协定(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是全球资讯网的数据通信的基础 ( 维基百科 )。

Socket: 英语中直意是插口、插座。我们一般叫做套接字,来源于 Unix。     

Socket 与其他三者不一样,Socket 的本质是编程的接口也就是 API, 是应用层和传输层的一个抽象层。在 Linux 内核中,Socket 就是一个文件形式存在( Unix / Linux 基本哲学之一就是“一切皆文件”),一些 Socket 函数对这个文件进行的操作。就是我们常见的 Socket  API。

了解 TCP / IP 是什么?

那么就一起来了解一下 TCP / IP 协议族吧,

TCP / IP 协议族简称 TCP / IP,其中主要是由于两个核心协议:TCP( 传输控制协议 ) 、IP ( 网际协议 ),是早期最早的标准。

TCP / IP 包含了众多协议,这些协议是为网际网络基础通信提供标准理论。

TCP / IP 通过封装和抽象把整个体系分成四个抽象层:

TCP / IP 四层模型

应用层:

为应用程序提供网络接口,支持文件传授、通信等功能的网络应用。直接和用户打交道,通过相关协议生成标准的数据协议。常见协议主要有:HTTP、HTTPS、FTP( 文件传输 )等

传输层:

传输层提供应用程序间的通信,格式化信息流,为网络提供错误控制和数据流量控制。

常见协议:TCP、UDP等

网络互连层:

这是整个 TCP / IP 协议栈中的核心,将数据从原网络发往目标网络。

常见协议:IP 协议等

网络接口层:

把数据链路层和物理层放在一起,为 TCP / IP 提供硬件实现基础。给网络互联层提供一个访问接口。这一层为有具体的定义。所以根据网络类型不同而不同。

常见:WiFi、以太网。

TCP / IP 对应还有一个标准的模型为: OSI 七层模型

TCP / IP 四层模型与OSI 七层模型


OSI 七层模型对应关系

OSI 七层模型具体部分,可自行去了解。

综上:

TCP 、UDP、HTTP 是网络协议中一种。TCP 和 UDP 属于传输层协议。HTTP 属于应用层协议。

而 Socket 可以理解为一个操作 “文件” 的 API。


站在巨人的肩膀上才能看的更远。

上一篇下一篇

猜你喜欢

热点阅读