安装命令:ifconfig + ip
1 | # 安装ifconfig命令 |
ip a
1 | $ ip a |
- 该命令显示了机器上的所有网卡,大部分网卡都会有一个IP地址
- IP地址是一个网卡在网络世界里的通信地址
- 网卡ens32的IP地址为172.16.36.129,总共32位
- IPV6的地址为fe80::20c:29ff:fee3:505,总共128位
IP地址分类

类别 | IP地址范围 | 最大主机数 | 私有IP地址范围 |
---|---|---|---|
A | 0.0.0.0 ~ 127.255.255.255 | 2^24-2 | 10.0.0.0 ~ 10.255.255.255 |
B | 128.0.0.0 ~ 191.255.255.255 | 2^16-2 | 172.16.0.0 ~ 172.31.255.255 |
C | 192.0.0.0 ~ 223.255.255.255 | 2^8-2 | 192.168.0.0 ~ 192.168.255.255 |
C类地址能包含的最大主机数太少了,而B类地址能包含的最大主机数又太多了,由此催生了CIDR
CIDR
- CIDR(Classless Inter-Domain Routing):无类型域间选路
- 将32位的IP地址一分为二,前面是网络号,后面是主机号
- 172.16.36.129/24,就是CIDR的表示方式,网络号为172.16.36,主机号为129
- 伴随CIDR存在的,一个是广播地址,一个是子网掩码,以172.16.36.129/24为例
- 广播地址为:172.16.36.255,如果发送消息到这个地址,所有172.16.36网段内的机器都可以收到
- 子网掩码:255.255.255.0
- 将IP地址和子网掩码进行按位与操作,可以得到网络号
- 172.16.36.129 & 255.255.255.0 = 172.16.36
- 实际工作中,几乎不划分A类、B类和C类地址,主要使用CIDR
16.158.165.91/22
- 165 = <10100101>
- 16.158.165.91/22 == 16.158.<101001,01>.91/22
- 网络号:16.158.<101001,00> == 16.158.164
- 子网掩码:255.255.<111111,00>.0 == 255.255.252.0
- 网络的第一个地址:16.158.<101001,00>.1 == 16.158.164.1
- 网络的广播地址:16.158.<101001,11>.255 == 16.158.167.255
私有IP地址
- 192.168.0.X/24是最常用的私有IP地址,例如家里的Wi-Fi,一般上网设备不会超过254个,因此/24足够了
- 192.168.0是网络号,X是主机号
- 网段内的第一个IP地址192.168.0.1,往往是私有网络的出口地址(网关)
- 网段内的最后一个IP地址192.168.0.255,就是广播地址
scope
- 对于网卡ens32,IPV4的scope为global,说明这张网卡可以对外的,接收来自各个地方的数据包
- 对于网络lo,IPV4的scope为host,说明这张网卡仅供本机相互通信
- lo全称为loopback,又称环回接口,往往被分配IP地址127.0.0.1/8
- 该地址用于本机通信,经过内核处理后直接返回,不会在任何网络中出现
Mac地址
- Mac地址(6 Bytes):link/ether 00:0c:29:e3:05:05 brd ff:ff:ff:ff:ff:ff
- Mac地址全局唯一,不会有两个网卡有相同的Mac地址
- 一个网络包从A传到B,除了要有确定的地址(Mac地址),还需要有远程定位功能(IP地址)
- Mac地址更像一个身份证,是唯一的标识
- Mac地址的唯一性设计是为了在组网的时候,不同的网卡在同一个网络中不会发生冲突
- Mac地址的通信范围很小(在子网内),而IP地址的通信范围大很多(可以跨子网)
- 192.168.0.2/24访问192.168.0.3/24,使用Mac地址即可
- 192.168.0.2/24访问192.168.1.2/24,只能通过IP地址
网络设备的状态标识
- <BROADCAST,MULTICAST,UP,LOWER_UP>
- UP:网卡处于启动状态
- BROADCAST:该网卡有广播地址,可以发送广播包
- MULTICAST:该网卡可以发送多播包
- LOWER_UP:L1是启动的,即网线是插着的
- mtu 1500
- MTU:Maximum Transmission Unit,1500是以太网的默认值,MTU是二层MAC层的概念
- 以太网规定:连MAC头带正文(包含IP头/TCP头/HTTP头等)合起来,不允许超过1500个字节
- 否则需要分片传输
- qdisc fq_codel
- qdisc:queueing discipline,即排队规则
- 内核如果需要通过某个网络接口发送数据包,都需要为这个网络接口配置qdisc,把数据包加入队列
- 最简单的qdisc是pfifo,该规则不对进入的数据包做任何处理,数据包采用先进先出的方式通过队列