解读 ip addr 的输出的网络连接信息含义
一、ifconfig 与 ip addr
用过Linux的读者都知道,在Linux查看ip可以使用ifconfig,当然这个ifconfig属于net-tools
工具集,其来源于BSD,Linux从2001年就不对其进行维护了。那我们应该用什么呢?还有iproute2
工具集,其功能更强大,我们今天就来讲讲该工具集的 ip addr
命令。
而运行ip addr命令,会出现类似下面的的内容:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:62:3c:62:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.108.19/24 brd 192.168.108.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::5df:3b5f:e5fe:ddc2/64 scope link
valid_lft forever preferred_lft forever
二、IP
该命令会显示机器上的所有网卡,其中的192.168.108.19/24
便是IPv4
的地址,这个地址由4个部分组成,每个部分8个bit,因此整个地址空间有 4 294 967 296(232232)个地址,也就是近43亿个地址。地球上的人口都比这个多,何况我们很多人都不止使用一个IP地址吧?何况还有一些地址是作为特殊用途而保留的,如局域网专用地址(约1800万个地址)和组播地址(约2700万个地址)。这样IPv4能够使用的地址就更少了,所有我们有了IPv6,IPv6有128位,其地址空间有340282366920938463463374607431768211456个地址,我觉得暂时是够了。128位有点长,于是采用16进制来描述IPv6地址,所有看起来IPv6的地址只有32位。
如上图,IPv4地址被分为5类,前面的1或0是固定位数,Network是网络号,后面的Host是主机号,就和我们假如是三年二班李子明,三年二班就是网络号,李子明就是主机号,别的班也有可能叫李子明的。
再来看看划分的这几类网络,C类网络只能容纳254台主机,很多情况下都不够,而选择B类又太多了,很多情况下都多很多,那怎么办呢?
于是产生了CIDR,Classless Inter-Domain Routing,无类域间路由选择。
二、CIDR
那么IPv4后面斜杠/以及后面的数字代表什么意思呢?这就和CIDR又关系了,192.168.108.19/24
说明前24位是网络号,后8位是主机号。通过这种方式,它根据用户的要求根据某些规则动态分配IP地址。
还有一种叫做子网掩码的东西,将子网掩码与IP地址做与运算,就能得到网络号。
CIDR使IP地址从三级编址(使用子网掩码),又回到了两级编址,但这已是无分类的两级编址。
三、MAC地址
在命令输出结果中link/ether 00:0c:62:3c:62:a1 brd ff:ff:ff:ff:ff:ff
代表MAC地址,是网卡的物理地址,这个MAC地址是网卡出厂就确定了的,具有唯一性。
但是具有唯一性,不代表我们就干脆用它来进行通信,可以这样类比:MAC地址是我们的身份证号,而IP地址是我们身份证上的地址。
你要找一个远方的朋友进行联系,你用这个身份证号去问别人,是不是没人知道,而用家庭地址一步一步去找,是不是肯定能找到。
那么MAC地址是不是就没用了呢,不是!其具有通信作用,你想想,你去问朋友的家人,这个身份证号是谁,他是不是能够知道。MAC地址的通信范围只能在一个子网中,只要跨子网,MAC地址就没有作用了。
四、其他
4.1 scope
inet 192.168.108.19/24 brd 192.168.108.255 scope global ens33
这里面scope代表作用范围,ens33这张网卡这里查询是global,说明可以接受全局的包,哪里的包都接受。而lo网卡查询的scope是host,说明该网卡只能在本机通信。
4.2 lo
lo代表loopback,是虚拟接口,是一种纯软件性质的虚拟接口。任何送到该接口的网络数据报文都会被认为是送往设备自身的。
4.3 <BROADCAST,MULTICAST,UP,LOWER_UP>
<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
<BROADCAST,MULTICAST,UP,LOWER_UP>
这个东西是net_device flags,网络设备的状态标识。
BROADCAST 该接口支持广播 MULTICAST 该接口支持多播 UP 网络接口已启用 LOWER_UP 网络电缆已插入,设备已连接至网络
4.4 MTU
至于mtu 1500
是指最大传输单元MTU(Maximum Transmission Unit,MTU),表示网络可以传输的最大数据包大小,以字节为单位。
MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。
4.5 QDisk
qdisc pfifo_fast
中,QDisk是queueing discipline的简写,即排队规则。
这篇文章对排队规则介绍得非常好:[译] 《Linux 高级路由与流量控制手册(2012)》第九章:用 tc qdisc 管理 Linux 网络带宽 (arthurchiao.art)
4.6 statu
state UP
表示网络接口已启用。
4.7 Qlen
qlen 1000
,Qlen代表传输队列长度,此处为1000。
4.8 valid_lft & preferred_lft
valid_lft forever IPv4/IPv6 地址的有效使用期限文章来源:https://www.toymoban.com/news/detail-611537.html
Qlen代表传输队列长度,此处为1000。
4.8 valid_lft & preferred_lft
valid_lft forever IPv4/IPv6 地址的有效使用期限
preferred_lft forever IPv4/IPv6 地址的首选生存期文章来源地址https://www.toymoban.com/news/detail-611537.html
到了这里,关于解析 ip addr 的输出的内容含义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!