数据封装
IPv4报文格式
-
IP Packet(IP数据包),其包头主要内容如下:
-
Version:4 bit,4:表示为IPv4;6:表示为IPv6。
-
Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
-
Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
-
Total Length:16 bit,总长度,整个IP数据包的长度。
-
Identification:16 bit,标识,分片重组时会用到该字段。
-
Flags:3 bit,标志位。
-
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
-
Time to Live:8 bit,生存时间。
-
Protocol:8 bit,协议:下一层协议。
-
指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
-
常见值:
-
1: ICMP, Internet Control Message;
-
2: IGMP, Internet Group Management;
-
6: TCP , Transmission Control Protocol;
-
17: UDP, User Datagram Protocol。
-
-
-
Header Checksum:16 bit,首部检验和。
-
Source IP Address:32 bit,源IP地址。
-
Destination IP Address:32 bit,目的IP地址。
-
Options:可变,选项字段。
-
Padding:可变,填充字段,全填0。
数据包分片
-
Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段。
-
Flags:3 bit,标志位。
-
保留段位:0,保留。
-
不分段位:1,表示“不能分片”;0,表示“能分片”。
-
更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”。
-
-
Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。
生存时间TTL
Time to Live:8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值。
协议号Protocol
该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议,对应值0x01);也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据包协议,对应值0x11)。
IP地址构成
IP地址分为网络位和主机位
子网掩码:区分网络位和主机位 网络1,主机0
IPv4地址由如下两部分组成:
-
网络部分 (网络号):用来标识一个网络。
-
主机部分 (主机号):用来区分一个网络内的不同主机。
网络掩码 (Netmask),又称子网掩码 (Subnet Mask):
-
网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
-
通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
-
网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
地址寻址
网络寻址:
-
二层网络寻址:可直接通过IP地址,找到对应的主机接口。
-
三层网络寻址:利用网关转发来自不同网段之间的数据包。
网关:
-
报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
-
网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址。
IP地址分类
IP地址计算
网络地址:广播地址、网络地址、可用地址
广播地址---网络位不变,主机位全部是1
网络地址---网络位不变,主机位全部是0
私有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
NAT (Network Address Translation),网络地址转换,其基本作用是实现私网IP地址与公网IP地址之间的转换。IANA (Internet Assigned Numbers Authority),因特网地址分配组织。
特殊IP
IPv4与IPv6的对比
子网划分
原网段分析
向主机借位
-
现在,将原有的24位网络位向主机位去“借”1位,这样网络位就扩充到了25位,相对的主机位就减少到了7位,而借过来的这1位就是子网位,此时网络掩码就变成了25位,即255.255.255.128,或/25。
-
子网位:可取值0或取值1,则得到了两个新的子网。
-
通过计算可知,现在网络中,有128个IP地址。
计算子网网络地址
计算网络地址,主机位全为0:
-
如果子网位取值0,则网络地址为192.168.10.0。
-
如果子网位取值1,则网络地址为192.168.10.128。
计算子网广播地址地址
广播地址:主机位全为0.
地址计算公式:
网络位+主机位=32
主机位用n表示,
向主机位借位数m --子网位
地址个数:2的n次方
可用ip地址个数:2的n次方 -2
子网个数 2的m次方
举例:现有一个公司申请了网段192.168.10.0/24,该公司3个部门,每个部门有25台主机,请合理规划。
分析:3个部门----至少要有3个子网 2的m次方≥3 m≥2
每个部门25台主机 -----每个子网至少要有25个可用IP地址 2的n次方 -2 ≥25 n≥5
隐藏条件:m+n=8
结论:借位借2,主机位6位
192.168.10.00 000000 192.168.10.0/26 192.168.10.0--192.168.10.63
192.168.10.01 000000 192.168.10.64/26 192.168.10.64--192.168.10.127
192.168.10.10 000000 192.168.10.128/26 192.168.10.128--192.168.10.191
192.168.10.11 000000 192.168.10.192/26 192.168.10.192--192.168.10.255
练习:现有一个公司申请了网段192.168.10.0/24,该公司6个部门,每个部门主机个数位10,15,20,25,30,13,请合理规划。
答案:m=3 n=5
192.168.10.0/27 0-31
192.168.10.32/27 32-63
192.168.10.64/27 64-95
192.168.10.96/27 96-127
192.168.10.128/27 128-159
192.168.10.160/27 160-191
192.168.10.192/27 192-223
192.168.10.224/27 224-255
计算子网
步骤1:计算所需主机位 2*2...2-2≥最大主机个数 n ≥ 位,主机位 向主机借位
例:192.168.10.231/28 求网络地址/广播地址/子网掩码
192.168.10. 1110 0111
255.255.255.1111 0000 255.255.255.240
网络地址:192.168.10.224
广播地址:192.168.10.239
例:172.16.187.35/19 求网络地址/广播地址/子网掩码
答案: 172.16.101 11011.00000000
255.255.101 11011.00000000 255.255.160.0
网络地址:172.16.160.0
广播地址:172.16.191.255
子网掩码:255.255.224.0
例:10.241.35.1/30 求网络地址/广播地址
网络地址:10.241.35.0/30
广播地址:10.241.35.3
ICMP协议
为了更有效地转发IP数据报文和提高数据报文交互成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。
ICMP消息:
-
ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。
-
字段解释:
-
ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数。
-
校验和字段用于检查消息是否完整。
-
消息中包含32 bit的可变参数,这个字段一般不使用,通常设置为0。
-
在ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关。
-
在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复消息进行一一对应。
-
-
文件系统操作实验
<R1>pwd
flash:
<R1>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time FileName
0 drw- - Aug 07 2015 13:51:14 src
1 drw- - Jul 08 2024 19:23:34 pmdata
2 drw- - Jul 08 2024 19:23:37 dhcp
3 -rw- 28 Jul 08 2024 19:23:38 private-data.txt
32,004 KB total (31,995 KB free)
<R1>more private-data.txt
U丂
<R1>cd dhcp
<R1>pwd
flash:/dhcp
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
32,004 KB total (31,995 KB free)
<R1>more dhcp-duid.txt
Huawei DHCP DUID
time 2024-07-08 19:23:38
version 1
#DUID_LL: 00030001548998526201
end
<R1>mkdir songzhikang
Info: Create directory flash:/dhcp/songzhikang......Done.
<R1>pwd
flash:/dhcp
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:27:49 songzhikang
32,004 KB total (31,994 KB free)
-
cd directory
命令用来修改用户当前的工作目录。 -
mkdir directory
命令能够创建一个新的目录。目录名称可以包含1-64个字符 -
rmdir directory
命令能够删除文件系统中的目录,此处需要注意的是,只有空目录才能被删除。 -
copy source-filename destination-filename
命令可以复制文件。如果目标文件已存在,系统会提示此文件将被替换。目标文件名不能与系统启动文件同名,否则系统将会出现错误提示。 -
move source-filename destination-filename
命令可以用来将文件移动到其他目录下。move命令只适用于在同一储存设备中移动文件。 -
rename old-name new-name
命令可以用来对目录或文件进行重命名。
<R1>rmdir songzhikang
Remove directory flash:/dhcp/songzhikang?[Y/N]:y
%Removing directory flash:/dhcp/songzhikang...Done!
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
32,004 KB total (31,995 KB free)
<R1>mkdir songzhikang
Info: Create directory flash:/dhcp/songzhikang......Done.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
32,004 KB total (31,994 KB free)
<R1>copy dhcp-duid.txt
^
Error:Incomplete command found at '^' position.
<R1>copy dhcp-duid.txt flash:/song.txt
Copy flash:/dhcp/dhcp-duid.txt to flash:/song.txt?[Y/N]:y
100% complete
Info: Copied file flash:/dhcp/dhcp-duid.txt to flash:/song.txt...Done.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
32,004 KB total (31,993 KB free)
<R1>cd f
<R1>cd flash:
<R1>dir
Directory of flash:/
Idx Attr Size(Byte) Date Time FileName
0 drw- - Aug 07 2015 13:51:14 src
1 drw- - Jul 08 2024 19:23:34 pmdata
2 drw- - Jul 08 2024 19:23:37 dhcp
3 -rw- 28 Jul 08 2024 19:23:38 private-data.txt
4 -rw- 98 Jul 08 2024 19:36:04 song.txt
32,004 KB total (31,993 KB free)
<R1>move song.txt flash:/dhcp/
Move flash:/song.txt to flash:/dhcp/song.txt ?[Y/N]:y
%Moved file flash:/song.txt to flash:/dhcp/song.txt.
<R1>cd flash:/dhcp/
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
2 -rw- 98 Jul 08 2024 19:36:04 song.txt
32,004 KB total (31,993 KB free)
<R1>rename song.txt songzhikang.txt
Rename flash:/dhcp/song.txt to flash:/dhcp/songzhikang.txt ?[Y/N]:y
Info: Rename file flash:/dhcp/song.txt to flash:/dhcp/songzhikang.txt ......Done.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
2 -rw- 98 Jul 08 2024 19:36:04 songzhikang.txt
32,004 KB total (31,993 KB free)
<R1>delete songzhikang.txt
Delete flash:/dhcp/songzhikang.txt?[Y/N]:y
Info: Deleting file flash:/dhcp/songzhikang.txt...succeeded.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
32,004 KB total (31,991 KB free)
-
reset recycle-bin [ filename | devicename ]
可以用来永久删除回收站中的文件,filename参数指定了需要永久删除的文件的名称,device-name参数指定了储存设备的名称。
<R1>undelete songzhikang.txt
Undelete flash:/dhcp/songzhikang.txt?[Y/N]:y
%Undeleted file flash:/dhcp/songzhikang.txt.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
2 -rw- 98 Jul 08 2024 19:36:04 songzhikang.txt
32,004 KB total (31,991 KB free)
<R1>delete songzhikang.txt
Delete flash:/dhcp/songzhikang.txt?[Y/N]:y
Info: Deleting file flash:/dhcp/songzhikang.txt...succeeded.
<R1>dir
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
32,004 KB total (31,991 KB free)
<R1>dir /all
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
2 -rw- 98 Jul 08 2024 19:36:04 [songzhikang.txt]
32,004 KB total (31,991 KB free)
<R1>reset recycle-bin
Squeeze flash:/dhcp/songzhikang.txt?[Y/N]:y
%Cleared file flash:/dhcp/songzhikang.txt.
<R1>dir /all
Directory of flash:/dhcp/
Idx Attr Size(Byte) Date Time FileName
0 -rw- 98 Jul 08 2024 19:23:38 dhcp-duid.txt
1 drw- - Jul 08 2024 19:34:56 songzhikang
32,004 KB total (31,992 KB free)