以下内容来自于小码哥"网络协议从入门到底层原理"
计算机之间的连接方式:
网线直连, 同轴电缆, 集线器, 网桥, 交换机
-- 连接的设备必须在同一网段
-- 连接的设备处在同一广播域路由器:
-- 可以在不同网段之间转发数据
-- 隔绝广播域(不同网段之间的广播是发不过去的)
主机发数据之前, 首先会判断目标主机的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-6DLinux, Android, Mac, iOS
✅40:55:82:0A:8C:6DPacket 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.0B类地址: 默认子网掩码是255.255.0.0C类地址: 默认子网页码是255.255.255.0D类地址: 以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, 代表子网掩码有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地址: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位)
合并网段的规律
假设
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类超网









