4.2 网际协议IP

思维导图:

 

 

 

前言:

**笔记 4.2 - 网际协议IP**

1. **定义与重要性**:
   - 网际协议IP是TCP/IP体系中的核心协议之一。
   - 它是互联网的关键标准协议。
  
2. **发展背景**:
   - 又被称为Kahn-Cerf协议。
   - 由Robert Kahn和Vint Cerf研发。
   - Kahn和Cerf于2005年因其贡献获得了图灵奖(计算机科学的诺贝尔奖)。

3. **版本细节**:
   - 严格说,本章讨论的是IPv4(IP的第四个版本)。
   - 通常在讲述IP时,不特指版本。
   - IPv6为较新版本,会在4.6节讨论。
   - IPv1-3和IPv5版本未被使用。

4. **与IP协议相关的其他协议**:
   - 地址解析协议ARP。
   - 网际控制报文协议ICMP。
   - 网际组管理协议IGMP。
   - 逆地址解析协议RARP(已被淘汰)。

5. **协议间关系(图4-2)**:
   - **应用层**: 包括(HTTP,FTP,SMTP等)应用协议。
   - **运输层**: 包括TCP, UDP。
   - **网络层(网际层)**:
     - 主要是IP。
     - ARP位于最下方,常被IP使用。
     - ICMP和IGMP位于上方,使用IP。
   - **网络接口层**: 与各种网络接口和物理硬件相连。

6. **关于"网际层"这个术语**:
   - 网际协议IP使得多个计算机网络可以互联通信。
   - 因此TCP/IP体系的网络层经常被称为网际层或IP层。
   - “网际层”强调这是一个由多个网络构成的互联网络。

7. **接下来的讨论**:
   - 在深入讨论网际协议IP之前,我们需要了解什么是虚拟互连网络。

4.2.1 虚拟互联网络 

**4.2 网际协议IP笔记**

- **定义**:网际协议IP是TCP/IP体系中的核心协议之一,也是最主要的互联网标准协议。
  
- **别称**:称为Kahn-Cerf协议,得名于创始人Robert Kahn和Vint Cerf。
  
- **奖项**:Kahn和Cerf于2005年获得图灵奖,相当于计算机科学的诺贝尔奖。
  
- **版本**:本文讨论的是IP的第四个版本,即IPv4。而IPv6是较新的版本,版本1~3和5都未曾使用。
  
- **配套协议**:与IP协议配套使用的还有ARP(地址解析协议)、ICMP(网际控制报文协议)、IGMP(网际组管理协议)。曾有RARP(逆地址解析协议),现已被淘汰。
  
- **协议关系**:图4-2显示了这些协议与网际协议IP之间的关系。其中ARP在最下面,而ICMP和IGMP在上面,因为它们使用IP。
  
- **网络层名称**:TCP/IP体系中的网络层常被称为网际层或IP层,强调这是多个网络构成的互联网络。

---

**4.2.1 虚拟互连网络**

- **挑战**:互连全球百万计的网络是复杂的。存在许多异构性,如不同的寻址、分组长度、接入机制等。

- **网络统一化**:由于各网络的需求和技术差异,不能仅使用一种网络来简化互连。

- **中间设备**:网络互连需要中间设备,如转发器(物理层)、网桥(数据链路层)、路由器(网络层)和网关(网络层以上)。

- **路由器与网关**:路由器是网络层中用于路由选择的专用计算机。因历史原因,路由器曾被称为网关。

- **虚拟互连网络**:使用相同的网际协议IP,互连后的网络可以视为一个大的虚拟网络。它在网络层看起来像一个统一的网络,遮蔽了物理网络的差异。

- **IP网的优势**:在IP网上的主机通信时,它们只看到统一的网络,而看不到各网络的异构细节。

- **例子**:图4-4显示了如何通过路由器将IP数据报从源主机H₁传输到目的主机H₂。

总结,这一节讲述了网际协议IP的重要性和其与其他协议的关系。虚拟互连网络部分讨论了网络互连的挑战和解决方法,并通过示例进一步说明了这一概念。

4.2.2 分类的IP地址 

1.IP地址及其表示方法

在TCP/IP体系中,IP地址是至关重要的。为了深入理解它,我们应该参考互联网的正式标准RFC791。

整个互联网可以被视为一个单一的、抽象的网络。IP地址为互联网上的每台主机(或路由器)的每个接口分配了一个唯一的32位标识符。这样的结构使我们可以在互联网上方便地进行寻址。目前,IP地址的分配由ICANN (Internet Corporation for Assigned Names and Numbers)管理。

IP地址的编址经历了三个阶段:
- 分类的IP地址:最早的编址方法,于1981年被标准化。
- 子网划分:对基本编址方法的改进,于1985年被标准化为RFC950。
- 构成超网:较新的编址方法,于1993年提出并快速得到应用。

本节将重点讨论分类的IP地址,而后两种方法将在4.3节中讨论。

“分类的IP地址”将IP地址划分为几个固定类别。每个类别的地址都由两个固定长度的字段组成:网络号(net-id)和主机号(host-id)。网络号在全球范围内是唯一的,标识连接到的网络。主机号标识在该网络上的特定主机或路由器。

IP地址格式为:
IP地址:={<网络号>,<主机号>}
(4-1)

如图4-5所示,A类、B类和C类地址是最常用的单播地址(一对一通信)。从图中可以看出,这三类地址的网络号字段和主机号字段的长度都不同。A类、B类和C类地址的网络号字段的前几位是类别位,分别为0, 10和110。D类地址用于多播,而E类地址被保留。

需要注意的是,近年来,由于无分类IP地址的广泛使用,传统的A类、B类和C类地址的区分已经成为历史。但为了清晰度和概念的演进,我们还是从分类的IP地址开始讲解。

总的来说,IP地址不仅仅标识一台主机,还指明了主机所连接到的网络。

IP地址的划分旨在满足不同用户的需求。根据需求,一个单位可以获得一块具有同样网络号的地址,而具体的主机号则由该单位自行分配。

通常,IP地址都是32位的二进制代码。为了便于阅读和书写,我们通常使用点分十进制记法(dotted decimal notation)表示IP地址。例如,128.11.3.31比其二进制形式更易读。

--- 

2.常用的三种类别的IP地址 

---

**IP地址分类:**
1. **A类地址:**
   - 网络号字段占1个字节,可指派的网络号是126个。
   - 主机号占3个字节,最大主机数为16777214。
   - 总计占IP地址空间的50%。

2. **B类地址:**
   - 网络号字段有2个字节,可指派的网络数为16383。
   - 主机号字段有2个字节,每个网络上的最大主机数为65534。
   - 总计占IP地址空间的25%。

3. **C类地址:**
   - 网络号字段有3个字节,可指派的网络总数为2097151。
   - 主机号字段有1个字节,每个网络的最大主机数为254。
   - 总计占IP地址空间的12.5%。

---

**IP地址特性:**
1. IP地址由网络号和主机号两部分组成,是分等级的地址结构。
2. IP地址标志主机(或路由器)和链路的接口。
3. 互联网的观点:一个网络是指具有相同网络号的主机的集合。
4. 所有分配到网络号的网络在互联网中都是平等的。

---

**其他要点:**
1. 在同一局域网上的主机或路由器的IP地址的网络号必须一致。
2. 用网桥互连的网段是一个局域网,有一个网络号。
3. 路由器至少有两个不同的IP地址。
4. 直接相连的路由器可以分配也可以不分配IP地址。不分配时称为无编号网络或无名网络。

---

4.2.3 IP地址和硬件地址 

**概述**:在探讨网络通信时,理解IP地址和硬件地址的区别是至关重要的。它们在网络中的功能、位置和用途各不相同。

**1. IP地址与硬件地址的区别**
- 物理地址(硬件地址):在数据链路层和物理层使用的地址。
- IP地址:在网络层及以上使用的逻辑地址。逻辑地址之所以这样称呼,是因为它是通过软件来实现的。

**2. 数据传输与地址**
- 在数据传输中,数据先从高层移至低层,然后再通过通信链路传输。使用IP地址的是IP数据报。
- 注:在局域网中,硬件地址常被称为物理地址或MAC地址。

**3. 不同层次、不同区间的源地址和目的地址**
- 在网络层:写入IP数据报首部的地址。
- 在数据链路层:写入MAC帧首部的地址。

**关键点**:
- 在IP层的互联网上,只能看到IP数据报。数据报通过的路由器的IP地址并不会显示在IP数据报的首部中。
- 虽然IP数据报首部有源地址,但路由器仅根据目标站的IP地址网络号进行路由选择。
- 在局域网的链路层,只能看到MAC帧,且MAC帧首部中的地址在不同的网络传输时会发生变化。
- 虽然每个网络的硬件地址体系都不同,但在IP层上,这些复杂细节被屏蔽。这种“屏蔽”概念在计算机中广泛应用,使得复杂的过程对用户透明。

**核心概念**:理解这些网络通信的基本概念是至关重要的。有两个主要问题需要解决:1) 如何知道在MAC帧首部填入什么硬件地址? 2) 如何得出路由器中的路由表?这两个问题将在后续章节中详细讨论。

4.2.4 地址解析协议ARP 

- **定义与作用**:
    - 地址解析协议 (ARP) 主要用于在已知机器的 IP 地址的情况下,寻找其对应的硬件地址。
    - 图4-10 描述了 ARP 协议的功能。
    
- **协议归类**:
    - 虽然 IP 协议使用了 ARP,但 ARP 主要目的是将网络层使用的 IP 地址转化为数据链路层使用的硬件地址。
    - 有些教材会将 ARP 划归为数据链路层。

- **与RARP的关系**:
    - 早期有一个逆地址解析协议 (RARP) 允许机器仅通过其硬件地址来查询其 IP 地址。
    - 现代的 DHCP 协议已经包含了 RARP 的功能,因此很少还会单独提及 RARP。

- **ARP的工作原理**:
    - 网络层使用 IP 地址,但在实际网络上传输数据帧时,仍需使用该网络的硬件地址。而 IP 地址与硬件地址间并没有直接映射。
    - ARP 解决此问题的方式是通过在主机的 ARP 高速缓存中存储 IP 地址到硬件地址的映射表。
    - 当主机 A 需要与主机 B 通信时,首先检查其 ARP 缓存以查找 B 的硬件地址。如果找到,则直接使用。否则,会广播 ARP 请求来查询 B 的硬件地址。
    - 其他机器收到此 ARP 请求后,如果 IP 地址匹配,则回复其硬件地址;否则忽略此请求。
    - 一旦 A 收到了 B 的响应,它将 B 的 IP 地址与硬件地址的映射存入其 ARP 高速缓存中。

- **ARP高速缓存的重要性**:
    - 如果不使用 ARP 缓存,每次通信都需要广播 ARP 请求,导致网络通信量大增。
    - 使用 ARP 高速缓存可以减少不必要的网络广播,提高通信效率。
    - ARP 缓存中的每个条目都有一定的生命周期,过期的条目会被自动删除。
    - 这样的设计可以确保信息的实时性,例如在硬件地址变更的情况下可以快速更新。

- **ARP与网络位置**:
    - ARP 主要用于解决同一个局域网内的机器或路由器之间的 IP 地址和硬件地址的映射问题。

此节提供了对地址解析协议 ARP 的详细介绍,包括其定义、工作原理、与其他协议的关系,以及 ARP 高速缓存的重要性。

---

**ARP协议:从IP地址到硬件地址的自动解析**
- ARP允许主机或路由器自动地从已知的IP地址解析出链路层所需的硬件地址。
- 主机用户通常对此解析过程是无感知的。

**ARP使用的四种典型情况:**
1. 主机A向同一网络上的另一台主机B发送IP数据报。A通过ARP请求分组找到B的硬件地址。
2. 主机A想要向另一个网络上的主机C或D发送IP数据报。A首先通过ARP找到其连接的路由器R₁的硬件地址。然后,R₁完成数据报的转发。
3. 路由器R₁向与其连接在同一网络上的主机C转发IP数据报。R₁通过ARP找到C的硬件地址。
4. 路由器R₁向另一网络上的主机D转发IP数据报。因为D不在R₁的网络上,R₁先通过ARP找到另一个路由器R₂的硬件地址,然后由R₂完成数据报的转发。

虽然在多种情境中需要多次使用ARP,但这仅仅是上述几种情况的组合。

**为什么使用IP地址而不是硬件地址?**
- 全球存在许多不同类型的网络,使用不同的硬件地址。要实现这些异构网络之间的互通,直接使用硬件地址会涉及复杂的地址转换。
- 使用IP地址和ARP,使得不同网络间的通信变得简单。用户不需要担心背后的复杂过程,因为计算机软件会自动处理。

---

总之,ARP是互联网通信中的核心协议,它简化了IP和硬件地址之间的转换,使跨网络的通信变得更加简单。

4.2.5 IP数据报的格式 

---
**4.2.5 IP数据报的格式**

- **总览:**
  - IP数据报的格式揭示了IP协议的功能。
  - 格式基于32位(4字节)单位。
  - IP数据报包括两部分:首部和数据部分。

- **IP数据报的结构:**
  - 固定首部长度为20字节,之后是可变长度的可选字段。
  
- **首部字段详解:**
  1. **版本(4位):** IP协议的版本。例如,IPv4为版本4,IPv6为版本6。
  2. **首部长度(4位):** 长度单位是32位。通常首部长度为20字节,最大为60字节。
  3. **区分服务(8位):** 早期为服务类型,但未使用。现在为区分服务DS。
  4. **总长度(16位):** 首部和数据的总长度。最大为65535字节。但实际使用中,要考虑数据链路层的最大传送单元MTU。
  5. **标识(16位):** 计数器,对每个数据报增加。当数据报分片时,该值复制到所有片。
  6. **标志(3位):** 包括MF和DF位。MF指示是否还有分片,DF指示是否允许分片。
  7. **片偏移(13位):** 显示分片在原数据报中的位置。每个分片的长度必须是8字节的倍数。

**其他点:**
- 数据链路层每种协议都有MTU(最大传送单元)限制,如以太网的MTU为1500字节。如果数据报过长,需要分片处理。
- 分片时,数据报首部中的“总长度”字段表示每个分片的首部和数据长度之和。

---

**IP数据报的结构**
1. **首部与数据报片**:
    - 数据报分片举例
    - 分片数据报的首部与偏移值

2. **IP数据报首部中与分片有关的字段数值**:
    - 总长度、标识、MF(更多片)、DF(不分片)、片偏移

3. **生存时间 (TTL)**:
    - TTL的单位从秒更改为跳数
    - 用于防止数据报在网络中无限循环
    - TTL值为0时,数据报被丢弃

4. **协议字段**:
    - 定义数据报携带的数据使用的协议
    - 例如:ICMP, IGMP, IP, TCP, UDP, IPv6等

5. **首部检验和**:
    - 仅检查数据报的首部
    - 通过反码算术运算进行检查
    - 如果首部没有变化,结果为0,则保留数据报;否则,丢弃

6. **源地址与目的地址**:
    - 占32位

7. **其他注解**:
    - IANA和ICANN的介绍及职责
    - IP数据报中的特殊数据报封装
    - 反码与补码的区别

**2. IP数据报首部的可变部分**
- **选项字段**:IP数据报首部的可变部分主要为选项字段。
  - **目的**:支持排错、测量以及安全等功能。
  - **长度**:此字段长度不固定,可以是1-40个字节,取决于所选择的选项。
  - **结构**:某些选项只需1个字节,有的需要多个。选项可以紧密拼接,不需分隔符。若非4字节的倍数,需使用全0填充。
- **可变首部的影响**:虽然增加了功能,但也增加了处理的开销。
  - 路由器往往不处理选项字段。
  - IPv6优化,首部长度固定,无选项字段。
- **详细内容**:对于选项的具体内容和使用,可以查看RFC791。

(此笔记为简化和提炼的版本,更加便于快速回顾和学习。)

**4.2.6 IP层转发分组的流程笔记**

1. **简化说明**:
    - 路由器通过路由表来确定如何转发分组。
    - 路由表指出到哪个网络应如何转发,而非指向每台主机,以减少复杂性。

2. **路由器R₂的示例**:
    - 路由器R₂的路由表显示了各个网络应如何转发。
    - 若目标在网2或网3,则由路由器R₂直接交付。
    - 若目标在网1,下一跳为路由器R₁;若在网4,则下一跳为路由器R₃。
    - 每个路由器都有两个IP地址。

3. **网络拓扑简化**:
    - 网络可以简化为链路,路由器之间的IP地址明确标注。
    - 这样的简化强调了分组是如何从一个路由器转发到另一个路由器的。

4. **路由表主要信息**:
    - 目标网络地址
    - 下一跳地址
    - 其他可能的信息:标志、参考计数、使用情况、接口等。

5. **分组转发结论**:
    - 根据目标网络地址确定下一跳路由器。
    - IP数据报最终会找到目标主机所在网络上的路由器。
    - 只有在最后一步,数据报才会直接交付给目标主机。

6. **特定主机路由**:
    - 在大多数基于网络的路由中,仍可以指定特定的目的主机。
    - 对网络管理员有利,方便控制和测试网络,考虑安全问题。

7. **默认路由**:
    - 路由器使用默认路由减少路由表空间和搜索时间。
    - 在一个网络只有少数对外连接时特别有用。
    - 默认路由对于主机发送IP数据报特别有利,尤其是小网络。

### 默认路由及路由表
1. **图4-17**: 描述了路由器R作为网络N₁的默认路由器。其中,H的路由表指出到达N₁和N₂的路径。
2. **IP数据报的首部**:
    - 没有指明“下一跳路由器的IP地址”。
    - IP数据报的首部仅包括源IP地址和目的IP地址,不包括中间路由器的IP地址。
3. **数据报转发**:
    - 路由器在收到数据报后,先从路由表得出下一跳路由器的IP地址。
    - IP地址转换为硬件地址时需要使用ARP。
    - 硬件地址被放入链路层的MAC帧首部,用于找到下一跳路由器。
4. **使用IP地址的意义**:
    - 抽象的IP地址旨在隐蔽底层网络的复杂性,使得问题更易于分析和研究。
    - 直接在路由表中使用硬件地址会导致更多问题。
5. **分组转发算法**:
    - 提取数据报的目的IP地址D,并得出其网络地址N。
    - 判断是否为直接交付或间接交付。
    - 通过路由表逐步决定转发路径,直到数据报到达目的网络。
6. **路由表的查找过程**: 可以比喻为开车到机场的过程。在不知道具体路径的情况下,每到一个交叉口(路由器)都会询问如何到达目的地。
7. **路由表的建立与更新**: 本节内容主要讨论了如何根据路由表内容进行分组转发,但并未涉及路由表如何建立或更新。

总结:

### 重点:

1. **定义与功能**:网际协议IP是一个无连接、不可靠的服务,它只提供最基本的数据包传输服务。
2. **IP地址**:由32位组成,分为网络部分和主机部分,用于唯一标识网络上的每个设备。
3. **子网划分**:为了更加灵活地进行IP地址管理,可以对IP地址进行进一步的划分。
4. **路由选择**:决定数据包从源到目标的路径选择。
5. **IP数据报格式**:定义了IP数据报的结构,包括版本、头长度、服务类型、总长度等字段。

### 难点:

1. **子网掩码**:与IP地址结合使用,用于划分网络地址和主机地址。
2. **CIDR (无类别域间路由)**:现代IP地址划分方法,用于解决传统的A、B、C类地址划分的不足。
3. **IP碎片重组**:当IP数据报在网络中传输时,可能会被分成多个碎片,这些碎片在目的地需要被重新组装。
4. **路由选择算法**:如何决定数据包的最佳路径是网络设计中的一个核心问题。

### 易错点:

1. **地址划分误解**:容易混淆传统的A、B、C类地址与CIDR。
2. **私有地址和公有地址**:私有地址只在局域网中有效,不应在互联网中使用。
3. **MTU和碎片化**:不同的网络可能有不同的MTU(最大传输单元),导致IP数据报需要碎片化。
4. **默认网关误配置**:在配置设备IP时,错误的默认网关会导致设备无法访问外部网络。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次关于应用程序无法连接postgresql数据的问题排查

1. 完整的错误信息 could not connect to server: No such file or directory is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? 2.排查过程 2.1.首先&#xff0c;我们先确保postgresql在运…

排序算法-基数排序法(RadixSort)

排序算法-基数排序法&#xff08;RadixSort&#xff09; 1、说明 基数排序法与我们之前讨论的排序法不太一样&#xff0c;并不需要进行元素之间的比较操作&#xff0c;而是属于一种分配模式排序方式。 基数排序法比较的方向可分为最高位优先&#xff08;Most Significant Di…

卡片翻转效果的实现思路

卡片翻转效果的实现思路 HTML 基础布局 <div class"card"><img class"face" src"images/chrome_eSCSt8hUpR.png" /><p class"back"><span>背面背景</span></p> </div>布局完成后如下所示…

IDEA启动报错Failed to create JVM. JVM path的解决办法

今天启动IDEA时IDEA报错&#xff0c;提示如下。 if you already hava a JDK installed, define a JAVA_HOME variable in Computer > Systen Properties > System Settings > Environment Variables.Failed to create JVM. JVM path:D:\ideaIU2023.2.3\IntelliJ IDE…

【广州华锐互动】利用VR开展细胞基础实验教学有什么好处?

在科技发展的驱动下&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已被广泛应用于各个领域&#xff0c;包括教育和医学。尤其是在医学教育中&#xff0c;VR技术已成为一种革新传统教学模式的有效工具。本文将探讨使用VR进行细胞基础实验教学的优势。 首先&#xff0c;VR技…

windows每天定时重启 Win11 Win10定时重启 windows定时重启系统 windows每天定时重启

windows每天定时重启 Win11 Win10定时重启 windows定时重启系统 windows每天定时重启 使用 Windows 的任务计划程序来设置每天自动重启计算机1. 打开 任务计划程序&#xff1a;2. 在 任务计划程序库 面板中&#xff0c;创建一个基本任务3、设置计划任务权限 使用 Windows 的任务…

布局--QT Designer

一、在我们使用Qt做界面设计时&#xff0c;为了界面的整洁美观&#xff0c;往往需要对界面中的所有控件做一个有序的排列&#xff0c;以及设置各个控件之间的间距等等&#xff0c;为此Qt为界面设计提供了基本布局功能&#xff0c;使用基本布局可以使组件有规则地分布。 1.1 基…

罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法

本文介绍罗技鼠标在丢失、损坏其自身原有的接收器后&#xff0c;将另一个新的接收器与原有鼠标相互配对的方法。 在开始之前&#xff0c;大家需要首先查看两个内容&#xff1a;首先是原有的鼠标——大家需要查看自己的鼠标&#xff08;罗技键盘也是同样的操作&#xff09;底部&…

[NewStarCTF 2023] web题解

文章目录 WEEK1泄漏的秘密Begin of UploadBegin of HTTPErrorFlaskBegin of PHPR!C!E!EasyLogin WEEK2游戏高手include 0。0ez_sqlUnserialize&#xff1f;Upload again!R!!C!!E!! WEEK1 泄漏的秘密 打开题目&#xff0c;提示有敏感信息泄露 直接扫一下目录&#xff0c;发现有…

Stm32_标准库_10_TIM_显示时间日期

利用TIM计数耗费1s,启动中断&#xff0c;秒表加一 时间显示代码&#xff1a; #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h"uint16_t num 0; TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; NVIC_I…

[入门一]C# webApi创建、与发布、部署、api调用

一.创建web api项目 1.1、项目创建 MVC架构的话&#xff0c;它会有view-model-control三层&#xff0c;在web api中它的前端和后端是分离的&#xff0c;所以只在项目中存在model-control两层 1.2、修改路由 打开App_Start文件夹下&#xff0c;WebApiConfig.cs ,修改路由&…

什么是云原生?零基础学云原生难吗?

伴随着云计算的浪潮&#xff0c;云原生概念也应运而生&#xff0c;而且火得一塌糊涂&#xff0c;但真正谈起“云原生”&#xff0c;大多数非 IT 从业者的认知往往仅限于将服务应用放入云端&#xff0c;在云上处理业务。实际上&#xff0c;云原生远不止于此。 现在越来越多的企…

03在命令行环境中创建Maven版的Java工程,了解pom.xml文件的结构,了解Java工程的目录结构并编写代码,执行Maven相关的构建命令

创建Maven版的Java工程 Maven工程的坐标 数学中使用x、y、z三个向量可以在空间中唯一的定位一个点, Maven中也可以使用groupId,artifactId,version三个向量在Maven的仓库中唯一的定位到一个jar包 groupId: 公司或组织域名的倒序, 通常也会加上项目名称代表公司或组织开发的一…

Avalonia使一个弹窗弹到指定位置

1.项目下载地址&#xff1a;https://gitee.com/confusedkitten/avalonia-demo 2.UI库Semi.Avalonia&#xff0c;项目地址 https://github.com/irihitech/Semi.Avalonia 3.样式预览 4.PositionControl.axaml <UserControl xmlns"https://github.com/avaloniaui&quo…

k8s-12 存储之configmap

开启之后 先看集群是否正常 Configmap用于保存配置数据&#xff0c;以键值对形式存储configMap 资源提供了向 Pod 注入配置数据的方法旨在让镜像和配置文件解耦&#xff0c;以便实现镜像的可移植性和可复用性 典型的使用场景 填充环境变量的值 设置容器内的命令行参数 填充卷的…

机器人硬件在环仿真:解决实体开发与测试挑战,提升效率与安全性

工业机器人具备出色的灵活性和运动能力&#xff0c;广泛应用于工业制造领域。它们可以完成装配、焊接、喷涂、搬运、加工、品质检测等任务&#xff0c;提高了生产效率&#xff0c;保证了产品质量。此外&#xff0c;在医疗领域也有辅助手术等特殊应用&#xff0c;展现了其在多个…

怎么团队合作,协作开发

一、代码托管平台 我是在大一下的一个竞赛中接触到的代码托管平台 那个时候我也算是什么都不会的&#xff0c;不过不得不说这个确实比较重要&#xff0c;对我造成了一些冲击 在我看来&#xff0c;代码托管平台的作用就是在一个中转站&#xff08;仓库&#xff09;上存储我们写…

在雷电模拟器9上安装magisk并安装LSPosed模块以及其Manager管理器(一)

环境&#xff1a;win10 64&#xff0c;雷电模拟器9.0.60(9)&#xff0c;Android 9。 之前我都是用雷电模拟器版本4.0.78&#xff0c;Android版本7.1.2&#xff0c;为什么本篇要使用9了呢&#xff1f;先解答下这个问题。原因如下&#xff1a;经过我的测试&#xff0c;LSPosed不支…

Windows网络系统架构

在介绍Windows网络体系架构之前&#xff0c;我首先介绍一下Windows中的两个重要编程规范——TDI&#xff0c;NDIS.&#xff0c;然后再介绍网络体系的架构。TDI&#xff0c;Transport Driver Interface&#xff0c;传输驱动程序接口。/Windows/System32/Drivers/Tdi.sys。在实现…