前言
以前知道用ip addr查看系统的ip地址,但却没关注它的输出参数是什么意思,今天就来记录一下部分输出参数的意思,顺便看下有没有其它一些以前没注意的地方。
执行ip addr
上面就是我的虚拟机执行ip addr(ip a一样的)的输出结果,先留个印象,下面会介绍。
ip地址/24
以前只注意到ip地址,但是却没注意到ip地址后的/24是什么意思,例如上面的网卡eth0中的192.168.129.133/24。
要知道这个/24有什么用,我们要先了解一下ABC三类地址的局限性
上图中可以看见:
- 三类地址的最大主机数相差甚远
- C类地址恐怕容不下一家网吧/公司的电脑,但用B类又会溢出很多。
于是,就有人发明了一种叫作无类型域间选路的方案,简称CIDR,这种方式也是将32位的地址一分为二,前边部分是网络号,后边部分是主机号,可以通过调控两者比例达到更加细粒度的控制。主机号决定了最大的主机数量。
而/24意思即:前24位是网络号,后(32-24=)8位是主机号,也就是类似于C类地址,最大主机数为254。对应的子网掩码是255.255.255.0,ip地址跟子网掩码与(and)运算就可以得出网络号。
/24,24=8*3,所以它的子网掩码就是3个二进制11111111组成的,转成十进制就是255.255.255.0。
如果是/22,它的子网掩码就是2个二进制11111111和(22-16=)6个1,即11111111 11111111 11111100 00000000,转十进制就是子网掩码255.255.252.0。
广播地址
同样是网卡eth0,我们可以看到ip地址后面还有个:brd 192.168.129.255。这个是广播地址,一旦将信息发给192.168.129.255,整个192.168.129.x网络中的所有机器都会收到信息。
scope后参数
将视角换到eth1,可以看到scope global dynamic:
- global:表示网卡是对外开放的,若是本地通信则是host。
- dynamic:表示IP会动态获取。
网络设备的状态标识
网卡参数第一行,网卡名称:
- UP:表示网卡是启动状态。
- BROADCAST:表示网卡有广播地址,可以发送广播包。
- LOWER_UP:表示网卡是启动的,且网线插着。
- MULTICAST:表示网卡可以发送多播包,也叫组播。
排队规则
可以看到eth0和eth1都有qdisc pfifo_fast这样的参数,qdisc 全称是 queueing discipline,中文叫排队规则。
最简单的qdisc是pfifo,它就是采用先进先出的队列规则。
pfifo_fast则复杂一些,它的队列包括三个波段(band)。在每个波段里面,使用先进先出规则。三个波段(band)的优先级也不相同。band 0 的优先级最高,band 2 的最低。如果 band 0 里面有数据包,系统就不会处理 band 1 里面的数据包,band 1 和 band 2 之间也是一样。
在IP头里有个字段叫TOS(Type of Service),它就是用来标识包的优先级的。