IPV4地址的原理和配置
第三章:IP地址的配置
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。网络层提供了无连接数据传输服务,即网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报文)独立发送。
3.1IP地址概述
网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。
- IPV4包头格式如图3-1所示:
表3-1 IPV4包头格式
| Version | Header length | Type of service | Total length | |
| Identification | Flags | Fragment offset | ||
| TTL | protocol | Header checksum | ||
| Source ip address | ||||
| Destination ip address | ||||
| Options | padding | |||
- 4位版本号(version)指定IP协议的版本。对IPv4来说,其值是4,对于IPV6来说,其值为6。
- 4位头部长度(header length)表示IP报文头部的长度,以32比特为单位递增,最小值为5,最大值为15,所以IP报文头部长度最小为20字节,最大为60字节。
- 8位服务类型(Type Of Service,TOS)只有在有QoS差分服务要求时这个字段才起作用。
- 16位总长度(total length)是指整个IP数据报的长度,以字节为单位,因此IP数据报的最大长度为65535(216-1)字节。但由于MTU的限制,长度超过MTU的数据报都将被分片传输,所以实际传输的IP数据报(或分片)的长度都远远没有达到最大值。接下来的3个字段则描述了如何实现分片。
- 16位标识(identification)唯一地标识主机发送的每一个数据报。其初始值由系统随机生成;每发送一个数据报,其值就加1。该值在数据报分片时被复制到每个分片中,因此同一个数据报的所有分片都具有相同的标识值。
- 3位标志字段的第一位保留。第二位(Don’t Fragment,DF)表示“禁止分片”。如果设置了这个位,IP模块将不对数据报进行分片。在这种情况下,如果IP数据报长度超过MTU的话,IP模块将丢弃该数据报并返回一个ICMP差错报文。第三位(More Fragment,MF)表示“更多分片”。除了数据报的最后一个分片外,其他分片都要把它置1。
- 13位分片偏移(fragmentation offset)是分片相对原始IP数据报开始处(仅指数据部分)的偏移。实际的偏移值是该值左移3位(乘8)后得到的。由于这个原因,除了最后一个IP分片外,每个IP分片的数据部分的长度必须是8的整数倍(这样才能保证后面的IP分片拥有一个合适的偏移值)。
- 8位生存时间(Time To Live,TTL)是数据报到达目的地之前允许经过的路由器跳数。TTL值被发送端设置(常见的值是64)。数据报在转发过程中每经过一个路由,该值就被路由器减1。当TTL值减为0时,路由器将丢弃数据报,并向源端发送一个ICMP差错报文。TTL值可以防止数据报陷入路由循环。
- 8位协议(protocol)用来区分上层协议,其中,ICMP是1,TCP是6,UDP是17。
- 16位头部校验和(header checksum)由发送端填充,接收端对其使用CRC算法以检验IP数据报头部(注意,仅检验头部)在传输过程中是否损坏。
- 32位源IP地址(Source ip address)表示发送者的IP地址。
- 32位目的IP地址(Destination ip address)表示接受者的IP地址。
- 选项字段(option)用于安全,测试等目的。
- 填充(padding)长度可变,在使用选项的过程中,有可能造成数据包包头部分不是32比特的整数部,那么需要填充数据来补齐。
- IP地址分类如图3-2所示:
表3-2 IP地址分类
| 类别 | 强制 | 地址范围 | 作用 |
| A | 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx | 0.0.0.0~127.255.255.255 | 大型企业 |
| B | 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx | 128.0.0.0~191.255.255.255 | 中型企业 |
| C | 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx | 192.0.0.0~223.255.255.255 | 小型企业 |
| D | 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx | 224.0.0.0~239.255.255.255 | 组播 |
| E | 1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx | 240.0.0.0~255.255.255.255 | 科学研究 |
- IP地址专业术语
- 网络位:用来标识一个网络,代表IP地址所属网络。
- 主机位:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。
- 网络地址:用于标识一个网络。
- 广播地址:用于向该网络中的所有主机发送数据的特殊地址。
- 子网掩码:网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
4、私有IP地址
- A: 10.0.0.0~10.255.255.255 即10.0.0.0/8
- B:172.16.0.0~172.31.255.255即172.16.0.0/12
- C:192.168.0.0~192.168.255.255 即192.168.0.0/16
3.2实验一:IP地址配置
- 实验目的
掌握接口IPv4地址的配置方法
- 实验拓扑
IP地址配置的实验拓扑如图3-1所示:
图3-1 IP地址配置
- 实验步骤
(1):R1的配置
<Huawei>system-view //进入到系统视图
[Huawei]undo info-center enable //关闭路由器输出信息
[Huawei]sysname R1 //修改设备名为R1
[R1]interface g0/0/0 //进入到接口g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24 //配置IP地址和子网掩码
[R1-GigabitEthernet0/0/0]undo shutdown //打开接口
[R1-GigabitEthernet0/0/0]quit //退出
(2) 查看R1接口的ip地址
[R1] display ip interface brief //查看接口的ip地址
*down: administratively down //“*”表示该接口被管理员手动关闭,例如在接口执行命令“shutdown”
^down: standby //“^”表示该接口是备份接口
(l): loopback //(l)代表环回
(s): spoofing //(s)代表欺骗
The number of interface that is UP in Physical is 2 //表示物理状态up的接口数量为2
The number of interface that is DOWN in Physical is 2 //表示物理状态down的接口数量为2
The number of interface that is UP in Protocol is 2 //表示协议状态up的接口数量为2
The number of interface that is DOWN in Protocol is 2 //表示协议状态down的接口数量为2
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 192.168.12.1/24 up up
GigabitEthernet0/0/1 unassigned down down
GigabitEthernet0/0/2 unassigned down down
NULL0 unassigned up up(s)
【技术要点】
华为设备上支持两种配置子网掩码的方式:
- 点分十进制:[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 255.255.255.0//配置IP地址和子网掩码
- 前缀长度:[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24 //配置IP地址和子网掩码
(3):R2的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
- 实验调试
R1访问R2,使用ping命令进行测试
<R1>ping 192.168.12.2 //ping测试192.168.12.2的连通性
PING 192.168.12.2: 56 data bytes, press CTRL_C to break //使用CTRL_C可以终止测试
Reply from 192.168.12.2: bytes=56 Sequence=1 ttl=255 time=70 ms
Reply from 192.168.12.2: bytes=56 Sequence=2 ttl=255 time=40 ms
Reply from 192.168.12.2: bytes=56 Sequence=3 ttl=255 time=90 ms
Reply from 192.168.12.2: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 192.168.12.2: bytes=56 Sequence=5 ttl=255 time=30 ms
--- 192.168.12.2 ping statistics ---
5 packet(s) transmitted //发送五个包
5 packet(s) received //接收到五个包
0.00% packet loss //0%的丢包率
round-trip min/avg/max = 30/52/90 ms //来回旅程延迟分别为最小30ms、最大90ms、平均52ms
【技术要点】
ping命令是最常见的用于检测网络设备可访问性的调试工具,它使用ICMP报文信息可以来检测:
远程设备是否可用。
与远程主机通信的来回旅程(round-trip)的延迟(delay)。
包(packet)的丢失情况。
3.3实验二:子网地址配置
- 实验需求
- 掌握子网地址的配置
- 实验拓扑
子网地址的配置的实验拓扑如图3-2

图3-2 子网地址配置
- 实验步骤
(1):路由器R1的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 172.16.1.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
(2):路由器R2的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.1.2 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
- 实验调试
<R1>ping 172.16.1.2
PING 172.16.1.2: 56 data bytes, press CTRL_C to break
Reply from 172.16.1.2: bytes=56 Sequence=1 ttl=255 time=100 ms
Reply from 172.16.1.2: bytes=56 Sequence=2 ttl=255 time=60 ms
Reply from 172.16.1.2: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 172.16.1.2: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 172.16.1.2: bytes=56 Sequence=5 ttl=255 time=70 ms
--- 172.16.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/60/100 ms
【技术要点】
172.16.1.0/24是172.16.0.0/16的一个子网:
子网掩码:255.255.255.0
网络地址:172.16.1.0
广播地址:172.16.1.255
主机地址:172.16.1.1至172.16.1.254
3.4实验三:节点地址配置
- 实验需求
① 掌握节点地址的配置
- 实验拓扑
节点地址配置的实验拓扑如图3-3所示:

图3-3 节点地址配置
- 实验步骤
(1):路由器R1的配置
<Huawei>system-view
[Huawei]sysname R1
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 172.16.1.0 16
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
(2):路由器R2的配置
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.2.0 16
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
- 实验调试
<R1>ping 172.16.2.0
PING 172.16.2.0: 56 data bytes, press CTRL_C to break
Reply from 172.16.2.0: bytes=56 Sequence=1 ttl=255 time=60 ms
Reply from 172.16.2.0: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 172.16.2.0: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 172.16.2.0: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 172.16.2.0: bytes=56 Sequence=5 ttl=255 time=30 ms
--- 172.16.2.0 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/38/60 ms
【技术要点】
很多的初学者对上面的内容比较难理解,最后一位数为0了,这难道还是一个IP地址?
172.16.0.0/16
子网掩码:255.255.0
网络地址:172.16.0.0
广播地址:172.16.255.255
主机地址:172.16.0.1至172.16.255.254
172.16.1.0后面16位主机位不是全0,也不是全1,所以它是一个可用的IP地址。
同理172.16.2.0也是一个可用的IP地址。
3.5IP地址命令汇总
表3-3列出了本章使用的命令
表3-3 IP地址配置命令汇总
| 命令 | 作用 |
| interface g0/0/0 | 进入到接口g0/0/0 |
| ip address | 配置IP地址 |
| undo shutdown | 打开接口 |
| Display ip interface brief | 查看接口的ip简要信息 |
本文出自作者的《华为认证HCIA-datacom认证实验指南》

相关文章:
IPV4地址的原理和配置
第三章:IP地址的配置 IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。网络层提供了无连接数据传输服务,即网络在发送分…...
软件测试面试准备——(一)Selenium(1)基础问题及自动化测试
滴滴面试:1. 自己负责哪部分功能?农餐对接系统分为了两大子系统,一个是个人订餐系统,二是餐馆、个人与农产品供应商进行农产品交易系统。我主要负责组织测试人员对该系统进行测试。我们测试分为两个阶段:一、功能测试阶…...
AcWing 1230.K倍区间
AcWing 1230. K倍区间 题目描述 给定一个长度为 NNN 的数列,A1,A2,…ANA_1, A_2, … A_NA1,A2,…AN ,如果其中一段连续的子序列 Ai,Ai1,…AjA_i, A_{i1}, … A_jAi,Ai1,…Aj 之和是 KKK 的倍数,我们就称这个区间 [i,j][i,j][i,…...
kubernetes集群部署springcloud项目【AL】【未写完】
kubernetes集群部署springcloud项目【AL】 (先手工做,非自动化) #环境: 192.168.73.138 master 192.168.73.139 node1 192.168.73.140 node2 192.168.73.137 harbor、mysqlgit clone https://github.com/lizhenliang/simple-…...
各种音频接口比较
时间 参考:https://www.bilibili.com/video/BV1SL4y1q7GZ/?spm_id_from333.337.search-card.all.click&vd_source00bd76f9d6dc090461cddd9f0deb2d51, https://blog.csdn.net/weixin_43794311/article/details/128941346 接口名字时间公司支持格式…...
软件测试面试理论(超详细)
【面试理论知识】1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己…...
c++学习笔记-二进制文件操作(哔站-黑马程序员c++教学视频)
一、基本概念 以二进制的方式对文件进行读写操作 打开方式指定为 ios::binary 优点:可以写入自己定义的数据类型 1、写文件 二进制方式写文件:流对象调用成员write 函数原型:ostream& write(const char * buffer,int len);参数解释…...
内网渗透(二十三)之Windows协议认证和密码抓取-Mimikatz介绍和各种模块使用方法
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...
Nginx if的使用教程
if指令该指令用来支持条件判断,并根据条件判断结果选择不同的Nginx配置。语法if (condition){...}默认值—位置server、locationcondition为判定条件,可以支持以下写法:1. 变量名。如果变量名对应的值为空字符串或"0",i…...
备考蓝桥杯【快速排序和归并排序】
🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…...
Taro使用微信OCR插件无法调用onSuccess回调问题
Taro使用微信插件无法调用onSuccess回调问题小程序后台添加插件在开放社区购买相应的套餐详细步骤1.在app.config.js中添加如下代码2.在页面的page.config.js添加插件3.使用ocr-navigator识别身份证小程序后台添加插件 在开放社区购买相应的套餐 购买地址 详细步骤 1.在app.…...
【Java】代码块的细节你搞懂了吗(基础知识七)
希望像唠嗑一样,one step one futher。 目录 (1)代码块的应用场景 (2)代码块的细节 1.static 代码块只加载一次 2.当调用类的静态成员时,类会加载 3. 使用类的静态成员时,static代码块会被执…...
设计模式C++实现12:抽象工厂模式
参考大话设计模式; 详细内容参见大话设计模式一书第十五章,该书使用C#实现,本实验通过C语言实现。 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们…...
目标检测论文阅读:GraphFPN算法笔记
标题:GraphFPN: Graph Feature Pyramid Network for Object Detection 会议:ICCV2021 论文地址:https://ieeexplore.ieee.org/document/9710561/ Abstract 特征金字塔已经被证明在需要多尺度特征的图像理解任务中是强大的。SOTA的多尺度特征…...
实测2023款哪吒U-II,智驾功能对女司机很友好
最近,我们受邀试驾了2023款哪吒U-II。这是一款A级新能源SUV,是哪吒U的改款车型。哪吒U系列自2020年3月上市到2023年1月,累计销售数量达76688台,也因此被称为15万级智能天花板。2023款哪吒U-II的一大亮点是:针对以往哪吒…...
Python自动化测试【软件测试最全教程(附笔记、学习路线)】,看完即就业
最近看到很多粉丝在后台私信我,叫我做一期Python自动化测试的教程,其实关于这个问题,我也早就在着手准备了,我录制了一整套完整的Python自动化测试的教程,上传到网盘里了,大家有兴趣的可以去文末交流群免费…...
2023/2/13总结
今天主要学习了哈夫曼树。 哈夫曼树 哈夫曼树是二叉树的一种,它是一种WPL最优二叉树。 叶子结点(也称叶节点):指的是自己下面不再连接有节点的节点(即末端),称为叶子节点(又称为终…...
webSock前端
1.什么是webSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。允许服务端主动向客户端推送数据。 2.如何使用webSocket WebSocket 构造函数WebSocket 对象作为一个构造函数,用于新建 WebSocket 实例。 代码如下: let ws = new WebSocket(网址); 2.websock事件: …...
AcWing 3956. 截断数组(每日一题)
AcWing 3956. 截断数组 题目描述 给定一个长度为 nnn 的数组 a1,a2,…,ana_1, a_2, …, a_na1,a2,…,an 。 现在,要将该数组从中间截断,得到三个非空子数组。 要求,三个子数组内各元素之和都相等。 请问,共有多少种不同…...
Android 一体机研发之修改系统设置————屏幕亮度
Android 一体机研发之修改系统设置————屏幕亮度 Android 一体机研发之修改系统设置————声音 Android 一体机研发之修改系统设置————自动锁屏 前言 最近工作略微有点儿空闲,抽空给大家总结一下:近期一直搞得一体机app研发,适用…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
