一、Mac地址
- 每一个网卡都会有一个
6字节
的Mac地址(Media Access Control Address)
,每一个Mac地址都是全球唯一的,固化在了网卡的ROM中,遵守IEEE802标准
- 每一个网卡都会有一个
-
Mac地址前三个字节是组织唯一标识符,是IEEE管理机构分配给厂商的;后三个字节是网络接口标识符,是厂商自行分配的,如下所示
Mac地址的组成.png
-
- Mac地址在不同操作系统下的,格式不同,如下所示,当6个字节48位全是1时,代表
广播地址
,即FF-FF-FF-FF-FF-FF
- Mac地址在不同操作系统下的,格式不同,如下所示,当6个字节48位全是1时,代表
Windows : 40-55-82-0A-8C-6D
Linux、Android、Mac、iOS: 40:55:82:0A:8C:6D
Packet Tracer: 4055.820A.8C6D
广播地址:FF-FF-FF-FF-FF-FF
- 查询本机Mac地址的方法,如下所示:
Windows下输入命令:ipconfig -all
Mac下输入命令:ifconfig
- 我们知道计算机想要通讯,不但要知道对方的
IP地址
,还要知道对方的Mac地址
,IP地址一般对方会提供,Mac地址一般是通过发送ARP广播
来获取的,ARP广播
获取成功后会缓存IP地址、Mac地址
的映射信息,俗称ARP缓存
,通过ARP广播获取的Mac地址,属于动态缓存,相关命令如下所示,(ARP是地址解析协议,可以通过IP获取Mac地址
)
- 我们知道计算机想要通讯,不但要知道对方的
arp -a [主机地址] : 查询ARP缓存
arp -d [主机地址] : 删除ARP缓存
arp -s [主机地址] [Mac地址] : 增加一条静态缓存,这是静态缓存,存储时间比较久
二、IP地址
- IP地址全称是
Internet Protocol Address
,互联网上每一个主机都有一个IP地址,最初是IPv4,占用4个字节,32位
,已于2019年用完,后来发展为IPv6,占用16个字节
,我们先研究IPv4,其组成如下所示:
IPv4的4个字节32位.png
- IP地址全称是
- IP地址由两部分组成:
网络ID + 主机ID
,我们可以通过子网掩码
得知一个IP地址的网络ID和主机ID
是什么,子网掩码其实就是说明IP地址中的哪部分是网络ID,哪部分是主机ID的
,例如:IP地址是192.168.10.12/24
,后面的/24
就是子网掩码,说明IP地址的前24位
是网络ID,剩下的就是主机ID,如下所示:
- IP地址由两部分组成:
IP地址是:192.168.10.12/24
子网掩码是:/24
网络ID是前24位,也就是:192.168.10.0 (后面位数全部用0补齐)
主机ID是最后8位,也就是12,最后8位代表了一个范围:0~255,也就是说这个网段中,最多可以共存254个IP地址,也就是最多共存255个主机
- 我们常说的
网段
,其实就是某一段IP地址的范围,所谓的同一个网段,就是用IP地址
与子网掩码
做了一个按位与&
运算后得出一个值,两个IP地址的的得出来的值相同,就认为这两个IP地址是在同一个网段里;这里计算有个小技巧:任何值与 1按位与
就是这个值本身,任何值与 0按位与
都是0,如下所示:
- 我们常说的
IP地址是:192.168.10.12/24
网段就是:192.168.10.12 & 255.255.255.0 = 192.168.10.0
计算过程如下,任何值与1`按位与`就是这个值本身,任何值与0`按位与`都是0
1100 0000 1010 1000 0000 1010 0000 1100
& 1111 1111 1111 1111 1111 1111 0000 0000
= 1100 0000 1010 1000 0000 1010 0000 0000
转成十进制就是:192.168.10.0
- 4.计算机和其他设备通讯前,会先判断目标主机和自己
是否在同一个网段
中:- 如果在同一个网段中,则不需要路由器转发
- 如果不是同一个网段,就需要路由器进行转发
三、IP地址的分类
- IP地址按照
网络ID和主机ID
所占的位数
不同进行分类,一般可分为:A类、B类、C类、D类、E类,其中D类以1110
开头,为多播地址;E类1111
开头,保留为今后使用;只有A、B、C类地址才能分配给主机,如下所示:
- IP地址按照
A类、B类、C类IP地址.png
- 主机ID
全是0
,代表主机所在的网段;主机ID全是1
,代表主机所在网段的全部主机,也就会广播
- 主机ID
-
-
A类地址,
前8位
为网络ID
,后24位
为主机ID
,如下图所示,但是由于D类和E类所占的保留位不能用,所以A类地址的网络ID的第一位必须为0,而且127是保留字段也不能用,所以A类地址的网络ID
的取值范围
是1 ~ 126
;
- A类地址的
主机ID
的取值范围
都是0 ~ 255
,所以A类IP地址的最大主机是:256 * 256 * 256 - 2 = 16777214
,也就是每个A类网络最多可以容纳16777214个IP
-
A类地址,
A类地址.png
-
B类地址,
前16位
为网络ID
,后16位
为主机ID
,如下图所示,网络ID中,第1部分取值范围是128 ~ 191
,第2部分取值范围是0 ~ 255
;主机ID中,第3、第4部分取值范围都是是0 ~ 255
,也就是说每个B类网络最多能容纳的主机数是256 * 256 - 2 = 65534
-
B类地址,
B类地址
-
C类地址,
前24位
为网络ID
,后8位
为主机ID
,如下图所示,网络ID中,第1部分取值范围是192 ~ 223
,第2、第3部分取值范围是0 ~ 255
;主机ID中,第4部分取值范围都是是0 ~ 255
,也就是说每个C类网络最多能容纳的主机数是256 - 2 = 254
-
C类地址,
C类地址.png
-
D类地址,以
1110
开头,没有子网掩码,用于多播地址,如下图所示,第1部分取值范围是224 ~ 239
-
D类地址,以
D类地址
-
E类地址,以
1111
开头,没有子网掩码,保留为今后使用,如下图所示,第1部分取值范围是240 ~ 255
-
E类地址,以
E类地址
四、子网划分
- 子网掩码我们经常用
CIDR
来表示,CIDR全称是无类别域间路由,其实很简单,就是IP地址后面跟/数字
,如下所示,/
后面的数字代表子网掩码的位数
,也就是网络ID所占的位数
,例如:/24
就代表IP地址的前24位
是网络ID
,因为IP地址一共32位,所以后面8位
就是网络ID
- 子网掩码我们经常用
192.168.1.100/24,代表子网掩码有24个1,也就是255.255.255.0
192.168.1.100/16,代表子网掩码有16个1,也就是255.255.0.0
192.168.1.100/8, 代表子网掩码有8个1, 也就是255.0.0.0
- 为什么要进行子网划分?当我们需要让
500台主机
在同一个网段内时,因为C类网段最多有254个
主机数,不够用,所以就需要分配一个B类网段,而B类网段的主机数是65534个
,远远超过了500个,多了65034个空闲的IP地址,极大的浪费了资源,所以这个时候,我们就需要进行合理的子网划分
- 为什么要进行子网划分?当我们需要让
- 子网划分就是:借用
主机位
作为子网位
,划分出多个子网,还是上面这个例子,我们继续用B类地址,但是让前31位
作为网络ID
,后9位
作为主机ID
,这样主机数就剩下510个了,刚好满足我们的需求,也不会浪费IP地址了
- 子网划分就是:借用
-
- 其实子网就是把子网掩码
往右移动
,使主机ID
的一部分变成了网络ID
,每往右挪动一位,就会使主机ID的数量缩小二分之一
;
- 与此对应的还有
超网
,超网就是把主机ID的位数往左移动
,使网络ID
的一部分变成了主机ID
,每往左挪动一位,就会使主机ID的数量变大2倍
;
- 其实子网就是把子网掩码
-
- 如何判断一个网段是子网还是超网?
(1). 首先看网段类型是A类、B类还是C类,主要通过
IP取值范围
来区分,默认情况下,A类的子网掩码是8位,B类是16位,C类是24位;(2). 然后如果该网段的子网掩码比默认子网掩码多,就是子网;如果比默认子网掩码少,就是超网;
(3). 比如:
25.100.0.0/16
是一个A类网段的子网;200.100.0.0/16
就是C类网段的超网