计网期末复习指南(五):运输层(可靠传输原理、TCP协议、UDP协议、端口)

前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中... 

计网期末复习指南(一):计算机网络体系结构计网期末复习指南(二):物理层计网期末复习指南(三):数据链路层
计网期末复习指南(四):网络层计网期末复习指南(三):运输层计网期末复习指南(六):应用层


目录

一.运输层概述

二.TCP协议

▐ 可靠传输的工作原理

停止等待ARQ(Stop-and-Wait ARQ)

回退N步ARQ(Go-Back-N ARQ)

选择性重传ARQ(Selective Repeat ARQ)

示例说明

▐ TCP的特点

▐ 三次握手与四次挥手

▐ TCP报文结构

▐ 超时重传时间 

详细步骤

示例计算

三.UDP协议

▐ UDP的特点

▐ UDP报文结构

▐ UDP的工作过程

四.UDP与TCP的比较

五.端口

▐ 端口号的分类

▐ 常见的端口号


一.运输层概述

在计算机网络中,运输层(Transport Layer)是OSI(开放系统互联)模型中的第四层,它位于网络层之上,会话层之下。运输层的主要功能是为应用层提供可靠的端到端通信服务,确保数据在网络中传输的完整性和顺序性。

在TCP/IP模型中向上为应用层提供通信服务,从通信和信息处理的角度上来说,运输层属于面向通信部分的最高层,同时也是用户功能中的最底层。运输层主要提供应用进程之间的逻辑通信,它与网络层的区别在于,网络层主要为主机之间通信提供服务,而运输层则在网络层的基础上,为应用进程之间的通信提供服务。

  • OSI模型:在OSI模型中,运输层位于网络层之上,会话层之下,主要负责端到端的数据传输和控制。
  • TCP/IP模型:在TCP/IP模型中,运输层对应于传输层,负责提供传输服务,主要包括TCP和UDP协议。

根据应用程序的不同需求,运输层主要提供俩中不同的运输协议:面向连接的TCP和无连接的UDP。通过使用TCP和UDP协议,运输层满足了不同应用对传输服务的需求,既能提供高可靠性,也能满足对低延迟的要求。

运输层的功能大致总结如下

  1. 数据分段与重组

    • 运输层将来自应用层的大块数据分成更小的段,以便通过网络传输。
    • 到达目的地后,运输层负责将这些段重新组装成原来的数据。
  2. 端到端连接

    • 运输层在发送端和接收端之间建立和维护连接,确保数据的有序传输。
    • 提供连接管理,包括建立连接、数据传输和连接释放。
  3. 流量控制

    • 运输层通过流量控制机制,防止发送端发送数据过快而导致接收端缓存溢出。
    • 常见的流量控制机制包括滑动窗口协议。
  4. 错误检测与纠正

    • 运输层使用校验和等技术检测数据传输中的错误。
    • 提供错误恢复机制,如重传错误数据段,以确保数据的完整性。
  5. 可靠传输

    • 通过确认和重传机制,确保数据段成功送达接收端。
    • 提供超时重传机制,当确认未在预期时间内收到时,重传数据段。
  6. 多路复用与多路分解

    • 运输层通过端口号区分不同的应用进程,允许多个应用共享同一个网络连接。
    • 多路复用:将来自不同应用的数据封装到相同的网络连接上。
    • 多路分解:将收到的数据段分发到正确的应用进程。

二.TCP协议

TCP协议(Transmission Control Protocol,传输控制协议)是一种基于连接的、可靠的、面向字节流的传输层通信协议。它是Internet协议套件中的一部分,用于实现可靠的数据传输。

TCP协议提供了可靠的、有序的、面向连接的数据传输。它通过建立连接、拆分数据成小块(称为段),并使用确认和重传机制来确保数据的可靠传输。TCP通过流量控制和拥塞控制机制,调整数据的传输速率,以避免网络拥塞和丢包现象。

TCP协议提供了端到端的传输,即数据从发送方传输到接收方,保持了数据的完整性和顺序。它还支持全双工通信,即发送和接收数据同时进行。TCP协议使用IP地址和端口号来标识发送方和接收方,以便正确地将数据传输到目标设备上的相应进程。

▐ 可靠传输的工作原理

我们说TCP协议是属于可靠传输协议,对于这里的可靠性,我们需要通过一种机制来保证。

自动重传请求(Automatic Repeat reQuest,ARQ)是一种可靠传输机制,用于确保数据在通信过程中正确、无误地到达接收方。ARQ机制通过在数据包出错或丢失时重新传输数据包来实现可靠传输。ARQ主要有三种类型:停止等待ARQ、回退N步ARQ(Go-Back-N ARQ)和选择性重传ARQ(Selective Repeat ARQ)。

停止等待ARQ(Stop-and-Wait ARQ)

在停止等待ARQ中,发送方发送一个数据包后必须等待接收方的确认(ACK)才能继续发送下一个数据包。如果在一定时间内未收到确认,发送方会重传该数据包。

工作原理:

  1. 发送方发送数据包,并启动定时器。
  2. 接收方收到数据包后,发送确认(ACK)回给发送方。
  3. 发送方收到确认后,发送下一个数据包。
  4. 如果发送方未在超时时间内收到确认,重传数据包。

优点:实现简单。

缺点:信道利用率低,因为发送方必须等待确认后才能发送下一个数据包。

回退N步ARQ(Go-Back-N ARQ)

在Go-Back-N ARQ中,发送方可以连续发送多个数据包,而不必等待每个数据包的确认。接收方按序接收数据包,若发现某个数据包有错误或丢失,接收方将丢弃该数据包以及其后的所有数据包,并发送该错误数据包的编号回给发送方。发送方收到该编号后,回退到该编号重新发送。

工作原理:

  1. 发送方连续发送多个数据包,并为每个数据包分配序列号。
  2. 接收方收到数据包后,按序确认(ACK)已收到的数据包。
  3. 如果接收方发现某个数据包有错误或丢失,发送一个负确认(NAK)或不发送确认。
  4. 发送方收到NAK或超时后,回退到错误数据包的序列号,重新发送从该序列号开始的所有数据包。

优点:提高了信道利用率。

缺点:重传开销较大,因为需要重传错误数据包之后的所有数据包。

选择性重传ARQ(Selective Repeat ARQ)

在选择性重传ARQ中,发送方也可以连续发送多个数据包,但接收方只请求重传有错误或丢失的数据包,而不是所有后续数据包。接收方会缓存按序到达的数据包,并在收到所有必要的数据包后将其按序提交给上层应用。

工作原理:

  1. 发送方连续发送多个数据包,并为每个数据包分配序列号。
  2. 接收方收到数据包后,发送确认(ACK)已收到的数据包。
  3. 如果接收方发现某个数据包有错误或丢失,只请求重传该数据包。
  4. 发送方只重传接收方请求的有错误或丢失的数据包。

优点:

  • 提高了信道利用率。
  • 减少了重传开销,因为只重传有错误或丢失的数据包。

缺点:

  • 实现较复杂,需要接收方具备缓存能力以按序存储和重组数据包。

示例说明

假设窗口大小为N,数据包按序号编号为1, 2, 3, ..., n。

停止等待ARQ

  • 发送方发送数据包1,等待ACK1。
  • 收到ACK1后,发送数据包2,等待ACK2。
  • 重复上述过程。

回退N步ARQ

  • 发送方连续发送数据包1, 2, 3, ..., N。
  • 接收方按序接收并确认(ACK1, ACK2, ...)。
  • 如果数据包3丢失,接收方丢弃后续包,发送ACK2(或NAK3)。
  • 发送方收到ACK2(或NAK3),重传数据包3及后续数据包。

选择性重传ARQ

  • 发送方连续发送数据包1, 2, 3, ..., N。
  • 接收方按序接收并确认(ACK1, ACK2, ...)。
  • 如果数据包3丢失,接收方发送NAK3。
  • 发送方只重传数据包3。

▐ TCP的特点

TCP协议的主要特点包括:面向连接、可靠传输、流量控制、差错检测

  1. 面向连接:TCP 是面向连接的协议,在数据传输前需要建立连接,并在传输完成后释放连接。三次握手(Three-way Handshake):建立连接的过程。四次挥手(Four-way Handshake):断开连接的过程。

  2. 可靠传输:TCP 提供可靠的数据传输,通过序列号、确认号和重传机制确保数据的完整性和顺序性。超时重传:如果数据包未在预期时间内收到确认,TCP 会重传数据包。

  3. 流量控制:TCP 使用滑动窗口机制来控制发送方发送数据的速率,防止接收方缓存溢出。

  4. 拥塞控制:TCP 包括拥塞控制算法,如慢启动、拥塞避免、快速重传和快速恢复,以防止网络拥塞。

在上述特点中,滑动窗口机制和拥塞控制算法非常的重要,需要明白大致是怎么样个流程。

▐ 三次握手与四次挥手

三次握手本质上是建立连接的过程,分为以下三步骤

  • SYN:客户端向服务器发送一个 SYN (synchronize) 包,表示请求建立连接。
  • SYN-ACK:服务器接收到 SYN 包后,向客户端发送一个 SYN-ACK 包,表示同意建立连接并进行确认。
  • ACK:客户端接收到 SYN-ACK 包后,向服务器发送一个 ACK (acknowledgment) 包,表示确认连接建立。

连接建立完成后,客户端和服务器可以开始数据传输。

在数据传输又包含了以下要点

  • 数据分段:TCP 将大块数据分段成适合网络传输的小段,每个段都有序列号。
  • 确认机制:接收方收到数据段后,发送确认包 (ACK) 给发送方,确认已接收到的数据段。
  • 重传机制:如果发送方未在预期时间内收到确认包,会重传数据段。
  • 窗口机制:滑动窗口用于流量控制,决定发送方在未接收到确认前可以发送的数据量。

四次挥手本质上是断开连接的过程

  • FIN:一方(通常是客户端)发送一个 FIN (finish) 包,表示希望关闭连接。
  • ACK:接收方接收到 FIN 包后,发送一个 ACK 包,表示确认接收到关闭请求。
  • FIN:接收方也发送一个 FIN 包,表示同意关闭连接。
  • ACK:发送方接收到 FIN 包后,发送一个 ACK 包,表示确认关闭连接。

连接释放完成后,双方的通信连接正式断开。

▐ TCP报文结构

TCP 报文段由头部和数据部分组成。头部的结构如下:

字段名长度 (比特)描述
源端口16发送方的端口号
目的端口16接收方的端口号
序列号32数据段的序列号
确认号32确认收到的数据的序列号
数据偏移4TCP 头部的长度
保留字段3保留字段,通常为 0
标志位9控制标志,如 SYN、ACK、FIN
窗口大小16流量控制,表示接收方的缓冲区大小
校验和16用于错误检测
紧急指针16紧急数据的指针
选项和填充可变可选字段,用于扩展功能
数据可变实际传输的数据

TCP 适用于需要高可靠性和顺序性的数据传输的应用,TCP的应用场景包含:

  • 网页浏览 (HTTP/HTTPS):确保网页内容完整地传输。
  • 文件传输 (FTP):确保文件不丢失和损坏。
  • 电子邮件 (SMTP/IMAP/POP3):确保邮件内容正确传输。

▐ 超时重传时间 

在TCP中,计算超时重传时间(Retransmission Timeout, RTO)是确保数据可靠传输的关键部分。TCP使用自适应的算法来计算这个时间,以适应不同网络条件下的延迟变化。这个算法基于测量往返时间(Round-Trip Time, RTT)并进行统计处理。以下是计算RTO的主要步骤:

1. 测量往返时间(RTT)

  • RTT:发送数据包到接收到相应确认(ACK)的时间。

2. 计算平滑的往返时间(RTTs)

  • 初始情况下,TCP设置一个估计的RTT。
  • 当实际测量到RTT时,TCP更新平滑的RTT(RTTs):RTTs=(1−α)×RTTs+α×RTT
    通常,α的值为0.125(即1/8)。

3. 计算RTT的变化(RTTd)

  • RTTd表示RTT的变化范围,用于估计RTT的波动:RTTd=(1−β)×RTTd+β×∣RTT−RTTd∣
    通常,β的值为0.25(即1/4)。

4. 计算重传超时时间(RTO)

  • 最终,RTO由 RTTs 和 RTTd 决定:RTO=RTTs+max(1, 4×RTTd)
    其中,max(1,4×RTTd) 确保RTO不会过小。

详细步骤

  1. 初始设置

    • RTTs 设为第一次测得的RTT。
    • RTTd 设为第一次测得的RTT/2。
    • RTO=RTTs+max(1, 4×RTTd)。
  2. 更新算法

    • 每次测得新的RTT时,计算RTT偏差(RTT - RTTs)。
    • 更新RTTd:

      RTTd=(1−0.25)×RTTd+0.25×∣RTT−RTTs∣

    • 更新SRTT:

      RTTs=(1−0.125)×RTTs+0.125×RTT

    • 计算新的RTO:

      RTO=SRTT+max(1, 4×RTTd)

示例计算

假设我们测量到的RTT值依次为:100ms, 120ms, 110ms, 90ms。

  1. 初始值

    • 第一次RTT:100ms
    • RTTs = 100ms
    • RTTd = 100 / 2 = 50ms
    • RTO = 100 + max(1, 4×50) = 100 + 200 = 300ms
  2. 第二次RTT:120ms

    • 偏差 = 120 - 100 = 20ms
    • 更新RTTd:RTTd = 0.75 \times 50 + 0.25 \times 20 = 37.5ms
    • 更新RTTs :RTTs = 0.875 \times 100 + 0.125 \times 120 = 102.5ms
    • 计算新的RTO:RTO = 102.5 + max(1, 4×37.5) = 102.5 + 150 = 252.5ms
  3. 第三次RTT:110ms

    • 偏差 = 110 - 102.5 = 7.5ms
    • 更新RTTd:RTTd = 0.75 \times 37.5 + 0.25 \times 7.5 = 30ms
    • 更新RTTs :RTTs = 0.875 \times 102.5 + 0.125 \times 110 = 103.44ms
    • 计算新的RTO:RTO = 103.44 + max(1, 4×30)= 103.44 + 120 = 223.44ms

通过以上步骤,TCP可以自适应地调整RTO,以适应不同网络条件下的延迟变化,确保数据传输的可靠性。


三.UDP协议

UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议。它通过将数据分割成称为数据报的小单元来传输数据,每个数据报都包含源和目的端口号等信息。与TCP协议不同,UDP不提供可靠性、流控制、拥塞控制或错误检测和重传等功能。UDP被广泛用于需要实时性和可能容忍丢包的应用,如音视频传输、在线游戏、广播等。

▐ UDP的特点

  • 无连接:UDP是无连接的协议,数据可以在任何时候发送,而不需要先建立连接。每个数据包(称为数据报)独立传输,彼此之间没有任何关联。

  • 不可靠传输:UDP不保证数据包的送达顺序,也不保证数据包的送达。没有确认机制、重传机制或超时重传机制。

  • 轻量级:UDP的头部开销较小,总共只有8个字节。由于没有连接建立、维护和释放过程,UDP的开销比TCP更小,适用于对传输速度要求高但对可靠性要求低的应用。

  • 实时性:由于没有流量控制和拥塞控制,UDP可以提供较低的延迟。适用于实时应用,如视频流、在线游戏和语音通话等。

▐ UDP报文结构

UDP报文段由头部和数据部分组成,头部的结构如下:

字段名长度 (比特)描述
源端口16发送方的端口号
目的端口16接收方的端口号
长度16UDP头部和数据的总长度
校验和16用于错误检测
数据可变实际传输的数据
  0      7 8     15 16    23 24    31 (位)
 +--------+--------+--------+--------+
 |  源端口号  |  目的端口号  |
 +--------+--------+--------+--------+
 |   长度   |  校验和   |
 +--------+--------+--------+--------+

▐ UDP的工作过程

UDP是一种无连接的传输层协议,它的工作过程如下:

  1. 应用程序发送数据报:应用程序将要发送的数据报传递给UDP协议。
  2. 数据报划分成数据段:根据UDP协议的要求,将数据报分割成一个个数据段,每个数据段包含一个头部和一部分数据。
  3. 添加UDP头部:在每个数据段的开头添加UDP协议的头部,包括源端口号和目的端口号等信息。
  4. 数据发送:将数据段通过网络发送给目的主机。
  5. 数据接收:目的主机接收到数据段后,将其交给UDP协议。
  6. 检查数据完整性:UDP协议检查数据段的完整性,如果校验和出现错误,则丢弃该数据段。
  7. 数据分组重组:UDP协议将接收到的数据段按照序列号重新组装成完整的数据报,并将其传递给应用程序。
  8. 应用程序接收数据报:应用程序接收到UDP传递的数据报,进行处理。

UDP的工作过程简单高效,但不保证数据的可靠性和顺序性。

由于没有建立连接和提供流量控制机制,UDP通常被用于那些对数据传输速度和实时性要求较高、对数据可靠性要求较低的应用,如音频、视频、实时游戏等。


四.UDP与TCP的比较

  • 连接性

    • TCP:面向连接,数据传输前需建立连接。
    • UDP:无连接,数据随时可以发送。
  • 可靠性

    • TCP:提供可靠传输,保证数据的完整性和顺序。
    • UDP:不保证数据的送达和顺序。
  • 开销

    • TCP:头部较大,包含流量控制、拥塞控制等机制。
    • UDP:头部开销小,无流量控制和拥塞控制。
  • 延迟

    • TCP:较高的延迟,适合需要高可靠性的应用。
    • UDP:较低的延迟,适合实时性要求高的应用。

五.端口

前文中反复提到一个关键词——端口

在计算机网络中,端口是一个逻辑概念,用于标识特定的网络服务或应用进程。端口号是一个 16 位的整数,范围从 0 到 65535。它在运输层协议(如 TCP 和 UDP)中用于区分同一主机上不同的应用程序或服务。

端口是网络通信中用于标识特定进程或网络服务的一个编号。它与 IP 地址结合使用,形成一个完整的网络端点(也称为套接字)。每个网络连接可以通过一个唯一的 IP 地址和端口号对来标识。

端口的作用

  1. 区分应用程序:不同的应用程序和服务通过不同的端口号进行通信。这样,即使它们在同一主机上运行,也可以互不干扰。

  2. 网络服务定位:客户端应用程序可以通过特定的端口号连接到服务器上的特定服务。例如,Web 服务器通常监听 80 或 443 端口,FTP 服务器监听 21 端口。

▐ 端口号的分类

端口号根据用途和管理方式,可以分为以下几类:

  1. 知名端口号(Well-known Ports):范围:0-1023

    这些端口号通常分配给常见的标准服务。例如:
    • SSH:22
    • FTP:21
    • HTTPS:443
    • HTTP:80
  2. 注册端口号(Registered Ports):范围:1024-49151

    这些端口号通常分配给用户或组织注册的应用程序和服务。例如:
    • Microsoft SQL Server:1433
    • MySQL 数据库:3306
  3. 动态/私有端口号(Dynamic/Private Ports):范围:49152-65535

    这些端口号通常用于客户端应用程序动态分配的临时通信。客户端在与服务器建立连接时,会从这个范围内分配一个临时端口号。

▐ 常见的端口号

下面是常见端口号及其对应的服务的表格:

端口号协议服务名称描述
20TCPFTP Data文件传输协议 (数据传输)
21TCPFTP文件传输协议 (控制)
22TCPSSH安全外壳协议,用于加密的远程登录
23TCPTelnet明文远程登录协议
25TCPSMTP简单邮件传输协议
53UDPDNS域名系统
67UDPDHCP Server动态主机配置协议 (服务器端)
68UDPDHCP Client动态主机配置协议 (客户端)
80TCPHTTP超文本传输协议
110TCPPOP3邮局协议版本3
119TCPNNTP网络新闻传输协议
123UDPNTP网络时间协议
143TCPIMAP互联网消息访问协议
161UDPSNMP简单网络管理协议
194TCPIRC互联网中继聊天
443TCPHTTPS安全的超文本传输协议
465TCPSMTPS用于加密的简单邮件传输协议
993TCPIMAPS用于加密的互联网消息访问协议
995TCPPOP3S用于加密的邮局协议版本3
1433TCPMicrosoft SQL ServerMicrosoft SQL Server 数据库
3306TCPMySQLMySQL 数据库
3389TCPRDP远程桌面协议
5432TCPPostgreSQLPostgreSQL 数据库
6379TCPRedisRedis 内存数据库
8080TCPHTTP Alternate备用 HTTP 端口



 本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/678558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕设】基于SpringBoot的民宿在线预定平台设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本研究旨在设计并实现一个基于SpringBoot的民宿在线预定平台。通过信息化手段提高民宿预定效率,方便用户查询房源、预定房间、在线支付和…

OBS+nginx+nginx-http-flv-module实现阿里云的推流和拉流

背景:需要将球机视频推送到阿里云nginx,使用网页和移动端进行播放,以前视频格式为RTMP,但是在网页上面播放RTMP格式需要安装flash插件,chrome浏览器不给安装,调研后发现可以使用nginx的模块nginx-http-flv-…

LlamaIndex介绍

LlamaIndex LangChain v0.2 教程分成以下部分: 1、入门 2、学习 3、用例 4、示例 5、高级 6、组件指南 RAG 用额外的信息来提高回答的质量。 分为 5个阶段: (1)loading 加载原始文件,LlamaHub 提供数百种连…

借助调试工具理解BLE协议_1.蓝牙简介和BLE工作流程

1.蓝牙简介 蓝牙是一种近距离无线通信技术,运行在2.4GHz免费频段,目前已大量应用于各种移动终端,物联网,健康医疗,智能家居等行业。蓝牙4.0以后的版本分为两种模式,单模蓝牙和双模蓝牙。 单模蓝牙&#xf…

聊聊测试的右移

这是鼎叔的第九十九篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社&#xff09…

体育赛事直播系统开发源码搭建

随着体育产业的蓬勃发展,体育赛事直播已成为广大观众获取赛事信息的重要途径。为了满足观众日益增长的需求,开发一套专业的体育赛事直播系统成为当务之急。本文将围绕体育赛事直播系统开发源码搭建进行深入探讨,从技术选型、系统架构、安全防…

教你一绝招:如何快速提高学习成绩--这样学习,你离考取重点高中或名牌大学很近了

教你一绝招:如何快速提高学习成绩 这样学习,你离考取重点高中或名牌大学很近了 我本来是讲写作的,但回想起过去学习与考试情况,何不把自己的学习经验与绝技告诉如今苦学的孩子,让其尽快进步,早日实现自己的…

面试一个多月,我上岸了!

大家好,我是枫哥,🌟阿里云技术专家、📝资深面试官、🌹Java跳槽网课堂创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。目前组建的团队,专注Java技术分享,一对一…

副业兼职不知道做什么,不如先试试这个,一天挣个百八十很简单

在市场上,总是不乏赚钱的机会和各式各样的挣钱项目。许多人往往认为,那些赚得盆满钵满的人纯粹是因为运气好、能力强、条件优越且智商高。然而,事实并非如此简单。 实际上,每一个项目或操作方法的背后,都有其独特的逻…

期刊的分类与级别

在学术界,期刊的分类与级别构成了一个评价学术成果和学者贡献的重要标准,同时也是学术出版与学术交流的基础。然而,对于初涉学者来说,理解期刊的分类与级别可能并不直观。本文旨在提供一个系统性的解释,并阐述为何期刊…

含有嘧啶的光活性阳离子共轭微孔聚合物通过“吸附杀死”抗菌策略促进感染伤口愈合

引用信息: 文 章:Photoactive cationic conjugated microporous polymers containing pyrimidine with an adsorption-killantibacterial strategy for infected wound healing. 期 刊:Chemical Engineering Journal(影响因子…

2024最全软件测试面试八股文(答案+文档+视频讲解)

Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自…

Python语言在地球科学交叉领域中的技术应用

Python是功能强大、免费、开源,实现面向对象的编程语言,Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台(x86和arm),Python简洁的语法和对动态输入的支持,再加上解释性语言的本质&…

【微信支付】获取微信开发信息(全网最详细!!!)

前言 1、申请商户号 申请流程与资料 详细申请步骤 申请开通接入微信支付步骤 2、申请微信小程序 申请小程序步骤 查看小程序AppID 3、微信支付普通商户与AppID账号关联 4、获取开发中需要的密钥和证书 4.1、申请证书 4.2、下载证书工具 4.3、证书工具—填写商户信息…

七大战略性新兴产业崭露头角:新能源电燃灶或将成为未来厨房新宠

近日,在国家发布的七大战略性新兴产业名单中,新能源产业赫然在列,作为其中的重要组成部分,华火新能源电燃灶凭借其独特的优势,正逐渐走进人们的视野,有望成为未来厨房的新宠。 华火新能源电燃灶作为清洁能源…

实验笔记之——DPVO(Deep Patch Visual Odometry)

本博文记录本文测试DPVO的过程,本博文仅供本人学习记录用~ 《Deep Patch Visual Odometry》 代码链接:GitHub - princeton-vl/DPVO: Deep Patch Visual Odometry 目录 配置过程 测试记录 参考资料 配置过程 首先下载代码以及创建conda环境 git clo…

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.3-1.4

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第一周 机器学习(ML)策略(1)(ML strategy(1))1.3 单一数字评估指标(S…

PDF编辑流程,另附5款好用的PDF编辑器

pdf作为一个用来定稿打印的格式,偏偏许多时候需要事后去编辑它。而它格式复杂、混乱,解码困难,再好的编辑器也难免乱码。这里就从目前的pdf编辑流程上给大家稍微科普下。 首先,PDF编辑软件读取需要编辑的PDF文件,解析PDF文件的内…

被踢指数高!这本8.8分双1区“毕业神刊”,2个月可录!虽备受国人喜爱,但需谨慎投稿!

【欧亚科睿学术】 近期,经查询,小编发现ELSEVIER旗下一本热门顶刊竟在JCAR官网上显示被踢指数高。 图片来源:JCAR KNOWLEDGE-BASED SYSTEMS(ISSN :0950-7051)是人工智能领域的一本国际性、跨学科期刊。目前,该期刊影响…

Qt实用技能-必看系列

注:所有qt项目不能放到含中文的目录中 如何将material库添加进项目 1.构建运行项目 2.切换到debug目录,复制.a文件 3.粘贴到新建的libs目录 4.新建include目录存放头文件,将原项目所有头文件一并复制粘贴到include。 5.将文件与我们的项目产生联系。在pro文件将编译依赖的…