CIDR与子网掩码

CIDR表示法

"10.0.0.0/26" 是使用CIDR(无类别域间路由/Classless Inter-Domain Routing)表示法来表示一个IP地址范围的方式。在CIDR表示法中,IP地址范围由一个IP地址后跟一个正斜杠和一个数字组成,该数字指定了网络前缀中的位数。下面解释一下 "10.0.0.0/26" 的含义:

IP地址:"10.0.0.0" 是该范围的基本IP地址。它是地址范围的起点。

/26:"/26" 表示子网掩码或网络前缀中的位数。在这种情况下,它表示IP地址中左边的26位用于表示网络,而剩下的6位用于表示网络内的各个主机地址。

现在,让我们更详细地解释 "10.0.0.0/26":

网络地址:"10.0.0.0" 是网络地址,表示整个网络或子网。

可用IP地址:在/26子网中,有2^6 = 64个可能的IP地址。然而,通常情况下,范围中的第一个和最后一个地址被保留用于网络标识和广播,因此在网络内有62个可用的IP地址供主机使用。

可用IP地址范围:"10.0.0.1" 到 "10.0.0.62"
子网掩码:与"/26"相关联的子网掩码以标准点分十进制格式表示为 "255.255.255.192"。以二进制表示,它是 "11111111.11111111.11111111.11000000",其中前26位被设置为 "1" 以表示网络部分,后6位被设置为 "0" 以表示主机地址。

总之,"10.0.0.0/26" 定义了一个具有64个IP地址的子网范围,从 "10.0.0.1" 到 "10.0.0.62"。这通常用于为网络段内的设备或主机分配IP地址,同时保留了网络和广播地址。

子网掩码、网络地址范围和CIDR

子网掩码、网络地址范围和CIDR(Classless Inter-Domain Routing)之间有密切的关系,它们都用于定义和描述计算机网络中的子网和网络分割。

  1. 子网掩码(Subnet Mask)

    • 子网掩码是一个32位的二进制数,用于划分IP地址中的网络部分和主机部分。它由连续的1位(网络位)和连续的0位(主机位)组成。
    • 子网掩码定义了一个IP地址的哪部分用于网络地址,哪部分用于主机地址。
    • 例如,子网掩码 255.255.255.0 表示前24位用于网络地址,后8位用于主机地址。
  2. 网络地址范围

    • 网络地址范围指的是特定子网的IP地址范围,其中包括网络地址和广播地址以及可分配的主机地址。
    • 网络地址是子网中的第一个IP地址,通常是所有主机位都为0。广播地址是子网中的最后一个IP地址,通常是所有主机位都为1。
    • 例如,对于子网掩码 255.255.255.0,网络地址范围可以是 192.168.1.0192.168.1.255。同样的,网络地址范围也可以是’172.1.1.0′ ‘172.1.1.255’
  3. CIDR(Classless Inter-Domain Routing)

    • CIDR是一种表示IP地址和子网掩码的标准方法,以便更精确地描述网络的子网划分。
    • CIDR表示法包括IP地址,后跟斜杠和网络前缀长度。网络前缀长度指定了网络位的数量,而不是使用具体的子网掩码。
    • 例如,CIDR表示法 192.168.1.0/24 表示网络前缀长度为24位,即前24位用于网络地址,后8位用于主机地址(32-24=8,2^8=256)。

关系:

  • 子网掩码用于明确指定IP地址的哪些位是网络位和哪些位是主机位。
  • 网络地址范围定义了一个子网的IP地址范围,包括网络地址、广播地址和可分配的主机地址。
  • CIDR表示法则是一种更灵活和精确的方法,使用网络前缀长度来表示网络位的数量,而不是具体的子网掩码。CIDR表示法提供了更多的灵活性,可以用于描述各种不同大小的子网,而无需使用不同的子网掩码。

举一个例子(在子网掩码为255.255.240.0时,基础网络地址为172.19.224.0)

当使用CIDR(Classless Inter-Domain Routing)表示法时,IP地址和子网掩码结合在一起,以一种更精确和紧凑的方式来表示网络的子网划分。让我详细解释为什么子网掩码 255.255.240.0 可以用CIDR表示法表示为 172.19.224.0/20

  1. 子网掩码 255.255.240.0 的二进制表示

    • 子网掩码 255.255.240.0 在二进制中是 11111111.11111111.11110000.00000000
    • 这表示前20位用于网络地址,后12位用于主机地址。
  2. IP地址 172.19.224.0 的二进制表示

    • IP地址 172.19.224.0 在二进制中是 10101100.00010011.11100000.00000000
    • 这是网络地址部分,这时候如果考虑上面的子网掩码的规定,则只有12位作为主机地址,也就是从0000.00000000开始的地址,也就是在c网段只有224~240可以作为主机网段,因为241是11110001,已经无法作为网段了。
  3. CIDR表示法的网络前缀长度

    • 为了使用CIDR表示法,我们需要确定网络位的数量,即前面有多少位用于网络地址。
    • 在这个例子中,有前20位用于网络地址。
  4. CIDR表示法的格式

    • CIDR表示法包括IP地址,后跟斜杠和网络前缀长度,例如 IP地址/网络前缀长度
  5. CIDR表示法的组合

    • 将上述的网络地址 172.19.224.0 与网络前缀长度 20 组合在一起,即 172.19.224.0/20

综上所述,CIDR表示法 172.19.224.0/20 表示网络地址 172.19.224.0 和子网掩码 255.255.240.0 结合在一起,指定了网络地址的前20位是网络位,后12位是主机位。这使得CIDR表示法成为一种更灵活、紧凑和精确的方式,用于描述网络的子网划分,而无需使用特定的子网掩码。

如何确定master nodes究竟在哪几台服务器上

k8s配合容器化技术,高度抽象了底层硬件,因此有时候我们想了解master node的具体位置,还有点困难。

第一步,先找到master nodes的名字

[root@172-20-26-79 ~]# kubectl get nodes | grep master
ks-control-1         Ready    control-plane,master   5d23h   v1.21.11
ks-control-2         Ready    control-plane,master   5d23h   v1.21.11
ks-control-3         Ready    control-plane,master   5d23h   v1.21.11

第二步,使用describe来获取内部ip的地址,从而判断是否在一台主机上(综合server的组网情况)

[root@172-20-26-79 ~]# kubectl describe nodes ks-control-3 | grep InternalIP
  InternalIP:  172.20.26.28
[root@172-20-26-79 ~]# kubectl describe nodes ks-control-2 | grep InternalIP
  InternalIP:  172.20.26.89
[root@172-20-26-79 ~]# kubectl describe nodes ks-control-1 | grep InternalIP
  InternalIP:  172.20.26.86

吾日三洗吾身

曾子说:吾日三省吾身,为人谋而不忠乎?与朋友交而不信乎?传而不习乎?

从今天,我也准备养成:三洗吾身的习惯

一洗:早晨完成100个俯卧撑后
二洗:午饭后最困倦时,大概2点左右
三洗:下班到家后

三洗都采用海军陆战队洗澡法,时常控制在端到端10分钟内,冷水。

  • 从手脚开始入浴
  • 避免浑身有汗时入浴
  • 浴后立即擦干