MAC地址

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

image.png

MAC地址的表示格式

  • Windows
    • 40-55-82-0A-8C-6D
  • Linux、Android、Mac、iOS
    • 40:55:82:0A:8C:6D
  • Packet Tracer
    • 4055.820A.8C6D
  • 当48位全为1时,代表广播地址

    • FF-FF-FF-FF-FF-FF

      MAC地址操作

  • 查看MAC地址:ipconfig/all

  • 修改MAC地址
    • 更改适配器选项 - 属性 - 配置 - 高级 - 网络地址
    • 填写的时候需要把减号去掉
  • 有时可以通过修改MAC地址蹭网

image.png

MAC地址的获取

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

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

      ARP

  • ARP (Address Resolution Protocol) :地址解析协议

    • 通过IP地址获取MAC地址
  • RARP:逆地址解析协议

    • 使用与ARP相同的报头结构
    • 作用与ARP相反,用于将MAC地址转换为IP地址
    • 后来被BOOTP、DHCP所取代

      ICMP

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

    • 通常用于返回错误信息
      • 比如TTL值过期、目的不可达
    • ICMP的错误消息总是包括了源数据并返回给发送者

      IP地址

  • Internet Protocol Address

  • 最初是IPV4版本,32bit(4字节)
  • 后来推出IPv6版本,128bit(16字节)

    IP地址的组成

  • IP地址由2部分组成:网络标识(网络ID)、主机标识(主机ID)

    • 通过子网掩码(subnet mask)可以得知网络ID、主机ID
  • 主机所在的网段 = 子网掩码 & IP地址
  • 计算机和其他计算机通信前,会先判断目标主机和自己是否在同一网段

    • 同一网段:不需要由路由器转发
    • 不同网段:交由路由器转发

      IP地址的分类

  • A类地址:默认子网掩码是255.0.0.0

image.png

  • B类地址:默认子网掩码是255.255.0.0

image.png

  • C类地址:默认子网掩码是255.255.255.0

image.png

  • D类地址:以1110开头,作为多播地址
  • E类地址:以1111开头,保留为今后使用
  • 只有A\B\C类地址才能分配给主机

    • 主机ID为0,表示主机所在的网段
    • 主机ID为1,表示主机所在的网段的全部主机(广播)
      • 可以尝试用ping给某个网段的全部主机发送数据

        A类地址

        image.png
  • 网络ID

    • 0不能用,127作为保留网段。其中127.0.0.1是本地环回地址(Loopback),代表本机地址
    • 可以分配给主机的
      • 第一部分的取值范围是:1~126
  • 主机ID

    • 第2、3、4部分的取值范围是:0~255
    • 每个A类网络能容纳的最大主机数是:256256256 - 2 = 2的24次方 - 2 = 16777214

      B类地址

      image.png
  • 网络ID

    • 可以分配给主机的
      • 第1部分的取值范围是:128~191
      • 第2部分的取值范围是:0~255
  • 主机ID

    • 第3、4部分的取值范围是:0~255
    • 每个B类网络能容纳的最大主机数是:256*256-2=2的16次方-2=65534

      C类地址

      image.png
  • 网络ID

    • 可以分配给主机的
      • 第1部分的取值范围是:192~223
      • 第2、3部分的取值范围是:0~255
  • 主机ID

    • 第4部分的取值范围是:0~255
    • 每个C类网络能容纳的最大主机数是:256-2=254

      D类地址、E类地址

  • D类地址:没有子网掩码,用于多播(组播)地址

    • 第1部分取值范围是:224~239

image.png

  • E类地址:保留为今后使用
    • 第1部分取值范围是:240~255

image.png

子网掩码的CIDR表示方法

  • CIDR(Classless Inter-Domain Routing):无类别域间路由
  • 子网掩码的CIDR表示方法

    • 192.168.1.100/24,代表子网掩码有24个1,也就是255.255.255.0
    • 123.210.100.200/16,代表子网掩码有16个1,也就是255.255.0.0

      为什么要进行子网划分?

  • 如果需要让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地址,这种情况属于极大的浪费资源
  • 如何尽量避免浪费IP地址资源?

    • 合理进行子网划分

      子网划分

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

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

    • 确定子网的子网掩码长度
    • 确定子网中第1个、最后1个主机可用的ip地址

      等长子网划分 - 等分成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

等长子网划分 - 等分成4个子网的广播地址

image.png

等长子网划分 - 等分成8个子网

image.png

  • 4个子网的子网掩码都是:255.255.255.224/27
  • A子网: 192.168.0.1~192.168.0.30
  • B子网:192.168.0.33~192.168.0.62
  • C子网:192.168.0.65~192.168.0.94
  • D子网:192.168.0.97~192.168.0.126
  • E子网:192.168.0.129~192.168.0.158
  • F子网:192.168.0.161~192.168.0.190
  • G子网:192.168.0.193~192.168.0.222
  • H子网:192.168.0.225~192.168.0.254

    等长子网划分 - B类子网划分

    image.png

    等长子网划分 - A类子网划分

    image.png

    变长子网划分

  • 如果一个子网地址块的长度是原网段的(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、192.168.1.0/24为一个网段:192.168.0.0/23(子网掩码往左移动1位)

image.png

合并四个网段

  • 子网掩码向左移动2位,可以合并4个网段

image.png

  • 将192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24合并为192.168.0.0/22网段

    思考:

  • 下面的2个网段,能通过子网掩码向左移动1位进行合并么?

  • 不可以

image.png

合并网段的规律

  • 假设n是2的k次幂(k≥1)
    • 子网掩码左移k位能够合并n个网段

image.png

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

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

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

  • 首先

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