最新资讯

  • IP协议(网络)

IP协议(网络)

2025-04-30 16:00:48 0 阅读

 

目录

 网络层

IP协议

基本概念

协议头格式(报头)

网段划分(重要)

IP地址分为两个部分, 网络号和主机号

特殊的IP地址

IP地址的数量限制

私有IP地址和公网IP地址

路由

数据链路层

交换机

对比理解 "数据链路层" 和 "网络层"

认识以太网

以太网帧格式

认识MAC地址

对比理解MAC地址和IP地址

认识MTU

MTU对IP协议的影响

​编辑MTU对UDP协议的影响

切片

MTU对于TCP协议的影响

查看硬件地址和MTU

ARP协议

ARP协议的作用

ARP协议的工作流程

ARP数据报的格式

其他重要协议或技术

DNS(Domain Name System)

DNS背景

域名简介

浏览器中输入url后, 发生的事情

ICMP协议

ICMP功能

ping命令

一个值得注意的坑

traceroute命令

NAT技术

NAT技术背景

NAT IP转换过程

NAPT

NAT技术的缺陷

NAT和代理服务器

总结

数据链路层

网络层

传输层

应用层


网络层

IP协议

基本概念

主机: 配有IP地址, 但是不进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统称;

协议头格式(报头)

  • 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.
  • 4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大 的数字是15, 因此IP头部最大长度是60字节.
  • 8位服务类型(Type Of Service): 3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置为0). 4位TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于ssh/telnet这样的应用程序, 最小延时比较重要; 对于ftp这样的程序, 最大吞吐量比较重要.
  • 16位总长度(total length): IP数据报整体占多少个字节. 16位标识(id): 唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个id都是相同的.
  • 3位标志字段: 第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要用到). 第二位置为1表示禁 止分片, 这时候如果报文长度超过MTU, IP模块就会丢弃报文. 第三位表示"更多分片", 如果分片了的话,最后一个分片置为1, 其他是0. 类似于一个结束标记.
  • 13位分片偏移(framegament offset): 是分片相对于原始IP报文开始处的偏移. 其实就是在表示当前分片 在原报文中处在哪个位置. 实际偏移的字节数是这个值 * 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是8的整数倍(否则报文就不连续了).
  • 8位生存时间(Time To Live, TTL): 数据报到达目的地的最大报文跳数. 一般是64. 每次经过一个路由, TTL -= 1, 一直减到0还没到达, 那么就丢弃了. 这个字段主要是用来防止出现路由循环
  • 8位协议: 表示上层协议的类型
  • 16位头部校验和: 使用CRC进行校验, 来鉴别头部是否损坏.
  • 32位源地址和32位目标地址: 表示发送端和接收端.

网段划分(重要)

IP地址分为两个部分, 网络号和主机号

  • 网络号: 保证相互连接的两个网段具有不同的标识;
  • 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号;

  • 不同的子网其实就是把网络号相同的主机放到一起.
  • 如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网 中的其他主机重复.

通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同.

那么问题来了, 手动管理子网内的IP, 是一个相当麻烦的事情.

  • 有一种技术叫做DHCP, 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便.
  • 一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务器.

过去曾经提出一种划分网络号和主机号的方案, 把所有IP 地址分为五类, 如下图所示(该图出自[TCPIP])。

  • A类 0.0.0.0到127.255.255.255
  • B类 128.0.0.0到191.255.255.255
  • C类 192.0.0.0到223.255.255.255
  • D类 224.0.0.0到239.255.255.255
  • E类 240.0.0.0到247.255.255.255

随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就 分配完了, 而A类却浪费了大量地址;

  • 例如, 申请了一个B类地址, 理论上一个子网内能允许6万5千多个主机. A类地址的子网内的主机数更多.
  • 然而实际网络架设中, 不会存在一个子网内有这么多的情况. 因此大量的IP地址都被浪费掉了.

针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing):

  • 引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;
  • 子网掩码也是一个32位的正整数. 通常用一串 "0" 来结尾;
  • 将IP地址和子网掩码进行 "按位与" 操作, 得到的结果就是网络号;
  • 网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;

可见,IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围; IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,也就是255.255.255.0

特殊的IP地址

  • 将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网;
  • 将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数 据包;
  • 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1

IP地址的数量限制

我们知道, IP地址(IPv4)是一个4字节32位的正整数. 那么一共只有 2的32次方 个IP地址, 大概是43亿左右. 而TCP/IP协议规定, 每个主机都需要有一个IP地址.

这意味着, 一共只有43亿台主机能接入网络么?

实际上, 由于一些特殊的IP地址的存在, 数量远不足43亿; 另外IP地址并非是按照主机台数来配置的, 而是每一个网卡 都需要配置一个或多个IP地址.

CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加), 仍然 不是很够用. 这时候有三种方式来解决:

  • 动态分配IP地址: 只给接入网络的设备分配IP地址. 因此同一个MAC地址的设备, 每次接入互联网中, 得到 的IP地址不一定是相同的;
  • NAT技术(后面会重点介绍);
  • IPv6: IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6用16字节128位来表 示一个IP地址; 但是目前IPv6还没有普及;

私有IP地址和公网IP地址

如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上 使用任意的IP地址都 可以,但是RFC 1918规定了用于组建局域网的私有IP地址

  • 10.*,前8位是网络号,共16,777,216个地址
  • 172.16.到172.31.,前12位是网络号,共1,048,576个地址
  • 192.168.*,前16位是网络号,共65,536个地址
  • 包含在这个范围中的, 都成为私有IP, 其余的则称为全局IP(或公网IP);

  • 一个路由器可以配置两个IP地址, 一个是WAN口IP, 一个是LAN口IP(子网IP).
  • 路由器LAN口连接的主机, 都从属于当前这个路由器的子网中.
  • 不同的路由器, 子网IP其实都是一样的(通常都是192.168.1.1). 子网内的主机IP地址不能重复. 但是子网之 间的IP地址就可以重复了.
  • 每一个家用路由器, 其实又作为运营商路由器的子网中的一个节点. 这样的运营商路由器可能会有很多级,最外层的运营商路由器, WAN口IP就是一个公网IP了.
  • 子网内的主机需要和外网进行通信时, 路由器将IP首部中的IP地址进行替换(替换成WAN口IP), 这样逐级 替换, 最终数据包中的IP地址成为一个公网IP. 这种技术称为NAT(Network Address Translation,网络地 址转换).
  • 如果希望我们自己实现的服务器程序, 能够在公网上被访问到, 就需要把程序部署在一台具有外网IP的服 务器上. 这样的服务器可以在阿里云/腾讯云上进行购买.

路由

在复杂的网络结构中, 找出一条通往终点的路线;

[唐僧问路例子1]

路由的过程, 就是这样一跳一跳(Hop by Hop) "问路" 的过程.

所谓 "一跳" 就是数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间.

IP数据包的传输过程也和问路一样.

  • 当IP数据包, 到达路由器时, 路由器会先查看目的IP;
  • 路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器;
  • 依次反复, 一直到达目标IP地址;

那么如何判定当前这个数据包该发送到哪里呢? 这个就依靠每个节点内部维护一个路由表;

[唐僧问路例子2]

  • 路由表可以使用route命令查看
  • 如果目的IP命中了路由表, 就直接转发即可;
  • 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配 时,就按缺省路由条目规定的接口发送到下一跳地址。

假设某主机上的网络接口配置和路由表如下:

  • 这台主机有两个网络接口,一个网络接口连到192.168.10.0/24网络,另一个网络接口连到192.168.56.0/24网络;
  • 路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接 口,Flags中的U标志表示此条目有效(可以禁用某些 条目),G标志表示此条目的下一跳地址是某个路由器的 地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;

转发过程例1: 如果要发送的数据包的目的地址是192.168.56.3

  • 跟第一行的子网掩码做与运算得 到192.168.56.0,与第一行的目的网络地址不符
  • 再跟第二行的子网掩码做与运算得 到192.168.56.0,正是第二行的目的网络地址,因此从eth1接口发送出去;
  • 由于192.168.56.0/24正 是与eth1 接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转发;

转发过程例2: 如果要发送的数据包的目的地址是202.10.1.2

  • 依次和路由表前几项进行对比, 发现都不匹配;
  • 按缺省路由条目, 从eth0接口发出去, 发往192.168.10.1路由器;
  • 由192.168.10.1路由器根据它的路由表决定下一跳地址;

数据链路层

用于两个设备(同一种数据链路节点)之间进行传递.

交换机

对比理解 "数据链路层" 和 "网络层"

[唐僧例子之白龙马]

认识以太网

  • "以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的 内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
  • 例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;
  • 以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等;

以太网帧格式

以太网的帧格式如下所示:

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的;
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
  • 帧末尾是CRC校验码。

认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可 能会冲突; 也有些网卡支持用户配置mac地址).

对比理解MAC地址和IP地址

还是 [唐僧例子之白龙马]

  • IP地址描述的是路途总体的 起点 和 终点;
  • MAC地址描述的是路途上的每一个区间的起点和终点;

认识MTU

MTU相当于发快递时对包裹尺寸的限制. 这个限制是不同的数据链路对应的物理层, 产生的限制.

  • 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位;
  • 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;
  • 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation);
  • 不同的数据链路层标准的MTU是不同的;

MTU对IP协议的影响

由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包.

  • 将较大的IP包分成多个小包, 并给每个小包打上标签;
  • 每个小包IP协议头的 16位标识(id) 都是相同的;
  • 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记(当前是否是最 后一个小包, 是的话置为1, 否则置为0);
  • 到达对端时再将这些小包, 会按顺序重组, 拼装到一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失, 接收端的重组就会失败. 但是IP层不会负责重新传输数据;

MTU对UDP协议的影响

让我们回顾一下UDP协议:

  • 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)), 那么就会在网络层分成多个IP数据报.
  • 这多个IP数据报有任意一个丢失, 都会引起接收端网络层重组失败. 那么这就意味着, 如果UDP数据报在 网络层被分片, 整个数据被丢失的概率就大大增加了.

切片

MTU对于TCP协议的影响

让我们再回顾一下TCP协议:

  • TCP的一个数据报也不能无限大, 还是受制于MTU. TCP的单个数据报的最大消息长度, 称为MSS(Max Segment Size);
  • TCP在建立连接的过程中, 通信双方会进行MSS协商.
  • 最理想的情况下, MSS的值正好是在IP不会被分片处理的最大长度(这个长度仍然是受制于数据链路层的 MTU).
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值.
  • 然后双方得知对方的MSS值之后, 选择较小的作为最终MSS.
  • MSS的值就是在TCP首部的40字节变长选项中(kind=2);

MSS和MTU的关系        

查看硬件地址和MTU

使用ifconfig命令, 即可查看ip地址, mac地址, 和MTU;

ARP协议

虽然我们在这里介绍ARP协议, 但是需要强调, ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议;

ARP协议的作用

ARP协议建立了主机 IP地址 和 MAC地址的映射关系.

在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;

数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;

因此在通讯前必须获得目的主机的硬件地址;

ARP协议的工作流程

  • 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”, 并将这个请求广播到本地网 段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播);
  • 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中;
  • 每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如 果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址

ARP数据报的格式

  • 注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的。
  • 硬件类型指链路层网络类型,1为以太网;
  • 协议类型指要转换的地址类型,0x0800为IP地址;
  • 硬件地址长度对于以太网地址为6字节;
  • 协议地址长度对于和IP地址为4字节;
  • op字段为1表示ARP请求,op字段为2表示ARP应答。

其他重要协议或技术

DNS(Domain Name System)

DNS是一整套从域名映射到IP的系统

DNS背景

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆. 于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系.

最初, 通过互连网信息中心(SRI-NIC)来管理这个hosts文件的.

  • 如果一个新计算机要接入网络, 或者某个计算机IP变更, 都需要到信息中心申请变更hosts文件.
  • 其他计算机也需要定期下载更新新版本的hosts文件才能正确上网.

这样就太麻烦了, 于是产生了DNS系统.

  • 一个组织的系统管理机构, 维护系统内的每个主机的IP和主机名的对应关系.
  • 如果新计算机接入网络, 将这个信息注册到数据库中;
  • 用户输入域名的时候, 会自动查询DNS服务器, 由DNS服务器检索数据库, 得到对应的IP地址.

至今, 我们的计算机上仍然保留了hosts文件. 在域名解析的过程中仍然会优先查找hosts文件的内容.

cat /etc/hosts

域名简介

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称.

www.baidu.com

域名使用 . 连接

  • com: 一级域名. 表示这是一个企业域名. 同级的还有 "net"(网络提供商), "org"(非盈利组织) 等.
  • baidu: 二级域名, 公司名.
  • www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式, 来表示主机支持的协议.

浏览器中输入url后, 发生的事情

url

ICMP协议

ICMP协议是一个 网络层协议

一个新搭建好的网络, 往往需要先进行一个简单的测试, 来验证网络是否畅通; 但是IP协议并不提供可靠传输. 如果丢 包了, IP协议并不能通知传输层是否丢包以及丢包的原因.

ICMP功能

ICMP正是提供这种功能的协议; ICMP主要功能包括:

  • 确认IP包是否成功到达目标地址.
  • 通知在发送过程中IP包被丢弃的原因.
  • ICMP也是基于IP协议工作的. 但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议;
  • ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6;

ping命令

  • 注意, 此处 ping 的是域名, 而不是url! 一个域名可以通过DNS解析成IP地址.
  • ping命令不光能验证网络的连通性, 同时也会统计响应时间和TTL(IP包中的Time To Live, 生存周期).
  • ping命令会先发送一个 ICMP Echo Request给对端;
  • 对端接收到之后, 会返回一个ICMP Echo Reply;

一个值得注意的坑

有些面试官可能会问: telnet是23端口, ssh是22端口, 那么ping是什么端口? 千万注意!!! 这是面试官的圈套

  • ping命令基于ICMP, 是在网络层. 而端口号, 是传输层的内容. 在ICMP中根本就不关注端口号这样的信息.

traceroute命令

也是基于ICMP协议实现, 能够打印出可执行程序主机, 一直到目标主机之前经历多少路由器.

NAT技术

NAT技术背景

之前我们讨论了, IPv4协议中, IP地址数量不充足的问题

NAT技术当前解决IP地址不够用的主要手段, 是路由器的一个重要功能;

  • NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法:
  • 很多学校, 家庭, 公司内部采用每个终端设置私有IP, 而在路由器或必要的服务器上设置全局IP;
  • 全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的;

NAT IP转换过程

  • NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37;
  • NAT路由器收到外部的数据时, 又会把目标IP从202.244.174.37替换回10.0.0.10;
  • 在NAT路由器内部, 有一张自动生成的, 用于地址转换的表;
  • 当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系;

NAPT

那么问题来了, 如果局域网内, 有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中, 目的IP都是相同 的. 那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机? 这时候NAPT来解决这个问题了. 使用IP+port来建立这个关联关系

这种关联关系也是由NAT路由器自动维护的. 例如在TCP的情况下, 建立连接时, 就会生成这个表项; 在断开连接后, 就 会删除这个表项

NAT技术的缺陷

由于NAT依赖这个转换表, 所以有诸多限制:

  • 无法从NAT外部向内部服务器建立连接;
  • 装换表的生成和销毁都需要额外开销;
  • 通信过程中一旦NAT设备异常, 即使存在热备, 所有的TCP连接也都会断开;

课外调研: NAT穿越

NAT和代理服务器

路由器往往都具备NAT设备的功能, 通过NAT设备进行中转, 完成子网设备和其他子网设备的通信过程.

代理服务器看起来和NAT设备有一点像. 客户端像代理服务器发送请求, 代理服务器将请求转发给真正要请求的服务 器; 服务器返回结果后, 代理服务器又把结果回传给客户端.

那么NAT和代理服务器的区别有哪些呢?

  • 从应用上讲, NAT设备是网络基础设备之一, 解决的是IP不足的问题. 代理服务器则是更贴近具体应用, 比 如通过代理服务器进行翻墙, 另外像迅游这样的加速器, 也是使用代理服务器.
  • 从底层实现上讲, NAT是工作在网络层, 直接对IP地址进行替换. 代理服务器往往工作在应用层.
  • 从使用范围上讲, NAT一般在局域网的出口部署, 代理服务器可以在局域网做, 也可以在广域网做, 也可以跨网.
  • 从部署位置上看, NAT一般集成在防火墙, 路由器等硬件设备上, 代理服务器则是一个软件程序, 需要部署 在服务器上.

代理服务器是一种应用比较广的技术.

  • 翻墙: 广域网中的代理.
  • 负载均衡: 局域网中的代理.

代理服务器又分为正向代理和反向代理.

代购例子

花王尿不湿是一个很经典的尿不湿品牌, 产自日本. 我自己去日本买尿不湿比较不方便, 但是可以让我在日本工作的表姐去超市买了快递给我. 此时超市看到的买家是我表 姐, 我的表姐就是 "正向代理"; 后来找我表姐买尿不湿的人太多了, 我表姐觉得天天去超市太麻烦, 干脆去超市买了一大批尿不湿屯在家里, 如果有人 来找她代购, 就直接把屯在家里的货发出去, 而不必再去超市. 此时我表姐就是 "反向代理"

正向代理用于请求的转发(例如借助代理绕过反爬虫).

反向代理往往作为一个缓存.

总结

数据链路层

数据链路层的作用: 两个设备(同一种数据链路节点)之间进行传递数据

以太网是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑 结构, 访问控制方式, 传输速率等;

以太网帧格式

理解mac地址

理解arp协议

理解MTU

网络层

  • 网络层的作用: 在复杂的网络环境中确定一个合适的路径.
  • 理解IP地址, 理解IP地址和MAC地址的区别.
  • 理解IP协议格式.
  • 了解网段划分方法
  • 理解如何解决IP数目不足的问题, 掌握网段划分的两种方案.
  • 理解私有IP和公网IP
  • 理解网络层的IP地址路由过程.
  • 理解一个数据包如何跨越网段到达最终目的地.
  • 理解IP数据包分包的原因.
  • 了解ICMP协议. 了
  • 解NAT设备的工作原理.

传输层

  • 传输层的作用: 负责数据能够从发送端传输接收端.
  • 理解端口号的概念.
  • 认识UDP协议, 了解UDP协议的特点.
  • 认识TCP协议, 理解TCP协议的可靠性. 理解TCP协议的状态转化.
  • 掌握TCP的连接管理, 确认应答, 超时重传, 滑动窗口, 流量控制, 拥塞控制, 延迟应答, 捎带应答特性.
  • 理解TCP面向字节流, 理解粘包问题和解决方案.
  • 能够基于UDP实现可靠传输.
  • 理解MTU对UDP/TCP的影响.

应用层

  • 应用层的作用: 满足我们日常需求的网络程序, 都是在应用层
  • 能够根据自己的需求, 设计应用层协议.
  • 了解HTTP协议.
  • 理解DNS的原理和工作流程.

本文地址:https://www.vps345.com/6303.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP 服务器 linux 运维 游戏 云计算 javascript 前端 chrome edge 阿里云 网络 网络安全 网络协议 llama 算法 opencv 自然语言处理 神经网络 语言模型 ubuntu ssh 进程 操作系统 进程控制 Ubuntu deepseek Ollama 模型联网 API CherryStudio python MCP RTSP xop RTP RTSPServer 推流 视频 harmonyos 华为 开发语言 typescript 计算机网络 数据库 centos oracle 关系型 安全 分布式 numpy android 鸿蒙 macos adb c# java 面试 性能优化 jdk intellij-idea 架构 Flask FastAPI Waitress Gunicorn uWSGI Uvicorn flutter Hyper-V WinRM TrustedHosts rust http udp unity tcp/ip php 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 Dell R750XS vue.js audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 ssl 深度学习 YOLO 目标检测 计算机视觉 人工智能 fastapi mcp mcp-proxy mcp-inspector fastapi-mcp agent sse HCIE 数通 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 经验分享 学习方法 笔记 学习 nginx 监控 自动化运维 嵌入式硬件 docker 容器 DeepSeek-R1 API接口 ollama下载加速 大模型 pycharm Ubuntu Server Ubuntu 22.04.5 Linux conda pillow live555 rtsp rtp rabbitmq node.js json html5 firefox 大数据 爬虫 数据挖掘 网络用户购物行为分析可视化平台 大数据毕业设计 1024程序员节 websocket WSL win11 无法解析服务器的名称或地址 https web安全 Kali Linux 黑客 渗透测试 信息收集 django flask web3.py apache 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 vim 自动化 蓝耘科技 元生代平台工作流 ComfyUI redis mybatis vue3 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 github AI Agent ffmpeg 音视频 c++ windows 产品经理 agi microsoft 创意 社区 源码剖析 rtsp实现步骤 流媒体开发 cpu 内存 实时 使用 远程控制 远程看看 远程协助 单片机 温湿度数据上传到服务器 Arduino HTTP 后端 信息与通信 C语言 vscode YOLOv8 NPU Atlas800 A300I pro asi_bench 博客 cuda cudnn anaconda 微服务 springcloud DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 jenkins ide mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 嵌入式 linux驱动开发 arm开发 进程信号 pytorch transformer c语言 qt stm32项目 stm32 debian PVE 计算机外设 电脑 mac 软件需求 机器学习 ai AI编程 物联网 iot 华为云 golang .netcore react.js 前端面试题 持续部署 微信 微信分享 Image wxopensdk oceanbase rc.local 开机自启 systemd 麒麟 chatgpt llama3 Chatglm 开源大模型 ping++ 运维开发 前端框架 深度优先 图论 并集查找 换根法 树上倍增 智能手机 NAS Termux Samba ddos ollama llm 科技 个人开发 低代码 Qwen2.5-coder 离线部署 数据结构 jmeter 软件测试 银河麒麟服务器操作系统 系统激活 HarmonyOS Next sqlserver sql KingBase pip 负载均衡 uni-app WSL2 ESP32 豆瓣 追剧助手 迅雷 nas spring boot tomcat YOLOv12 LDAP mysql aws googlecloud 开源 C 环境变量 进程地址空间 maven intellij idea 代码调试 ipdb Windsurf asm 实时音视频 git ansible dubbo 智能路由器 外网访问 内网穿透 端口映射 word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 大数据平台 安装教程 GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 .net 僵尸进程 mongodb rust腐蚀 gitee 命令 远程工作 传统数据库升级 银行 大语言模型 LLMs Dify selete 高级IO webrtc postgresql 编辑器 IPMITOOL BMC 硬件管理 opcua opcda KEPServer安装 AIGC oneapi 数据库架构 数据管理 数据治理 数据编织 数据虚拟化 大模型微调 open webui 政务 分布式系统 监控运维 Prometheus Grafana idm MQTT 消息队列 tcpdump visual studio code pdf 系统架构 设计模式 软件工程 VSCode 跨域 华为认证 网络工程师 交换机 多线程服务器 Linux网络编程 移动云 android studio protobuf 序列化和反序列化 安装 飞牛NAS 飞牛OS MacBook Pro springsecurity6 oauth2 授权服务器 token sas 鲲鹏 FTP 服务器 cnn webstorm matlab AI大模型 LLM netty 部署 SSL 域名 Anolis nginx安装 环境安装 linux插件下载 企业微信 Linux24.04 deepin 云原生 etcd 数据安全 RBAC Reactor C++ 游戏程序 ios mariadb Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 金融 visualstudio 缓存 强制清理 强制删除 mac废纸篓 yum 驱动开发 硬件工程 嵌入式实习 dify Java 职场和发展 mcu 测试工具 虚拟机 VMware RAID RAID技术 磁盘 存储 SSH 服务 SSH Server OpenSSH Server Trae IDE AI 原生集成开发环境 Trae AI 3d NFS 状态管理的 UDP 服务器 Arduino RTOS Ark-TS语言 程序员 Cline iftop 网络流量监控 ecmascript nextjs react reactjs RustDesk自建服务器 rustdesk服务器 docker rustdesk 黑客技术 docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos 流式接口 make命令 makefile文件 gitlab 本地部署 api cmos 硬件 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 pyqt java-ee Kylin-Server 国产操作系统 服务器安装 EasyConnect open Euler dde 统信UOS kubernetes 程序人生 鸿蒙系统 VMware安装mocOS macOS系统安装 hadoop 安卓 网工 opensearch helm 搜索引擎 ssrf 失效的访问控制 WebRTC gpt openwrt DeepSeek gpu算力 SysBench 基准测试 ux 多线程 多进程 远程 执行 sshpass 操作 adobe elk 交互 Python 网络编程 聊天服务器 套接字 TCP 客户端 Socket minio xrdp 远程桌面 远程连接 文件系统 路径解析 gcc string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 excel 系统安全 群晖 文件分享 WebDAV 中间件 iis 系统开发 binder 车载系统 framework 源码环境 NPS 雨云服务器 雨云 能力提升 面试宝典 技术 IT信息化 环境迁移 服务器管理 宝塔面板 配置教程 网站管理 ESXi Dell HPE 联想 浪潮 崖山数据库 YashanDB KVM Ubuntu 24.04.1 轻量级服务器 redhat selenium rsyslog RAGFLOW RAG 检索增强生成 文档解析 大模型垂直应用 毕设 jar wireshark Linux PID 相差8小时 UTC 时间 elasticsearch asp.net大文件上传 asp.net大文件上传源码 ASP.NET断点续传 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 prometheus kylin 银河麒麟操作系统 国产化 rpc 远程过程调用 Windows环境 直播推流 服务器部署ai模型 数据集 ipython 开机自启动 svn 医疗APP开发 app开发 Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer playbook 剧本 ue4 着色器 ue5 虚幻 kvm 无桌面 命令行 媒体 微信公众平台 risc-v 目标跟踪 OpenVINO 推理应用 bootstrap html web ci/cd Deepseek 计算机 jupyter css 联想开天P90Z装win10 Invalid Host allowedHosts vue 微信开放平台 微信公众号配置 bonding 链路聚合 远程登录 telnet firewalld 压力测试 CPU 主板 电源 网卡 蓝桥杯 k8s ecm bpm 压测 ECS kali 共享文件夹 DNS 网站搭建 serv00 宕机切换 服务器宕机 CLion spring 课程设计 Minecraft zabbix 微信小程序 iDRAC R720xd SWAT 配置文件 服务管理 网络共享 bash fpga开发 freebsd 灵办AI zotero 同步失败 代理模式 Redis Desktop thingsboard curl wget unix es jvm micropython esp32 mqtt QQ 机器人 bot Docker devops springboot shell 磁盘监控 技能大赛 服务器配置 设置代理 实用教程 向日葵 dell服务器 go 硬件架构 linux 命令 sed 命令 图形化界面 集成学习 集成测试 虚拟化 半虚拟化 硬件虚拟化 Hypervisor IIS .net core Hosting Bundle .NET Framework vs2022 XFS xfs文件系统损坏 I_O error 田俊楠 file server http server web server GCC crosstool-ng eNSP 网络规划 VLAN 企业网络 生物信息学 openEuler virtualenv linux环境变量 ragflow pgpool gitea wsl2 wsl 图像处理 腾讯云 多层架构 解耦 rdp 实验 k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm safari Mac 系统 设备 GPU PCI-Express 分析解读 W5500 OLED u8g2 TCP服务器 spring cloud jetty undertow chfs ubuntu 16.04 express UOS 统信操作系统 Docker Compose docker compose docker-compose Erlang OTP gen_server 热代码交换 事务语义 ip命令 新增网卡 新增IP 启动网卡 MNN Qwen ip bug TRAE 音乐服务器 Navidrome 音流 RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 具身智能 指令 mq rocketmq kafka MacMini 迷你主机 mini Apple 服务器繁忙 小艺 Pura X DevEco Studio hugo 华为od OD机试真题 华为OD机试真题 服务器能耗统计 ruoyi MQTT协议 消息服务器 代码 DeepSeek行业应用 Heroku 网站部署 AI代码编辑器 测试用例 功能测试 kind AI写作 AI作画 next.js 部署next.js 聊天室 threejs 3D minicom 串口调试工具 Docker Hub docker pull 镜像源 daemon.json 思科模拟器 思科 Cisco 北亚数据恢复 oracle数据恢复 ceph 监控k8s 监控kubernetes muduo VR手套 数据手套 动捕手套 动捕数据手套 X11 Xming XCC Lenovo WebUI DeepSeek V3 其他 繁忙 解决办法 替代网站 汇总推荐 AI推理 深度求索 私域 知识库 dba embedding av1 电视盒子 机顶盒ROM 魔百盒刷机 docker命令大全 数学建模 5G 3GPP 卫星通信 list skynet 弹性计算 计算虚拟化 弹性裸金属 腾讯云大模型知识引擎 efficientVIT YOLOv8替换主干网络 TOLOv8 命名管道 客户端与服务端通信 r语言 数据可视化 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 安全威胁分析 vscode 1.86 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 并查集 leetcode grafana 直流充电桩 充电桩 IPMI 报错 漏洞 p2p unity3d ArcTS 登录 ArcUI GridItem arkUI 银河麒麟 kylin v10 麒麟 v10 监控k8s集群 集群内prometheus VMware安装Ubuntu Ubuntu安装k8s 网络穿透 云服务器 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 Nuxt.js SSH Xterminal chrome devtools chromedriver JAVA 裸金属服务器 弹性裸金属服务器 Cursor 服务器主板 AI芯片 大模型面经 大模型学习 k8s集群资源管理 云原生开发 postman mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 okhttp CORS Netty 即时通信 NIO Google pay Apple pay ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 边缘计算 IIS服务器 IIS性能 日志监控 ros2 moveit 机器人运动 eureka nuxt3 sqlite pygame 小游戏 五子棋 MS Materials openssl 密码学 gateway Clion Nova ResharperC++引擎 Centos7 远程开发 业界资讯 sdkman 显示过滤器 ICMP Wireshark安装 模拟退火算法 code-server mosquitto 数据分析 Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 数据库系统 Playwright 自动化测试 C# MQTTS 双向认证 emqx nvidia rime hibernate sqlite3 kamailio sip VoIP linux上传下载 echarts 信息可视化 网页设计 gradle mysql离线安装 ubuntu22.04 mysql8.0 框架搭建 源码 毕业设计 串口服务器 vmware 卡死 混合开发 JDK remote-ssh 统信 虚拟机安装 火绒安全 centos-root /dev/mapper yum clean all df -h / du -sh 京东云 基础入门 编程 vSphere vCenter 软件定义数据中心 sddc RTMP 应用层 camera Arduino 电子信息 孤岛惊魂4 uniapp 恒源云 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 perf 虚拟局域网 单一职责原则 hive DBeaver 数据仓库 kerberos ui aarch64 编译安装 HPC epoll 策略模式 单例模式 Linux环境 iBMC UltraISO lua 飞牛 gpt-3 文心一言 asp.net大文件上传下载 openstack Xen 移动魔百盒 云服务 USB转串口 CH340 可信计算技术 显卡驱动 邮件APP 免费软件 arm spark HistoryServer Spark YARN jobhistory Headless Linux 产测工具框架 IMX6ULL 管理框架 音乐库 交叉编译 序列化反序列化 主从复制 sentinel Logstash 日志采集 人工智能生成内容 自定义客户端 SAS 自动驾驶 僵尸世界大战 游戏服务器搭建 midjourney zookeeper AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 nfs 大大通 第三代半导体 碳化硅 Ubuntu共享文件夹 共享目录 Linux共享文件夹 Windows ai工具 v10 软件 ruby ldap armbian u-boot 游戏引擎 xml 链表 seleium GIS 遥感 WebGIS npm 软件构建 双系统 GRUB引导 Linux技巧 prompt 虚拟显示器 URL 项目部署到linux服务器 项目部署过程 ftp 干货分享 黑客工具 密码爆破 banner 技术共享 实时互动 fd 文件描述符 mamba iphone P2P HDLC SSE uv 迁移指南 LLM Web APP Streamlit 安全架构 网络攻击模型 eclipse cpp-httplib 大模型应用 OpenSSH MI300x 执法记录仪 智能安全帽 smarteye ros 重启 排查 系统重启 日志 原因 vscode1.86 1.86版本 ssh远程连接 wps SRS 流媒体 直播 c/c++ 串口 开发环境 SSL证书 IPv4 子网掩码 公网IP 私有IP sysctl.conf vm.nr_hugepages 软负载 Vmamba 性能测试 odoo 服务器动作 Server action rnn 信号处理 python3.11 视频编解码 MacOS录屏软件 dash 正则表达式 线程 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 UOS1070e 代码托管服务 seatunnel 本地部署AI大模型 串口驱动 CH341 uart 485 LInux Cookie 影刀 #影刀RPA# c uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 rag ragflow 源码启动 矩阵 swoole 三级等保 服务器审计日志备份 FTP服务器 bcompare Beyond Compare 模拟器 教程 glibc 实习 软考 DIFY VS Code 工业4.0 AI-native Docker Desktop 多个客户端访问 IO多路复用 回显服务器 TCP相关API yolov8 EMUI 回退 降级 升级 DeepSeek r1 Open WebUI 游戏开发 tailscale derp derper 中转 OpenManus triton 模型分析 linux安装配置 线性代数 电商平台 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 大文件秒传跨域报错cors 互信 小智AI服务端 xiaozhi ASR TTS C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 宝塔 嵌入式Linux IPC AD 域管理 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 GoogLeNet miniapp 真机调试 调试 debug 断点 网络API请求调试方法 HarmonyOS apt cursor 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 MCP server C/S windows日志 g++ g++13 自学笔记 小米 澎湃OS Android 匿名管道 DOIT 四博智联 arcgis Unity Dedicated Server Host Client 无头主机 安防软件 端口测试 单元测试 H3C 运维监控 docker run 数据卷挂载 交互模式 毕昇JDK 常用命令 文本命令 目录命令 pyautogui 我的世界服务器搭建 minecraft bat edge浏览器 前后端分离 代理 分布式训练 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 rclone AList webdav fnOS RAGFlow 本地知识库部署 DeepSeek R1 模型 Jellyfin FunASR tensorflow trae 佛山戴尔服务器维修 佛山三水服务器维修 自动化任务管理 TrueLicense easyui langchain matplotlib 相机 Linux的基础指令 cd 目录切换 权限 超融合 历史版本 下载 log4j Spring Security 我的世界 我的世界联机 数码 yum源切换 更换国内yum源 etl clickhouse outlook 飞牛nas fnos 王者荣耀 国内源 Wi-Fi 昇腾 npu ISO镜像作为本地源 云电竞 云电脑 todesk vr 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 免费域名 域名解析 rustdesk vpn 信号 nac 802.1 portal xss 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 用户缓冲区 模拟实现 宠物 免费学习 宠物领养 宠物平台 dns ocr 支付 微信支付 开放平台 ArkTs ArkUI pppoe radius Linux的权限 gaussdb dns是什么 如何设置电脑dns dns应该如何设置 Mac内存不够用怎么办 cocoapods xcode 网络结构图 yaml Ultralytics 可视化 SenseVoice AI agent IM即时通讯 剪切板对通 HTML FORMAT saltstack 程序员创富 Radius Kali 渗透 tcp 国标28181 视频监控 监控接入 语音广播 流程 SIP SDP 版本 CDN 算力 社交电子 CrewAI 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 qemu libvirt EMQX 通信协议 frp flink WebVM DocFlow 流水线 脚本式流水线 7z DenseNet 输入法 LORA NLP 显示管理器 lightdm gdm composer keepalived 同步 备份 建站 sonoma 自动更新 阻塞队列 生产者消费者模型 服务器崩坏原因 xshell termius iterm2 laravel less 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 neo4j 数据库开发 database junit Ubuntu22.04 开发人员主页 trea idea 阿里云ECS 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 服务网格 istio 无人机 AD域 AnythingLLM AnythingLLM安装 致远OA OA服务器 服务器磁盘扩容 键盘 游戏机 自动化编程 HTTP 服务器控制 ESP32 DeepSeek Claude 备选 网站 调用 示例 银河麒麟桌面操作系统 Kylin OS vasp安装 查询数据库服务IP地址 SQL Server lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 语音识别 AutoDL ubuntu24.04.1 语法 IO模型 图形渲染 n8n 工作流 workflow powerpoint VMware创建虚拟机 黑苹果 qt项目 qt项目实战 qt教程 tidb GLIBC EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 can 线程池 捆绑 链接 谷歌浏览器 youtube google gmail 视觉检测 实战案例 华为机试 USB网络共享 AISphereButler 远程服务 银河麒麟高级服务器 外接硬盘 Kylin 根服务器 反向代理 alias unalias 别名 x64 SIGSEGV xmm0 稳定性 看门狗 UDP的API使用 Typore regedit 开机启动 做raid 装系统 Java Applet URL操作 服务器建立 Socket编程 网络文件读取 大模型入门 大模型教程 cfssl ukui 麒麟kylinos openeuler ssh漏洞 ssh9.9p2 CVE-2025-23419 IMX317 MIPI H265 VCU wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 架构与原理 Hive环境搭建 hive3环境 Hive远程模式 webgl CVE-2024-7347 VPS 考研 内网服务器 内网代理 内网通信 EtherCAT转Modbus ECT转Modbus协议 EtherCAT转485网关 ECT转Modbus串口网关 EtherCAT转485协议 ECT转Modbus网关 VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 需求分析 规格说明书 ROS big data IDEA 聚类 飞书 web3 flash-attention Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 MySql 强化学习 Deepseek-R1 私有化部署 推理模型 IMM proxy模式 CentOS wpf 树莓派 VNC harmonyOS面试题 TCP协议 域名服务 DHCP 符号链接 配置 拓扑图 onlyoffice 在线office 磁盘清理 Qwen2.5-VL vllm 镜像 milvus 容器技术 企业网络规划 华为eNSP docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 hosts 程序 性能分析 java-rocketmq deepseek r1 h.264 QT 5.12.12 QT开发环境 Ubuntu18.04 加解密 Yakit yaklang 粘包问题 推荐算法 对比 工具 meld DiffMerge 内网环境 流量运营 沙盒 网卡的名称修改 eth0 ens33 项目部署 win服务器架设 windows server lio-sam SLAM SSH 密钥生成 SSH 公钥 私钥 生成 HarmonyOS NEXT 原生鸿蒙 计算生物学 生物信息 基因组 navicat 英语 fstab deployment daemonset statefulset cronjob iperf3 带宽测试 读写锁 llama.cpp AI Agent 字节智能运维 Attention top Linux top top命令详解 top命令重点 top常用参数 ubuntu20.04 ros1 Noetic 20.04 apt 安装 知识图谱 基础环境 状态模式 k8s二次开发 集群管理 react native 端口聚合 windows11 figma 钉钉 visual studio rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK CentOS Stream gnu 办公自动化 自动化生成 pdf教程 hexo 抓包工具 System V共享内存 进程通信 ranger MySQL8.0 grub 版本升级 扩容 HiCar CarLife+ CarPlay QT RK3588 Node-Red 编程工具 流编程 docker desktop image 中兴光猫 换光猫 网络桥接 自己换光猫 网络建设与运维 多端开发 智慧分发 应用生态 鸿蒙OS NLP模型 MDK 嵌入式开发工具 论文笔记 sublime text ShenTong 防火墙 NAT转发 NAT Server rpa 端口 查看 ss Linux find grep docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 Unity插件 元服务 应用上架 iventoy VmWare OpenEuler css3 word 换源 Debian 环境配置 云桌面 微软 AD域控 证书服务器 软件卸载 系统清理 nlp 浏览器自动化 ABAP UDP deekseek 存储维护 NetApp存储 EMC存储 带外管理 服务器时间 xpath定位元素 Xinference 健康医疗 互联网医院 deep learning 大模型推理 vu大文件秒传跨域报错cors perl 李心怡 PX4 MacOS WLAN 智能音箱 智能家居 金仓数据库 2025 征文 数据库平替用金仓 个人博客 zip unzip 软链接 硬链接 jina wsgiref Web 服务器网关接口 云耀服务器 HAProxy 网络爬虫 kernel 物联网开发 ardunio BLE su sudo SEO 增强现实 沉浸式体验 应用场景 技术实现 案例分析 AR 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 开发 Python基础 Python教程 Python技巧 kotlin 虚幻引擎 virtualbox 问题解决 ubuntu24 vivado24 合成模型 扩散模型 图像生成 Sealos OpenHarmony 信创 信创终端 中科方德 鸿蒙开发 移动开发 嵌入式系统开发 rancher 代理服务器 烟花代码 烟花 元旦 性能调优 安全代理 db dity make sequoiaDB fast SVN Server tortoise svn 极限编程 searxng PPI String Cytoscape CytoHubba ssh远程登录 prometheus数据采集 prometheus数据模型 prometheus特点 ip协议 firewall 大模型部署 浏览器开发 AI浏览器 抗锯齿 本地化部署 查看显卡进程 fuser ArtTS chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 私有化 KylinV10 麒麟操作系统 Vmware nvm whistle 玩机技巧 软件分享 软件图标 MVS 海康威视相机 autodl IO 热榜 dock 加速 欧标 OCPP macOS mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 离线部署dify nosql 开机黑屏 MobaXterm 区块链 搜狗输入法 中文输入法 达梦 DM8 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 yolov5 接口优化 Linux权限 权限命令 特殊权限 多路转接 解决方案 WSL2 上安装 Ubuntu 风扇控制软件 西门子PLC 通讯 vnc 进程优先级 调度队列 进程切换 docker部署Python yum换源 电视剧收视率分析与可视化平台 MAVROS 四旋翼无人机 js 论文阅读 数字证书 签署证书 安装MySQL 通信工程 毕业 智能电视 网络搭建 神州数码 神州数码云平台 云平台 搭建个人相关服务器 conda配置 conda镜像源 AI员工 服务器正确解析请求体