文章目录
常见网络协议主要包括
TCP/IP
协议、HTTP
协议和FTP
协议等。
一、TCP/IP 协议
TCP/IP
协议(Transmission Control Protocol/Internet Protocol)是互联网最基础的协议,由网络层的 IP 协议
和传输层的 TCP 协议
组成。TCP/IP
定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准,是Internet国际互联网络的基础。
TCP/IP
协议是计算机网络通信中的核心,它确保了数据的准确传输和网络的稳定运行,为各种互联网应用提供了坚实的基础。
1、工作原理
TCP/IP
协议的工作原理主要基于数据分割
、封装成报文
、IP寻址
和路由选择
以及数据传输
等步骤。
在发送数据时,发送方会根据应用层传输的数据,将数据分割成适当大小的数据段,并封装成包含发送方和接收方IP地址、端口号等必要信息的报文。然后,通过IP寻址和路由选择,将报文发送到目标主机。接收方在收到报文后,会进行相应的处理,还原数据并校验其完整性。
TCP
负责发现传输的问题,并在发现差错时要求重新传输,直到所有数据都安全正确地传输到目的地。
IP
则负责给因特网的每一台联网设备规定一个地址。
这种分层结构和各种协议协同工作的方式,使得TCP/IP协议能够高效、可靠地处理网络通信。
2、TCP/IP 协议模型被划分为四个层次
应用层、传输层 、网络层、网络接口层(或称为链路层) 。
这四个层次从高层到底层,每一层都负责不同的功能,共同实现网络通信。
- 应用层: 应用层是
TCP/IP
协议栈的最高层
,负责处理特定的应用程序细节。它定义了各种应用协议,如HTTP(用于Web浏览)、FTP(用于文件传输)、SMTP(用于电子邮件)等。这些协议规定了应用程序如何发送和接收数据,以及数据的格式和含义。 - 传输层: 传输层负责在源主机和目标主机之间建立、管理和终止会话。它提供了可靠的数据传输服务(如TCP)或不可靠的数据报服务(如UDP)。TCP提供了数据包的
排序
、确认
和重传
机制,确保数据的完整性和可靠性;而UDP则是一种无连接的协议,不保证数据的可靠性,但通常具有更低的延迟和更高的吞吐量。 - 网络层: 网络层负责将数据包(IP数据报)从源主机路由到目标主机。它处理IP地址的解析和路由选择,确保数据包能够正确地到达目的地。网络层的主要协议是
IP
,它定义了数据包的格式和如何在网络上传输这些数据包。此外,ICMP(Internet Control Message Protocol)和其他协议也在这一层起作用,用于网络控制和错误报告。 - 网络接口层(或称为链路层): 这是
TCP/IP
协议栈的最低层,负责接收IP数据报,并发送到指定的网络上。它还处理数据帧的发送和接收,包括数据的封装和解封装,以及物理地址(如MAC地址)的解析。网络接口层通常与特定的硬件和网络技术(如以太网、WiFi等)紧密相关。
这四个层次协同工作,共同实现了TCP/IP网络中的通信。每一层都使用下一层提供的服务,并向上一层提供服务。这种分层结构使得TCP/IP协议栈具有高度的灵活性和可扩展性,能够适应各种不同的网络环境和应用需求。
2、TCP/IP 五层模型
应用层、传输层、网络层、数据链路层 和 物理层。
- 应用层: 所有用户所面向的应用程序的统称,如HTTP、FTP等协议都工作在这一层。
- 传输层: 实现端到端的数据传输,主要协议有TCP和UDP。TCP提供可靠的数据传输服务,而UDP则是一种无连接的协议。
- 网络层: 实现数据包在不同网络之间的传输,主要定义了IP地址格式,使用IP协议进行路由选择和转发。
- 数据链路层(或称为网络接口层): 负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据报交给IP层。
- 物理层: 将比特流转换为物理信号,并通过电缆、光纤等物理媒介进行传输。
3、TCP/IP 七层模型
应用层、表示层、会话层、传输层、网络层、数据链路层 和 物理层 。
在五层模型中,表示层和会话层的功能已经合并到了应用层。
- 应用层: 网络服务与最终用户的一个接口,如HTTP、FTP、SMTP等协议。
- 表示层: 数据的表示、安全、压缩,涉及格式如JPEG、ASCII、加密格式等。
- 会话层: 建立、管理、终止会话,对应主机进程之间的会话。
传输层、网络层、数据链路层和物理层的功能与五层模型中的相应层次相同。
- 传输层: 实现端到端的数据传输,主要协议有TCP和UDP。TCP提供可靠的数据传输服务,而UDP则是一种无连接的协议。
- 网络层: 实现数据包在不同网络之间的传输,主要定义了IP地址格式,使用IP协议进行路由选择和转发。
- 数据链路层(或称为网络接口层): 负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据报交给IP层。
- 物理层: 将比特流转换为物理信号,并通过电缆、光纤等物理媒介进行传输。
TCP/IP协议的四层模型,五层模型和七层模型都是对网络通信过程的一种抽象描述,帮助人们更好地理解和管理网络通信。
二、HTTP 网络协议
HTTP 网络协议(HyperText Transfer Protocol,超文本传输协议)是一种用于
在计算机网络上传输超文本
的协议。它属于应用层协议
,工作于客户端-服务器架构
之上,通过请求-响应模式
进行通信。
在基于B/S结构下互联网通信过程中,所有在网络中传递信息都是保存在 HTTP 网络协议包
。
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径,支持
客户/服务器模式
,网络中传递信息都是二进制
。 - 灵活:HTTP
允许传输任意类型
的数据对象,正在传输的类型由Content-Type加以标记。 - 网络协议包有一组含有相关信息的
16位二进制数据
,0000(IP地址)、0000(端口号)、0000(资源文件名)0000。 无连接
:HTTP 不需要在客户端和服务器之间建立持久的连接,每次请求完成后就会关闭连接,减少了网络开销。无状态
:HTTP 对事务的处理没有记忆能力,每次请求都需要提供完整的请求信息,服务器不会记住之前发生的请求和响应。- 面向对象:HTTP 可以传输任何类型的数据对象,包括HTML页面、图像、视频、音频和其他类型的文件。
无阻塞
:HTTP 不会限制客户端的请求数量和大小,使得服务器可以处理大量的请求。可缓存
:HTTP 允许客户端缓存服务器响应的内容,以提高响应速度和减少网络流量。
HTTP 是数据的传输协议,无论是桌面端的浏览器还是移动端的应用程序,都用于在Web浏览器和Web服务器之间传输HTML页面、API接口等动态和静态资源文件。此外,HTTP协议在API接口设计中也发挥着重要作用,它使得不同语言、不同框架的应用程序在接口层面得到统一,方便数据的交互与共享。
1、网络协议内容
HTTP 网络协议的内容分为:HTTP请求协议包
和 HTTP响应协议包
。是HTTP网络协议中的两个重要组成部分,分别负责向服务器发送请求和从服务器接收响应。
请求协议包:
- 在浏览器准备发送请求时,负责创建一个HTTP请求协议包。浏览器将
请求信息
以二进制形式
保存在Http请求协议包各个空间,由浏览器负责将HTTP请求协议包推送到指定服务端计算机。
响应协议包:
- HTTP服务器在定位到被访问的资源文件之后,负责创建一个HTTP响应协议包。HTTP服务器将定位文件内容或者文件命令以
二进制形式
写入到HTTP响应协议包各个空间,由HTTP服务器负责将HTTP响应协议包推送回发起请求的浏览器上。
客户端和服务器之间的一次HTTP通信过程:客户端
首先会发送一个 HTTP 请求协议包
给 服务器
,服务器
在接收到请求后,会 处理该请求
并生成一个相应的 HTTP 响应协议包
返回给 客户端
。
HTTP请求协议包和HTTP响应协议包是HTTP通信中的两个重要载体,它们负责在客户端和服务器之间传递请求和响应数据,实现了Web应用中的数据传输和交互功能。
2、请求协议包组成
- 请求行: 包含请求方法(如GET、POST等)、请求URL(不包括域名)以及HTTP协议版本等信息。请求方法指定了客户端希望执行的操作,如获取资源、提交数据等。
- 请求头: 包含了关于请求的附加信息,如客户端的类型、请求的来源、所接受的响应类型等。这些信息有助于服务器更好地理解请求,并作出相应的响应。
- 空行: 用来分隔请求头和请求体。
- 请求体: 包含了客户端发送给服务器的实际数据,例如表单数据、文件内容等。不是所有的请求都需要请求体,例如GET请求通常不包含请求体。
3、响应协议包组成
- 状态行: 包含HTTP协议版本、状态码以及状态描述。状态码是一个三位数字,用于表示请求的处理结果,如200表示成功,404表示未找到资源等。状态描述则是对状态码的简单描述,帮助人们更好地理解响应状态。
- 响应头: 与请求头类似,包含了关于响应的附加信息,如服务器的类型、响应的长度、内容类型等。
- 空行: 同样用来分隔响应头和响应体。
- 响应体: 包含了服务器返回给客户端的实际数据,通常是请求的资源内容。
三、FTP 网络协议
FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行 文件传输
的一套标准协议。它工作在OSI模型的第七层,即应用层,并使用TCP传输而不是UDP。
在客户与服务器建立连接前,需要经过一个 三次握手
的过程,确保客户与服务器之间的连接是可靠的,并且是面向连接的,为数据传输提供可靠保证。
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。用户并不真正登录到自己想要存取的计算机上成为完全用户,而是可以用FTP程序访问远程资源,实现用户往返传输文件、目录管理以及访问电子邮件等,即使双方计算机可能配有不同的操作系统和文件存储方式。
FTP的 工作原理
主要包括客户端连接到FTP服务器、建立控制连接、用户身份验证、传输模式选择和执行文件传输等步骤。其中,传输模式可以是主动模式或被动模式,由服务器决定。在文件传输期间,数据连接用于在客户端和服务器之间传输文件数据。
FTP协议具有多种适用场合,包括传输大文件、网站维护、远程备份、多人协作以及跨平台传输等。例如,FTP可以快速传输大文件,支持断点续传,节省时间和成本;同时,它也可以方便地用于网站文件的上传、下载和目录结构维护;此外,FTP还可以作为远程备份工具,保障数据的安全性,并支持压缩和加密功能进一步提高备份数据的安全性。
FTP网络协议在网络文件传输中发挥着重要的作用,其可靠性和灵活性使得它在各种场合中得到了广泛的应用。