当我们在终端上敲下 ifconfig 你又了解多少呢?

一:输入 ifconfig

Windows/Mac 命令行 shell 中输入ifconfig 或者 Linux ip addr 输出东西你是否都了解啦

1
$ ifconfig

ip 地址参考第一章节

MAC 地址参考第二章节

二、IP 地址

1
2
3
4
5
6
7
8
9
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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
6: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

IP 地址就像灯塔指明着 packet(包)在网络传输的方向。

  1. ipv4:由 32 位二进制组成,以 8 位一组,每组以点”.“隔开,可以分成 4 组,每组以 3 位十进制方式表示。

例如: 192.168.0.1是一个合法 IPV4 地址

  1. ipv6:由 128 位二进制组成,以 16 位为一组,每组以冒号“:”隔开,可以分为 8 组,每组以 4 位十六进制方式表示

例如:2001:0db8:85a3:08d3:1319:8a2e:0370:7344 是一个合法的 IPv6 地址

2.1 讲解 IPv4 地址

当时大佬们把 IP 地址划分成四类

  • A 类地址:最大主机数达到 16,777,214 个 约 16 万多个
  • B 类地址:最大主机数达到 65, 524 个 约 6 万多个( 2**16 次方 - 2 )
  • C 类地址: 最大主机数达到 254 个 (2**8 - 1)
  • D 类地址:用于多播地址
  • E 类地址: 将来使用

总结下来,就是 A 类地址太多,闲置会非常多。 C 类地址太少,不满足企业需求。

2.2 无类别域间路由(CIDR)

1993 年,无类别域间路由(Classless Inter-Domain Routing)诞生了,正式取代了分类网络(有类别的网络)

CIDR:它给出的是一个地址加上一个斜杠以及网络掩码的二进制表示法中“1”的位数

CIDR 伴随产生哪些名词

  1. 网络号
  2. 主机号
  3. 广播地址
  4. 子网掩码

4 个专有术语解释的太费劲了,我们通过一个实际例子来讲解

例如:192.168.0.0/16 将 32 位 IP 地址,以斜杠 ”/“ 一分为二 , 前半部分192.168.0.0又划分为网络号、主机号, 划分的点由后面的二进制位数来决定.

专用网络:192.168.0.0/16 —— 16 代表划分标志

  1. 先把 192.168.0.0 划分成二进制
  2. 192.168 正好 16 位为网络号
  3. 0.0 就代表可以为主机的位数

广播地址则为:192.168.255.255 发送这个地址,所有网络号机器上都可以收到

子网掩码则为:255.255.0.0. 我们可以把子网掩码转换成二进制,进行和 IP按位与运算,则为可得到网络号。

三、MAC 地址

MAC 地址英语:Media Access Control Address)也称为局域网地址(LAN Address),物理网卡地址

MAC 地址共 48 位(6 个字节),以十六进制表示,前 24 位由IEEE决定如何分配,后 24 位由实际生产该网络设备的厂商自行指定。

所以 MAC 地址有全局唯一的作用eth0@if7: mtu 1500 qdisc noqueue state UP group default

命令行中输入ifconfig我们能检查哪些信息

1
2
3
4
5
$ ifconfig
eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever

网络设备状态标识 <BROADCAST,MULTICAST,UP,LOWER_UP>

  • UP: 网卡处于启动的状态
  • BROADCAST:表示这个网卡有广播地址
  • MULTICAST:表示网卡可以发送多播包
  • LOWER_UP:表示网线插着
  • MTU(Maximum transmission unit):最大传输单元 1500,以太网默认值。
  • qdisc(queueing discipline): 用于数据包排队规则