suite0001关于ABCD类地址

本文详细介绍了IP地址的分类及其表示方式,包括A、B、C、D、E五类地址的特点和应用,以及私有地址范围。

现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。 

IP地址类型 

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。 
1. A类IP地址 

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。 

2. B类IP地址 

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。 

3. C类IP地址 

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 

4. D类地址用于多点广播(Multicast)。 

D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 

5. E类IP地址 

以“llll0”开始,为将来使用保留。 

全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。 

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下: 

A类地址:10.0.0.0~10.255.255.255 

B类地址:172.16.0.0~172.31.255.255 

C类地址:192.168.0.0~192.168.255.255

A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

B类地址的第一组数字为128~191。

C类地址的第一组数字为192~223。


1. A类地址

  A类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。

  2. B类地址

B类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。

  3. C类地址

  C类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。

  实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。E类地址保留给将来使用。

使用 Helm 快速部署 RabbitMQ 集群是一个常见需求,尤其是在 Kubernetes 环境中。我们可以使用 **Bitnami 官方维护的 RabbitMQ Helm Chart** 来实现快速部署,并自定义: - ✅ 自定义管理员密码 - ✅ 持久化存储(PVC)配置 - ✅ 使用私有镜像仓库地址和版本 - ✅ 启用集群模式(多副本) --- ## 🚀 一、准备工作 ### 1. 添加 Bitnami Helm 仓库 ```bash helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update ``` --- ## ✅ 二、完整示例:Helm 部署 RabbitMQ 集群 创建一个 `rabbitmq-values.yaml` 文件,包含所有自定义配置: ```yaml # rabbitmq-values.yaml # ============ 副本数与集群设置 ============ replicaCount: 3 clustering: enabled: true # RabbitMQ 自动形成集群 forceBoot: false # ============ 认证设置 ============ auth: username: admin password: mysecretpassword123 # 自定义管理员密码 erlangCookie: sUp3rS3crEtC0OkIe # 必须相同才能加入集群,建议用随机长字符串 # ============ 持久化存储设置 ============ persistence: enabled: true storageClass: "local-path" # 根据你的环境修改,如 nfs/local-path/openebs-hostpath size: 10Gi accessMode: ReadWriteOnce # ============ 镜像设置(支持私有仓库) ============ image: registry: docker.io # 可替换为私有仓库地址,如: registry.mycompany.com repository: bitnami/rabbitmq tag: 3.13.8-debian-11-r1 # 显式指定版本标签 pullPolicy: IfNotPresent # ============ 资源限制 ============ resources: limits: cpu: 500m memory: 1024Mi requests: cpu: 250m memory: 512Mi # ============ 服务暴露(NodePort 示例) ============ service: type: NodePort nodePorts: amqp: 30091 # AMQP 端口映射 management: 30092 # HTTP 管理界面 ``` > 💡 注意: > - `storageClass: "local-path"`:你需要先确保该 StorageClass 存在(见后文验证方法) > - 如果你没有默认 SC,请提前安装 [Rancher Local Path Provisioner](https://github.com/rancher/local-path-provisioner) 或其他动态供给器。 --- ## 📦 三、使用 Helm 安装 ```bash # 创建命名空间 kubectl create namespace rabbitmq # 安装 Helm Release helm install rabbitmq bitnami/rabbitmq \ -f rabbitmq-values.yaml \ --namespace rabbitmq ``` 输出似: ``` NAME: rabbitmq LAST DEPLOYED: Mon Apr 5 10:00:00 2025 NAMESPACE: rabbitmq STATUS: deployed REVISION: 1 TEST SUITE: None ``` --- ## 🔍 四、验证部署状态 ### 1. 查看 Pod 是否运行 ```bash kubectl get pods -n rabbitmq -w ``` 等待所有 Pod 进入 `Running` 状态: ``` NAME READY STATUS RESTARTS AGE rabbitmq-0 1/1 Running 0 2m rabbitmq-1 1/1 Running 0 90s rabbitmq-2 1/1 Running 0 60s ``` ### 2. 查看 PVC 是否绑定成功 ```bash kubectl get pvc -n rabbitmq ``` 应显示三个 PVC 并处于 `Bound` 状态: ``` NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-rabbitmq-0 Bound pvc-1a2b3c4d-e5f6-7g8h-9i0j-k1l2m3n4o5p6 10Gi RWO local-path 3m data-rabbitmq-1 Bound ... data-rabbitmq-2 Bound ... ``` ### 3. 获取管理界面 URL 和密码 安装完成后会打印提示信息,也可以手动查看: ```bash echo "Username: admin" echo "Password: $(kubectl get secret -n rabbitmq rabbitmq -o jsonpath='{.data.rabbitmq-password}' | base64 --decode)" echo "Management UI: http://<NODE-IP>:30092" ``` > 用任意节点 IP 替换 `<NODE-IP>`,例如 `http://192.168.1.100:30092` 登录用户名是 `admin`,密码来自 Secret。 --- ## 🧩 五、可选优化项 ### ✅ 设置默认 vhost 和权限(通过 extraConfiguration) ```yaml extraConfiguration: | default_vhost = /myapp queue_defaults.delivery_mode = 2 management: load_definitions: false ``` ### ✅ 启用插件(如 MQTT、Shovel) ```yaml extraPlugins: "rabbitmq_mqtt,rabbitmq_shovel,rabbitmq_peer_discovery_k8s" ``` ### ✅ 使用现有 PVC(适用于已有数据迁移) ```yaml persistence: existingClaim: my-existing-pvc-name # 不再自动创建新 PVC ``` --- ## 🛠️ 六、常见问题排查 | 问题 | 解决方案 | |------|----------| | PVC 处于 Pending | 检查 `storageClass` 名称是否正确;确认 Provisioner 正常运行 | | Pod CrashLoopBackOff | 查看日志:`kubectl logs -n rabbitmq rabbitmq-0`;检查 Erlang Cookie 是否一致 | | 无法访问管理界面 | 检查 Service 型和 NodePort 是否冲突;关闭防火墙 | --- ## 🔄 七、升级或回滚 更新配置后执行: ```bash helm upgrade rabbitmq bitnami/rabbitmq \ -f rabbitmq-values.yaml \ --namespace rabbitmq ``` 回滚到上一版本: ```bash helm rollback rabbitmq -n rabbitmq ``` 卸载: ```bash helm uninstall rabbitmq -n rabbitmq ``` --- ## ✅ 总结:关键点回顾 | 功能 | 配置方式 | |------|----------| | 自定义密码 | `auth.password` | | 存储设置 | `persistence.storageClass`, `size` | | 镜像地址/版本 | `image.registry`, `repository`, `tag` | | 集群模式 | `replicaCount > 1`, `clustering.enabled=true` | | 快速部署 | 使用 Helm + values.yaml 分离配置 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值