网络进阶学习:重要网络协议(tcp协议,udp协议,http协议)

news/2024/5/18 16:00:02 标签: 网络, tcp/ip, udp, 网络协议, 学习

重要网络协议(tcp协议,udp协议,http协议)

  • 网络协议是什么?
  • TCP协议
  • UDP协议
  • HTTP协议
  • TCP与UDP的职能区别
    • ⭐TCP职能
    • ⭐就TCP原理层面说应该分为三部分
      • 建立连接
      • 数据传输
      • 断开连接
    • ⭐UDP职能
    • ⭐就UDP原理层面说应该分为三部分
      • 发送数据
      • 数据传输
      • 断开连接
  • 小结

网络协议是什么?

网络协议是计算机网络中的重要组成部分,它定义了计算机之间通信的规则和标准。常见的网络协议包括TCP协议、UDP协议、HTTP协议等,下面就这些协议进行详细介绍。


TCP协议

⭐TCP协议是一种面向连接的协议,它保证了数据传输的可靠性。TCP协议的特点是通过三次握手建立连接,保证数据传输的可靠性,同时还能实现流量控制和拥塞控制。在传输数据时,TCP协议会将数据分成多个小的数据包进行传输,接收方会确认接收到的数据包,如果有数据包丢失,TCP会进行重传,确保数据的完整性。


UDP协议

⭐UDP协议是一种无连接的协议,它不保证数据传输的可靠性。UDP协议的特点是传输速度快,适用于一些实时性要求比较高的应用,如在线游戏、语音通话等。UDP协议没有建立连接的过程,因此传输数据时不需要等待握手确认,直接发送数据包即可。但是由于UDP协议没有可靠性保障,因此在传输数据时需要自己进行数据完整性的检查和重传等操作。


HTTP协议

⭐HTTP协议是一种应用层协议,它是用来在Web浏览器和Web服务器之间传输数据的协议。HTTP协议的特点是简单、灵活、易于扩展。在HTTP协议中,客户端向服务器发送请求,服务器会返回响应。请求和响应都由多个数据包组成,数据包中包含了请求或响应的头部和正文。HTTP协议的常见应用包括Web浏览器、邮件客户端等。


在这里插入图片描述

TCP与UDP的职能区别

⭐TCP职能

1.建立连接:在数据传输之前,发送方和接收方需要进行三次握手建立连接,确保双方都能进行通信。
在TCP协议中,发送方和接收方需要进行三次握手建立连接,确保双方都能进行通信。具体步骤如下:

2.可靠性:TCP协议能够保证数据的可靠性,它会将数据分成多个小的数据包进行传输,在接收方确认收到数据包之前,会一直进行重传,确保数据的完整性。

3.流量控制:TCP协议还能够实现流量控制,即根据接收方的处理能力,限制发送方的数据发送速度,避免数据包丢失和网络拥塞。

4.拥塞控制:TCP协议还能够实现拥塞控制,即根据网络的拥塞程度,自适应地调整数据发送速度,避免网络拥塞和数据包丢失。


⭐就TCP原理层面说应该分为三部分

建立连接

在TCP协议中,发送方和接收方需要进行三次握手建立连接,确保双方都能进行通信。具体步骤如下:

第一次握手:发送方向接收方发送SYN包,表示发送方想要和接收方建立连接。

第二次握手:接收方收到SYN包后,向发送方发送ACK包和SYN包,表示接收方同意建立连接。

第三次握手:发送方收到ACK包和SYN包后,向接收方发送ACK包,表示发送方也同意建立连接。

数据传输

在建立连接之后,发送方和接收方就可以进行数据传输了。TCP协议会将数据分成多个小的数据包进行传输,在接收方确认收到数据包之前,会一直进行重传,确保数据的完整性。具体步骤如下:

  1. 发送方将数据分成多个小的数据包,并给每个数据包编号。

  2. 发送方将数据包发送给接收方,接收方会确认收到的数据包编号,并将确认信息发送给发送方。

  3. 如果发送方没有收到接收方的确认信息,或者接收方收到的数据包编号不连续,发送方会进行重传,确保数据的完整性。

断开连接

在数据传输完成之后,发送方和接收方需要进行四次挥手断开连接。具体步骤如下:

  1. 第一次挥手:发送方向接收方发送FIN包,表示发送方不再发送数据。

  2. 第二次挥手:接收方收到FIN包后,向发送方发送ACK包,表示接收到了FIN包。

  3. 第三次挥手:接收方向发送方发送FIN包,表示接收方不再发送数据。

  4. 第四次挥手:发送方收到FIN包后,向接收方发送ACK包,表示连接已经断开。

⭐特点:稳!

TCP是现在应用很广泛的协议,非常重要,所以应全方位去了解与学习


⭐UDP职能

1.无连接:UDP协议不需要建立连接,直接发送数据包即可。

2.速度快:由于UDP协议没有建立连接的过程,因此传输速度比TCP协议快。

3.实时性:UDP协议适用于传输实时数据,如音视频流、游戏数据等,对数据传输的时效性要求比较高。

4.不可靠性:UDP协议不保证数据传输的可靠性,传输过程中可能会出现数据丢失、重复、乱序等问题。

⭐就UDP原理层面说应该分为三部分

发送数据

在UDP协议中,发送方不需要进行连接建立,直接发送数据包即可。具体步骤如下:

  1. 发送方将数据分成多个小的数据包。

  2. 发送方将数据包发送给接收方,不需要等待确认信息。

数据传输

在数据传输过程中,UDP协议不保证数据传输的可靠性,可能会出现数据丢失、重复、乱序等问题。具体步骤如下:

  1. 接收方收到数据包后,不会发送确认信息,也不会进行重传。

  2. 如果接收方收到的数据包乱序,需要自己进行排序。

  3. 如果接收方收到的数据包有丢失,需要自己进行数据完整性的检查和重传等操作。

断开连接

在UDP协议中,不需要进行连接的断开操作,发送方可以随时停止发送数据。接收方也可以随时停止接收数据,不需要向发送方发送任何确认信息。

⭐特点:快!


小结

⭐除了上述所说的三种协议之外,还有许多其他的网络协议,如FTP协议、SMTP协议、DNS协议等。它们各自有不同的特点和应用场景,但都是计算机网络中不可或缺的一部分。在实际的网络应用中,不同的协议之间也会相互配合,共同完成数据传输和处理的任务。

诚然,网络协议是计算机网络中的重要组成部分,它们定义了计算机之间通信的规则和标准,保证了网络通信的安全、可靠和高效。在实际的网络应用中,我们需要根据具体的需求选择不同的协议,以达到最好的效果。

网络中协议太多太多,从osi七层模型中应用层到物理层协议太多了。学习的角度出发,一定要先了解上层的东西,而离我们最近的就是这三个协议。其他层面的协议可以作为学习了解。有一定的知识积累后,可以深入了解底层。



http://www.niftyadmin.cn/n/326810.html

相关文章

ARM架构下银河麒麟V10系统基于CUDA11.8编译PyTorch

概述 公司近期想尝试本地用下ChatGLM模型,只有服务器安装了两张显卡,故而只能在服务器做尝试。CUDA驱动啥的,之前的同事已经安装完毕,并且成功识别出显卡,顾略去。按照GIT README步骤开搞,一切顺利&#x…

老胡的周刊(第090期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 privateGPT[2] 为保证数据私密性&#xff0c…

C语言基础知识:其他运算符及运算符的优先级

目录 1、逗号运算符 2、三目运算符 3、sizeof运算符 3.1、sizeof是什么? 3.2、sizeof的使用 3.3、 在字符串数组中sizeof与strlen的区别 3.4、总结 4、C语言中运算符的优先级 1、逗号运算符 逗号也是运算符?是的,但是其实我更愿意说它…

硬文:为什么中本聪不给比特币设计最终性?

* * * 原创:刘教链 * * * 昨日刘教链公众号刊发原创文章《论比特币和以太坊的“宕机”》之后,引发了一些对区块链工作原理感兴趣的朋友的热烈讨论。其中,魔笛手社区群主Claire提了一个好问题:为什么中本聪不给比特币设计最终性&a…

B 站构建实时数据湖的探索和实践

摘要:本文整理自 bilibili 大数据实时团队资深开发工程师周晖栋,在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分: 1. 背景和痛点 2. 场景探索 3. 基建优化 4. 总结和展望 Tips:点击「阅读原文」查看原…

正则表达式的基本语法以及技巧和示例

正则表达式(Regular Expression)是一种强大的文本模式匹配工具,它使用特定的语法规则来描述和匹配字符串。在实际应用中,正则表达式可以用于搜索、替换、验证和分割文本数据。本文将详细解释正则表达式的语法和常用的使用示例。 …

【K8s】基本存储、高级存储(PV和PVC)、配置存储

文章目录 背景一、基本存储1、EmptyDir2、HostPath3、NFS 二、高级存储1、认识PV和PVC2、PV3、PVC4、生命周期 三、配置存储1、ConfigMap2、 Secret 背景 程序运行在容器中,而容器的生命周期可能极其短暂,容器销毁,数据丢失,因此…

剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 数据范围…