Mac&IP芝士扫盲

180 阅读7分钟

Mac地址

Mac:

  • 每个网卡都有一个6字节(48bit)的Mac地址(Media Access Control Address)
  • 全球唯一,固化在网卡的ROM中,由IEEE802标准规定
    • 前3字节:OUI(Organizationally Unique Identifier),组织唯一标识符,由IEEE的注册管理机构分配给厂商
    • 后3字节:网络接口表示符,由厂商自行分配

image.png

Mac地址的表示格式

不同系统下Mac地址的格式:

  • Windows: 46-55-82-3A-8C-6D
  • LinuxAndroidMaciOS: 46:55:82:3A:8C:6D
  • Mac地址为FF-FF-FF-FF-FF-FF时代表是广播地址

Mac地址的获取

  • 当不知道对方Mac地址的时候,可以通过发送ARP广播来获取对方的Mac地址
  • 获取成功后,会缓存IP地址MAC地址的映射信息,俗称:ARP缓存
  • 通过ARP广播获取的MAC地址,属于动态(dynamic)缓存
    • 存储时间比较短(默认是2分钟),过期了就自动删除

相关命令:

  • arp -a [主机地址]:查询ARP缓存
  • arp -d [主机地址]:删除ARP缓存
  • arp -s 主机地址 MAC地址:增加一条缓存信息(这是静态缓存,存储时间较久,不同系统的存储时间不同)

ARP & RARP

ARP(Adress Resolution Protocol)译为:地址解析协议,通过IP地址获取Mac地址

RARP(Reverse Adress Resolution Protocol)译为:逆地址解析协议

  • 使用与ARP相同的报头结构
  • ARP作用相反,用于将Mac地址转换为IP地址
  • 之后被DHCPBOOTP取代

ICMP

ICMP(Internet Control Message Protocol),译为:互联网控制消息协议

  • IPv4中的ICMP被称作ICMPv4IPv6中的ICMP则被称作ICMPv6
  • 通常用于返回错误信息,例如TTL值过期、目标不可达
  • ICMP的错误消息总是包括了源数据并返回给发送者

IP地址

互联网上的每一个主机都有一个IP地址:

  • 最初是IPv4版本,32bit(4字节),2019年11月25日,全球的IP地址已经用完
  • 后面推出了IPv6版本,128bit(16字节)

image.png

IP地址的组成

IP地址的组成:

  • 网络标识(网络ID)
  • 主机标识(主机ID)
  • 网络标识主机标识通过子网掩码得知,IP地址&子网掩码 = 主机所在的网段

计算机互相通信之前首先会判断对方主机是否与自己在一个网段,如果在同一网段则不需要路由器转发,如果是不同网段则需要交由路由器进行转发。

IP地址的分类

IP地址根据第一个字节的值的不同范围分为5类:

  • A类地址
  • B类地址
  • C类地址
  • D类地址
  • E类地址

A类地址

image.png A类网络默认子网掩码是255.0.0.0 网络ID:

  • 由于A类地址第一位为0,对于第一部分取值来说,范围是1~126,因为0不能用而127作为保留网段(127.0.0.1是本地环回地址,代表本机)

主机ID:

  • 第2、3、4部分取值均为:0~255
  • 每个A类网络能容纳的最大主机数是:25632=16777214256^3 - 2 = 16777214

B类地址

image.png B类地址默认子网掩码255.255.0.0

网络ID:

  • 可以分配给主机的第1部分取值:128191,第2部分取值:0255

主机ID:

  • 第3、4部分取值均为:0~255
  • 每个B类网络能容纳的最大主机数是:25622=65534256^2 - 2 = 65534

C类地址

image.png

C类地址默认子网掩码255.255.255.0

网络ID:

  • 可以分配给主机的第1部分取值:192233,第2、3部分取值:0255

主机ID:

  • 第4部分取值均为:0~255
  • 每个B类网络能容纳的最大主机数是:254

D、E类地址

image.png D类地址没有子网掩码,用于多播(组播)地址

image.png E类地址保留为以后使用

IP地址总结

A类地址:默认子网掩码是255.0.0.0,第一个字节范围:1~126

 8bit 24bit 
网络ID 0 开头主机 ID

B类地址:默认子网掩码是255.255.0.0,第一个字节范围:128~191

 16bit 16bit 
网络ID 10 开头主机 ID

C类地址:默认子网掩码是255.255.255.0,第一个字节范围:192~233

 24bit 8bit 
网络ID 110 开头主机 ID

D类地址:以1110开头,多播地址

E类地址:以1111开头,保留为今后使用

子网划分

如果需要让200台主机在同一个网段内,可以分配一个C类网段,比如192.168.1.0/24:

  • 共254个可用IP地址:192.168.1.1~192.168.1.254
  • 多出54个空余IP地址,此时使用率还算可以 如果需要让500台主机在同一个网段内,那就分配一个B类网段,比如191.100.0.0/16
  • 共65534个可用IP地址:191.100.0.1~191.100.255.254
  • 多出65034个空闲的IP地址,这种情况属于极大的浪费资源 所以避免浪费IP地址资源,可以进行合理的子网划分

子网划分定义:借用主机位作子网位,划分出多个子网

子网划分可分为:

  • 等长子网划分:将一个网段等分成多个子网,每个子网的可用IP地址数量是一样的
  • 变长子网划分:每个子网的可用IP地址数量可以是不一样的

子网划分器:www.ab126.com/web/3552.ht…

等长子网划分

C类子网划分

等分为2个子网

image.png A子网:

  • 子网掩码:255.255.255.128/25
  • 主机可用IP地址:192.168.0.1~192.168.0.126

B子网:

  • 子网掩码:255.255.255.128/25
  • 主机可用IP地址:192.168.0.129~192.168.0.254
等分为4个子网

image.png 4个子网的子网掩码都是:255.255.255.192/26

  • A子网可用IP地址:192.168.0.1~192.168.0.62
  • B子网可用IP地址:192.168.0.65~192.168.0.126
  • C子网可用IP地址:192.168.0.129~192.168.0.190
  • D子网可用IP地址:192.168.0.193~192.168.0.254

B类子网划分

image.png

A类子网划分

image.png

变长子网划分

如果一个子网地址块的长度是原网段的(1/2)n(1/2)^n,则:

  • 子网的子网掩码,就是在原网段的子网掩码基础上增加n个1
  • 不等长的子网,它们的子网掩码也不同

image.png

假设上图是对192.168.0.0/24进行变长子网划分:

  • C网段:子网掩码是255.255.255.128/25
  • B网段:子网掩码是255.255.255.192/26
  • A网段:子网掩码是255.255.255.224/27
  • D网段:子网掩码是255.255.255.252/30
  • E网段:子网掩码是255.255.255.252/30

超网

需求:原本有200台计算机使用192.168.0.0/24网段,现在希望增加200台设备到同一个网段,200台在192.168.0.0/24网段,200台在192.168.1.0/24网段,则合并192.168.0.0/24192.168.1.0/24为一个网段:192.168.0.0/23(子网掩码往左移动1位)

超网:跟子网反过来,它是将多个连续的网段合并成一个更大的网段

image.png

合并4个网段

image.png 子网掩码向左移动2位,将192.168.0.0/24192.168.1.0/24192.168.2.0/24192.168.3.0/24合并为192.168.0.0/22网段。

合并网段的规律

规律: 假设n是2的k次幂(k≥1),子网掩码左移k位能够将能够合并n个网段,或者说如果第一个网段的网络号能被n整除,那么由它开始连续的n个网段,能通过左移k位子网掩码进行合并。 比如:

  • 第一个网段的网络号以二进制0结尾,那么由它开始连续的2个网段,能通过左移1位子网掩码进行合并
  • 第一个网段的网络号以二进制00结尾,那么由它开始连续的4个网段,能通过左移2位子网掩码进行合并
  • 第一个网段的网络号以二进制000结尾,那么由它开始连续的8个网段,能通过左移3位子网掩码进行合并

如下图所示,下面的2个网段不能通过子网掩码向左移动1位进行合并,这里类似于字节对齐那里提到的概念,可类比参考。 image.png

总结

判断一个网段是子网还是超网:

  • 看看该网段的类型,是A类网络B类网络C类网络
  • 默认情况下,A类子网掩码的位数是8,B类子网掩码的位数是16,C类子网掩码的位数是24
  • 如果该网段的子网掩码位数比默认子网掩码多,就是子网
  • 如果该网段的子网掩码位数比默认子网掩码少,则是超网