解析 ip addr 的输出的内容含义

2024-01-30 15:50
文章标签 输出 ip 内容 解析 含义 addr

本文主要是介绍解析 ip addr 的输出的内容含义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解读 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 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:62:3c:62:a1 brd ff:ff:ff:ff:ff:ffinet 192.168.108.19/24 brd 192.168.108.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::5df:3b5f:e5fe:ddc2/64 scope linkvalid_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 地址的有效使用期限

Qlen代表传输队列长度,此处为1000。

4.8 valid_lft & preferred_lft

valid_lft forever IPv4/IPv6 地址的有效使用期限

preferred_lft forever IPv4/IPv6 地址的首选生存期

这篇关于解析 ip addr 的输出的内容含义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/660742

相关文章

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re