ifconfig没有ip地址_面试必问系列之ifconfig

52509f37c8e508be15777372a2e31b6e.png

写在前面

看似简单的一条命令,也能牵扯出一系列的知识点。为了避免以后面试出现尴尬的场面,来仔细琢磨一下 ifconfig 这条命令如何?

在终端上敲入 ifconfig 命令,不出意外会出现图 1 所示界面。

e427a662af34c9bb44d93f34befff27d.png
图 1

从图 1 可以看出,里面包含了很多信息,这些信息都是什么意思呢?别急,容我慢慢道来。

粗略一瞥,就只认识 inet addr,这可能是初学者的第一反应。。。这都没关系,看完本文后就能够完全弄清楚了!

38768fe6182d1fbae1bbc359cc21030a.png
图 2

图 2 就是这些参数的文字说明。还是不懂?没关系,这些我都会一一讲解,尽请期待。

1. 接口名称

序号 1 里面列举的是一些接口名称,比如你用的有线网卡、无线网卡等等。每个名称都不是凭空取出来的,只要理解了名称的意义就不会忘掉了。

enp4s0f1————en 表示 ethernet(以太网)。 p4s0 表示 PCI 接口的物理位置的坐标(bus, slot),其中 bus 表示总线, slot 表示插槽 f1 具体我也不清楚,有兴趣的自己可以查一下。 lo 表示 local,是本地接口的缩写 wlp3s0———— wl 表示 wlan(wireless local area network),也就是常说的无线局域网 p3s0 同上。

那么问题来了,PCI 是什么?以太网又是什么鬼?

PCI(Peripheral Component Interconnect),外设部件互连标准,这属于硬件范围了,简单来说就是主板上插网卡的插槽,小时候拆电脑更换内存条类似那种接口。

再来说说以太网,以太网是一种传输技术,属于数据链路层。与我们耳熟能详的互联网、广域网、局域网不同,这些都是按照传输范围划分,而以太网是一种技术/技术标准。以太网可以运用在互联网、广域网、局域网上。

2. 连接类型物理地址

序号 2 就没什么好说的,就是采用以太网传输技术。

3. IP 地址(MAC 地址)

序号 3 是网卡的物理地址,也是我们常说的 MAC 地址。它就像我们的身份证号码一样,唯一标识我们的身份 ID。每一个网卡都有一个属于自己的 MAC 地址。

MAC 地址长度为 6 字节(即 48 bit),前 24 bit 由 IEEE 统一分配,后 24 bit 由网卡厂家分配。

4. IPv4 地址

序号 4 就是我们常说的 IP 地址(IPv4),地址长度为 4 字节(即 32 bit)。IP 地址具有一定的结构,五类不同的互联网地址格式如图 3 所示。

78554dd7f21560bdfb0cd882950cdede.png
图 3

从图中可以看出 IP 地址由网络号和主机号组成,常见的 IP 地址是 A、B、C 三类。而这些 IP 地址通常写成“点分十进制”,例如上边的 192.168.31.84。

各类 IP 地址范围如图 4 所示。

f221914feb592989ef2f63dfcaae3fa9.png
图 4

IP 地址网络号由互联网信息中心分配,主机号由系统管理员分配。

这里可能有人会由一个疑惑,前面已经有 MAC 地址了,干嘛还需要 IP 地址呢?

这里先提及路由这个概念,路由即数据包从发送方到接收方的路径。

IP 是怎么来的呢?

原来随着网络设备的增加,单纯从发送方走到接收方变得越来越困难,需要花费越来越多的时间,无形中给路由器增添了许多负担。

于是人们想了一个方法,把网络划分成很多子网。对于目的地在其他子网的数据包,路由器只需要把数据包送到对应的子网就可以,剩下的工作由子网内部解决,这大大减小了路由器的负担。

若只使用 MAC 地址,由于 MAC 地址没有子网的概念,所以每个路由器都要记住所有的 MAC 地址,这需要的内存空间是无法想象的。相反,若用 IP 地址,数据包在路由的过程中,每个路由器只需要存储子网的位置,这很大程度上节省了路由器的内存空间。

5. IPv6 地址

序号 5 是 IPv6 地址,总共有 128 bit。为了解决 IPv4 的地址资源日渐枯竭的问题,IPv6 应运而生。

有句话说的好——“IPv6 能为全世界的每粒沙子编一个网址”。可见,IPv6 能容纳的 IP 地址有多大了。

6. 广播地址

序号 6 是广播地址。Broadcast Address(广播地址)是专门用于同时向网络中所有工作站进行发送的一个地址。

在使用 TCP/IP 协议的网络中,主机号为全 1 的 IP 地址为广播地址,广播的分组传送给同网段下所涉及的所有计算机。

例如,对于10.1.1.0(255.255.255.0)的网段,其广播地址为10.1.1.255,当发出一个目的地址为10.1.1.255 的分组时,它将被分发给该网段上的所有计算机。

这里再提一个网关的概念。那么网关到底是什么呢?

网关实质上是一个网络通向其他网络的 IP 地址。比如有网络 A 和网络B,网络 A 的 IP 地址范围为“192.168.1.1~192.168.1.254”,子网掩码为255.255.255.0。

网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行 TCP/IP 通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP 协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络 A 中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络 B 的网关,网络 B 的网关再转发给网络B 的某个主机。网络 B 向网络 A 转发数据包的过程也是如此。

所以说,只有设置好网关的 IP 地址,TCP/IP 协议才能实现不同网络之间的相互通信。

那么这个 IP 地址是哪台机器的 IP 地址呢?

网关的 IP 地址是具有路由功能的设备的 IP 地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

7. 子网掩码

前面讲解的 IP 地址的结构只是初略的划分,其实主机号应该进一步划分为子网号和主机号。

为什么要这样划分呢?

因为在前面 A、B 类地址为主机号分配了太多的空间。事实上,在一个网络中人们并不安排这么多的主机。子网划分可以分配更多的子网,每个子网下的主机数量也是我们正好需要的数量。

cf7b547ff99ded8542098e1d021c82f1.png
图 5

序号 7 表示的就是子网掩码。如图 5 所示,这个掩码是一个32 bit 的值,其中值为 1 的比特留给网络号和子网号,为 0 的比特留给主机号。

两个 IP 地址 "&"上子网掩码就能知道这两个 IP 地址是否处于同一子网内。

前面的 A、B、C类的划分可以确定网络号与子网号的分界线,而子网掩码能够确定子网号与主机号之间的分界线

8. IP 地址(回环主机地址)

序号 8 表示的是回环地址,以允许运行在同一台主机上的客户程序和服务器程序通过 TCP/IP 进行通信。A 类网络号 127 就是为环回接口预留的。

根据惯例,大多数系统把 IP 地址127.0.0.1分配给这个接口,并命名为 localhost。

一个传给回环接口的 IP 数据报不能在任何网络上出现。

比如我们在调试网站的时候,我们不想让外网访问到我们的调试过程,此时就可以使用回环地址。回声服务器也是使用这个方式实现的。

9. 最大传输单元

序号 9 表示最大传输单元(MTU),表示数据帧的最大长度。通常设置为 1500 字节。

10. 运行状态

序号 10 表示网卡的运行状态。

最后

以上就是所有的涉及到的知识点,其实还有很多可以展开,以后有机会再深入一下。

同时,由于本人水平有限,文章里面难免有些不严谨的地方,请大家看到能够指出,互相进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值