0

0

详解ip addr展示的信息——IP、MAC

齐天大圣

齐天大圣

发布时间:2020-11-24 13:53:56

|

8603人浏览过

|

来源于php中文网

原创

如何查看本机的ip地址呢?我想这个问题肯定难不倒程序员们。大家肯定知道如果是windows系统,那么在cmd窗口中,输入ipconfig即可,想要查看更详细的信息,输入ipconfig /all。
如果是linux系统的话,如果你已经安装了net-tools这个工具的话,就可以使用ifconfig命令来查看。但如果你没有安装这个工具包的话,还可以通过ip addr来查看。
下面看一个主机上输入ip addr显示出的信息

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:14:a2:5b brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.196/20 brd 172.16.15.255 scope global dynamic eth0
       valid_lft 291113559sec preferred_lft 291113559sec

该命令可展示出主机上所有的网卡信息。可以看到,目前该主机上有两块网卡,lo以及eth0.

IP地址

172.16.1.196即eth0网卡的ip地址,它由四个部分组成,每个部分占8位(1字节),共32位。IP 地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。既然是门牌号,那么大家都是不一样的,如果出现一样的话,会发生IP地址冲突而导致上不了网的状况。

IP地址的分类

理论上的ip地址最多有2的32次方个,也就是4294967296个,实际上远远没有这么多。IP地址被分为了5类,实际能用的就A/B/C前三类。

20190612163358672.png

下面这个表格,详细地展示了 A、B、C 三类地址所能包含的主机的数量。

类别

IP地址范围

私网IP地址范围

子网掩码

网络数

网段最大主机数

A

1.0.0.1-127.255.255.254

10.0.0.0-10.255.255.255

255.0.0.0

126 (2^ 7-2)

16777214 (2^ 24-2)

B

128.0.0.1-191.255.255.254

172.16.0.0-172.31.255.255

255.255.0.0

16383 (2^ 14-1)

65534 (2^16-2)

C

192.0.0.1-223.255.255.254

192.168.0.0-192.168.255.255

255.255.255.0

2097152 (2^ 21-1)

254 (2^8-2)

无类型域间选路(CIDR)

看上面表格会发现一个问题,就是C类地址能包含的主机数太少了,只有254个,不够一个大一点的企业使用。而B类又太多了,很少有这么大的单位。所以,就有了一个折中的办法CIDR。
CIDR通过子网掩码将ip地址一分为二,前面的部分为网络号,后面的部分为主机号。下面通过例子看子网掩码是如何划分网络号和主机号的:

172.16.1.196/20

这个地址表示形式就是CIDR。斜杠后面的20即子网掩码,它是由前面连续的20个1组成的,即11111111.11111111.11110000.00000000。表示前20位为网络号,后12位为主机号。所以该网络可用主机数为2的12次方再减去2(一个网络地址、一个广播地址)
将子网掩码和 IP 地址按位AND计算,就可得到网络号。我们来计算下网络号以及第一个可用地址最最后一个可用地址

*.*.00000001.*
*.*.11110000.*
--------------
172.16.0.0  <===网络号

获得了网络号,那么第一个可用地址为:172.16.0.1,最后一个可用地址为:172.16.15.254。
伴随着CIDR还有广播地址,172.16.15.255,它是主机号的最后一个。如果发送这个地址,那么172.16.0.0这个网络里的主机都能收到。

公有IP和私有IP

在工作中,基本上不用划分A类、B类还是C类,所以时间长了,大家都忘记了这个分类,只记得CIDR。但是有一点还是要注意的,就是公有 IP 地址和私有 IP 地址。关于私有IP范围,在之前的表格已经给出。当你看到10.x.x.x或172.x.x.x或192.x.x.x时,就要明白,这是个私有ip地址。

那么私有ip和公有ip都是用来干嘛的呢?

  • 公有IP地址是广域网的范畴,通过它能直接访问互联网。如果你想搭建一个网站,让全世界的人都能访问,那么就需要使用公有IP。

    中解商务通
    中解商务通

    实时捕捉 一旦访问者打开您的网站,系统会立即显示,这时您就可以查看用户的信息,如:来自搜索引擎关键词、友情链接或直接访问;访问者的IP地址,所在地区,正在访问哪个网页;以及访问者使用的操作系统、浏览器、显示器屏幕分辨率颜色深度等。 主动出击 变被动为主动,可以主动邀请访问者进行洽谈勾通,帮助客户深入了解您的企业和产品,同时获得对方的采购意向、联系方式等信息。 互动交流 主动销售和在线客服合二为一,

    下载
  • 私有IP地址:我们企业或家庭内部组建局域网用的IP,一般都会用私有IP。私有地址是局域网范畴内的,私有IP禁止出现在Internet中。

MAC地址

link/ether 00:16:3e:14:a2:5b

这一行显示的是MAC地址,它有12位16进制数组成,用6个字节表示。它是网卡的物理地址,号称全球唯一,不会有两个相同的MAC地址。既然是全球唯一,那么用它来替代ip不是非常好的。

这样是不行的,因为网络中的数据包传递,除了要有确定的地址外,还要有定位功能。MAC地址是不具备远程定位功能的,而IP具有远程定位功能。

MAC地址类似身份证号,每个人身份证号都是唯一的,但是你不能通过这个号去找到这个人的住址。而IP则类似身份证上面的家庭住址信息。

MAC地址虽不具备远程定位功能,但还是有一定的定位功能的(在局域网内)。比如在同一间办公室,你吼一声身份证号xxxxxx是谁,办公室人听到了,有人站起来说是我。但如果这个人在外地(不在同一个网段),你吼破嗓子也没人回应。

总结

  • IP地址具有定位功能;MAC地址唯一,但不能远程定位

  • CRID用来划分子网

  • IP分为公有IP、私有IP。

更多相关技术文章,请访问linux系统教程栏目!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

TCP/IP 教程
TCP/IP 教程

共5课时 | 6.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号