网络协议就是计算机之间沟通的语言
为了有效地交流,计算机之间需要一种共同的规则或协议,
就像我们和老外沟通之前,要先商量好用哪种语言,
要么大家都说中文,要么大家都说英语,这才能有效地沟通。
网络协议就是计算机之间的语言,它们有一定的规则,规定了数据是怎么传输的,确保了数据在互联网上的传输是有序、可靠的。
🎢 链路过程
发送端:从下到上(应用层到物理层)。
接收端:从上到下(物理层到应用层)。
OSI参考模型:
OSI(Open System Interconnect),即开放式系统互连。
名称 | 层次 | 功能 |
物理层 | 1 | 实现计算机系统与网络间的物理连接 |
数据链路层 | 2 | 进行数据打包与解包,形成信息帧 |
网络层 | 3 | 提供数据通过的路由 |
传输层 | 4 | 提供传输顺序信息与响应 |
会话层 | 5 | 建立和中止连接 |
表示层 | 6 | 数据转换、确认数据格式 |
应用层 | 7 | 提供用户程序接口 |
协议层次
下面这张动图形象地展示了8种流行的网络协议:
一、HTTP(超文本传输协议)
「HTTP协议就像一个邮递员,负责把网页内容送到你的电脑上。」
**协议定义**:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
**场景**:当我们使用浏览器访问网页时,浏览器会向服务器发送HTTP请求,请求获取网页内容。服务器接收到请求后,会返回相应的HTML、CSS、JavaScript等文件,浏览器再将这些文件解析并渲染成我们看到的网页。
二、HTTPS(超文本传输协议安全版)
「HTTPS协议就像一位保镖,守护着我们的信息安全。无论是在网上银行交易还是在网上购物,保镖都会确保我们的资金和个人信息不会被不法分子窃取。」
**协议定义**:HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
**场景**:在进行网上银行、网上支付或登录个人账号等敏感操作时,HTTPS协议会保护我们的数据不被窃取或篡改。通过使用加密技术,HTTPS确保数据在传输过程中的机密性和完整性。
三、WebSocket
「WebSocket就像一位实时的接线员,能够让我们与网站进行实时对话。无论是与朋友聊天还是查看股票行情,接线员都会实时传递信息给我们,让我们随时掌握最新动态。」
**协议定义**:WebSocket 是独立的、创建在 TCP 上的协议。Websocket 通过HTTP/1.1 协议的101状态码进行握手。为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)。
**场景**:WebSocket常用于实时聊天、股票行情、在线游戏等需要实时交互的应用中。通过WebSocket,服务器可以实时推送最新的消息或数据给客户端,实现信息的即时更新和交互。
四、TCP(传输控制协议)
「TCP就像一位严谨的快递员,他会仔细核对包裹的内容,确保没有遗漏或错误。无论遇到多大的风雨或困难,他都会坚持将包裹安全送达目的地。」
**协议定义**:传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议
**场景**:TCP广泛应用于文件传输、电子邮件、网页浏览等场景。无论是下载文件还是发送邮件,TCP都会确保数据能够准确无误地到达目的地。
五、UDP(用户数据报协议)
「UDP就像一位粗心的快递员,他送快递的速度很快,但偶尔也会丢件。虽然有些小瑕疵,但在某些场景下,我们更看重的是他的速度和效率。」
**协议定义**:UDP是一种无连接的、不可靠的、基于数据报的传输层通信协议。它追求的是传输速度而非可靠性,适用于对实时性要求较高但对数据完整性要求不高的场景。
**场景**:UDP常用于视频流媒体、在线游戏等实时性要求较高的应用中。在这些场景中,即使偶尔丢失一些数据包,也不会对整体体验造成太大影响。
六、SMTP(简单邮件传输协议)
「SMTP就像一位勤劳的邮递员,负责将我们的信件准确无误地送到收件人的信箱里。无论是重要的商务邮件还是温馨的祝福,他都会尽职尽责地完成传递任务。」
**协议定义**:SMTP是一种用于发送电子邮件的协议,它规定了电子邮件在发送过程中的格式和传输方式。
**场景**:当我们使用电子邮件客户端或网页邮箱发送邮件时,SMTP协议会负责将邮件从我们的邮箱传递到收件人的邮箱。
七、FTP(文件传输协议)
「FTP就像一位专业的文件搬运工,他可以帮助我们将文件从一个地方搬运到另一个地方。无论是备份重要文件还是分享资料给同事,他都能高效地完成任务。」
**协议定义**:文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
**场景**:FTP常用于在不同计算机之间共享文件,比如将文件从本地计算机上传到服务器,或从服务器下载文件到本地计算机。
这些网络协议虽然各自有不同的特点和适用场景,但它们共同构成了互联网的基石。正是有了这些协议的存在,我们才能享受到便捷的在线生活。希望通过本文的介绍,你能对这些网络协议有更深入的了解和认识!