网络协议(三)

以下内容来自于小码哥"网络协议从入门到底层原理"

计算机之间的连接方式:
  • 网线直连, 同轴电缆, 集线器, 网桥, 交换机
    -- 连接的设备必须在同一网段
    -- 连接的设备处在同一广播域

  • 路由器:
    -- 可以在不同网段之间转发数据
    -- 隔绝广播域(不同网段之间的广播是发不过去的)

主机发数据之前, 首先会判断目标主机的ip地址跟它是否在同一个网段
1> 在同一个网段: ARP
2> 不在同一个网段: 通过路由器转发数据

MAC地址

  • 每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control Address)

  • 全球唯一, 固化在了网卡的ROM中, 由IEEE802标准规定
    -- 前3字节: OUI(Organizationally Unique Identifier), 组织唯一标识符(代表网卡的生产厂家)
    ✔️ 由IEEE的注册管理机构分配给厂商

    -- 后3字节: 网络接口标识符
    ✔️ 由厂商自行分配

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地址时, 可以通过发送ARP广播获取对方的MAC地址
    -- 获取成功后, 会缓存IP地址, MAC地址的映射信息, 俗称ARP缓存
    -- 通过ARP广播获取的MAC地址, 属于动态(dynamic)缓存
    ✅存储时间比较短(默认是2分钟), 过期了就自动删除

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

IP地址
  • IP地址(Internet Protocol Address): 互联网上的每一个主机都有一个IP地址
    -- 最初是IPv4版本, 32bit(4字节), 2019年11月25日, 全球的IP地址已经用完
    -- 后面推出了IPv6版本, 128bit(16字节)
IP地址的组成
  • IP地址由2部分组成: 网络标识(网络ID), 主机标识(主机ID)
    -- 同一网段的计算机, 网络ID相同
    -- 通过子网掩码(subnet mask)可以计算出网络ID: 子网掩码&IP地址

  • 计算机和其他计算机通信前, 会先判断目标主机和自己是否在同一网段
    -- 同一网段: 不需要路由器转发
    -- 不同网段: 需要路由器转发

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

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

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

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

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

  • 只有A\B\C类地址才能分配给主机
    -- 主机ID全为0, 表示主机所在的网段
    -- 主机ID全为1, 表示主机所在网段的广播地址

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

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

B类地址
  • 网络ID
    -- 可以分配给主机的
    ✔️第1部分的取值范围: 128~191
    ✔️第2部分的取值范围: 0~255

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

C类地址
  • 网络ID
    -- 可以分配给主机的
    ✔️第1部分的取值范围: 192~223
    ✔️第2,3部分的取值范围: 0~255

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

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

  • 子网掩码的CIDR表示方法
    -- 192.168.1.100/24, 代表子网掩码有241, 也就是255.255.255.0
    -- 123.210.100.200/16, 代表子网掩码有161, 也就是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地址: 191.100.0.0/16~191.100.255.254
    -- 多出65034个空闲的IP地址, 这种情况就属于极大的资源浪费

  • 如何尽量避免浪费IP地址资源?
    -- 合理进行子网划分
    等长子网划分
    变长子网划分

超网
  • 超网: 跟子网反过来, 它是将多个连续的网段合并成一个更大的网段
  • 需求: 原本有200台计算机使用192.168.0.0/24网段, 现在希望增加200台设备到同一个网段
    -- 200台在192.168.0.0/24网段, 200台在192.168.1.0/24网段
    -- 合并192.168.0.0/24,192.168.1.0/24为一个网段: 192.168.0.0/23(子网掩码往左移动1位)
合并网段的规律
  • 假设n2k次幂(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类超网

你可能感兴趣的:(网络协议(三))